This chapter provides general information about Coherence*Web. It describes what Coherence*Web is, what containers it is supported on, and provides a road map for the deployment decisions you should consider based on your environment.
Coherence*Web is an HTTP session management module dedicated to managing session state in clustered environments. Built on top of Oracle Coherence, Coherence*Web:
enables session sharing and management across different Web applications, domains and heterogeneous application servers.
brings Coherence data grid's data scalability, availability, reliability, and performance to in-memory session management and storage.
supports all of the 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, "Installing Coherence*Web on WebLogic Portal 10.3").
allows for session state to be managed in the various caching topologies available in Coherence (that is, Replicated, Partitioned, Near Caching, Read-Through, Write-Through, Write-Behind and Refresh-Ahead Caching, and so on).
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").
supports multiple advanced session models (that is, Monolithic, Traditional, and Split Session) which define how the session state is physically managed and serialized/deserialized in the cluster (see "Session Models").
supports fine-grained session and session attribute scoping by way of pluggable policies (see "Session and Session Attribute Scoping").
Using Coherence*Web with WebLogic Server and WebLogic Portal
Starting with Coherence 3.4.2, Coherence*Web integrates with WebLogic Server 10.3 and WebLogic Portal 10.3 using the native WebLogic session management SPI. The result of this tighter integration with WebLogic is simplified installation and deployment that no longer requires application instrumentation (using the WebInstaller).
Chapter 2, "Installing Coherence*Web on the WebLogic Server 10.3," describes the SPI-based WebLogic Server implementation of Coherence*Web in more detail.
Chapter 5, "Installing Coherence*Web on WebLogic Portal 10.3," describes the SPI-based WebLogic Portal implementation of Coherence*Web in more detail.
Coherence*Web and other Application Servers
For earlier versions of WebLogic Server and other third-party application servers, Coherence*Web provides a generic installer that transparently instruments your Web applications.
Chapter 3, "Installing Coherence*Web on Other Application Servers," describes the implementation of Coherence*Web with WebInstaller in more detail.
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 on them. You will notice that all of the Web containers (with the exception of Oracle WebLogic Server 10.3) share the same general installation instructions. A few, such as Oracle OC4J, Caucho, 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 and later, you can use only SPI-based installation. For instructions on installing the Management Module on WebLogic Server 10.3, see Chapter 2, "Installing Coherence*Web on the WebLogic Server 10.3.".
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 install Coherence*Web. Coherence*Web is supported on a number of different application servers. The type of application server that you are deploying on determines whether you will be installing Coherence*Web using the WebLogic SPI installation or the WebInstaller. Regardless of which application server you are using, you may need to change some of the 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 number of Coherence nodes that will be created within each application server JVM and where the Coherence library is deployed. A few 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 need to be deployed to their own individual Coherence cluster. These choices and the deployment descriptors and elements that need to 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. You can choose to allow multiple nodes in a cluster to access an HTTP session simultaneously, to not allow more than one node in the cluster to access an HTTP session, or to not allow more than one thread in the cluster to access an HTTP session. These choices, and the deployment descriptors and elements that need to 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 as well as restricting what attributes within a session are shared across the application boundaries. These choices, and the deployment descriptors and elements that need to be configured are described in "Session and Session Attribute Scoping".
The installation procedure that you follow will depend on your application server. "Supported Web Containers" provides a list of the application servers supported by Coherence*Web.
For WebLogic Server 10.3 and WebLogic Portal 10.3, use the native WebLogic Server SPI-based installation procedure. This is described in Chapter 2, "Installing Coherence*Web on the WebLogic Server 10.3."
Note that the installation of Coherence*Web on WebLogic Portal 10.3 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. The installation on WebLogic Portal is described in Chapter 5, "Installing Coherence*Web on WebLogic Portal 10.3."
For other application servers, use the generic Java EE Web application instrumentation. This installation procedure is described in Chapter 3, "Installing Coherence*Web on Other Application Servers."