In a session at TheServerSide Java Symposium here March 22, Ed Burns, a senior staff engineer at Sun Microsystems, said JSF can enable developers to build enterprise-grade AJAX applications that are robust, reliable, well-tested and industry-proven, easy to use, and have good scalability.
In addition to Project Dynamic Faces, there are other options for using JSF with AJAX, including ICEsofts ICEfaces, Ajax2JSF, AjaxAnywhere and Backbase, Burns said.
Burns said the object-oriented design of JSF was ready for AJAX when AJAX wasnt cool. Indeed, key features of JSF that make it AJAX-friendly include a flexible and extensible component model, a well-defined Request Processing Lifecycle, and a flexible and extensible rendering model, he said.
JSF with AJAX also solves the problem of cross-browser differences, Burns said.
Meanwhile, Project Dynamic Faces brings the power of AJAX to existing and future JSF-developed applications, Burns said.
JSF is a standard Web user interface framework for Java. The specification consists of a server-side user interface component and event model, a set of basic user interface components, and a basic application infrastructure, he said. Mann is also founder of JSFCentral.com, a community for managers, architects and developers working with JSF technology. In addition, he is a member of the Java Community Process JSF expert group, among others.
JSF also provides extensive tool support and enables a RAD (rapid application development)-style approach to Java Web development, Mann said. Plus, it facilitates a third-party user interface component market and is built on top of the servlet API, he said.
Overall, though, "JSF provides transparent AJAX support," Mann said. "The idea here is that the JSF programming model can work with AJAX."
And JSF is supported in a variety of IDEs (integrated development environments), including Suns Java Studio Creator, BEA Workshop Studio, Oracle JDeveloper and Exadel Studio Pro (now under the JBoss umbrella), Mann said.
Moreover, the JSF architecture makes it easy to add AJAX support, he said.
Indeed, Mann said there are three primary AJAX integration strategies for JSF.
One is to add AJAX support to existing components, a second is to integrate AJAX support directly into JSF components, and the third is to wrap existing AJAX widgets into a JSF component, Mann said.
Technologies that deliver on the first approach include Exadels Ajax4JSF, Ideo Technologies open-source AjaxAnywhere offering and Suns DynaFaces, Mann said.
Products or technologies that support the integration of AJAX directly into JSF components include Simplicas ECruiser, Infragistics NetAdvantage, Suns Project Woodstock, and technology from ICEsoft, Backbase and Exadel, Mann said.
And for wrapping existing AJAX widgets into JSF, the two primary choices are Suns jMaki and the Dojo Foundations Dojo Faces, he said.