Wednesday, 8 April 2020

Sys Operation execution mode

Synchronous

Description

Synchronous calls are always initiated in the caller’s session. The calls are always marshaled to the server and executed in intermediate language (IL). (There is a mechanism to opt out of having the calls always marshaled to the server.
If the class being called is registered as a service in the AxClient service group, then a Windows Communication Foundation (WCF) service proxy is used to marshal the synchronous call to the server. If the class being called is not registered as a service in the AxClient service group then the call is marshaled to the server using the operation’s pack/unpack mechanism and is executed in IL using the runAs mechanism. If the call is initiated on the server, then it is marshaled to IL, if needed, before the service method is called

Usage: 

You should use the synchronous execution method when the operation is not lengthy or when it is initiated from a batch session. Results may be obtained by using the operation’s result parameter

Asynchronous

Description:

Asynchronous operations are very similar to synchronous operations except that they are executed by using the WCF asynchronous service call mechanism. Asynchronous calls only run asynchronously if they are initiated from the desktop client session and if the called service is registered in the AxClient service group. In all other cases, the calls are executed synchronously. In all cases the caller can get results by using the SysOperationServiceController.operationRe turnValue Method in the afterOperation override method
Asynchronous operations are very similar to synchronous operations except that they are executed by using the WCF asynchronous service call mechanism. Asynchronous calls only run asynchronously if they are initiated from the desktop client session and if the called service is registered in the AxClient service group. In all other cases, the calls are executed synchronously. In all cases the caller can get results by using the SysOperationServiceController.operationRe turnValue Method in the afterOperation override method

Usage : 

Asynchronous calls are useful for running lengthy operations from the desktop client, where durability is not important. The caller must guarantee that the call is initiated from the desktop client to get the benefit of asynchronous execution

Scheduled batch

Description :

Scheduled batch mode uses the traditional batch server execution mechanism. This execution mode differs from the reliable asynchronous mode only in the way batch jobs persist in the system.

Usage:


use this mode to run in batch in the asynchronous, server-based, batch processing environment. Unlike reliable asynchronous calls, scheduled batch jobs are persisted in the system until a user manually deletes the

Reliable asynchronous 

Description:


Reliable asynchronous operations use the batch server’s session for execution. The call is queued to the empty batch queue by default, but the appropriate queue can be specified by using a property on the operation.

It is possible to track the execution of reliable asynchronous calls by tracking the associated batch execution history. It is also possible to make the initiation of the reliable asynchronous call part of a business process transaction. Reliable asynchronous calls can make use of the batch server’s parallel execution mechanism.

IMPORTANT: For these reasons, reliable asynchronous execution is the recommended mechanism for executing lengthy calls.

No comments: