by Martin Grasshoff, Lead Product Manager for SAP Extension Suite, SAP
SAP customers are no strangers to customizing their SAP applications to add unique, differentiating capabilities to off-the-shelf software that enable them to run innovative processes and meet their unique business needs. The ability to significantly tailor SAP solutions to address different requirements has long been a valued characteristic of SAP software.
As customer landscapes move toward modern technologies and the cloud, and the pace of business requires a real-time response, maintaining customizations of applications can become an increasingly complex task. Emerging technologies need to be adopted, changing business needs must be addressed rapidly, and new regulations keep up the pressure on development teams.
To enable its customers to address their business requirements in a modern, maintainable way, SAP offers SAP Extension Suite. This article introduces developers, projects managers, and architects to SAP Extension Suite. It explains the basic concepts around extending SAP applications and the capabilities of SAP Extension Suite. It then looks at an example of what it looks like to use SAP Extension Suite, based on a real customer solution in productive use, and provides an overview of the steps involved.
A Modern Approach to Extending SAP Applications
There are three main types of extensibility when it comes to customizing SAP applications: classic extensibility, which is the traditional approach, and in-app extensibility and side-by-side extensibility, which are newer approaches (more on in-app and side-by-side extensibility, and when to use which, is available in Custom Extensions in SAP S/4HANA Implementations: A Practical Guide for Senior IT Leadership):
- Classic extensibility refers to the well-known traditional method used to extend applications based on SAP ERP Central Component (SAP ECC), such as SAP Business Suite applications. This approach involves the use of standard SAP customization and extension technologies such as ABAP, Web Dynpro, and SAP GUI. It is tightly coupled with SAP-delivered code and the customizations reside on the SAP application server in the Z-namespace used for custom development.
- In-app extensibility is a concept that was introduced with SAP S/4HANA. It provides a framework for building SAP Fiori-based customizations within the SAP S/4HANA system itself. It is best suited for extensions that are intended for SAP S/4HANA users and that work with SAP S/4HANA data and processes only.
Side-by-side extensibility is a modern approach to extending SAP applications that enables innovation and simplification and is supported by SAP BTP through SAP Extension Suite. The technologies, services, and best practices that comprise SAP Extension Suite can be categorized into three main areas (see Figure 1):
- Digital experience: Tools in this area help organizations build and run a consistent and engaging user experience through mobile apps, conversational bots, and SAP Fiori-based web applications. These tools can be used not only by developers, but also by end users to create business content, collaborate, and consume information. SAP Work Zone, SAP Launchpad, and SAP Conversational AI are good examples.
- Digital process automation: Tools in this area help automate, enhance, and adapt business processes beyond what is possible with standard solutions. These tools are designed for process owners, and some very convenient low-code tools enable the use and customization of process templates to adhere to local compliance rules or build new processes from scratch. For instance, SAP Workflow Management and the live process content packages fall into this category.
- Development efficiency: Tools in this area help developers and other users rapidly build extensions by providing software development kits (SDKs) and recommended application architectures that can streamline their daily tasks. Low-code, graphical development tools such as SAP Business Application Studio enable business users to work collaboratively with developers on data, processes, and the user experience, and increase development efficiency. SAP Cloud Application Programming Model, SAP Business Application Studio, and SAP BTP, ABAP environment fulfill the developer’s needs.
Figure 1 — SAP Extension Suite comprises digital experience, development efficiency, and digital process automation tools and services that simplify the development of application extensions
SAP BTP enables the extension of both SAP and non-SAP systems, regardless of whether they are on premise or in the cloud, through a combination of SAP Extension Suite and SAP Integration Suite (see Figure 2). While SAP Integration Suite covers the functionality required to connect to systems and ensure that the right data is in the right system at the right time, SAP Extension Suite provides the technologies, tools, and services required to put this data into action. SAP Extension Suite relies heavily on the capabilities of SAP Integration Suite since most extension scenarios are based on the need to adapt existing data and processes to new business needs. In a case where business requirements have no existing system to connect to, SAP Extension Suite can be used to build new, innovative solutions from scratch.
Figure 2 — SAP Extension Suite in the context of SAP Business Technology Platform
SAP Extension Suite in Action
Let’s now take a look at SAP Extension Suite in action. We’ll use an example that is based on a real customer’s existing, productive extension developed using the tools, services, and best practices provided by SAP Extension Suite. This customer is in the professional services industry and wants to provide a consistent and engaging user experience to consultants and project managers across different back-end systems when entering data into and approving timesheets. In addition to providing a better user experience, the customer wants to be able to aggregate project-related data from multiple existing business solutions — SAP SuccessFactors solutions, SAP S/4HANA Cloud, and two third-party systems — to enable consultants to use one system instead of multiple systems and provide a single view of data for project managers.
The extension (see Figure 3) involved building two timesheet extension applications (one for recording data entry by consultants and one for approval by managers) on SAP BTP that integrate the data from the SAP SuccessFactors, SAP S/4HANA Cloud, and third-party solutions, as well as adding SAP Analytics Cloud to enable a consolidated view of better-quality data across four previously disparate solutions. SAP Integration Suite provides connectivity and data replication capabilities along with the SAP Enterprise Messaging service to propagate business events through the systems and SAP HANA Cloud for transactional data storage and consumption via SAP Analytics Cloud.
Figure 3 — An example multi-channel extension built using SAP Extension Suite supported by SAP Integration Suite
SAP Extension Suite provides the functionality for implementing the custom business logic for the extension via a custom-developed extension endpoint using SAP Cloud Application Programming Model, which enables rapid development and ties together all the necessary pieces. In addition to the business logic, SAP Extension Suite technologies provide a new, customized, and highly optimized user experience based on SAP Fiori elements that serves as a web channel to the solution for consultants. The analytics reporting dashboard based on SAP Analytics Cloud provides another dedicated channel to the solution for managers. This makes the overall solution a multi-channel extension.
So, what were the steps involved in building this extension? The tasks can be broken into four steps:
- Build an endpoint.
- Add channels.
- Deploy and operate.
We’ll cover these steps at a high level in the following sections. Detailed information is available in a free online openSAP introductory course on SAP Extension Suite.
Step 1: Connect
Once you have identified the business use case for the extension you want to build on SAP BTP, use SAP Integration Suite features to ensure the extension has access to existing business data and processes.
To enable this access, you can search for and use an application programming interface (API) at SAP API Business Hub. You could also use Cloud Connector to connect to an existing on-premise SAP S/4HANA system or to replicate the data to SAP BTP for consumption by your extension. SAP Enterprise Messaging, which was the approach used in the example scenario, is a useful option as it includes many predefined events that can be exposed to SAP BTP for consumption by extensions.
In summary, you can connect via API or you can consume events emitted by an existing back-end solution. In some cases — where a real-time response is needed, for example — you may want to use both in the same extension.
Step 2: Build an Endpoint
Once the connection is configured, use SAP Extension Suite tools to create a dedicated endpoint — again using an API and/or events, as described in Step 1, that are designed for and to be used solely by the extension. The main reason for a dedicated endpoint rather than reusing an existing API, for example, is to ensure a decoupled solution that has its own life cycle and does not clutter the core of your business system.
Step 3: Add Channels
Next, use SAP Extension Suite tools to add user interface channels to the extension. This step depends on the channels you want to expose to your end users. For instance, adding a mobile channel would require SAP Mobile Services while adding a web channel would involve developing SAP Fiori elements or
an SAPUI5 application. In any case, most channel development is performed in SAP Business Application Studio.
Adding channels means that you need to decide which digital touchpoints the extension should expose to the end user. It is important to choose the right user interface technology for the right channel and to keep in mind the specific use case per channel. For example, if you want to enable a chatbot for the extension, the use case would probably not include mass transaction handling or advanced drill-down analytics. Chatbot features, such as those provided by SAP Conversational AI, are well suited for small lookups, but for more comprehensive analytical use cases, such as the one in the example scenario, an SAP Analytics Cloud dashboard — provided via a traditional SAP Fiori application, as in the example, or a mobile application, for instance — is a better choice.
Since the user interface is decoupled from the endpoint via APIs, it is easy to add multiple channels to your extensions to meet different user needs, as in the example scenario, and provide the best possible user experience. The decoupling of the user experience also enables you to change your user experience strategy without affecting the core system as you gain a better understanding of the usage of the extension.
Step 4: Deploy and Operate
The last step includes the deployment and the ongoing operation of the extension. Automation is key to these tasks as you continue to build more extensions over time. Deployment can and should be automated with industry standard best practices. SAP Extension Suite offers predefined templates for creating automated build pipelines and provides automation to make transport management for different system landscapes much easier.
Deployment targets are also an important consideration. While SAP BTP supports various application runtimes to execute custom business logic — including the Cloud Foundry runtime, serverless runtime, and the Kyma runtime — the unique advantage of SAP BTP is the ABAP runtime, which allows developers to carry over their existing ABAP skillsets and SAP process knowledge to an agile cloud environment. Runtimes are not the only deployment targets, however. The user interface must also be deployed and, depending on the channel, there are multiple options at hand. For instance, you could deploy an SAP Fiori application to the new, centralized SAP Launchpad to enable access via an SAP Fiori launchpad, or you could deploy it to SAP Work Zone to enable users to customize their user experience.
The operational aspect of running extensions is also covered by the tools and services of SAP Extension Suite. With SAP Application Logging service for SAP BTP, you have full control over your application logs and can analyze them with an easy-to-use web-based user interface. SAP Application Logging service for SAP BTP is based on Kibana and offers state-of-the-art log file analysis capabilities. Another important operational feature is the ability to react quickly to runtime issues and minimize the time required to solve them. Here, SAP Alert Notification service for SAP BTP comes into play. SAP Alert Notification service for SAP BTP allows you to post or receive events from your application or predefined platform events and forward them to different consumption channels, such as email or messaging or using automated event notifications. SAP Alert Notification service for SAP BTP also provides filtering for events and settings thresholds.
SAP Extension Suite provides a strategic approach for extending business solutions — whether SAP, non-SAP, cloud, or on premise — beyond what is provided with the core system to drive digitalization forward. With its multi-cloud strategy, you get the best technologies from SAP and underlying hyperscalers, along with a development environment and tools that enable ABAP developers to work on cloud solutions with access to new and open technology while also allowing non-SAP developers to contribute to SAP-related projects. Digital experience and digital process automation tools also enable you to support the channel that best meets user needs.
SAP offers various resources to help you learn more about using the technologies, tools, and services in SAP Extension Suite, including an introductory openSAP course, which is a good place to start. This course, which is free of charge, provides an overview of SAP Extension Suite capabilities. Developers can then dive into the various technologies using the tutorials in the SAP Developer Center site, while project managers and architects can find blueprints of end-to-end projects for different use cases in the SAP Discovery Center site. All learners can find guidance, as well as a certification path for becoming a certified Development Associate for Enterprise Extensions in the learning journeys available in SAP Help Portal.
A free 12-month trial is available for SAP BTP, which includes all the services of SAP Integration Suite and SAP Extension Suite, both of which have been recognized as leaders in their respective Gartner magic quadrants. No need to wait to boost your digitalization journey — you can start today.
Martin Grasshoff (email@example.com) was a trainer for database systems and other Sybase products following an extensive background in software development. After SAP’s acquisition of Sybase, he joined the Product Management team for Mobile Platform. For the past year, he has been Lead Product Manager for SAP Extension Suite.