30 May, 2008

Advantages of JSF/Ajax over Struts

Architecture
JSF is a Component based UI framework. It is industry endorsed framework governed by JCP
Provides cleaner separation of concerns; uses MVC architecture
Robust event handling architecture. Each JSF component hierarchy is associated with rich set of listeners
JSF has in-built plug-in architecture to support application scalability; any third libraries like Tomahawk (JSF enabled components) shall be easily integrated and extended.
Robust event handling mechanism
All UI components initiate OO web-application development. Thus JSF enabled web applications can leverage on rich-proven OO practices for rapid application development

Usability (Both Application end user and Application developer)
Increased user interface experience with rich client features like data grid, trees, dashboard features, auto-complete, auto-refresh etc
Increased application user productivity with the help of in-built features like asynchronous page rendering, automatic refresh of server data, reduced number of user clicks and auto page submissions
Multiple options to select JSF specification implementation frameworks like Sun RI, Apache My faces, JBoss Rich faces and Exadel’s facelets for application development
Comprehensive JSF tool support from leading industry vendors; such tools includes Eclipse, JDeveloper, IBM RAD, Sun Studio and JBoss Studio
Provides in-built validation framework to validate UI inputs. Significant reduction in development time; moreover validation framework uses latest JSTL enabled expression language
All JSF custom tags are JSTL/EL aware

Scalability
JSF rendering kit provides different rendering techniques to handle requests like WML, XML etc. In other words; it is not limited to HTML only. So JSF enabled application are scalable in nature to address different clients with out changing underlying business/data architecture
Provides seamless integration with Ajax technology. All JSF component tree model are Ajax aware; so any non-Ajax application can leverage on this excellent scalable feature. Again application developer has good support from open source frameworks like Ajax4JSF
Provides pluggable life cycle phase listeners. So JSF based application can be scalable to add in-built listeners against application’s future requirements
JSF is based on standard converters. Custom converters can be easily developed or extended for ever changing requirements

Maintainability
JSF based applications shall be maintained with ease; provides good separation from configuration files, backing beans, form beans etc. Backing beans shall be developed using POJO centric development model. If application leverage on ORM solution like Hibernate; then significant reduction in code; thus better management of the application
Clean separation of roles; Thus better managed application source repository both development and maintenance phase
Custom JSF components like progress bar, drag n drop, file movement etc shall be reused across the application. So there is no redundancy in source code.

No comments:

One new learning / day - however small it is

Read a blog / or article Watch TED talk  Read a small self-help book (many free eBooks available with less than 100 pages/can be completed i...