Jonathan Andre is a lead ABAP developer at IT Partners. Jon has over 10 years experience with SAP, with a concentration on ECC SD, MM, and IS-OIL modules. Jon’s focus has been in the areas of ABAP OOP, ABAP Web Dynpro, and ABAP for HANA and RESTful ABAP development. He can be reached at [email protected]
The transition to cloud-based software solutions in the past decade plus has changed the ERP landscape forever. Many customers have ditched the more expensive on-premise system model for a more cost effective and scalable cloud-based ERP SaaS (Software as a Service) route. During this transition, it has become apparent to many that the old customization model of building large and complex custom application solutions directly on the ERP system needs adjusting as well. Tightly coupling the ERP solution with the custom code that supports it often creates headaches when it comes upgrade time. In an effort to address this issue, SAP began offering a new cloud-based approach to custom application development and deployment, the SAP Business Technology Platform.
The Business Technology Platform, or BTP for short, is a cloud-based PaaS (Platform as a Service) offered by SAP. The BTP provides application developers with a canvas where they can create applications and extensions to suit their customers customization needs. Best of all, they can do this without having to be concerned with wider impacts to the core ERP system, since their software solutions reside in a completely different system that only connects to SAP via approved APIs. But the BTP is much more than just a cloud-accessible development environment. The suite of available applications and nearly limitless integration scenarios covered allow the BTP to achieve and maintain a bleeding edge position in terms of innovation.
The BTP architecture is decoupled and open; customers are no longer forced to remain committed to an antiquated solution because of fear of overall system impacts. Solutions can instead now be swapped out on the fly, allowing customers to always have the latest and greatest custom solutions, even solutions prebuilt by third parties. This also applies to integration solutions, so system vendors can provide both the system and the prebuilt BTP integration solution at once. This approach allows third-party systems to be added to the enterprise’s ecosystem along with an integration solution that has been tested and is already fully supported by the third-party vendor themselves. Without having to worry about costly integration projects or ripping and out and replacing custom code, businesses can take a “plug-and-play” approach to which systems and applications they want to use. This creates an environment similar to the “composable ERP” that Tony mentioned previously in Composable ERP: What It Is and Why It’s Important.
The BTP, with its many service offerings, enables developers to make cutting edge applications that are easy to configure and integrate with existing ERP solutions. The BTP can be broken into two separate service categories: the Extension Suite and the Integration Suite.
With Integration Suite, the BTP has access to many prepackaged integration solutions out of the box, for both SAP Developers can use these prepacked solutions to quickly jump-start development on a foundation that has been designed and tested by SAP themselves, or by trusted third-party vendors. For Integration Solutions that require a bit more customization, users can either extend prepackaged integrations or create new ones entirely from scratch using a graphical based design tool and a variety of open APIs.
The Extension suite, as the name implies, is the set of tools primarily used to extend core ERP functionality. However, the Extension suite is capable of much more than just that; the Extension Suite provides the tools necessary to create full-featured, end-to-end and modern applications. To serve as the basis for all applications, the Extension Suite comes with its own database and data management tools, including its own SAP HANA Cloud and data lake options. The Extension Suite also provides modern data analysis tools to produce business value from data, with products like the SAP Data Intelligence Cloud and SAP Analytics Cloud.
Many of the tools in the BTP can be used as-is without the need of anything beyond initial configuration. The best solutions, however, incorporate custom logic to suit the business needs while taking advantage of the suite of tools available. The Extensions Suite comes with multiple runtime environments that provide flexibility when choosing this custom coding solutions. This allows developers to use a variety of software languages, including SAP’s proprietary language ABAP but also including languages like Java and JavaScript. Finally, to bring this all together, SAP provides several low-code to no code options to expose these custom solutions, both internally to the company and externally to vendors and consumers. With just a few clicks, applications built in the Extension Suite can be exposed via OData or Fiori apps, with all of the most technical and tedious development tasks, such as designing the application or creating the service, automatically generated by SAP. Next, we’ll have a deeper dive into some of these services to see how these offerings are organized.
The Integration Suite is a way for applications and services in the Cloud to connect securely to either internal or external applications. The integration Suite provides a way to store credentials, utilize out-of-the-box Integration solutions, incorporate Business Messaging, customize integration flows, and create and monitor existing Integrations.
Cloud Integration
The Cloud Integration service serves as the core of the Integration Suite. The Cloud Integration service is the successor to the on-premise Process Orchestration. Using Cloud Integration, users can build integrations from scratch, including error handling, APIs, and any transformations required to properly prepare the data for transmission. In addition to these functions, Cloud Integration can utilize other Integration Suite services, such as the API Business Hub and the Open Connectors, to jump-start development with predefined templates or build their solution around a predefined connector. While SAP does provide some tools to migrate from PI/PO to the Cloud Integration service, this is still a work in progress. Information about this tool can be found on this SAP blog.
Open Connectors
Open connectors provide a secure, reliable, easily configurable connection to a variety of non-SAP applications. With Open Connectors, developers can use third-party provided APIs without being concerned about how to establish a secure connection to these services. Open connectors are available for applications like Twitter, SalesForce, Google, Drop Box, to name a few. Permanent credentials can be configured into a connector, which will be reused whenever user authentication for these applications are required. Open connectors, once configured for a specific application, can be used directly from the Cloud Integration service.
Google Open Connector
Open Connector Flow
The API Business Hub provides a way to explore pre-designed integration solutions and standard APIs. The list of APIs includes all available standard APIs for SAP solutions, including S/4 HANA, BTP, and the various SAP Cloud applications. Users can begin by selecting the source SAP system they wish to integrate from. Once selected, they can select the target systems and applications they require, which includes other SAP systems, many of the most popular social and non-SAP business applications, or even pre-built solutions for integration with various government agencies:
Once a source and target system are selected, user can explore the various integration related objects that are available. This specific APIs, business events that can be subscribed to, value mappings for a specific API, or full end-to-end integration solutions created by SAP or third-party vendors. Integrations can even be directly imported from the API Business Hub
Traditionally, core business events, such as the creation of a new customer or sales order, would immediately trigger the custom code behavior since the custom code was directly coded in an extension. Now, with the BTP housing the custom code, it is reasonable to wonder how we can achieve the same level of orchestration while also keeping the core clean.
The solution to this problem is Enterprise Messaging. Enterprise Messaging allows applications to broadcast event messages to a central broker. Once the message is received, the broker stores the message with a queue where consumer applications can access and perform an action based upon the message. This is an asynchronous process, which has the benefit that the producer can produce the message and immediately move on to other tasks. Consumers of the message can then choose when and what to do with the event details.
The Event Mesh is the BTP implementation of Enterprise Messaging. The Event Mesh service allows the producer system (e.g., SAP S/4 HANA) to broadcast that an event has occurred (e.g. a Sales Order has been created) through an API service. The event details will be stored in a queue, where they will remain until a subscriber receives and acknowledges receipt of the message, up until the point of expiration. Management of the queues, subscribers, and message retention policy is what the Event Mesh, the broker, performs. While this is clearly a useful tool for side-by-side extension implementations, this service can also be used by other SAP systems and even non-SAP systems to ensure that all parties are notified when important events occur. In our example of extending BTP applications, however, the Event Mesh service can be leveraged to ensure that follow on actions to business events occur, much like they did with traditional extensions coded directly in the core.
It should be noted that, while technically part of the Integration Suite, the Event Mesh comes with its own service, pricing, and instances separate from the Integration Suite service.
The Integration Advisor service is SAPs solution to the complex and time-consuming tasks of creating a business-to-business integration solution from scratch. The issue here is that, while an SAP system may use one standard with one set of naming conventions, an external business not running SAP may have an entirely different way of representing its data. To correctly connect these systems from scratch, business experts, functional and technical developers need to design, document and test each detail of the end-to-end business process, including mapping rules, which can often take months to fully complete.
The Integration Advisor allows to crowd-source interface designs and automate many of these manual interface creation tasks, resulting in a faster and more reliable development process. While a particular business A may not have integrated with some other business B before, it is very like that SOME business running SAP has constructed the same or a similar solution in the past. By providing some preliminary details to the service, the Integration Advisor can utilize this combined, crowd-sourced knowledge to jumpstart integration development with suggested cross system translations and mapping rules, using AI. Even beyond the design phase, the Integration Advisor can bring complexity and speed improvements. Developers can access testing, the deployment, and even the automatic generation of runtime artifacts like translation scripts from one unified location. By reducing the amount of work that business experts, functional and technical developers need to perform while also simplifying and managing the whole integration process, SAP claims that to total time required to complete such a project can be reduced by 60%.
Summary
The Integration Suite has much to offer, even beyond a much improved and easier to use version of Process Orchestration in the Cloud Integration service. Beyond just sending and receiving business messages, the Suite serves as a way to reach more third-party applications, and in a way that is easier and more automated than before. In the second part of this series, we will dive into the Extension Suite. In future blogs, we will dive deeper into the Integration Suite, especially the Cloud Integration and Event Mesh services.