Runtime components : Channels components : Key features : Concepts : Channel and application sessions
  
Channel and application sessions
A session is a space in memory that the server side preserves from one request to another. UNICOM® Digital Transformation Toolkit (UDTT™) uses two types of sessions to realize multichannel support: channel sessions, which are maintained by the channel (such as the WebSphere servlet engine), and application sessions, which are maintained by the application through the application session table. The design of the multichannel support implementation requires that a channel session be created if a channel session is to be maintained between the client and the server. In addition, the component provides the ability to manage one or multiple concurrent sessions between the client and server per channel session, and these are called application sessions and application subsessions.
Each channel session has an associated context and each of the requests processed under this session access the context hierarchy through this session context. An application subsession is a session within a channel session. The application subsession also has a context. This context is automatically chained to the session context so that each request running in the application subsession has access to the application subsession context and the application session context. An application shares the same session context with the rest of the applications running under the session but each of them has its own application context. For example, the session context holds the data and services that are exclusive to Ken, a bank clerk, and there is an application subsession for each of his current customers to hold the data for that customer. Each application subsession is isolated from the others but they all have access to the information in the session context and higher in the context hierarchy. This allows Ken to interrupt performing operations for one customer so that he can perform operations on behalf of a different customer. The first customer's environment (application context and session) remains untouched by anything in the second customer's environment. However, both environments can access information at the session context level such as Ken's user ID and password.
The relationship between a single channel session and application sessions is a one-to-many relationship, although there will usually be one application session per channel session, sharing their unique identifier. Application sessions are maintained by the application and used by the toolkit, to provide the application with the ability to manage them isolated from the specific channel session's management implementation. Application sessions link channel sessions with application context instances. Thus, the multichannel support implementation knows what context to use to link a specific request coming from a concrete channel session. Any request coming for a given session is handled under the session context.
When more than one operation request comes from the same client workstation under the same session but for different subsessions, the IDs for the channel session and the application subsession are used to create the context hierarchy for the operations.
See
Application subsessions
Session management
HTTP session identity and clustering support
Go up to
Concepts