Runtime components : Channels components : Key features : Concepts : Channel and application sessions : Application subsessions
  
Application subsessions
Application subsessions provide the ability to manage multiple or concurrent sessions under the same session between the client and server. Application subsession support is implemented by the Java and HTML Channels only. A solution may or may not use this feature.
Application subsession support makes use of the application session table within the toolkit. This table is a keyed collection of session entry elements. The application session associated with the channel session is the parent element for all application subsession elements. This creates a parent/child relationship so that if the channel session is removed from the application session table, all application subsessions will be removed.
Multichannel support ensures that both the channel session and the application subsessions are managed between client requests using the IDs, and fulfills this requirement for devices that use the HTTP communication protocol.
The following is an example of a typical session entry in the application session table. Note that the session only provides a single level of nesting for application subsessions. The current context that is maintained in the session table by the session or application subsessions should be managed by the application according to the solution flow.
<!Start session>
<null id="3FZ4ASYAAAAAACMDZXXYILY" dynamic="false">
<field id="type" value="java"/>
<field id="timeStamp" value="964076211595"/>
<field id="session" value="3FZ4ASYAAAAAACMDZXXYILY"/>
<field id="TID" value="wks1"/>
<field id="currentContext" value=aContext1/ >
<!Start application session A>
< null id="EXENEBJQIUHFBQCCFSHUGNJSDBBPEKFZ dynamic="false">
< field id="type" value="java "/>
< field id="timeStamp" value="964076228234"/>
< field id="session" value="EXENEBJQIUHFBQCCFSHUGNJSDBBPEKFZ "/>
< field id="TID" value="wks1"/>
< field id="currentContext" value=aContext2/ >
</null>
<!End application session A>
<!Start application session B>
< null id="BTRHURYTHEROHNSOHNGTFOSDHDGFSNH" dynamic="false">
< field id="type" value="java"/>
< field id="timeStamp" value="964076253089"/>
< field id="session" value=" BTRHURYTHEROHNSOHNGTFOSDHDGFSNH"/>
< field id="TID" value="wks1"/>
< field id="currentContext" value=aContext3/>
</null>
<!End application session B>
</null>
<!End session>
The following schematic diagram shows the role of the session ID and application subsession ID in building the operation context hierarchy:
Diagramshowing the role of the application session ID in building the operationcontext hierarchy
The diagram shows that each session identifier is associated with a specific context instance. This relationship is kept in the application session table, which is updated by the application and read by the infrastructure.
Go up to
Channel and application sessions