Monday Sep 17, 2007

GlassFish v2 is Out! Way to Go, Team!

Foto dels Margeners de Guissona

We did it! It was a huge effort at the end but the team pulled it off and you can now download both GlassFish v2 and its companion Sun Java System AppServer 9.1. My overview of the release is here; a pretty complete blog rounup is here.

The photo shows a Castell being built; like in software, there are Many Roles involved, some are:

pinya - first level support, stabilizes castell, catches anybody falling
folre - a second level support, on top of the pinya
manilles - the third level support, on top of the folre
enxanyeta - the kid at the top
aixecador - the one under the enxanyeta
dossos - the level raising the aixecador
cap de colla - leader, working with advisers and assistants.

The photo shows shows the Margeners de Guissona building a medium-sized castell but here is a big one by the Castellers de Villafranca: a tres de 10 amb folre i manilles (3 at the base, 10 high, all the roles involved). Many people need to do their tasks very well to build such a big castell; like with this release. Congratulations to all!

Sunday Sep 16, 2007

GlassFish v2 - Enterprise Features And Open Source

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)

GlassFish Logo

• Java EE 5 compliant (Reference Implementation)
• Open Source (CDDL and GPL)
• Transparent Development (Builds, Mail, Wiki, Bugs, oops!)
• Adoption of multiple components by other groups (e.g. Metro and JAXB)
• More than 3.3M downloads/yr
• Wide Geo Adoption (also see Adoption@TA and Stories)
• Included in distros like Ubuntu
• Distributed and Supported by Sun as Sun Java System AppServer.

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).

883.66 JOPS

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.

GFv2 also supports scripting, including jRuby (Ruby on the JVM) and Phobos (Server-side JavaScript).

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

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 if interested.

Last Words

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: and 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 as of 07/10/06. For the latest SPECjAppServer 2004 benchmark results, visit

Wednesday Sep 05, 2007

GlassFish Releases Roadmap

Visiontron Electronic Board

We are maintaining multiple GlassFish release trains to address different user needs, and I put together a summary to help you track them. First some terminology:

Sustaining - In sustaining mode; most changes will be addressing key bugs.
Active - Under active development.
Committed - Committed to happen, schedule may be flexible.
Scheduled - Release with a committed schedule.
Tentative - Release details still not firm.

GlassFish v1 (Sustaining)
• The first final release for this train was J1'06. Other public releases include GFv1 UR1 and GFv1 UR1p1. We are likely to do another public release as soon as we close on GFv2.
• Commercial support is currently available from Sun under the SJS AS 9.0 brand, with releases every 6-8 weeks or so.

GlassFish v2 (Active, Scheduled)
• Adds clustering, profiles, many performance improvements, etc. Published SPECj2004 AppServer numbers.
• Release is planned to go final in a few weeks, in mid-September.
• Commercial support from Sun under the SJS AS 9.1 brand name.

GlassFish v2 UR (Tentative)
• Every major release has an Update Release; it is part of the physics of releases :-)
• Commercial support under the tentative SJS AS 9.1 UR1 brand name.
• Currently pencilled for release at the beginning of 2008.

Sailfin (Active, Committed)
• Adds increased scalability and reliability constraints, as well as SIP Servlet and additional Communication features.
• Tentatively scheduled for mid 2008.

GlassFish (Active, Tentative)
• GF v2 release based on Sailfin; should include all the improvements in the base AppServer needed to deliver Sailfin.
• Exact packaging relationship to Sailfin still undecided, it is too early to understand the impact of different trade-offs.

GlassFish v3 (Active, Tentative)
• The main feature is a modular architecture based on HK2.
• Services will be added to this train incrementally.
• A key challenge is to maintain usability in the administration while making it modular.
• We may define a web tier/ web services / scripting milestone with limited adminitrative GUI.
• Final release of full AppServer may be aligned with Java EE 6.

Note: All these releases are public open source code. And they will all be supported by Sun via enterprise-grade distributions.




« July 2016