Oracle GlassFish Server 3.1 is the world's first full implementation of the Java Platform, Enterprise Edition (Java EE) 6 specification. GlassFish Server 3.1 delivers a flexible, lightweight and extensible Java EE 6 platform. Completely supported for commercial deployment, GlassFish Server 3.1 delivers a small footprint, fully featured, and production-ready Java EE application server.
The following topics are addressed here:
If you will be using the GlassFish Server 3.1.1 update release, also be sure to see What's New in the GlassFish Server 3.1.1 Release?.
The following sections briefly summarize some of the important new productivity benefits provided by GlassFish Server 3.1.
GlassFish Server 3.1 offers significant enhancements:
Embedded API for a tightly integrated solution with EJB support
RESTful administration API to enable new - or integrate with - network services
Develop custom administration features and expose them through the web console, command line tool, and RESTful API.
The ability to re-brand the user interface for a seamless user experience
GlassFish Server 3.1 delivers a new, efficient model for developing and deploying production-level applications. Developers can begin with just the Web Profile and grow to the full Java EE 6 platform when needed. Because GlassFish Server runs on the OSGi runtime, modular features can be added as necessary. It also keeps the footprint as small as possible by loading only modules required to service deployed applications, improving startup time and reducing resource utilization. Smaller downloads, faster startup times, and reduced memory footprints are only some of the capabilities that help developers deliver applications more efficiently. GlassFish Server also provides multiple developer tooling options, including support for Eclipse and NetBeans. GlassFish Server supports developers' favorite tools: GUI and command line interface (CLI), Maven, Ant, RESTful API, and others.
When combined with Eclipse or NetBeans, GlassFish Server can significantly improve iterative development. Instead of six time-consuming steps (edit, save, compile, package, deploy, re-populate session data), the same process is reduced to three steps (edit, save, and refresh browser). Active Redeploy allows session data in HTTP session and stateful EJBs to be retained across application deployments, eliminating the need to repopulate the session data when deploying new code to test. Application-scoped resources enable developers to limit the scope of resources to a deployed application.
The Java EE 6 platform improves developer productivity by supporting the use of annotations in place of XML configuration, simplifying packaging of business components, and enabling the construction of more Plain Old Java Objects (POJOs). The result is getting more done in less time with fewer artifacts to manage over time.
In addition, GlassFish Server includes multi-language support and is available in the following languages: English, French, German, Spanish, Japanese, Simplified Chinese, Traditional Chinese, Korean and Brazilian Portuguese.
Management of clusters containing many instances from a centralized web based console
Dynamic configuration of live clusters
High availability for JAX-WS, JMS, EJB; Active Redeploy that retains EJB/HTTP session state on redeploy
Oracle Portfolio Integration: Oracle Coherence, Oracle Web Services Manager, Oracle Access Manager, Oracle WebLogic Server compatibility and interoperability
GlassFish Server Control is a suite of tools that improves manageability of production deployments.
Monitoring Scripting Client enables custom monitoring scripts using finegrained probes
Domain Backup and Recovery enables scheduled, automated backups of a live domain server
Performance Tuner enables up to a 300% performance improvement over out-of-the-box configuration
Active Cache for GlassFish enables out-of-the-box replacement of inmemory replication with Coherence for more robust, flexible high availability
Out-of-the-box Oracle Access Manager integration to enable single sign-on of applications and services
Load Balancer Web Server Plugin & Installer for balancing load across cluster instances and smart failover on instance failure.
Oracle GlassFish Server 3.1 is part of the Oracle Fusion Middleware application grid portfolio and is ideally suited for applications requiring lightweight infrastructure with the most upto-date implementation of enterprise Java, Java EE 6, and Java Web Services infrastructure.
Oracle GlassFish Server complements Oracle WebLogic Server, which is designed to run the broader portfolio of Oracle Fusion Middleware and large-scale enterprise applications.
Oracle GlassFish Server 3.1 release improves application portability by offering support for WebLogic web deployment descriptors, and shared runtime components like JPA, JAX-RS, JAXB, JAX-WS. Oracle GlassFish Server 3.1 provides certified interoperability with Oracle Fusion Middleware Products including: Oracle Internet Directory, Oracle Virtual Directory, Oracle Coherence, Oracle Web Services Manager, and Oracle Access Manager.
The following sections provide more detail about the key technology enhancements and new features in GlassFish Server 3.1.
The following topics are addressed here:
GlassFish Server 3.1 is based on the Java EE 6 Reference Implementation and is the first application server to support the full Java EE 6 platform and the new Java EE 6 Web Profile, which is designed specifically for Web applications.
The Java EE 6 platform is backward compatible, so existing Java EE applications will continue to run on the newer platform. Extensive support for clustering across the entire product provides production grade reliability, scalability, fault tolerance and performance for GlassFish Server applications. This support extends from the installer to administration functions, and from native Web server plug-ins to Metro Web Services, JMS and stateful EJBs. These capabilities allow application clusters to be provisioned dynamically and adjusted on the fly, and makes it possible for administrators to redeploy or upgrade applications to meet user demand without service interruption. A single GlassFish Server domain server can manage up to 100 instances, supporting multiple clusters simultaneously.
The enhanced GlassFish Server 3.1 clustering infrastructure includes the following features:
High availability and scalability through failover load balancing. See the Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information. Load Balancing support is also discussed more in the following section.
Replacement of node agents with GlassFish Server nodes, as described in Chapter 3, Administering GlassFish Server Nodes, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Support for using secure shell (SSH) configurations for centralized administration, as described in Chapter 2, Setting Up SSH for Centralized Administration, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Support for clusters, clustered server instances, and standalone server instances, as described in Chapter 4, Administering GlassFish Server Clusters, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide and Chapter 5, Administering GlassFish Server Instances, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Name configurations, as described in Chapter 6, Administering Named Configurations, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
As mentioned in the previous section, Oracle GlassFish Server 3.1 supports clusters and clustered server instances, which provide excellent performance, load balancing failover and recovery, and transaction security.
An important aspect of clustering support in GlassFish Server 3.1 is that clustered configurations can be optimized by means of performance tuning and load balancing tools in a number of command-line subcommands. In addition, the GlassFish Loadbalancer Plug-In makes it easy to configure your Web server to work with Oracle GlassFish Server.
Complete details about configuring load balancing in GlassFish Server 3.1 are provided in the Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
GlassFish Server 3.1 includes the following JMS and Message Queue Broker enhancements:
Automatically managed JMS hosts embedded in standalone instances
By default, for each standalone instance GlassFish Server creates and manages a Message Queue broker embedded in the instance to provide JMS messaging. See Chapter 17, Administering the Java Message Service (JMS), in Oracle GlassFish Server 3.1 Administration Guide for more information.
Automatically managed Message Queue broker clusters to support GlassFish Server clusters
By default, GlassFish Server creates and manages a Message Queue broker cluster for a GlassFish Server cluster, assigning one Message Queue broker to each GlassFish Server cluster instance. See Using Message Queue Broker Clusters With GlassFish Server in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information.
Using GenericJMSRA for WebLogic JMS
New instructions on how to configure the Generic Resource Adapter for JMS so Glassfish Server applications can exchange messages with WebLogic JMS. See Using GenericJMSRA with WebLogic JMS in Oracle GlassFish Server 3.1 Administration Guide for more information.
GenericJMSRA for IBM WebSphere MQ
New instructions on how to configure Generic Resource Adapter for JMS so Glassfish Server applications can exchange messages with WebSphere Message Queue. See Using GenericJMSRA with IBM WebSphere MQ in Oracle GlassFish Server 3.1 Administration Guide for more information.
Enhanced domain backup and recovery features in GlassFish Server 3.1 include:
Domain backup to a specified location
You can now specify where domain backups are stored, and so support IT best practices such as off-host backups. See To Back Up a Domain in Oracle GlassFish Server 3.1 Administration Guide for more information.
Automated domain backups on live domains
Oracle GlassFish Server 3.1, you can now create backup configurations that automatically back up live domains on a scheduled basis. Note that this feature is not available in GlassFish Server Open Source Edition. See Setting Up Automatic Backups of a Domain in Oracle GlassFish Server 3.1 Administration Guide for more information.
A number of deployment enhancements have been introduced in GlassFish Server 3.1:
Support for deployment to a cluster.
The --target options on the asadmin deployment subcommands have been restored from v2.1, as have the *-application-ref subcommands. For more information, see Appendix A, The asadmin Deployment Subcommands, in Oracle GlassFish Server 3.1 Application Deployment Guide.
Support for rolling application upgrades
See Chapter 9, Upgrading Applications Without Loss of Availability, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information about rolling upgrades for applications deployed on GlassFish Server.
Partial support for WebLogic Server deployment descriptors
See Application-Scoped Resources in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
Transparent JDBC connection pool reconfiguration (no redeployment needed)
OSGi bundle deployment
See OSGi Bundle Deployment Guidelines in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
New deployment descriptor elements
An entirely new Oracle GlassFish Server 3.1 Security Guide has been written for GlassFish Server 3.1. Some of the important new security features covered in this guide include:
Managing Administrative Security with secure administration
The secure administration feature, referred to as secure admin, allows you to secure all administrative communication between the domain administration server (DAS), any remote instances, and administration clients such as the asadmin utility, the administration console, and REST clients. Secure admin provides a secure environment in which you can be confident that rogue users or processes cannot intercept or corrupt administration traffic or impersonate legitimate GlassFish Server components. See Chapter 5, Managing Administrative Security, in Oracle GlassFish Server 3.1 Security Guide for more information.
Custom Authentication of Client Certificate in SSL Mutual Authentication GlassFish Server extends the Certificate realm to allow custom authentication and group assignment based on the client certificate received as part of SSL mutual (two-way) authentication. You can now use a convenient abstract base class to configure a JAAS LoginModule for the Certificate realm. See Custom Authentication of Client Certificate in SSL Mutual Authentication in Oracle GlassFish Server 3.1 Security Guide for more information.
Working With the server.policy Policy File Each GlassFish Server domain has its own global Java SE policy file, named server.policy. This section describes the structure of this file, provides information about the default permissions, and details how you can change the default permissions. See Working With the server.policy Policy File in Oracle GlassFish Server 3.1 Security Guide for more information.
Dynamic Reconfiguration Administrative commands that you execute on the domain administration server (DAS) must either be replicated on the effected server instances, or on all server instances that are part of the cluster. Dynamic reconfiguration refers to using the --target operand to subcommands to make a change to a server instance (if the user-specified target is a server instance), or all server instances that are part of the cluster (if the user-specified target is a cluster). See Dynamic Reconfiguration in Oracle GlassFish Server 3.1 Security Guide for more information.
Support for PAM realm
GlassFish Server now supports Pluggable Authentication Module (PAM) realms. A PAM realm allows applications deployed on GlassFish Server to authenticate users against a native Unix (Solaris/Linux/Mac OS) users list. See Overview of Authentication Realms in Oracle GlassFish Server 3.1 Security Guide for more information.
Interoperability with Oracle Identity Management
The OAM Security Provider enables GlassFish Server administrators to use Oracle Access Manager to control user access to business applications. The OAM Security Provider for GlassFish Server is a JSR 196 Server Authentication Module (SAM) that provides authentication, authorization (optional), and single sign-on across JavaEE Web applications that are deployed on GlassFish Server. See Chapter 7, Integrating Oracle Access Manager, in Oracle GlassFish Server 3.1 Security Guide for more information.
Enhancements to logging features in GlassFish Server 3.1 include:
Support for configuring logging properties for individual configurations, server instances, or clusters.
The --target options for the asadmin logging subcommands have been restored from v2.1. See Logging Targets in Oracle GlassFish Server 3.1 Administration Guide for more information.
Support for collecting log files into a ZIP archive.
A new asadmin collect-log-files subcommand enables you to obtain and view log files for an instance or cluster even when it is not currently running. See Viewing Log Records in Oracle GlassFish Server 3.1 Administration Guide for more information.