Product overview > Cache integration overview



HTTP session management

The session replication manager that is shipped with WebSphere eXtreme Scale can work with the default session manager in the application server to replicate session data from one process to another process to support user session data high availability.


Features

The session manager has been designed so that it can run in any Java™ Platform, Enterprise Edition v1.4 container. Because the session manager does not have any dependencies on WebSphere APIs, it can support various versions of WAS, as well as vendor application server environments.

The HTTP session manager provides session replication capabilities for an associated application. The session replication manager works with the web container's session manager to create HTTP sessions and manage the life cycles of HTTP sessions that are associated with the application. These life cycle management activities include: the invalidation of sessions based on a timeout or an explicit servlet or JavaServer Pages (JSP) call and the invocation of session listeners that are associated with the session or the web application. The session manager persists its sessions in an ObjectGrid instance. This instance can be a local, in-memory instance or a fully replicated, clustered and partitioned instance. The use of the latter topology enables the session manager to provide HTTP session failover support when application servers are shut down or end unexpectedly. The session manager can also work in environments that do not support affinity, when affinity is not enforced by a load balancer tier that sprays requests to the application server tier.


Usage scenarios

The session manager can be used in the following scenarios:


How the session manager works

The session replication manager uses standard session listener to listen on the changes of session data, and persists the session data into an ObjectGrid instance either locally or remotely. The session data is reloaded in the request path through the standard servlet from the ObjectGrid instance either locally or remotely. You can add the session listener and servlet filter to every web module in the application with tooling that ships with WebSphere eXtreme Scale. You can also manually add these listeners and filters to the web deployment descriptor of the application.

This session replication manager works with each vendor's web container session manager to replicate session data across JVMs. When the original server dies, users can retrieve session data from other servers.

Figure 1. HTTP session management topology with a remote container configuration

A client browser sends a request to an HTTP requests sprayer, which goes to the application server tier. Behind the application server tier, the ObjectGrid tier hosts the persistent HTTP session data.


Deployment topologies

The session manager can be configured using two different dynamic deployment scenarios:


Generic embedded container startup

eXtreme Scale automatically starts an embedded ObjectGrid container inside any application-server process when the web container initializes the session listener or servlet filter, if the objectGridType property is set to EMBEDDED. See Servlet context initialization parameters for details.

You are not required to package an ObjectGrid.xml file and objectGridDeployment.xml file into the web application WAR or EAR file with eXtreme Scale v7.1. The default ObjectGrid.xml and objectGridDeployment.xml files are packaged in the product JAR. Dynamic maps are created for various web application contexts by default. Static eXtreme Scale maps continue to be supported.

This approach for starting embedded ObjectGrid containers applies to any type of application server. The approaches involving aWAS component or WAS Community Edition GBean are deprecated.


Parent topic:

Cache integration overview


Related concepts

JPA Loaders

JPA cache plug-in

Listener-based session replication manager

Dynamic cache provider

Use Sessions to access data in the grid


Related tasks

Configure HTTP session managers