1 Introduction to Coherence*Web
More detailed information on configuration, deployment, and features are provided in following chapters.
This chapter includes the following sections:
- Understanding Coherence*Web
Coherence*Web is an HTTP session management module dedicated to managing session state in clustered environments. - Supported Web Containers
Coherence*Web is supported on many platforms like WebLogic Server, WebSphere Liberty, Tomcat, and Jetty. - Supported Java Servlet Version
Coherence*Web supports only the APIs up to Java Servlet 2.5. However, Coherence*Web can run with later versions. For example, Java Servlet 4.0. - Configuration and Deployment Road Map
Coherence*Web includes configuration options that might need to change depending on your environment and session requirements.
Understanding Coherence*Web
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.
-
can configure fine-grained session and session attribute scoping by way of pluggable policies. See Session and Session Attribute Scoping.
-
can be deployed to many mainstream application servers such as Oracle WebLogic Server, IBM WebSphere, and Tomcat. See Supported Web Containers.
-
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.
-
can be used in advanced session models (that is, Monolithic, Traditional, and Split Session) that define how the session state is serialized or deserialized in the cluster. See Session Models.
Parent topic: Introduction to Coherence*Web
Supported Web Containers
See Using Coherence*Web with WebLogic Server.
For third-party application servers, Coherence*Web provides a generic utility, the WebInstaller, that transparently instruments your Web applications. Using Coherence*Web on Other Application Servers, describes how to use the WebInstaller to integrate Coherence*Web with 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 integrate Coherence*Web. Notice that all of the Web containers (except Oracle WebLogic Server) share the same general instructions.
Note:
The value in the Server Type Alias column is used only by the Coherence*Web WebInstaller. The value is passed to the WebInstaller through the -server
command-line option.
Table 1-1 Web Containers which can use Coherence*Web
Application Server | Server Type Alias | See this Integration Section |
---|---|---|
Oracle WebLogic |
N/A |
Coherence*Web is integrated with WebLogic Server. No integration steps are required. See Using Coherence*Web with WebLogic Server. Note: WebLogic Server and Coherence must be on the same versions when using Coherence*Web. |
IBM WebSphere Liberty 8.5.n |
|
General Instructions for Integrating Coherence*Web Session Management Module |
Apache Tomcat 7.n |
|
General Instructions for Integrating Coherence*Web Session Management Module and Enabling Sticky Sessions for Apache Tomcat Servers |
Apache Tomcat 8.n |
|
General Instructions for Integrating Coherence*Web Session Management Module and Enabling Sticky Sessions for Apache Tomcat Servers |
Jetty 9.3.n |
Generic |
General Instructions for Integrating Coherence*Web Session Management Module |
Wildfly 26.0.x.Final/Undertow |
Generic |
General Instructions for Integrating Coherence*Web Session Management Module |
Parent topic: Introduction to Coherence*Web
Supported Java Servlet Version
Any API in later versions of Java Servlet supported by Coherence*Web will be explicitly documented.
Parent topic: Introduction to Coherence*Web
Configuration and Deployment Road Map
This section includes the following topics:
- Choose Your Cluster Node Isolation
- Choose Your Locking Mode
- Choose How to Scope Sessions and Session Attributes
- Choose When to Clean Up Expired HTTP Sessions
- Choose the Integration Method
Parent topic: Introduction to Coherence*Web
Choose Your Cluster Node Isolation
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 might be deploying multiple applications to the container that require the use of the same cluster (or one Coherence node); you might have multiple Web applications packaged in a single EAR file that use a single cluster; or you might 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.
Parent topic: Configuration and Deployment Road Map
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 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.
Parent topic: Configuration and Deployment Road Map
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.
Parent topic: Configuration and Deployment Road Map
Choose When to Clean Up Expired HTTP Sessions
Coherence*Web provides a session reaper, which invalidates sessions that have expired. Cleaning Up Expired HTTP Sessions, describes the session reaper.
Parent topic: Configuration and Deployment Road Map
Choose the Integration Method
The integration procedure that you follow depends on your application server.Supported Web Containers provides a list of the application servers and the corresponding instructions for integrating Coherence*Web.
If you are using a recent release of WebLogic Server, Coherence and Coherence*Web are installed with the WebLogic Server product. No separate Coherence*Web integration is necessary. See Using Coherence*Web with WebLogic Server.
For other application servers, use the generic Java EE WebInstaller described in Using Coherence*Web on Other Application Servers.
Parent topic: Configuration and Deployment Road Map