Technical Articles
SAP BTP Integration Suite – A compilation of use cases
If you have never talked to an SAP Customer Advisor, you may not know what we exactly do. I personally engage with customers who are somewhere on their integration journey between:
“Oh, SAP has a leading Integration PaaS?”
to
“How do you configure mash-up in SAP API Management?”.
In between I work on validating integration architectures, implement demos, organise proof-of-concepts, clear up whatever competition has said (no hard feelings 😉 )….
With that background, I would like to provide you with a compilation of use cases that I have been working on since joining SAP in 2016. In this blog I will list – from a high-level perspective – some of the typical requirements we have implemented on the SAP Integration Suite during custom demos or full-blown proof-of-concepts.
Enrich order information with geo-data
Requirement: provide one single API providing both information about an order and its current shipping location.
Solution: create a mash-up in SAP BTP API Management which reads data from an on-premises API and enriches it at runtime with geo-coordinates from the shipping company’s cloud system.
Benefits: the API user (partner, customer, employee) has real-time information about his order. The implementation did not require to modify any internal application.
We recommend to implement (very) complex requirements in the Cloud Integration Service, but you can implement simple use cases like this one in SAP API Management.
When the new API provided by SAP API Management is called (1), we first of all verify the existence of a valid JWT token. If the token is valid, SAP APIM forwards to call to the on-premises microservice (2) through the secure SAP Cloud Connector. Once the answer flows back through SAP APIM, a call is made to the shipping company API (3). This response is then mashed-up with the response from the on-prem microservice and served to the caller (4).
Here is a screenshot of the implementation of the API proxy:
Process email orders automatically and intelligently
Requirement: automatically process orders sent by customer in PDF format over email.
Solution: combine and orchestrate multiple SAP BTP services in one central integration flow.
Benefits: the process of receiving and processing orders is done faster, is less error-prone and complies to the customer’s internal governance.
This use case is more detailed in my colleague’s blog: Handling incoming Orders with SAP Business Technology Platform.
The beauty of this use case is that we have been using only the SAP BTP services to accommodate all customer’s requirements: poll a mailbox (Cloud Integration service), extract the data from a non-structured PDF file (Document Information Extraction service), check customer existence in backend system, orchestrate the processing of the orders (Cloud Integration service) depending on centrally defined thresholds (Business Rules service), providing manual intervention if necessary (Workflow service), …
The integration flow has been enhanced over time to also include a chatbot and an integration with Slack. If you are interested, you can request your Sales Rep to show you that process in action!
Here is a screenshot of a part of the integration flow.
Aggregate invoices
Requirement: consolidate invoices over a specific period of time and process them in bulk.
Solution: implement the the aggregator pattern in Cloud Integration using predefined features like writing to a data store, multicasting or gathering messages.
Benefits: introduce asynchronous invoice processing to reduce the workload on the receiver system, eg. through nightly batch processing.
This requirement is pretty common and does come with slight variations:
- one of my clients wanted to enrich the invoice data with customer data from a headless microservice using the content enricher pattern. Also, the aggregated invoices message should be sent at the end of every day.
- another client wanted to start the processing of the aggregated messages using a specific trigger (for instance: “when the last invoice is received”).
As you can see from the screenshots below, this use case was implemented using 2 integration flows: one is receiving invoices and writes them to the data store, the other one gathers them from the data store and sends them to the receiver system.
Read the invoices, concatenate them and send them:
Verify MS Azure AD token in SAP API Management
Requirement: validate a token coming from MS Azure Active Directory in SAP API Management.
Solution: use a predefined policy template that implements the token check.
Benefit: without much effort, customers can combine MS Azure and SAP BTP to provide transverse security.
This requirement is one of the most common ones I get when talking to my customers. They have established Azure Active Directory as central IDP and would like to use it as such. Hence, when exposing APIs over SAP BTP API Management, they would like to validate the JWT token sent by the user before his request is forwarded to the actual API implementation.
This is easily implemented because we ship a predefined template for that, and the whole configuration is thoroughly documented.
Check if a user is reading his own data only
Requirement: when using an API, we want to make sure that the data leaving the on-premises environment is really the data of the user (self-service).
Solution: implement a data check in the reply channel of SAP API Management.
Benefit: this adds more security to a self-service API implementation.
This one was requested during the implementation of a “Digital Integration Hub” proof-of-concept.
The customer was asking wether it was possible to add a check on a REST API which would inspect the payload to see if it really was the requester’s payload that was being sent back.
This is also feasible in SAP API Management, where you have the full latitude to inspect and alter the message, headers and parameters of an API call.
I have documented this use case in detail in another blog.
Some more interesting use cases
Because I cannot detail everything in one page, let me give you 3 more examples of very interesting projects implemented with the SAP BTP and the SAP BTP Integration Suite:
- Brenntag’s succesful proof-of-concept of a Digital Integration Hub using SAP BTP
- Fielmann’s modernization project based on SAP BTP Integration Suite (in German though)
- Endress+Hauser’s business data hub and integration hub based on SAP BTP (full article here, in German though)
Final thoughts
Whilst going through the use cases, I tried to pick the interesting and challenging ones. They really show the synergies and the power behind the SAP BTP, allowing to quickly build integrations as needed.
Eventually, with the Integration Suite, use cases are more limited by the creativity of your organisation than by the knowledge of your integration specialists, or the functional scope of our services.
Have a nice and safe day!
Brilliant content Sven and these are really valid use cases which most customers are trying to solve. Thanks for putting your thoughts on this blog.
Very useful use case!
Thanks