Oracle Blog

Hong Zhang's Blog

Monday Feb 28, 2011

Glassfish 3.1 and deployment
The GlassFish 3.1 is released today! The most important feature of this
release is the clustering capability (which provides the feature parity
with Glassfish v2.1)! This will allow user to use Glassfish in an
enterprise environment.

Let's look at the main features provided in this release from the
deployment area:

As part of overall clustering feature, user can now dynamically deploy
an application to a cluster, undeploy an application from a cluster,
and enable or disable an application on a cluster target. In v3, only
the DAS (default server instance) target was supported.

The existing v3 set of the commands are now supported/extended in the
clustering environment: create-lifecycle-module,
delete-lifecycle-module, list-lifecycle-modules, deploy, undeploy,
enable, disable, deploydir, redeploy, list-components,
show-component-status, list-applications. And the new commands which
are specific to the clustering environment are added on top of the
existing set of v3 commands: create-application-ref,
delete-application-ref, list-application-refs.

You can take a look at this
for a simple example of how to work with the cluster target.

One enhancement we have in 3.1 over 2.1 is now we also support
directory deployment with a cluster target provided the application
bits are accessible by the target instances.

The next feature I want to talk about is the application versioning
feature. This feature is developer by the external contributor Serli.

With the application versioning feature, the user will be able to
deploy multiple versions of the application to the Glassfish. And the
user can easily upgrade or rollback to one version of the application
using the basic set of the commands (deploy/enable/disable). Currently
only one version of the application can be enabled at one time in the
runtime.

We also enhanced the application rolling upgrade by taking advantage of
the application versioning feature. With the enhancement, no cluster
instance restart is needed and the dynamic reconfiguration can be left
on (no need to turn it off and then on).

In this release, we also provided partial support for the WebLogic
deployment descriptors (mainly in the web area). This will allow user
to develop web applications with simple WebLogic extensions on
Glassfish and then run on WebLogic.

The final thing I want to mention is the new names of the vendor specific
deployment descriptors. In the past, we use "sun-" as the prefix for
the vendor specific deployment descriptors (and dtds), for example,
sun-web.xml, sun-web-app_3_0-0.dtd. From this release, we will
start to use "glassfish-" as the prefix for the vendor specific
deployment descriptors (and dtds), for example, glassfish-web.xml,
glassfish-web-app_3_0-1.dtd. The old sun-\* deployment descriptors
(dtds) are still supported for backward compability, but if you want to
use new elements introduced in the most recent dtd, you need to use
glassfish-\* set of the dtds.