SAP BTP Deployment

What is SAP BTP?

SAP BTP (Business Technology Platform) is the application development and automation platform from SAP. It offers a unified environment for customers to develop applications & automation, analytics & integration bolstered by AI capabilities. SAP BTP is deployed on infrastructure provided by major cloud providers’ infrastructure and is fully managed by SAP.

How do Mendix & SAP BTP fit together?

Mendix is integrated with SAP BTP’s Cloud Foundry environment.

A Mendix application deployed by the Mendix Developer Portal using the Mendix Cloud Foundry buildpack can be directly deployed on customer’s own SAP BTP instance. The data of the application is stored in either an SAP HANA or a Postgresql database running on a cloud provider like AWS or Azure. Optionally, a storage service is attached to allow the storage of files. By default the application is integrated with the SAP authentication and authorization service, and a connectivity service.

Based on the cloud-native architecture of the Mendix application as well as the Cloud Foundry capabilities, a Mendix app running on the SAP Business Technology Platform is high-available, and it supports vertical, horizontal, and auto-scaling.

You may read details of SAP – Mendix partnership, use cases and customer scenarios and testimonials here.

Is SAP BTP deployment a good fit for me?

Mendix has been SAP’s main partner for low-code application development since 2017, and is the only low-code vendor that is an SAP Endorsed Apps partner and has passed the SAP Premium Certification. That means that SAP has officially certified and endorses the use of Mendix alongside SAP solutions, in addition to – or instead of – its own low-code toolset, SAP Build.

SAP together with Mendix offers the ability to extend digital core of SAP with low-code and rapid application development. It brings the best of both worlds together by leveraging on

  • Mendix’s unique proposition to compose and build cloud native applications in a quick, collaborative and governed way, and
  • jointly built native integration with best-in-class SAP products like SAP S/4HANA, SAP SuccessFactors etc.

This makes Mendix – the platform of choice for developers and business users to build or extend their mission critical apps by quickly integrating into their SAP business backend.

What does the Mendix on SAP BTP architecture look like?

How do you develop and deploy an app to SAP BTP?

The deployment of a Mendix application to the SAP Business Technology Platform is completely integrated in the application lifecycle of Mendix.

As soon as you are ready to run your app, you can visit the Mendix Developer Portal to transport the app to the SAP Business Technology Platform. The Developer Portal will perform all the actions required to set up your application and run it on the SAP Business Technology Platform.

You can use Mendix Developer Portal to manage the complete deployment cycle of app including

  1. Setting Application Constants configuration
  2. Enabling Scheduled Events
  3. Provisioning additional services available in your SAP BTP tenant
  4. Setting application memory and scaling
  5. Managing deployment.

This video presents how you can create an environment on SAP BTP

What capabilities does Mendix offer developing apps for SAP?

Over the years, Mendix and SAP have co-developed many integration points between Mendix, SAP Business Technology Platform (SAP BTP), SAP ERP Business Suite (including SAP S/4HANA) and other SAP products like SuccesFactors, Concur, Ariba etc. These integration can be broadly classified into three main categories

  • SAP Presentation Layer
  • SAP Application Integration Layer
  • SAP BTP Deployment and Integration Layer

SAP Presentation Layer

The Mendix Fiori Web UI Package, allows you to build sophisticated Fiori-styled apps without SAPUI5 coding. The package supports the latest version of SAP Fiori and SAP Horizon, allowing makers to build responsive or native mobile apps based on these popular SAP UI themes. Users can apply pure Fiori styling or tailor the style, and add these apps to the Fiori Launchpad for a seamless user experience.

For native app development, users can leverage SAP Horizon Native UI Resources to build native apps with SAP Fiori or Horizon styling.

SAP Fiori is a design system that enables you to create business apps with a consumer-grade user experience that run on any device. Read all about SAP Fiori here.

SAP Application Integration

Mendix can integrate with any SAP application in the following ways:

  • SAP OData Integration
  • SAP BAPI Integration

SAP OData Integration:

Open Data Protocol or OData as it is widely called, is an ISO/IEC-approved OASIS standard that defines a set of best practices for building and consuming RESTful APIs. As OData is based on REST, it is fully optimized for both cloud and on-premises integrations.

SAP uses OData as the standard integration protocol to integrate into their suite of products. This includes the SAP Business Suite and SAP S/4HANA, as well as other cloud products, such as SAP SuccessFactors, SAP Ariba, SAP Concur etc.

OData Connector for SAP Solutions is the secured and recommended way to access SAP OData APIs from Mendix applications. Entity/Domain model is backbone of any OData API and same is for any Mendix application. Model Creator for SAP Integrations is quick and easy way to create Mendix domain model for SAP OData API.

SAP BAPI Integration

SAP BAPIs (Business Application Program Interfaces) provides external access to data and processes encapsulated in SAP Business Object Repository (BOR). BAPIs are normally wrappers on top of SAP Remote function call (RFC) protocol.

BAPI Connector for SAP Solutions is an easy way to discover all SAP BAPIs in an SAP R/3 Business Suite and invoke those BAPIs directly from a Mendix app. Model Creator for SAP Integrations simplifies domain model generation for selected BAPI and models SAP BAPIs like any other model within a mendix app.

Our clear recommendation to our customers is to try and leverage SAP ODATA APIs wherever available. They can do this by using the ODATA Connector for SAP Solutions.

However, we realize that in a lot of cases, it may be opportune for them to consume an existing SAP BAPI. We advise these customers to leverage on the BAPI Connector for SAP Solutions.

SAP BTP Deployment and Integration

Mendix is the only low-code vendor that offers one-click deployment of its applications to SAP BTP from our Mendix Developer portal.

Mendix extends SAP BTP capabilities to provide

  • Single Sign-On using SAP Authentication and Authorization Service (XSUAA).
  • Principal Propagation between Mendix application and SAP system using SAP Connectivity service.
  • Integration with SAP Intelligent services using Event Mesh Connector for SAP Solutions.

How Can I Deliver a Single Sign-On Experience in My Mendix App Extending SAP?

SAP Business Technology Platform comes with a standard identity provider (IDP) integration, also known as a trust configuration within the SAP Business Technology Platform. This is a standard SAML2-based trust between your IDP and the SAP Business Technology Platform.

After configuring this trust, a Mendix application automatically integrates with the IDP. By mapping the Mendix application roles with the self-defined SAP Business Technology Platform roles attached to your IDP, you can log in to the Mendix application with the specific assigned role using your corporate identity.

For more details, see XSUAA Connector for SAP Business Technology Platform in the Mendix Strategic Partners Guide.

How Does Mendix Support Principal Propagation Between My Mendix App & the SAP Back-End System?

In combination with the SAP Business Technology Platform(SAP BTP), Mendix delivers an integration with SAP back-end systems based on SAP principal propagation both on premises and for the cloud. By connecting your IDP to the SAP BTP, it becomes possible to log in to all of your Mendix applications running on the SAP BTP via a specific role using your own IDP with an SSO experience. The end-user (called “the principal”) then gains access to your SAP back-end system based on a trust configuration using the Cloud Connector (as the principal user).

For on-premises systems, this is realized by setting up a trust between the SAP Cloud Connector, SAP BTP, and SAP Cloud Connector with your SAP back-end system. For SAP BTP solutions, this is done using an SAML2-to-oAuth assertion using a destination service, as presented in this diagram: