GlassFish 3.1 and deployment
By hzhang on Feb 28, 2011
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.
You can view this screencast to see how this feature is working.
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.