SAP Cloud Integration Supporting further Exactly Once Scenarios
As mentioned in my latest blog Integration Flow Design Guidelines for Exactly Once Scenarios, we have started to describe how to implement Exactly Once scenarios as part of the integration flow design guidelines. With a new feature, the idempotent process call, we are now able to cover much more scenarios, actually scenarios where the receiver is not idempotent or scenarios where a redundant processing may lead to side effects.
With the idempotent process call, you can check if a local integration process has been already processed for one and the same message, and hence skip the processing of this message.
If you send a message to a receiver which is not idempotent, i.e., which is not able to identify duplicate messages, you can place the idempotent process call right at the end of your integration flow, and call the receiver within this very local integration process. If, for whatever reasons, the already delivered message is reprocessed, the idempotent process call identifies the duplicate and discards the delivery of the message.
Another use case of the idempotent process call is to avoid non-deterministic side effects, i.e., scenarios where the retry of the message even with the same input may lead to a different output.
Besides the 4 guidelines that we have previously shipped, see blog above, we have shipped the following additional guidelines:
- ID Mapping scenario with an AS2 sender adapter
- Scenario where the XI sender adapter handles duplicates
- Scenario where an idempotent process call handles duplicates
- Scenario with non-deterministic side effects due to combined JMS and data store operations
- Scenario with non-deterministic side effects with an alternative response
- Aggregator pattern where an idempotent process call handles duplicates
The corresponding package Integration Flow Design Guidelines – Enterprise Integration Patterns can be accessed on the SAP API Business Hub. It also comes with a Postman collection which helps you to easily run the scenarios on your own.
For a complete overview and description of the Exactly Once scenarios check out the Quality of Service Exactly Once guidelines as part of the Guidelines to Implement Specific Integration Patterns.