To enable the communication between a synchronously calling business system (synchronous outbound interface) and an asynchronously called business system (asynchronous inbound and outbound interface), you can define a sync/async bridge in an integration process. You can only define one sync/async bridge for each integration process.
You can also achieve sync/async communication by using the JMS adapter. If you do not have any particular demand for monitoring or for troubleshooting, SAP recommends that you use sync/async communication in the JMS adapter instead. The advantage of using the JMS adapter over synch/async communication using an integration process is a significant increase in system performance.
See: Async/Sync and Sync/Async Bridge in JMS Adapter
Structure of a Sync/Async Bridge
The following table outlines the minimum components of a sync/async bridge:
Step | Use |
---|---|
Receive step to open the sync/async bridge |
Receives the message request from the synchronously calling business system and opens the sync/async bridge |
Asynchronous send step |
Sends the received message asynchronously to the asynchronously called business system |
Receive step |
Receives the message from the asynchronously called business system |
Send step to close the sync/async bridge |
Sends, for example, the response from the asynchronously called business system to the synchronously calling business system |
Performance Considerations
If you insert additional steps in the sync/async bridge, the synchronous time is increased correspondingly. If the time that elapses before the sync/async bridge is closed is too long, this can lead to problems.
Fault Messages
It is currently not possible to send fault messages back to the synchronously calling business system. If you want to return error statuses to the synchronously calling business system, you can define a field for an error indicator in the message that is sent to the synchronous interface.
Define a Receive Step to Open the Sync/Async Bridge
You can do this at the following points:
Specify an asynchronous, abstract interface in the container element. The message must correspond to the request message of the synchronous interface used to receive the message.
The receive step to open the sync/async bridge must start the integration process. There must be no other receive steps to start the integration process.
Define an Asynchronous Send Step
See also: Sending Messages from Integration Processes Asynchronously
Define a Receive Step
Define a Send Step to Close the Sync/Async Bridge
Do not insert the send step in a loop, block, or fork.
The integration process must not contain any further send steps to close a sync/async bridge.
This message must be of the same type as the response message from the synchronous interface that you specified in the opening receive step.
You can find an example of a sync/async bridge in the Enterprise Services Repository under SAP Basis à SAP Basis 6.40, namespace http://sap.com/xi/XI/System/Patterns under BpmPatternSyncAsyncBridge.
For a description of the example, see Example: Sync/Async Communication .