The session-free model is specifically designed for application services or Web services that return a complete result, starting and ending any transactions, in a single request. Thus, the AppServer maintains no context for any client that it services. Requests from a session-free client are handled by any available AppServer (and AppServer agent) that supports the required application service. The session-free client (or the Web Services or OpenEdge Adapter for Sonic ESB on behalf of Web service clients) manages a pool of physical AppServer connections (the
connection pool) that provides access to the session-free AppServers available to service client requests. Thus, a session-free AppServer executes requests from all clients as it receives them, and completes each request independently of any prior request (see
State-freeoperating mode).
In this session model, all requests from a client are multi-threaded, meaning that multiple requests from a single client can be executed in parallel, as AppServer resources permit. The more AppServers (and AppServer agents) that are available (through a NameServer) to handle requests for a given application service (or Web service), the more requests that the application or Web service can handle simultaneously from a single client. Each session-free AppServer executes requests as fast as communications and AppServer agent resources permit. Thus, the same client can have multiple requests executed by an AppServer at one time, and each AppServer can execute requests from any number of clients at one time, both limited by the number and extent of AppServer agents configured for each AppServer.