Recognizing the significance of enterprise-grade integration flows is crucial. While designing and running a simple integration flow may seem easy, it is important to consider non-functional aspects when aiming for productive integration flow execution.
Impact of Poorly Designed Integration Flows:
- Poorly designed integration flows can lead to errors and disruptions.
- These flows share resources and can indirectly impact each other, making it vital to apply learnings to all productive integration flows.
- In the worst-case scenario, a broken integration flow can result in service disruptions for business processes.
Benefits of Design Guidelines:
- Design guidelines help ensure the overall availability of business processes.
- Following these guidelines can optimize performance, even though there are various ways to design integration flows for specific scenarios.
Effective Error Handling and Reusability:
- Ensuring smooth integration with external systems requires proactive management of temporary failures.
- Integration flows should handle failures gracefully to minimize disruptions to the business process.
- SAP offers pre-packaged integration content to promote reusability.
To summarize, the construction of enterprise-grade integration flows necessitates careful consideration of key qualities such as robust, reliable, and easily maintainable integrations.
These guidelines encompass various aspects, including the implementation of stringent security standards, maintaining readability and comprehensibility of integration flows, effective error handling, adherence to application-specific guidelines, and more. Additionally, SAP provides guidance on implementing common enterprise integration patterns such as content-based routing, aggregator pattern, splitter, as well as specific patterns like exactly once scenarios and asynchronous decoupling.
They are available in dedicated integration packages published on the SAP Business Accelerator Hub, accompanied by comprehensive documentation. Furthermore, a Postman collection is provided to facilitate easy execution of the scenarios.
Let’s delve into the details:
You can access the SAP Help Portal by clicking on Online Guide option from your profile in your integration suite page.
Now type design guidelines in the search tab. And Click on Integration Flow Design guidelines as shown in the below screenshot:
You can now navigate to Copying the Integration Package and Deploying the Integration Flows:
We have a list of design guidelines here, you can pick any of the scenarios and try out in your workspaces.
Here for the demonstration, I will be taking the Guidelines to Implement Specific Integration Patterns à Integration Flow Design Guidelines – Enterprise Integration Patterns
Now click on Enterprise Integration Patterns – Postman Collection.
This contains postman collection to trigger the integration flow along with the payloads.
Unzip the downloaded file in your local system.
Import the unzipped file in the postman as shown below.
Enterprise Integration Patterns package is imported.
Now let’s set the environment with name Design_Guidelines with variables used in the postman collection.
Use the CPI runtime URL as the host and then maintain CPI username and password as shown below:
Let’s now move on to CPI to import the SAP defined package. Go to Discover(Integrations) and search of Integration Flow Design Guidelines – Enterprise Integration Patterns package.
You can also search for the other guidelines shown under Copying the Integration Package and Deploying the Integration Flows in the SAP help portal and use it in your workspace and check them.
Click on Copy to save the package to your workspace. Now the package Integration Flow Design Guidelines – Enterprise Integration Patterns is saved in your workspace.
This flow shows the sample of idempotent pallet and the design guidelines of the same.
Idempotent Process Call: Execute a process call step to check if an incoming message was already processed, and skip the processing of this message.
Using the Idempotent message identifier, we will route the message in the LIP (Local Integration process) and the appropriate message is set.
Deploy the flow as it is:
You can see the flow is deployed.
Also make sure that the Generic Receiver integration flow is also deployed. This integration flow serves as a common receiver mockup for all the integration flows.
You will also need to maintain a user credential with the name OWN in CPI.
This would contain username and password of your CPI tenant which would be used for authentication of the flow.
(This username and password would be same as the one stored as environment variable username and password in postman)
Create and deploy the user credentials:
Now go to postman collection and maintain the environment set as shown below and send a request to CPI to get the response.
Here as the PurchaseOrderNumber is a new one the message will be successfully executed by CPI.
In case of sending the duplicate message with the same PurchaseOrderNumber, request sent will be identified as the duplicate message.
To conclude, I have just used one of the scenario’s for the demonstration, you can also check on various other SAP provided guidelines most importantly Handle Errors Gracefully for handling errors appropriately in your integrations.