Consultor Eletrônico



Kbase 20428: What is the Progress AppServer asynchronous request mechanism?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   25/08/2009
Status: Verified

GOAL:

What is the Progress AppServer asynchronous request mechanism?

GOAL:

Why is it useful to use AppServer asynchronous request?

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

FIX:

The Progress AppServer asynchronous request mechanism is an asynchronous remote procedure call (RPC) mechanism. It allows the client to continue processing while the AppServer request is executed on the server, where for a synchronous request the client will wait until the request has finished. When implemented correctly, asynchronous requests will boost the overall performance of the application.

Using asynchronous requests requires an event-driven approach - since it becomes impossible to predict when the remote request will finish compared to the state of the client an effective procedural approach becomes impossible as the client would have no reliable way to identify when a request is completed.

The client should take this into account and have the proper event handling in place, meaning there should at least be WAIT-FOR or PROCESS EVENTS statement somewhere in the code to trap the events raised when the request completes.
Without either statement, the client cannot process the events which are sent by the AppServer each time an asynchronous request is completed. Consequently, without either statement, the client cannot tell the AppServer to go on to the next request and finally gives the impression that the AppServer is frozen.

To handle data being returned by the request, a callback procedure can be implemented.