Try OpenEdge Now
skip to main content
Application Migration and Development Guide
Application Development with PAS for OpenEdge : PAS for OpenEdge and Client Interaction : Deciding on the scope of individual requests : Session-free or unbound session-managed operations
 
Session-free or unbound session-managed operations
For a session-free application or a session-manage application that uses unbound connections, whether simple or complex (powerful), each operation must complete any transaction that it starts. Operations typical of this type of application include returning the current outdoor temperature given a zip code, or returning a zip code given a street address. A more powerful example might be an operation that returns all the available seats on airline flights to a given destination, followed by another operation that attempts to reserve a selected list of seats on any of the available carriers, based on a set of parameterized preferences, or specifically by seat number. In all cases, these operations complete their function in one request, and if a result is in some way unsuccessful, the request might simply be repeated with or without modification of the parameters involved.
Context can, however, be maintained for a session-free or for an unbound session-managed application between requests using input-output parameters provided by the business application procedures and SOAP Web service operations. You can also use the SESSION:SERVER-CONNECTION-CONTEXT attribute to pass character data from one ABL session to another that executes requests from the same connected client. An example might be an order entry SOAP Web service that allows a user to obtain status of a particular order, then examine the detail lines of that order.
In this case the context might be a customer number passed in a getOrders procedure to get the status of all that customer's orders. This might be followed by a getOrderLines procedure for a selected order, with both the customer number and order number passed as parameters to get the detail lines of a selected order for the customer. In this case, the context is really being maintained in persistent storage, such as a database, that is shared by all clients of the application.
When you use the SESSION:SERVER-CONNECTION-CONTEXT attribute to pass character data as session context, the session manager ensures that whatever value you assign to the attribute for one request is available in the ABL session that executes the next request from the same client." For more information, see Using the SERVER-CONNECTION-CONTEXT attribute.