BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Could Glassfish become the next major open source appserver?

Could Glassfish become the next major open source appserver?

Sun has been putting a lot of resources into Glassfish, Sun's Java EE 5 open source application server (CDDL license). Sun's Java.NET bloggers are also talking about Glassfish daily.  But with an open source application server market dominated by JBoss, with ObjectWeb's JonAS and IBM supporting Apache's Geronimo project, just what is the intention and status of Glassfish? Could it become the killer appserver for Java EE 5, as consultant and BEA technical director Adam Bien recently suggested?  InfoQ has been been following the project and talking to the committers over the last few months to catch you up.

The initial codebase for Glassfish came from Sun's Java Application Server 8 and since then Oracle contributed TopLink Essentials to provide JPA to the tool. Glassfish is the Java EE 5 reference implementation, part of the Java EE 5 SDK, and also the core upon which Sun's middleware stack the Java Enterprise System (which includes Portal, Integration Server, etc) is being built, unlike Apache Geronimo, which although supported by IBM, is a completely separate product from IBM's commercial appserver stack.  There is very little difference between GlassFish and the SJS AS other than a fancy installer and support contracts, according to Sun engineer Carla Mott - "GlassFish is intended to be a production quality app server."  

Glassfish combined a number of projects, many of which have external non-Sun committers. The projects are exposed via the Java.net Maven repository  The Glassfish team told InfoQ team that many of the sub-components are being widely used by the community, the most popular of which being JAXB, JSF (by all the Java EE licensees), JSP, JPA, and Grizzly (the HTTP connector).  "We have a number of non-Sun committers" Eduardo said.  The biggest is Oracle, but even JBoss ir creditted via their contributions to the JSF RI.  

A number of people have been asking about Glassfish vs. Tomcat.  Obviously, Glassfish is a full Java EE server whereas Tomcat is just a Servlet/JSP engine. Tomcat supports Servlets 2.4 whereas Glassfish supports 2.5 (allowing you to run  JSF 1.2).  In his 5 reasons to like Glassfish, Geertjan suggested that Glassfish's lazy initialization makes it least as light for pure servlet apps as Tomcat (a feature which Geronimo and JBoss also have).  Jean Francois Arcand did a performance benchmark showing Glassfish's Grizzly NIO connector making Glassfish signficantly faster than Tomcat in 'real world' conditions. On the topic of performance, Sun will likely continue to focus on performance, particularly since it is using Glassfish for it's SpecJAppserver submissions, which by itself is a bold move that JBoss has never made in the history of the benchmark.

According to project lead Eduardo Pelegri-Lloport,  Sun's strategy is to "gain ubiquity and generate revenue from services and systems."   Eduardo explained that SJS AS currently comes in several versions: PE (Platform Edition - developer/entry level), SE (Standard Edition - includes clustering, failover, better manageability) and EE (Enterprise Edition - which includes a very high availabilty 5-9s feature).  Although a detailed featurset for Glassfish V2 has not yet been published, Eduardo told InfoQ in June that "All of Standard Edition [clustering, failover, manageability] will be Open Source; for practical reasons some bits of EE may not yet be released as Open Source by that time-frame." Manageability was key aspect that Adam Bien blogged about, so too did Glen Smith recently.  Also likely to make it into V2 is WS interoperability with Microsoft via project Tango, and server side Javascripting via project Phobos.

Could Glassfish become the next major open source application server?

Rate this Article

Adoption
Style

BT