Sunday Feb 27, 2011

GlassFish Server 3.1 - Full Java EE 6 Platform, Full Featured, Full Support

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:

  1. The GlassFish Server Open Source Edition documentation (zip) covers the open source edition features.  The community should use this documentation.
  2. 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.

Thursday Dec 10, 2009

GlassFish v3 - The First List of Firsts

Today we are releasing GlassFish v3 (community) and Sun GlassFish Enterprise Server v3 (commercial), following the release of Java EE 6 a few days ago.   Java EE is 10 years old - nearly to the day. GlassFish v3 - the project - is 4.5 years old (although the code base for GlassFish v3 is much older).

We've come a long way with GlassFish v3, and there are quite a few "firsts" in this release (correct me if I'm over zealous - I'm living on caffeine right now):

  • First Java EE 6 compatible community and commercial implementation
  • First Java EE 6 Web Profile compatible community and commercial implementation
  • First Java EE application server to start in seconds.
  • First GlassFish distribution under 30MB (GlassFish v3 Web Profile)
  • First time we managed requirements in the community
  • First time we realized a wiki is less than ideal for requirements management
  • First GlassFish release to document a public release schedule, milestones & all
  • First time we had to update the schedule in the wiki (due to Java EE 6 release change) :-)
  • First application server that exposes a RESTful management & monitoring API
  • First application server to let end users easily swap OSGi implementations
  • First application server to establish a community strictly around quality testing (survey metrics).   I simply cannot give this community enough kudos.  The breadth of test deployments really helped improve GlassFish v3 quality.
  • First application server to host dynamic language containers, such as JRuby and Jython. Web Archive packaging and servlet container not required. JRuby gem available.
  • First application server with a DTrace probe (ok, a bit aggressive since it will be in beta form due to JDK 7 dependency). Learn more (here) (here).
I'm not really done, but I have to get back to work. Feel free to comment on other "firsts".

Wednesday Aug 26, 2009

Developing a Web Application Using Java EE 6

Today, Harpreet and I delivered a webinar on "What's new with Java EE 6", and also covered a bit about GlassFish v3 as the reference implementation.  Wow, what a turnout.  In fact, the turnout was so large that we ran into some unfortunate issues that we'll definitely learn from.

First, we needed more panel members to answer Q&A (chat window), which was coming faster than we could answer.  In fact, I had problems with the highlighted question constantly losing focus, so I ended up answering the wrong chat question a couple of times. Apologies to attendees for not getting to more questions. 

Second, WebEx barfed on me when trying to share my desktop to thousands of attendees while trying to run a demo on writing a Java EE 6 version of the obligatory "Hello World" app with Servlet 3.0 and EJB 3.1.  The good news is that I whipped up a quick screencast of how to do this. Bear in mind it was done rather quickly, and if I had my druthers, I'd try to get it down a bit better.   However, you know people want to see a demo ASAP when they use the CAPS LOCK to say "CAN WE SEE THE DEMO?"   Without furthur ado, here goes the youtube (HD version here):


John Clingan-Oracle


« February 2017