39.4. Example: A Jakarta Struts SAD
Struts is a popular open source Java technology framework for handling Web requests and page-flow coordination. In this example, partial SAD, I wish to illustrate a logical view in more detail.
Software Architecture Document: Jakarta Struts FrameworkArchitectural Representation …Architectural Factors …Architectural Decisions …Logical View The Struts frameworkand subsystems built with itreside primarily in the UI layer of a web application. Figure 1 illustrates noteworthy layers and packages with a UML package diagram. Figure 1. Noteworthy layers and packages related to Struts.a multithreaded singleton Facade-like object responsible for receiving and delegating HTTP requests, and by collaboration with other objects, controlling the flow of the application.View components responsible for generating display content (e.g., HTML).Model components responsible for domain logic and state.Struts adoption of MVC provides the architectural foundation to achieve a separation of concerns related to flow control, display content generation (and formatting), and application logicin this case through modularization into separate component groups that specialize by cohesively related responsibilities.The specific MVC roles mapped to Struts components is illustrated in the UML class diagram in Figure 2. Figure 2. MVC roles in Struts.[View full size image] Figure 3. Struts framework hotspots. |