Getting started with Side-by-Side Extension on the SAP BTP
You may have heard of side-by-side extensibility, which is powered entirely by SAP’s Business Technology Platform (SAP BTP). But what is it all about? How can you benefit from building side-by-side extensions as a developer or business? And more importantly, HOW and WHERE should you start? Well, this depends on the capabilities of your team and your overall SAP-system landscape. Let me first explain the key benefits, and then I will give you an overview of what you should focus on first.
SAP offers a world-class e-learning platform (learning.sap.com) launched at SAPPHIRE 2021, and has an ever-growing learning offering, providing role-based learning journeys for various roles and skill levels, ranging from beginner-level to intermediate, certificate-level, and even advanced-level learning journeys.
Why are side-by-side extensions important?
Your company most likely uses an SAP S/4HANA system to manage all its business processes. Until a few years ago, the trend was clearly to have an own SAP S/4HANA or SAP R/3 on-premises system, running on-premise or even with a specific vendor. As cloud-based systems and services gain more and more popularity, it is now more common to implement an SAP S/4HANA Cloud system to manage all business processes.
In the past, developers could create large ABAP programs (extensions) directly on their or a customer’s on-premise system. In a public cloud system, it is now not directly possible to create such extensions directly on the cloud system, as the system itself is more or less a shared system. Customer extensions within the system itself, so-called in-app extensions, only fulfill individual requirements to a certain extent. If a company needs a more extensive SAP S/4 HANA Cloud system extension, it can opt for a side-by-side extension. Side-by-side extensions are developed with various tools and services of the SAP Business Technology Platform (SAP BTP) and offer more flexibility than in-app extensions.
Worth mentioning here, is also the “Clean Code Paradigm”, which, simply put, states that customers should aim to keep the “core system”, e.g., an S/4 HANA (Cloud) system, clean, without putting all the extensions directly in there, and instead building the extension on the SAP BTP and integrating the “core” systems via APIs.
Where to start?
You can create extensions on the SAP BTP using different technologies and programming languages. This is possible because various options and runtime environments are available on the SAP BTP:
– SAP BTP, ABAP environment
– SAP BTP, Cloud Foundry Runtime
– SAP BTP, Kyma runtime (Kubernetes based)
Before choosing a runtime environment, it is important to familiarize yourself with the knowledge level of your development department. If developers move from the on-premise era to the cloud, they may only have ABAP knowledge. So, the decision to write an extension in ABAP that will finally run on the ABAP environment in the cloud is pretty obvious.
On the other hand, if your development team consists mainly of developers with Node.js skills, then it is most likely to develop an extension using SAP’s Node.js-based Cloud Application Programming Model (CAP). The deployment then takes place on the SAP BTP, Cloud Foundry environment, or likewise on the SAP BTP, Kyma runtime. This is true not only for Node.js-based CAP extensions (or Java-based) but also for any non-ABAP-based applications.
Creating your first extension
After getting an overview of the different offerings, it is now time to take the next step: Creating your first extension. In this blog, I only cover the side-by-side extension-scenario, with the Cloud Application Programming Model (CAP).
Luckily, there is a tailor-made course on learning.sap.com covering a full end-to-end extension development process from its development in the SAP Business Application Studio to a fully automated deployment with a CI/CD pipeline integration.
Having been involved in developing this course, I highly recommend this one as it teaches you all the important things you need to know to get up to speed quickly! You can sign up for this free learning journey here.
After this course, you can create a CAP-based extension application from scratch. You will be able to enrich the application with a user interface with SAP Fiori Elements, custom code, external services, and security features. Furthermore, you will also be able to deploy your application manually and automatically through a continuous integration and deployment pipeline.
Finally, you will have a more profound understanding of the key features and tools available for building extensions on the SAP BTP and will be able to use them in future extension projects.
Your “SAP BTP Extension Developer” journey might have already been started, and you were looking for good tutorials and guidance to speed up your learning journey and enhance your skill set.
I hope this post helped you as a beginner or an already experienced developer willing to shift towards new topics like cloud development.
You are welcome to share your thoughts on this topic, or to add any other helpful tips and links in the comments!
Thanks Markus for very clear and concise information.
thanks for the insights.
I would like to point out that the link https://learning.sap.com/learning-journey/developing-with-sap-extension-suite is broken, so maybe you could fix that
Hi Jens, thanks for the feedback! I have updated the entire blog post.