Chapter 9. JSF front-end scenario 241
9.2 System design overview
This section discusses the system design of the front-end of the ITSOMart
application. Note that we have already extensively covered the topic of front-end
application design on section 7.2, “Application structure” on page 141. However,
the intent of this section is to use the real example of the ITSOMart application to
illustrate how one would match the needs of an application to the design
approaches previously discussed. We then reinforce the concepts by describing
how the designed approach is specifically mapped to the ITSOMart application.
This section also tangentially illustrates the modeling capabilities of Rational
Software Architect. All diagrams in this section were constructed using Rational
Software Architect.
9.2.1 Design considerations
Before designing an application, it is critical to understand your guiding
principles. Aside from the obvious goal of fullfilling the customer requirements,
you need to identify the goals you are trying to achieve with your system design
approach.
Goals can vary from application to application, so in this section we focus
specifically in the ones we considered when designing the ITSOMart system.
Nonetheless, these are general enough goals which are likely applicable to most
self-service applications. We first examine these principles and goals below, then
the component model and object model sections illustrate how they map to our
selected design approach.
򐂰 Design must separate the presentation layer from business logic.
The term
separate presentation from business logic has been a staple in user
interface design for decades now. The basic idea is that a good user interface
design should keep the rendering of screens separate from the application
logic which manages the information displayed.
User interface design is about presenting information in an aesthetically
pleasing fashion to end customers. Beyond a simple choice of technology, a
graphical user interface (GUI) design might involve a wide variety of human
factor guidelines, ranging from recommended types of menu bars, to which
colors are psychologically more apt to grab a customer’s attention.
Languages supporting GUI implementation, such as HTML or Java, generally
support multiple ways of presenting data. The choice of the presentation
should be driven by human factors guidelines.
Conversely, the design of the of the application code responsible for
implementing the business logic is influenced by more standard IT drivers
such as performance, storage capacity, code reuse, reliability, and so forth.

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.