JSF Enables AJAX with No JavaScript

Java gurus say JavaServer Faces enables developers to build AJAX applications without writing any JavaScript.

LAS VEGAS—JavaServer Faces can be used to develop Asynchronous JavaScript and XML applications with no JavaScript coding, according to JSF experts.

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.

There are different approaches for using JSF and AJAX, he said. One is to use JSF and efforts such as Project Dynamic Faces or DynaFaces. With this approach, there is no JavaScript knowledge required, or users can "do more powerful stuff if you like JavaScript," he said. Another approach is using AJAX-enabled JSF components, which requires a minimal awareness of AJAX, he said. Or developers can do naked AJAX or use an AJAX framework.

In addition to Project Dynamic Faces, there are other options for using JSF with AJAX, including ICEsofts ICEfaces, Ajax2JSF, AjaxAnywhere and Backbase, Burns said.

/zimages/1/28571.gifGoogles Adam Bosworth tells why AJAX failed—and then succeeded. Read about it here.

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.

The concepts that enable AJAX include encapsulation, the ability to hide JavaScript from the page author but show it to the component author; and state management to easily keep client and server state in sync, Burns 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.

Promoting the same theme as Burns, Kito Mann, principal consultant at Virtua, of Stamford, Conn., presented a talk titled "Look Ma, No JavaScript" at the AJAX World 2007 conference in New York. Manns thesis was that "you can build applications using JSF without having to write JavaScript."

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.

/zimages/1/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.