1 Introduction

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.

1.1 What is Coherence*Web?

Coherence*Web is an HTTP session management module dedicated to managing session state in clustered environments. Built on top of Oracle Coherence, Coherence*Web:

Using Coherence*Web with WebLogic Server and WebLogic Portal

The current release of Coherence*Web integrates with WebLogic Server and WebLogic Portal versions 9.2 MP1 and 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).

Coherence*Web and other Application Servers

For WebLogic Server versions 10.3 and 9.2MP1, as well as 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.

1.2 Supported Web Containers

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. Notice that all of the Web containers (except Oracle WebLogic Server 9.2 MP1 and 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 9.2 MP1 and 10.3 and later, you can use only SPI-based installation. For instructions on installing the Management Module on WebLogic Server 9.2 MP1 and 10.3, see Chapter 2, "Installing Coherence*Web on WebLogic Server 9.2 MP1 and 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

Application Server Server Type Alias See this Installation Section

Apache Tomcat 5.5.x

Generic

"General Instructions for Installing Coherence*Web Session Management Module"

Apache Tomcat 6.0.x

Generic

"General Instructions for Installing Coherence*Web Session Management Module"

Caucho Resin 3.1.x

Resin/3.1.x

"Installing on Caucho Resin 3.1.x"

IBM WebSphere 6.x

WebSphere/6.x

"General Instructions for Installing Coherence*Web Session Management Module"

JBoss Application Server

Generic or Jetty/5.1.x

"General Instructions for Installing Coherence*Web Session Management Module"

Jetty 5.1.x

Jetty/5.1.x

"General Instructions for Installing Coherence*Web Session Management Module"

Jetty 6.1.x

Generic

"General Instructions for Installing Coherence*Web Session Management Module"

Oracle OC4J 10.1.3.x

Oracle/10.1.3.x

"General Instructions for Installing Coherence*Web Session Management Module"

Oracle WebLogic 9.2 MP1, 10.3, and later

NA

SPI-based installation is available for versions 9.2 MP1, 10.3 and later. See Chapter 2, "Installing Coherence*Web on WebLogic Server 9.2 MP1 and 10.3."

Oracle WebLogic 9.x

WebLogic/9.x

"General Instructions for Installing Coherence*Web Session Management Module"

Oracle WebLogic 10.x

WebLogic/10.x

"Installing on Oracle WebLogic 10.x"

Sun Application Server 8.x

Generic

"General Instructions for Installing Coherence*Web Session Management Module"

Sun GlassFish 2.x

Generic

"General Instructions for Installing Coherence*Web Session Management Module"


1.3 Installation and Deployment Road Map

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 many different application servers. The type of application server that you are deploying on determines whether you will install Coherence*Web using the WebLogic SPI installation or the WebInstaller. Regardless of which application server you are using, you might have 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.

1.3.1 Choose your Cluster Node Isolation

Cluster node isolation refers to the number of nodes that Coherence creates 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 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".

1.3.2 Choose your Locking Mode

Locking mode refers to the behavior of HTTP sessions when they are accessed concurrently by multiple Web container threads. Coherence*Web offers a number of difference session locking options. For example, 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. 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".

1.3.3 Choose How to Scope Sessions and Session Attributes

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".

1.3.4 Choose When to Clean Up Expired HTTP Sessions

HTTP sessions are eventually cleaned up by the session reaper, and the associated memory is freed. The Coherence*Web session reaper provides a service similar to the JVM's own Garbage Collection (GC) capability: it cleans up HTTP sessions and frees memory once the session has expired. The session reaper is described in "Cleaning Up Expired HTTP Sessions".

1.3.5 Choose the Installation Method

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.