Building Distributed
Applications
Using the Progress AppServer
State-reset Operating Mode
When Progress sends a client application’s connection request to an AppServer that is running in state-reset operating mode, the Application Broker connects the client application directly to one of the processes in its Application Server process pool. The connected Application Server process remains dedicated to the client application for the life of the connection.
Between connections, Progress re-initializes the AppServer session to its initial state. This is the state it is in immediately after the Application Server process is started and after all startup parameters are processed.
NOTE: State-reset operating mode is conceptually similar to the operation of AppServers prior to Progress Version 9.Connection Management
When the AppServer receives a connection request, the Application Broker chooses an Application Server process that is not currently dedicated to some other client application’s connection. If all Application Server processes are unavailable, the Application Broker might create another Application Server process for the connection, or it might return an error. The result depends on how many Application Server processes are running and the values of various configuration settings.
When the client application disconnects from its Application Server process, the Application Server process notifies the Application Broker that it is now available to service another client application connection.
NOTE: In AppServers prior to Progress Version 9, the Application Broker terminates the disconnected Application Server process.To help an AppServer session perform common connection tasks, such as user authentication, you can configure a Connect procedure that runs for each connection request and a Disconnect procedure that runs for each disconnection request. For more information on these procedures, see Programming the AppServer."
Performance Considerations
Because an AppServer running in state-reset operating mode dedicates an Application Server process to each client connection, the connected client is guaranteed of having each request handled immediately by the AppServer. Assuming that the general process load on the AppServer platform is light enough, this means that the client can expect relatively fast response time from the AppServer.
However, throughput in a state-reset connection tends to drop as client load increases, because the number of dedicated Application Server processes available to handle client connections is necessarily limited by the number of Application Server processes that can be started on the AppServer machine.
Context Management
Because each Application Server process is dedicated to a client connection, the AppServer session maintains all session context between client requests. Thus, for example, any global values or database connections that you set in remote procedures remain available for the life of the connection or until you change them during some remote procedure call.
In between connections, an AppServer session running in state-reset operating mode resets its context to the initial state. This initial state is its context after the Application Server process first starts and after all Application Server process startup parameters take effect, including databases connections.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |