Pro JSF and Ajax
traditional application programming interfaces (APIs), such as JSP and servlets, do not really
provide enough abstraction from the underlying grunt work of implementing a multitier
application. To fulfill these requirements and to provide some level of simplicity, the industry
has evolved in a direction whereby open source communities and software companies are
providing application developers with frameworks to protect them from the complexity
introduced by multitier applications.
and in different layers of a multitier application (the view layer, the controller layer, and the
model layer). Examples of frameworks are Struts (an open source controller framework);
TopLink and Hibernate (model frameworks); and Tiles, Tapestry, XUL, and ADF UIX (so-
called view frameworks).
works enhance modularity and improve software quality by centralizing the impact of design
and implementation details. Thanks to the stable environment provided by frameworks, they
also enhance reusability by allowing developers to create generic components that can be
reused in new applications. This reuse of framework components improves application devel-
oper productivity and the quality of application software. By leveraging IoC, the framework
manages which application-specific methods are called in response to user events.
with each other, which makes integration hard to handle. In contrast, JSF is a standard frame-
work that aims to solve incompatibility.