Glassfish v1, v2 and Beyond
By Roman Strobl on II 10, 2007
Glassfish is the open source application server (AS) from Sun. It is the reference implementation of Java EE 5 (and obviously it was the first application server to support this standard more than 7 months ago). Other application servers start to become Java EE 5 - compliant today (e.g. Weblogic is compliant today, JBoss is almost there, Oracle AS is also almost there, Websphere... well nevermind).
It is quite unclear for many people what is the difference between Glassfish AS v1 and Sun Java System Application Server Platform Edition 9.0. Besides the length of the name, there's not much different. Actually it's completely identical code, so SJSAS 9.0 = Glassfish v1. The only important difference is the license. You can get Glassfish v1 under CDDL license (GPL as another option is in the works), SJSAS 9.0 is available under a commercial license.
Glassfish v1 Update 1 P1 has been available for quite some time and it's the best binary you should install to use Glassfish today.
While Glassfish v1 was the first to support Java EE 5, some people couldn't use it in production because it lacked enterprise features such as clustering. The good news is that Glassfish v2 will have many new and important features, including:
- Bundled Grizzly and JSP container (JSR 199)
- New WS stack including support for WSIT (also known as project Tango - interoperability with Microsoft stack) with better performance of WS
- Better general performance and improved startup time
- Load balancing, cluster management, failover
- Open ESB integration - so SOA support will be available by default
- Basic scripting support
- More - see the plan for Glassfish v2.
But that's not all - the AS team is also working on Glassfish v3, which will be very interesting, because the AS will become very modular. The basic engine will start in 1 s (yes, "one second") and then modules will be loaded dynamically based on the needs of the applications running on the application server. Thus it will be possible to have a very lightweight AS supporting basic scripting with very fast startup or to have a fully featured Java EE application server with the same binary. And the best news is that preview of Glassfish v3 will be available very soon - possibly even at the end of February.
Concerning NetBeans - Glassfish is very well integrated with NetBeans, the plug-in makes it very comfortable to work with the application server. The support in NetBeans is better than for any other application server. So you can use NetBeans 5.5 together with Glassfish v1, and you can also download the AS bundle with zero configuration necessary.
For Glassfish v2 you need to use NetBeans 5.5.1, although there will be a patch available for those who want to use in NetBeans 5.5, too. Glassfish v2 and NetBeans 5.5.1 make it easier to communicate with EJBs from the NetBeans platform, there is a neat tutorial which describes how to do that (I'll work on the flash demo, too). Some other important bugfixes will be included in NetBeans 5.5.1 to improve support for the application server. Finally NetBeans 5.5.1 will provide many improvements in the Enterprise Pack.
And if you want to use WSIT, there is a nice plug-in available on the update center which makes it easy to generate the WSDL files for web services which interoperate properly (good luck if you want to write these by hand :)