Try OpenEdge Now
skip to main content
Application Migration and Development Guide
Application Development with PAS for OpenEdge : PAS for OpenEdge and Client Interaction : Context management and the session-free model

Context management and the session-free model

A session-free application server can provide limited context management using a client-instantiated persistent procedure (Open Client or SOAP Web service ProcObject instantiation) on the application server. However, Progress Software Corporation recommends avoiding the use of persistent procedures and ProcObjects in session-free applications. The programming is more complex and their use can degrade application performance.
A far more useful means of managing session-free context is to use a persistent storage mechanism, such as the OpenEdge RDBMS, to maintain the context for all clients of an application. In effect, this is no different than using a database in any application model, except that you might require more parameters on a remote request to identify the context (such as a customer order) to be maintained.
OpenEdge supports a client context ID that can be passed to a business application on each request to identify the client that sent the request. In ABL, you can access this client context ID as the ClientContextId property of the Progress.Lang.OERequestInfo class. An instance of this class is available using properties of the server object handle in the client session and complementary properties of the SESSION system handle in the server session that handles the request. For more information, see Managing client context for session-free and unbound session-managed connections