Package execution modes
Connector Packages and Orchestrator Packages can be executed in different south-side execution modes:
-
Standard (Claims Pattern)
-
Direct-synchronous-southbound (sync-south)
-
Direct-asynchronous-southbound (async-south)
The availability of the direct modes is set for each package by the package author and cannot be reconfigured at runtime. Standard mode can not be disabled.
Standard Execution
This is the default execution mode of Connector Packages in ERP Connectivity as defined by Nexeed Industrial Application System and should be used unless special circumstances require otherwise.
The initial south-side request gets a response immediately, while processing starts in the background. When processing finishes, a message with a URL to fetch the results is sent to the client via the public external RabbitMQ instance. The client must then make a request to this URL to retrieve execution results.
Sync-south
This mode makes package execution fully synchronous from start to finish. The south-side caller has to wait until package execution is finished and receives the result immediately as part of the HTTP response.
When enabled for the package in description.xml, sync-south can be used by appending /direct to the execution URL. Additional features like error handling and automatic retry are not available when it is used.
Standard-mode is still available even when sync-south is enabled, so the south-side caller decides the mode for each package execution request.
Async-south
This works exactly like Standard-mode, with the addition of a second RabbitMQ message at the end, which contains the actual response object. For security reasons, response objects cannot be sent to the public external RabbitMQ instance and must therefore go via a separate instance or virtual host, which can be configured in the settings.
The south-side client may listen on either one or both RabbitMQs and process messages as they see fit. The additional direct-response message alleviates the need to fetch the response separately and is meant to minimize delay in end-to-end processes with low-latency requirements, particularly in push-from-ERP cases.