GlassFish v2 - Enterprise Features And Open Source
By pelegri on Sep 16, 2007
We released GlassFish v1 in May 2006 and we started working on GlassFish v2 right away. You may have noticed all the GFv2 Release Candidates and the last one didn't produce any show-stoppers so we should be releasing "very soon".
There is a lot of information about GFv2 at TheAquarium and elsewhere; this writeup is to provide an overview of the key points of the release in a single place. Also, since this entry is mostly a bunch of hyperlinks I'm using a glyph () to highlight the links so they are not overlooked.
First, a quick recap from GlassFish v1 (also see here)
• Java EE 5 compliant (Reference Implementation)
GlassFish v1 was focused on developers, Java EE 5 and on simple single instance deployments; the new release, v2, adds everything needed for the enterprise customer. The main message for GlassFish v2 is:
You don't need to
choose between open source and enterprise features,
you can have both
Key New Features in GF v2
Below are some of the main new features in this release; it is a partial list, if you want more information, browse at The Aquarium.
Clustering and HA - GFv2 includes a new in-memory replication mechanism using JXTA for simplified configuration and improved performance, and it inherits HADB from (SJS AS 8.2) for 5-9s availability. See Clustering @ TA.
Commercial-grade Admin/Monitoring - This includes Admin Console, Documentation, CLI Monitoring. All of these have been substantially improved or are new. The Console, for example, has been redone and it is now using the new Woodstock JSF components and JSF-Templating.
All-in One Bundle - The old SJS AS 8.x releases used to come in multiple versions: Platform Edition / Standard Edition / Enterprise Edition. Some of them were free for deploy, others where not. There is now a single, all-in one, moderately sized, bundl (~55MB) that has everything and there is the notion of profiles that is used to adjust functionality based on intent (developer, clustered, enterprise profiles).
Performance - GlassFish is the only open source appserver that has published a SPECj Appserver 2004 benchmark: at the time of posting it was the fastest submission on a single-processor T2000.
Performance records are meant to be broken and I believe that there is now a faster 2-processor submission, but we will continue to improve (see related posts @ TA).
Metro WS Framework - GlassFish uses the Metro Web Services framework. This framework includes project Tango (aka WSIT) and the JAX-WS RI and has best-in-class performance and excellent usability. Metro also has very extensive WS-\* interoperability with Microsoft which can be used in many applications; a simple example shows an Excel spreadsheet on Vista that has live cells representing content generated dynamically from a GlassFish server.
Tools - GlassFish has very good in NetBeans 5.5.1 support and even better in NetBeans 6 (beta very soon). There is also support for GlassFish in Eclipse 3.3, MyEclipse and IDEA. The GlassFish community also delivers Hudson (continuous integration), Japex (WS/XML testing) and other useful tools.
JBI and Open ESB - GFv2 has built-in support for Open ESB which supports the JBI standard. This includes configuration and administration console.
Modern Web Tier and Scripting - GlassFish v2 supports the latest JCP Web Tier specifications and includes a very complete JSF toolkit: Woodstock. It also supports jMaki to enable consistent encapsulation of common AJAX toolkits and Comet via Grizzly.
Affordable Commercial Support - Sun Java System Application Server 9.1 (aka SJS AS 9.1) is the commercial support brand for GFv2; same code base but controlled patches with bug fixes (description ). We provide support under subscription and purchase at prices that are very competitive and can be purchased directly via the web or through your friendly Sun salesperson. If you have any questions, feel free to contact us at firstname.lastname@example.org.
Adoption - We are already seing a LOT of interest, from the community and the enterprises. The community appreciates the transparency, the quality and the responsiveness of the development team. The driver in the enterprises is quality and support cost; many companies are reassessing their current strategies, and this seems to be accelerating in recent months. Analyst and surveys are lagging but some reports mentioning GF include: Evans Data, Burton Group, Forrester, even Marc Fleury.
Beyond GlassFish v2
GlassFish v2 is one portion of a wider strategy that includes Additional Releases. SailFin moves into the Telco space with Ericsson with higher availability and scalability requirements as well as SIP servlet and other functionality. GlassFish v3 goes across with things like improved jRuby support (like the GlassFish Gem) and down into Tomcat and even smaller spaces like WS gateways and embedded devices.
The GlassFish ecosystem (including partners) already includes community groups, tools, frameworks, solutions, SIs and others. We are already included in a number of distributions and we are pursuing several additional more. Some of this will evolve more fully in the near term, so stay tuned for more info; in the meantime, send us mail to email@example.com if interested.
Try it Out! and Stay in Touch! We are always very interested in what works and what does not work. You can stay connected via the mailing lists: USERS@glassfish.dev.java.net and DEV@glassfish.dev.java.net. And feel free to leave comments in this blog entry.
Disclaimers: SPEC and the benchmark name SPECjAppServer 2004 are registered trademarks of the Standard Performance Evaluation Corporation. Sun Fire T2000 (1 chips, 8 cores) 1.4ghz 883.66 SPECjAppServer2004 JOPS@Standard. Competitive benchmark results stated above reflect results published on www.spec.org as of 07/10/06. For the latest SPECjAppServer 2004 benchmark results, visit http://www.spec.org/.