Release 10.1A: OpenEdge Application Server:
Developing AppServer Applications

> ## Asynchronous request queuing

> To allow a client to submit a sequence of asynchronous requests over the same session-managed connection or the same session-free binding, OpenEdge maintains a queuing system to manage such requests between the client and the AppServer or application service. OpenEdge handles multiple asynchronous requests in this queuing system differently, depending on the session model:

> - Session-managed connections — The AppServer can execute only one asynchronous request at a time over a single client connection. So, results from session-managed asynchronous requests are returned to the client in the order they are sent.

> - Session-free bindings — The application service can handle multiple asynchronous requests from the same client in parallel. So, results from session-free asynchronous requests are returned to the client in no predictable order.

> Therefore, you just write your application to account for the difference in how results are returned for each session model.

> Regardless of the session model, the asynchronous request queuing system is the same, and includes three queues:

> - One send queue per AppServer connection, for queuing asynchronous requests to the AppServer.

> - One response queue per AppServer connection, for queuing the results of each asynchronous request.

> - The Progress 4GL event queue on the client for handling all 4GL events, including user-interface and other events, such as `PROCEDURE-COMPLETE`. This event queue handles the `PROCEDURE-COMPLETE` event for all AppServer connections on a client.

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