It's been over a year since GlassFish Server 3.0.1 was released as the first Java EE 6 compliant application server. Today, GlassFish Server 3.1 continues to lead the way as the first Java EE 6 compliant application server with high availability clustering for both the full platform and the Web Profile.
Before getting into features, I'd like to thank the individuals that make up the extended product team for their amazing ability to execute. Want the Java EE 6 Web Profile? Want the Java EE 6 full platform? Want a fully supported platform? Want some amazing developer features? Want some advanced production features? They delivered.
From a product management perspective, we prioritized features that the community and customers wanted (and/or expected), and threw in a few good extras as well. I'd like to thank the many community members that gave us feedback, filed bugs, etc. Please keep the feedback coming.UPDATE: Here are the download links:
This is also the first release where we split the documentation in two:
- The GlassFish Server Open Source Edition documentation (zip) covers the open source edition features. The community should use this documentation.
- The Oracle GlassFish Server documentation covers the commercial product, including GlassFish Server Control features. Commercial customers should use this documentation. Features documented in commercial documentation are formally supported.
While I expect quite a bit of blogging today on various feature sets, I thought I'd highlight some GlassFish Server 3.1 "new features" here. This is not even close to a complete list, but it's a start.
- Provisioning. GlassFish Server can now provision itself to remote hosts. Check out the "asadmin install-node" command.
- Improved Clustering. This is a no-brainer and pretty much what everyone has been waiting for. Clustering in GlassFish Server 3.1 offers overall improved performance over GlassFish Server 2.1.1 (up to 34%), and smarter, faster failover. To our old friend the Node Agent: Rest In Peace.
- Hybrid Java EE / OSGi applications. OSGi services can rather seamlessly access Java EE components (like EJBs), and Java EE components can seamlessly inject OSGi services using the @OSGiService annotation
- Application Versioning. Deploy multiple version of an application, and roll backward or forward to another version. Thanks to Serli for contributing the feature. I think the community will dig(g) it. Check out the screencast.
- Active Redeploy. GlassFish Server 3.0.1 maintains HTTP session state when applications are redeployed. This has now been extended to include Stateful EJBs.
- Active Cache for GlassFish. Coming in 1H 2011, Coherence\*Web becomes a drop-in replacement for in-memory HTTP session state replication. This enables much more flexible and scalable applications. As a heads up, this will require an Oracle GlassFish Server license.
- Embedded API. We've done a lot of work on the embedded API, especially in the area of EJBs. Also, our Maven support is outstanding IMHO.
We hope you enjoy this release, the first to support the supported full Java EE6 platform with clustering, high availability, and centralized administration. If you go into production with this release, drop us a note and let us know.