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 and automation, analytics, and integration bolstered by AI capabilities. SAP BTP is deployed on infrastructure provided by major cloud providers and is fully managed by SAP.

How Do Mendix and SAP BTP Fit Together?

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

A Mendix application deployed by the Mendix Portal using the Mendix Cloud Foundry buildpack can be directly deployed on the 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 file storage. By default, the application is integrated with the SAP authentication and authorization service and connectivity service.

Based on Mendix’s cloud-native architecture and Cloud Foundry capabilities, a Mendix app running on the SAP Business Technology Platform is highly available and supports vertical, horizontal, and auto-scaling.

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

Is SAP BTP Deployment a Good Fit for Me?

Since 2017, Mendix has been SAP’s main partner for low-code application development. Mendix 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 endorsed 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 the digital core of SAP with low-code and rapid application development. It brings the best of both worlds together by leveraging:

  • Mendix’s unique proposition to compose and build cloud-native applications in a quick, collaborative, and governed way,
  • 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 them 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 into the Mendix application lifecycle.

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

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

  • Setting application constants configuration
  • Enabling scheduled events
  • Provisioning additional services available in your SAP BTP tenant
  • Setting application memory and scaling
  • Managing deployment

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

What Capabilities Does Mendix Offer to Develop 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 SuccessFactors, Concur, Ariba, etc.

These integrations 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 developers 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 runs on any device. Read all about SAP Fiori here.

SAP Application Integration Layer

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 its 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. The entity/domain model is the backbone of any OData API, and the same is true for any Mendix application. Model Creator for SAP Integrations is a quick and easy way to create a Mendix domain model for SAP OData API.

SAP BAPI Integration

SAP BAPIs (Business Application Program Interfaces) provide external access to data and processes encapsulated in SAP Business Object Repository (BOR). BAPIs are normally wrappers on top of the 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 them 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 many cases, it may be opportune for them to consume an existing SAP BAPI. We advise these customers to use the BAPI Connector for SAP Solutions.

SAP BTP Deployment and Integration Layer

Mendix is the only low-code vendor that offers one-click application deployment to SAP BTP from our Mendix 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 BTP comes with a standard identity provider (IDP) integration, also known as a trust configuration. 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.

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

In combination with the SAP Business Technology Platform, 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 a SAML2-to-oAuth assertion using a destination service, as presented in this diagram: