The final version of the JavaServer Faces (JSF) specification 1.0 was launched recently with the intention of simplifying the development of user interfaces for Web-based JavaServer applications.
JSF is a user interface framework for Web applications that provides developers with a standard set of application program interfaces (APIs), and it has two main components. The first is an event-driven Web development base, and the second is a component-oriented model to build user interface components such as grids, menu bars, forms and buttons, said Kito Mann, editor-in-chief at JSF Central.
Developers can assemble reusable UI components in a page, connect the components to an application data source and wire client-generated events to server-side event handlers, allowing the developer to focus on writing the code.
As far as the standard Java 2 Enterprise Edition (J2EE) is concerned, the closest thing to aid developers with the Web interfaces before JSF were tag libraries, Mann said. They aren’t a full-fledged components, but they are basically an extension of JavaServer Pages (JSP), he added.
The main point of the JSF is to take the whole user interface, component-oriented view of Web development to the standardization level, Mann said. There have been frameworks similar to JSF for Java for a while but none of them are standard, he said. For example, Tapestry, SOFIA, Struts and Echo are frameworks that developers have been using primarily for user interfaces.
“Basically the deal is that you’re trying to do event model and user interface components but we are also trying to make development of Web applications easier,” Mann said. “If you don’t have an abstract way to make Web applications work, you spend a lot of time dealing with HTTP as a protocol and you waste a lot of time.”
In order for Java to be successful on every level, it needs to have a standard solution to every ordinary problem, he added.
An official at tools vendor Innoopract said his company plans to incorporate support for JavaServer Faces into its W4T Eclipse Plug-In tool within a few months. JavaServer Faces transforms the development model for client-based business applications to the Web through use of facilities such as widgets, said Jochen Krause, president of Innoopract
“We are very happy that we get a standard now because that makes it much easier to support many different servers and (we are glad) for customers as well, that they get more security now because it’s standard and you can interchange different implementations of a standard,” Krause said.
Still lacking in JavaServer Faces is a tree view component, for displaying folders in a tree structure, he added.
Developers are expressing mixed views about the spec, JSF Central’s Mann said. While many are saying that the technology will help developers and reduce time spent programming, others want to fight to remain loyal to their own preferred choice of framework.
Mann said people often have very strong opinions when it comes to development frameworks.
“There will always be people who use other frameworks, but for the industry to move forward, it needs something like JSF,” he said. Right now one the issues crossing Mann’s desk is that the Java Community Process didn’t chose an existing framework to standardize.
JSF is a direct competitor to Microsoft Corp.’s ASP.Net Web Forms. The standard is an attempt to fill a hole in the standard Java stack, Mann explained.
Right now IBM Corp’s WebSphere application developer can provide tools for the new standard, Mann said. Most other companies that support the standard, including Sun Microsystems Inc., Oracle Corp. and Borland Corp., will likely have tools to offer developers as well.
With files from IDG News Service