Process flow
The Process Flow describes how a message needs to be processed within ERP Connectivity. There are currently three Process Flows supported:
-
Synchronous communication
The request message is processed and a response message is returned in the same flow.
-
Asynchronous communication
The request message is processed, but the response message may be delivered later, possibly by a different process (ListenerProcessFlow).
-
ERP push only (Fire-and-Forget)
The request message is processed, and the flow do not expect a response.
Each process flow is implemented as a state machine, which transitions through a series of well-defined steps (states) each represented by a MessageDirection. The state machine ensures that each message is processed in the correct order, validated and mapped at each step.
Additionally, the process flow includes deduplication logic to prevent processing duplicate request messages. If a duplicate request message is detected and a previous successful response message is available, the response message from deduplication cache is used.
These variants allow the process flow to handle both synchronous and asynchronous communication patterns, as well as optimize processing by leveraging cached responses for duplicate requests.
-
RequestFromSouth
The request message is received from the external system.
-
RequestToNorth
The request message is sent to the external system after the request validation and request mapping steps are completed successfully.
-
ResponseFromNorth
The response message is received from the external system.
-
ResponseToSouth
The response message is sent back to the external system after the response validation and response mapping steps are completed successfully.
-
MessageFromNorth
The asynchronous message received from the external system, typically handled by the ListenerProcessFlow.
-
ResponseFromCache
When a response message is retrieved from the deduplication cache instead of being processed newly. This occurs if a duplicate request message is detected and a previous successful response message is available.
-
MessageFromCache
When an asynchronous message is retrieved from the cache, often after deduplication in asynchronous scenarios.