Sun GlassFish Enterprise Server v3 Release Notes

What’s New in the Sun GlassFish Enterprise Server v3 Release?

Sun GlassFish Enterprise Server v3 provides a server for the development and deployment of Java Platform, Enterprise Edition (Java EE platform) applications and web technologies based on Java technology.

The following new features of Enterprise Server are described here:

Support for Java EE Profiles

Java EE 6 introduces the concept of profiles. A profile is a collection of Java EE technologies and APIs that address specific developer communities and application types.

The following profiles are implemented through the distributions of Sun GlassFish Enterprise Server v3:

Java EE 6 SDK distributions are available from the Java EE 6 SDK downloads page.

For the list of APIs in each profile, see Java EE 6 Standards.

Modular Design

In Sun GlassFish Enterprise Server v3, the GlassFish code was split into modules to provide flexibility and improved runtime performance. The modular architecture is implemented on top of OSGi Alliance standards and enables reusability of Enterprise Server v3 modules as well as other modules.

This design change allows use of only those modules that you require for the applications deployed. Runtime is used only for applications that use it, and upgrades can be implemented without a complete system reinstallation. This change minimizes startup times, memory consumption, and disk space requirements.

The modular design provides the ability to do the following:

Support for Extending Enterprise Server

A new Sun GlassFish Enterprise Server v3 container system provider interface (SPI) defines interfaces that the container developer must implement so that Enterprise Server can call into it at appropriate times. This change enables Enterprise Server users to create custom application servers by adding administrative commands and graphical add-on components.

Enterprise Server also provides streamlined support of new module types, such as Ruby on Rails.

Update Tool Integration

Update Tool is now embedded in the Sun GlassFish Enterprise Server v3 Administration Console. This tool facilitates managing add-on components and related applications that are available for extending Enterprise Server v3 functions.

The Administration Console provides access to the Update Tool page through the navigation tree. The Update Tool page provides tabs to display the following:

Integration of Update Tool in the Administration Console enables administrators to easily extend Enterprise Server and view available updates. A standalone version of Update Tool is also available using the updatetool command. For more information about Update Tool, see Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide.


Note –

You cannot update existing components using the Update Tool interface in the Administration Console. To update or remove installed components, you must use the standalone command-line version or the pkg command.


Update Tool is developed through the Update Center project. The Administration Console uses the Update Center 2.3 API to display a list of available components, versions, and dates. For information about Update Center 2.3, see the Release Notes for Update Center 2.3 .


Note –

Update Tool differs from Upgrade Tool, which is used to migrate the configuration and deployed applications from an earlier version of Enterprise Server to the current version. For more information about Upgrade Tool, see the Sun GlassFish Enterprise Server v3 Upgrade Guide.


Support for Scripting Languages

To facilitate rapid application development and deployment, Sun GlassFish Enterprise Server v3 supports a variety of scripting languages. The use of scripting languages enables Enterprise Server to be applied beyond developments that are centered on Java technology. Supported scripting languages include the following:

Support for these scripting languages is provided by components that are available through Update Tool.

Web Services Interoperability Technologies (WSIT) Support

Sun is working closely with Microsoft to ensure interoperability of Web services enterprise technologies such as message optimization, reliable messaging, and security. WSIT is a product of this joint effort. WSIT is part of Metro 2.0, a high-performance, extensible web service stack that offers interoperability with Microsoft .NET 3.5. Metro 2.0 is included in the full distribution of Enterprise Server v3.

WSIT is an implementation of a number of open web services specifications to support enterprise features. In addition to message optimization, reliable messaging, and security, WSIT includes a bootstrapping and configuration technology. Starting with the core XML support currently built into the Java platform, WSIT uses or extends existing features and adds new support for interoperable web services, including:

Enhancements to the appclient Utility

In this release, the appclient utility is enhanced as follows:

For more information, see the appclient(1M) man page.

EclipseLink Integration

Sun GlassFish Enterprise Server v3 uses EclipseLink as its Java Persistence API (JPA) 2.0 provider. EclipseLink is also the Reference Implementation for JSR 317. For the most recent information regarding EclipseLink functionality, see the EclipseLink 2.0 Release Notes.

Move of HTTP Service Settings to Network Service

In Sun GlassFish Enterprise Server v3, most HTTP Service settings have been moved into the new Network Service configuration. For more information, see the Sun GlassFish Enterprise Server v3 Upgrade Guide.

Changes Related to Administrator Authentication

In Sun GlassFish Enterprise Server v3, you are not prompted for administration credentials by default. This is a change from previous releases.

If you install Enterprise Server using the ZIP file, you will not be prompted for administration credentials when you launch the Administration Console or use the asadmin utility and remote subcommands to perform administrative tasks.

If you install Enterprise Server v3 using the self-extracting file and graphical installer, you will not be prompted for administration credentials unless you specified a user name and password on the Administration Settings page during installation. If you accepted the defaults on that page, the default administrative user is admin and the password field is left empty.

If there is only one admin user with no password, unauthenticated logins are permitted. For more information about administrator authentication, see To Log In to a Domain in Sun GlassFish Enterprise Server v3 Administration Guide.

Administrator authentication requirements can be changed after Enterprise Server has been installed. For information about using the Administration Console to perform this and related tasks, see the Administration Console online help. For information about using the command-line interface, see Administering Passwords in Sun GlassFish Enterprise Server v3 Administration Guide.

Changes Related to the asadmin Utility

The behavior of the asadmin utility has been modified to emphasize the distinction between options for the asadmin utility itself and options for its subcommands. Options for the asadmin utility itself are now allowed before the subcommand. However, for compatibility with other releases, options for the asadmin utility itself are still allowed after the subcommand, but such syntax is deprecated.

For more information, see Using the asadmin Utility in Sun GlassFish Enterprise Server v3 Administration Guide.

Changes Related to File Layout

Sun GlassFish Enterprise Server v3 includes the following file layout changes from previous releases:

Changes Related to Ant Tasks and the asant Utility

Sun GlassFish Enterprise Server v3 provides server-specific Ant tasks, for which Ant must be installed. The asant utility is not included in the release.

Enterprise Server is compatible with Apache Ant versions 1.6.5 or greater. If Ant is not installed, you can install it using Update Tool.

For more information about Update Tool, see Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide. For more information about Ant tasks, see Chapter 3, Using Ant with Enterprise Server, in Sun GlassFish Enterprise Server v3 Application Development Guide.

Changes Related to domain.xml Validation

Because Sun GlassFish Enterprise Server v3 is modular and extensible, the domain.xml file cannot be validated against a static DTD file. Instead, the domain.xml file is validated against @Configured annotations in the source code. For more information about the structure of the domain.xml file, see the Sun GlassFish Enterprise Server v3 Domain File Format Reference.

Changes Related to Applications

Application-related differences exist between Enterprise Server v3 and Enterprise Server v2. This section describes some of those differences.

force Option

The default value of the force option for deployment is false in Enterprise Server v3. This default value was true in Enterprise Server v2. In Enterprise Server v3 you must explicitly set the option to true for redeployment. This option is not automatically set during the upgrade process. The purpose of this change is to avoid accidentally overwriting the contents of an existing application. This applies to both the Administration Console and command-line utility.

The asadmin redeploy command is also new in Enterprise Server v3 and offers an equivalent to --force=true. The force option is only applicable to the deploy command (command-line interface) and the deploy screen (console), not to the redeploy command and redeploy screen.

Applications and Generated Directory Layout

Enterprise Server v2 contained two subdirectories for the applications repository: applications/j2ee-apps and applications/j2ee-modules. Those subdirectories do not exist in Enterprise Server v3 (there is no j2ee-apps or j2ee-modules level). Deployment of a standalone module such as foo.war, which resided in applications/j2ee-modules/foo in Enterprise Server v2, now resides in applications/foo in Enterprise Server v3. Enterprise applications and standalone modules essentially share the same name space, so the intermediate directory layer was not necessary.

domain.xml application Element

Previous elements such as web-module, ejb-module, and so on are deprecated in Enterprise Server v3 and replaced with the new application element. For more information about the application element, see application in Sun GlassFish Enterprise Server v3 Domain File Format Reference.

During an upgrade, Enterprise Server v2 applications are redeployed at the new applications/ location with the new application element in domain.xml. Any new applications deployed on Enterprise Server v3 will be deployed with the new directory structure and element.

Stricter JAR Visibility Rules

Java EE 6 imposes stricter JAR visibility rules than did Java EE 5. As a result, some older applications might fail.

The Java EE 6 specification imposes strict rules about which JAR files are visible from an enterprise archive (EAR) file. See especially section EE.8.3.3. Specifically, application client modules should not have access to any EJB JAR file unless the application client JAR file's manifest Class-Path refers to the EJB JAR file(s) explicitly.

This is a change from Enterprise Server v2, in which application clients automatically had access to all EJB JAR files in the EAR file and all JAR files at the top level of the EAR file. To comply with the stricter specification language, Enterprise Server v3 cannot automatically provide application clients with access to these JAR files.

This new, stricter behavior imposed by Java EE 6 can be addressed as follows:

This change in behavior is also discussed in Chapter 1, Application Server Compatibility Issues, in Sun GlassFish Enterprise Server v3 Upgrade Guide.

Application Client deploy --retrieve and get-client-stubs Commands

In Sun GlassFish Enterprise Server v3, running the deploy --retrieve and get-client-stubs commands no longer downloads just one JAR file to your local directory as in Enterprise Server v2. While localdir/myAppClient.jar is still created in Enterprise Server v3 and can be used as a target in the appclient command, another directory is also created, localdir/myAppClient, which in turn might contain other files.

If you typically copy the single Enterprise Server v2 downloaded JAR file as a way to move the application client components from one place to another, that will not work in Enterprise Server v3. The supported method is to use the asadmin get-client-stubs command for that purpose. For more information about the command, see get-client-stubs(1).

If you still choose to copy, however, you must copy not only the localdir/myAppClient.jar file (as in Enterprise Server v2), but also all of the contents of the localdir/myAppClient directory.