Building Distributed
Applications
Using the Progress AppServer


Operating Modes

When you configure an AppServer instance, you must specify an operating mode for it. The operating mode determines how client requests are dispatched to individual Application Server processes running on the AppServer instance. Each operating mode features different performance and design trade-offs.

In previous versions of the AppServer, an Application Server process starts up and remains dedicated to handle requests from a single client connection, and when that connection terminates, the Application Server process terminates also. In Version 9, the AppServer never automatically terminates any Application Server processes that it starts, but reassigns them to different client connections in a manner determined by its operating mode.

The Progress AppServer supports the following three operating modes, in increasing order of complexity:

  1. State-reset—All requests sent by a client connected to this AppServer go to the same Application Server process. This Application Server process remains dedicated to the same client for the life of the connection. When the client disconnects, the Application Server process resets its context to what it was at startup, removing all context created during the terminated client connection.
  2. NOTE: This operating mode is conceptually similar to the operation of AppServers prior to Progress Version 9, which run in only one operating mode.

  3. State-aware—All requests sent by a client connected to this AppServer go to the same Application Server process. This Application Server process remains dedicated to the same client for the life of the connection. When the client disconnects, the Application Server process deletes any remote persistent procedures that are still active in its context. However, it maintains all other context created during the terminated client connection for access during future client connections. This context remains available until it is removed during a future client connection or the Application Server process terminates.
  4. Stateless—An Application Server process is not dedicated to a specific client. The Application Server process can execute a request from any client that has an outstanding request to the AppServer. Because a client request can execute in an Application Server process that is different from any that executed previous requests for the same client, session context established for this client during a previous request might not be available. Because Progress does not automatically clean up any session context between requests, the session context in which a client request runs might have been established by a request from a different client.

For more information on the functional, performance, and design trade-offs among these operating modes, see the "Understanding AppServer Operating Modes" section.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095