Sun Microsystems Inc. has quietly open-sourced its Web user interface building tool: JavaServer Faces.
Sun released the source code last week for JavaServer Faces 1.2 under the Santa Clara, Calif.-based companys CDDL (Common Development and Distribution License).
Earlier this summer, Sun open-sourced other components of its Java Enterprise System technology stack. In June, Sun released its Enterprise Service Bus implementation and GlassFish, a Java System Application Server.
However, a source within Sun said that Java, the language itself, is not going to be open-sourced. Or, at least, it wont be released as open source any time soon.
Still, one analyst was pleased to see JSF open-sourced. Sun open-sourcing JSF is “a very positive thing,” said Ron Schmelzer, an analyst at ZapThink LLC in Cambridge, Mass.
“The way we see JavaServer Faces is that its a technology for enabling rich Internet apps, in much the same way that Macromedia Flex, AJAX and Microsoft Avalon are trying to rich-enable the client experience,” said Schmelzer.
“The problem is that not many developers know how to use JSF, and its a good idea to let it breathe a bit so that more folks can become familiar with the rich client technology,” he said. “JSFs biggest threats are really the evolution of AJAX and Flash as robust RIA [Rich Internet Applications] technologies, and as such, the challenge will be to show why developers should leverage JSF rather than those approaches.”
Versions of JSF had already been open-sourced in the past from work done on JSFs JCP (Java Community Process) specification. These include Smile and the Apache Software Foundations MyFaces.
In addition, there are compatible, open-source programs that duplicate some of JSFs interface-building functionality. Perhaps the best known of these is Apache Struts.
Where the newly open-sourced JSF differs from its competitors is that its based on the 1.2 specification. The most significant difference between 1.2 and programs based on older JSF technology is that 1.2 implements the UEL (unified expression language).
UEL is server-agnostic. Thus, its code can be used on, for example, either a JSF or JSP (Java Server Pages) platform without rewriting. This, in turn, makes the new JSF easier to implement than its predecessors.