Coherence*Web is an HTTP session management module dedicated to managing session state in clustered environments. Built on top of Oracle Coherence, Coherence*Web:
brings Coherence data grid's data scalability, availability, reliability, and performance to in-memory session management and storage.
supports fine-grained session and session attribute scoping by way of pluggable policies (see "Session and Session Attribute Scoping").
supports mainstream application servers such as Oracle WebLogic Server, IBM WebSphere, Tomcat, and so on (see "Supported Web Containers").
supports numerous portal containers, including Oracle WebLogic Portal (see Chapter 5, "Using Coherence*Web on WebLogic Portal").
allows storage of session data outside of the Java EE application server, freeing application server heap space and enabling server restarts without session data loss (see "Deployment Topologies").
enables session sharing and management across different Web applications, domains and heterogeneous application servers (see "Session and Session Attribute Scoping").
supports multiple advanced session models (that is, Monolithic, Traditional, and Split Session) which define how the session state is serialized/deserialized in the cluster (see "Session Models").
Coherence*Web and other Application Servers
For third-party application servers and a few legacy versions of WebLogic Server (9.2.1, 9.2.3, 10.3, 10.3.1), Coherence*Web provides a generic installer, the WebInstaller, that transparently instruments your Web applications. Chapter 3, "Installing Coherence*Web on Other Application Servers," describes how to use the WebInstaller to install Coherence*Web on these servers.
Table 1-1 summarizes the Web containers supported by the Coherence*Web Session Management Module. It also provides links to the information required to install Coherence*Web. Notice that all of the Web containers (except Oracle WebLogic Server 10.3.3) share the same general installation instructions. A few, such as Caucho Resin, and WebLogic 10.x, require extra, container-specific steps that you must complete before starting the general installation instructions.
To install the Coherence*Web Session Management Module on WebLogic Server 10.3.1 and later, you can use SPI-based installation. For instructions on installing the Management Module on WebLogic Server 10.3.3, see Chapter 2, "Using Coherence*Web with WebLogic Server."
Note:
The value in the Server Type Alias column is used only by the Coherence*Web WebInstaller installation. The value is passed to the WebInstaller though the-server command line option.Table 1-1 Web Containers Supported by Coherence*Web
This section provides a general outline of the deployment decisions you should make before you configure and deploy Coherence*Web. Coherence*Web is supported on many different application servers. Regardless of which application server you are using, you might have to change some Coherence*Web configuration options to meet your particular requirements, such as packaging considerations, session model, session locking mode and deployment topology.
Cluster node isolation refers to the scope of the Coherence nodes that are created within each application server JVM. Several different isolation modes are supported.
For example: you may be deploying multiple applications to the container that require the use of the same cluster (or one Coherence node); you may have multiple Web applications packaged in a single EAR file that want to use a single cluster; or you may have Web applications that must keep their session data separate and must be deployed to their own individual Coherence cluster. These choices and the deployment descriptors and elements that must be configured are described in "Cluster Node Isolation".
Locking mode refers to the behavior of HTTP sessions when they are accessed concurrently by multiple Web container threads. Coherence*Web offers several different session locking options. For example, you can allow multiple nodes in a cluster to access an HTTP session simultaneously, or allow only one thread at a time to access an HTTP session. You can also allow multiple threads to access the same Web application instance while prohibiting concurrent access by threads in different Web application instances. These choices, and the deployment descriptors and elements that must be configured, are described in "Session Locking Modes".
Session and session attribute scoping refers to the fine-grained control over how both session data and session attributes are scoped (or "shared") across application boundaries. Coherence*Web supports sharing sessions across Web applications and restricts which session attributes are shared across the application boundaries. These choices, and the deployment descriptors and elements that must be configured, are described in "Session and Session Attribute Scoping".
Coherence*Web provides a Session Reaper which invalidates sessions that have expired. "Cleaning Up Expired HTTP Sessions" describes the Session Reaper.
The installation procedure that you follow depends on your application server. "Supported Web Containers" provides a list of the application servers supported by Coherence*Web.
For WebLogic Server 11gR1 and later, and use the native WebLogic Server SPI-based installation procedure. See Chapter 2, "Using Coherence*Web with WebLogic Server."
Note that the installation of Coherence*Web on WebLogic Portal is completely independent of WebLogic Server; that is, you do not have to install Coherence*Web on WebLogic Server to install it on WebLogic Portal. See Chapter 5, "Using Coherence*Web on WebLogic Portal."
For other application servers, use the generic Java EE Web application instrumentation. See Chapter 3, "Installing Coherence*Web on Other Application Servers."