The Application Server 9.1 includes the following enhancements:
Java EE 5 platform support — Sun Java System Application Server implements the Java EE 5 specification to deliver one of the best application runtimes for next-generation enterprise applications and web services. Application Server implements the following Java EE standards:
Enterprise Java Beans 3.0
Java Server Faces 1.2
Java Server Pages 2.1 (JSP 2.1)
Java Server Pages Standard Tag Library (JSTL) 1.2
Streaming API for XML (StAX)
Web Services Metadata
Java API for XML based Web Services 2.0 (JAX-WS 2.0)
Common Annotations for the Java Platform 1.0 (CAJ 1.0)
Java Servlet 2.5
The complete list of Java EE 5 platform technologies is provided later in these notes.
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. The initial release of WSIT is a product of this joint effort. 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:
Bootstrapping and Configuration
Message Optimization Technology
Reliable Messaging Technology
See More About WSIT Integration later in this chapter for more information about WSIT integration in Application Server.
JBI support – JBI extends Java EE with business integration Service Provider Interfaces (SPI). These SPI enable developers to create or implement a Java business integration environment for specifications such as WSCI, BPEL4WS and the W3C Choreography Working Group. A JBI implementation is installed directly by the Application Server installer, mostly in the as-install/jbi directory. This directory contains all common JAR files and system components for the JBI including a lifecycle module that starts the JBI framework in the Application Server JVM.
In-memory replication support – In-memory replication on other servers provides lightweight storage of session state data without the need to obtain a separate database, such as HADB. This type of replication uses memory on other servers for high availability storage of HTTP session and stateful session bean data. Clustered server instances replicate session state in a ring topology. Each backup instance stores the replicated data in memory. Replication of session state data in memory on other servers enables sessions to be distributed. The use of in-memory replication requires the Group Management Service (GMS) to be enabled (which is true by default).
Usage profiles – Every administrative domain is associated with a usage profile, which identifies the capabilities of that domain. Application Server provides the following profiles:
Developer – Use this profile if you are running your domain in a development environment and if your applications do not need clustering features, such as load balancing, high availability, and session replication. Note that the actual name of the profile is “developer” (case sensitive).
Cluster – Use this profile if you want to create clusters of application server instances imparting scalability and high availability to the deployed Java EE applications. The state of the applications is persisted in-memory. Note that the actual name of the profile is “cluster” (case sensitive).
Enterprise – Use this profile if you need HADB and NSS. This profile is not usable unless you install HADB and NSS separately or install the Application Server as part of the Java Enterprise System (Java ES).
Load balancing enhancements – Several enhancements have been added to the load balancing plugin. Briefly, these include
Weighted Round Robin – An optional attribute called weight has been added to the instance Loadbalancer.xml file. This option enables the load balancer plugin to route requests according to the weight. For example, for every 500 requests, 100 will go to instance1 and 400 would go to instance2. The default weight is 100. The weight is assigned to each instance from the admin console or command line, and the server domain.xml has an attribute for every instance indicating the weight.
User-Defined Load Balancer Decision – Enables users to define custom logic for load balancing; for example, user identity-based redirects and mime-based load balancing. This feature is implemented by means of a user-defined shared library that gets loaded by the load balancer. This custom shared library implements the interface as defined in loadbalancer.h, which is placed in as-install/lib/install/templates/.
Administration Enhancements – Previous versions of Application Server required that the loadbalancer.xml file be manually copied to the particular server's config directory. Application Server 9.1 includes push automations for performing such copies between the Web server and Application Server. The load balancer itself is configured in the server's domain.xml file.
Open Source and GlassFish Community — In June 2005, Sun launched the GlassFish community with the goal of developing a free, open source, commerical-grade application server that implements the newest features of the Java EE 5 platform and related enterprise technologies. Application Server is based on the source code developed by Sun engineers and the GlassFish community.
Update Center Support – The Application Server Update Center provides automated Application Server updates and easy access to additional components. See Using the Application Server Update Center for more information.