The Quality of Service (QoS) refers to the processing mode of a process integration XML message. You differentiate between synchronous and asynchronous processing.
Synchronous Processing
Synchronous processing contains the following properties:
- A sender system sends a request and waits for a response.
- The sender process is blocked until the response or error is received.
- The service interface consists of at least two message types, one for the request and oneĀ for the response (and a fault message type, if necessary).
- In case of connection failures, it is not known whether the data record was fully processed at the target.
- The sender is responsible for dealing with errors (not SAP Process Integration (PI)).
Examples of synchronous processing scenarios are as follows:
- A direct answer is necessary to decide something online (user interaction).
- A direct answer is necessary, for example, to find out the key for the recreation of an object.
In SAP PI, the QoS for synchronous processing is called Best Effort (BE). In the Remote Function Call (RFC) technology, this is comparable with synchronous RFC (sRFC).
Asynchronous Processing
Asynchronous processing contains the following properties:
- The sender system sends a data record and does not wait for a direct response.
- The sender can continue working, separated from the processing of the message by the receiver.
- As long as SAP PI is selected as the agent, the receiver does not have to be available when the message is sent.
In this case, a globally unique identifier (GUID) is attached to the data. This GUID is stored together with the data.
The receiver system can tell from the GUID whether the data record was processed before the connection was interrupted.
The sender and receiver have to support the renewed start.
Asynchronous behavior is possible with transactional RFC (tRFC) using the transaction ID (t-ID) or in SAP PI with QoS Exactly Once (EO) and a message ID.
The processing sequence can also be important in asynchronous scenarios. This can also refer to the content dependence of data records as well as aspects of performance. The performance can increase if data records are not sent at the same time. To achieve a serialization of messages, the data records are put into queues. While working with SAP PI, the QoS is always Exactly Once in Order (EOIO). In RFC scenarios, the queued RFC (qRFC), which is a special tRFC, is used.