JavaServer Faces, a standard technology for building user interfaces for Java-based web applications, is now shipping.
The technology, which has been In development for two years, is intended to enable developers of varying skills to build web applications quickly by assembling reusable user interface components in a page, connecting components to an application data source, and wiring client-generated events to server-side event handlers.
The subject of Java Specification Request 127, JavaServer Faces exceeds related Java development standards, said Ed Burns, a co-lead on JSR-127 and a staff engineer for J2EE at Sun Microsystems.
"This solution provides a best-of-breed approach where we took the concepts that were really useful for all of the other frameworks out there and put them together for a single whole. It's a framework for building web applications."
Interoperability is critical to JavaServer Faces, noted Craig McLanahan, also a specification lead on JSR-127.
"The main goal was to provide a single API upon which application servers and component libraries creators can create components that interoperate," McLanahan said.
The Java Community Process Executive Committee, which oversees JSRs, officially approved JSR-127 this week.
A reference implementation and final release of JavaServer Faces 1.0 are now available for download at http://java.sun.com/j2ee/javaserverfaces/download.html.
This implementation enables development of JavaServer Faces applications to run in conjunction with Java Servlet 2.3 containers and JSP 1.2 containers. Servlet containers enable development of HTTP applications while JSP is for building dynamic web applications.
With JavaServer Faces, web applications can handle management of the user interface on the server and allow the developer to focus on application code. JavaServer Faces is considered a key to the NetBeans open-source Java platform. Support for the technology is anticipated in many application servers.
Included in JavaServer Faces are:
- A set of APIs for representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalisation and accessibility.
- A JSP custom tag library for expressing a JavaServer Faces interface within a JSP page.
JavaServer Faces has been tested with various configurations with the Java 2 SDK, Standard Edition and on platforms such as Solaris, Windows, and Red Hat Linux. Testing also has been done on Netscape and Internet Explorer browsers.
Paul Krill writes for InfoWorld