EP: Portal Users & reported cases of Multiple Sessions
Introduction
The Enterprise Portal as we know serves as a central conduit channel through which we can access essential information, business applications and all associated business data. Within an organizational environment a Portal environment is built upon the NW platform which in turn is utilized by large end-users bases meaning system flow can on occasion be heavy & process-complex.
With each user session enacted on the Portal comes a set of different connection requests which are handled by the Portal’s session management mechanisms.
How Sessions Are Handled
When session expires or logoff is invoked or browser is closed, no matter what, the connection is not terminated but returned to the pool and kept open as defined in the Connection Lifetime property.
In short, the connection stays open for the predefined amount of time by design and this is not an unexpected behavior. It remains in the pool, it is no longer used by another service e.g. the UWL and it is available for other clients.
When executing the ITS services that access a component system (R/3) in the portal, there is the question how to close the sessions in the component system when the user closes the browser (the HTTP protocol is considered to be stateless).
When the user closes the browser window or navigates to another position, the browser sends a mass request to a dedicated portal component to end one or more open sessions (by default DSM.Terminator). This component distributes the corresponding termination commands to the component systems. The Termination command then closes the server session.
Users are Reporting Multiple Sessions being opened for individual Logons….
When you use transaction SM04 to check sessions what are you seeing? In many cases when the portal is closed (via logoff) a reference is stored. From using the SM04 transaction it may appear that the sessions remain open but in fact they will only be references. But you are seeing the transaction field remaining filled?
- Remember once a session expires or logoff is invoked or browser is closed, no matter what, the connection is not terminated but returned to the pool and kept open as defined in the Connection Lifetime property.
- This is ByDesign and not unexpected behavior.
The WIKI outlined below is concerning RFC Sessions and the SM04 Transaction screen and is a core point of reference for resolving session retention and general session management issues.
- http://wiki.scn.sap.com/wiki/display/ABAPConn/RFC+Connections+remain+in+SM04
The standard behaviour of the DSM terminator is to administrate portal sessions and backend sessions, and when you close a browser window, this session release agent MUST send a USR_ABORT notification to the content servers.
As a background: from the portal point of view, we cannot directly terminate any application sessions we can only send a notification of the user which might impact on those sessions.
- Troubleshooting Backend Termination Issues in the Enterprise Portal: http://scn.sap.com/docs/DOC-55337