Extension applications built on SAP Business Technology Platform fulfill critical business processes. Ensuring their availability and stability, even in the face of service disruptions at the application, service, or platform level, is the responsibility of application developers and administrators. This scenario demonstrates patterns for building resilient applications on SAP BTP, such as use of DevOps, observability, integration with business process workflows, and multi-region failover.
Extension applications provide customers with unlimited flexibility but bring added considerations about topics such as high availability, fault tolerance, and the software development lifecycle. Solving for these problems is the responsibility of the application developer.
Apply DevOps to your custom development through use of unit tests and automation of builds and deployments. Enhance microservices with auto-scaling and monitoring for observability and implement multi-region failover of services such as the SAP Fiori Launchpad to create truly resilient applications.
Infuse qualities of resilience into your extension applications from the first step. Doing so will maximize a consistent and performant user experience, while empowering developers to continuously improve and enhance the value delivered to business users.
This business scenario is used to showcase how to build an SAP S/4HANA on-premise extension application on SAP BTP. The scenario in a nutshell:
John who is an employee of Business Partner Validation Firm iCredible, which is a third-party vendor of ACME Corporation would like to get notifications whenever new Business Partners are added in the S/4HANA backend system of ACME Corporation. John would then be able to review the Business Partner details in his extension app. He would proceed to visit the Business Partner’s registered office and do some background verification. John would then proceed to update/validate the verification details into the extension app. Once the details are verified, the Business Partner gets activated in the S/4HANA system of ACME Corporation.
This means:
-
You will deploy a custom extension application on SAP Business Technology Platform that works independently from the SAP S/4HANA system
-
Changes in the SAP S/4HANA system are communicated via events in real-time to the extension application
-
The Vendor personnel only needs access to the extension application and not to SAP S/4HANA
The Business Partner Validation application is developed using the SAP Cloud Application Programming Model (CAP) and runs on the SAP BTP, Cloud Foundry runtime. It leverages platform services like SAP Event Mesh, SAP HANA Cloud and the SAP Private Link service. Whenever a change in the SAP S/4HANA on-premise system occurs, an event on SAP Event Mesh is triggered. The CAP application on SAP BTP will asynchronously consume the event and process the payload. This means, some additional data is read using OData APIs from the SAP S/4HANA on-premise backend and stored in SAP HANA Cloud on SAP BTP to be independent from the actual SAP S/4HANA system. In case of changes, the SAP Cloud Application Programming Model is again used to write data back into the SAP S/4HANA system.
The required systems and components are:
- SAP S/4HANA on premise system.
- SAP BTP account
Entitlements/Quota required in your SAP Business Technology Platform Account:
Service | Plan | Number of instances |
---|---|---|
Connectivity | lite | 1 |
Destination | lite | 1 |
HTML5 Application Repository | app-host | 1 |
Event Mesh | default | 1 |
Application Logging | lite | 1 |
Authorization & Trust Management | application | 1 |
SAP HANA Schemas & HDI Containers | hdi-shared | 1 |
SAP HANA Cloud | ||
Cloud Foundry runtime | ||
Application Autoscaler | standard | 1 |
Subscriptions required in your SAP Business Technology Platform Account:
Subscription | Plan |
---|---|
SAP Business Application Studio | standard |
Event Mesh | standard |
Launchpad Service | standard |
Continuous Integration & Delivery | default |
Cloud Transport Management | saas-application |
- Step 1: Enable OData API in SAP S/4HANA on-premise
- Step 2a: Create and Entitle SAP BTP subaccount or
- Step 2a: Create and Entitle SAP BTP Trial subaccount or
- Step 3: Create SAP HANA Cloud instance
- Step 4: Connect SAP BTP subaccount and SAP S/4HANA using Cloud Connector or SAP Private Link
- Step 5: Configure Business Application Studio and Build/Deploy the CAP application
- Step 6: Configure Event Based Communication between SAP S/4HANA and SAP Event Mesh
- Step 7: Test scenario End to End
- Step 8: Access and Discover Application Logs and Metrics
- Step 9: Setup of SAP Continuous Integration and Delivery (CI/CD) service
- Step 10: Setup SAP Cloud Transport Management
- Step 11: Setup SAP Alert Notification service
- Step 12 (optional): Test Application Autoscaler
Create an issue in this repository if you find a bug or have questions about the content.
For additional support, ask a question in SAP Community.
If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
Copyright (c) 2023 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.