Show TOC

Defining Sync/Async CommunicationLocate this document in the navigation structure

Use

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.

Note

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.

Procedure

Define a Receive Step to Open the Sync/Async Bridge

  1. Insert the receive step to open the sync/async bridge in the integration process.

    You can do this at the following points:

    • Directly after the start marker
    • As the first step in a block if the block is the first step of the integration process and if it has the mode Standard
    • As the first step in a fork. If the fork already contains some starting receive steps, the Start Process indicator is automatically reset for these steps.
  2. In the object area, define the container element that receives the synchronously sent message.

    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.

  3. Select this container element in the Message field in the properties area of the receive step.
  4. In the Mode field, select Open S/A Bridge.
  5. Select the Start Process field.

    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.

  6. Specify the synchronous interface for receiving the message from the synchronously calling business system. The message type of the message to be received and the request message from the synchronous interface must be identical.

Define an Asynchronous Send Step

  1. Insert a send step that sends the received message asynchronously to the asynchronously called business system.

    See also: Sending Messages from Integration Processes Asynchronously

Define a Receive Step

  1. Insert a receive step that receives the message from the asynchronously called business system.

Define a Send Step to Close the Sync/Async Bridge

  1. Insert the send step at the required position in the process definition.

    Do not insert the send step in a loop, block, or fork.

  2. In the Mode field, select Close S/A Bridge.

    The integration process must not contain any further send steps to close a sync/async bridge.

  3. In the Opened By field, specify the receive step that opened the sync/async bridge.
  4. In the message field, specify the message that is sent to the synchronous interface.

    This message must be of the same type as the response message from the synchronous interface that you specified in the opening receive step.

Example

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 .