JavaServer Faces Rises in Popularity, Page 2
Ruby on Rails
As a "full-stack" framework, RoR has complete RDMB support, primarily with all main royalty-free databases (MySql, PosrtgreSQL, SQLite), but it supports major commercial databases as well (DB2, Oracle, SQL Server). Out-of-the-box, it comes with the light Web server "WEBrick" for testing purposes. For production use, a more robust server, such as Apache, is recommended.
As mentioned above, one of the strengths of the framework is minimal configuration, possibly because of a well-implemented controller and overall framework structure.
Even though RoR does not have a large market share, it is a unique framework. If AJAX continues to advance, Ruby on Rails has a prospect of becoming a major player in an enterprise Web application frameworks space.
AND THE WINNER IS ...
From Sun Microsystems Inc.
The same as last year, this year Sun Microsystems won in many product categories. This is partly because Sun created the Java language and its specification and now supports most of the Java-based industry standards and technologies. Java and its numerous specifications continue to dominate enterprise development space, especially in Web development.
Over the last decade, Sun continued to evolve and improve its Web technologies with the help of JCP (Java Community Process), constantly listening to the developers' needs and looking at the development market trends. Sun started from Servlets (too much of HTML in Java), and then standardized Java Server Pages (JSP) (too much Java in HTML) and now developed a new Web framework specification JavaServer Faces (JSF). The first specification for JSF was released in March 2004 (JSR 127), and currently this technology is supported by most major vendors: IBM, Oracle, BEA, Borland, and Apache Foundation. As a result, most major IDEs on the market have or will have native built-in support for the JSF.
JSF is a Java-based Web application framework that relies heavily on JSPs (or other display technologies) to simplify the development of user interfaces (UI) in J2EE applications. It has a complete set of APIs for representing User Interface UI components and "managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility." In addition to Managed Beans technology and client state management, it has full support for tag libraries and event model on the server-side.
The JSF arose primarily due to the need to standardize GUI component development in J2EE applications. Before the introduction of the JSF specification, different Java software shops would create their own interfaces using JSP and HTML, resulting in maintenance problems. JSF is somewhat similar to the ASP .NET Web forms, but it is pure Java and has very good integration with Struts framework. Not coincidently, Craig MacLanahan, lead architect of JSF, is the main contributor for Struts.
JavaServer Faces is a very solid, standardized technology that greatly advances GUI development of the J2EE applications. Its popularity among developers makes it a clear winner in the frameworks space going into 2006.
Going into 2006, Developer.com's product of the year contest demonstrated a very interesting trend. In general, developers prefer an open-source, free-license model or easily available technologies over the commercial or proprietary ones. This was true not only in the framework category but in other categories as well. There were a lot of winners from Sun Microsystems, Apache Software Foundation, and other applications with an open licensing model. The winner in the framework category indicates that Web development is a very strong area. Sun, and Java technologies in particular, are the favorite choice among IT developers and more projects are geared toward the Web platform. It will be interesting to see what new frameworks will emerge in 2006 and which product will dominate going forward.
- JavaServer Faces Technology: Sun Microsystems Inc.: http://java.sun.com/j2ee/javaserverfaces/
- Introducing JavaServer Faces (Jsf): http://roseindia.net/jsf/r/introducingjsf.shtml
- Microsoft .NET Framework Developer Center: http://msdn.microsoft.com/netframework/
- Eclipse platform: http://www.eclipse.org/downloads/index.php
- Spring Framework: http://www.springframework.org/
- Ruby on Rails: http://www.rubyonrails.org/
- Wikipedia: http://en.wikipedia.org/wiki
About the Author
Vlad Kofman is a Senior System Architect. He is implementing enterprise-scale projects for major Wall Street firms, projects under defense contracts, and projects for the U.S. government. His main interests are object-oriented programming methodologies and design patterns.