Wednesday, October 21, 2009

3.4 JSP Application Design with MVC



[ Team LiB ]






3.4 JSP Application Design with MVC



JSP
technology can play a part in everything from the simplest web
application, such as an online phone list or an employee vacation
planner, to complex enterprise applications, such as a human resource
application or a sophisticated online shopping site. How large a part
JSP plays differs in each case, of course. In this section, I
introduce a design model called Model-View-Controller (MVC), suitable for
both simple and complex applications.



MVC was first described by Xerox in a number of papers published in
the late 1980s. The key point of using MVC is to separate logic into
three distinct units: the Model, the View, and the Controller. In a
server application, we commonly classify the parts of the application
as business logic, presentation, and request processing.
Business logic is the term
used for the manipulation of an application's data,
such as customer, product, and order information.
Presentation
refers to how the application data is displayed to the user, for
example, position, font, and size. And finally,
request processing is
what ties the business logic and presentation parts together. In MVC
terms, the Model corresponds to business logic and data, the View to
the presentation, and the Controller to the request processing.



Why use this design with JSP? The answer lies primarily in the first
two elements. Remember that an application data structure and logic
(the Model) is typically the most stable part of an application,
while the presentation of that data (the View) changes fairly often.
Just look at all the face-lifts many web sites go through to keep up
with the latest fashion in web design. Yet, the data they present
remains the same. Another common example of why presentation should
be separated from the business logic is that you may want to present
the data in different languages or present different subsets of the
data to internal and external users. Access to the data through new
types of devices, such as cell phones and personal digital assistants
(PDAs), is the latest trend. Each client type requires its own
presentation format. It should come as no surprise, then, that
separating business logic from the presentation makes it easier to
evolve an application as the requirements change; new presentation
interfaces can be developed without touching the business logic.



This MVC model is used for most of the examples in this book. In Part II, JSP pages are used as both the Controller and the View, and
JavaBeans components are used as the Model. The examples in
Chapter 5 through Chapter 9 use
a single JSP page that handles everything, while Chapter 10 through Chapter 14 show how
you can use separate pages for the Controller and the View to make
the application easier to maintain. Many types of real-world
applications can be developed this way, but what's
more important is that this approach allows you to examine all the
JSP features without getting distracted by other technologies. In
Part III, we look at other possible role assignments when JSP is
combined with servlets and Enterprise JavaBeans.







    [ Team LiB ]



    No comments: