4.3.5 The Mechanics of Session Management

There is a pre-set configurable pool of Web jobs for processing WEBROUTINE requests. A Web job currently processing a request will load the necessary state and reset the internal state, and then make itself available for the next request which may come from a different Web session altogether. The load is shared by Web jobs at the individual request level and not the session level. As a result, it is possible to have a much larger number of active browser sessions than Web jobs running.

The stateless nature of WAM execution environment has an important implication. A WAM Component's state only exists for the duration of WEBROUTINE execution. Unless fields and lists are declared as *PERSIST, their values are destroyed and not available for the next request after WEBROUTINE exit. Consequently, any other RDMLX Components instantiated during WEBROUTINE execution will be destroyed upon WEBROUTINE termination. However, any *PERSIST fields and lists, live beyond the lifetime of a request and are still available. They can span multiple WEBROUTINE requests until session termination.

Session Management Summary

Following is a summary of important features of the WAM execution environment: