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) with 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.
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.
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)
- SAP Build (for Low-Code/No-Code development)
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.
As introduced earlier, the SAP BTP provides various services and capabilities to build enterprise-grade applications and extensions for SAP systems and beyond. The platform targets both professional and citizen developers, so deciding on one learning path and picking the right tools is essential.
For those aspiring to become Citizen Developers, we provide a comprehensive learning curriculum tailored explicitly for you. This curriculum equips you with the necessary knowledge and skills to kick-start your journey. You can explore the curriculum here.
Professional developers have the flexibility to choose between ABAP-based and non-ABAP-based extensions, depending on their preferences and project requirements.
If you opt for ABAP-based extensions, the SAP BTP, ABAP environment is the ideal platform for your development needs. Enroll in the on-demand "Acquiring Core ABAP Skills" learning journey to get started. As part of this, you will also explore the RAP framework you can use in ABAP Cloud to build your applications.
For non-ABAP-based extensions, you have two runtime options at your disposal:
SAP BTP, Cloud Foundry Runtime: This runtime provides a robust foundation for building scalable applications that leverage Cloud Foundry.
SAP BTP, Kyma runtime: This fully-managed Kubernetes-based runtime, enriched through SAP's open-source project Kyma, enables you to easily build cloud-native applications.
SAP offers the Cloud Application Programming Model (CAP) to make your development journey more seamless. CAP allows you to build extensions on SAP BTP using Java or Node.js, giving you the flexibility to choose the technology stack that suits you best.
Your "SAP BTP Extension Developer" journey might have already started, and you were looking for good tutorials and guidance to speed up your learning journey and enhance your skill set.
With the resources provided in this guide, you are well-equipped to embark on your journey as an SAP Cloud Developer. Whether you are a citizen developer or a professional developer, SAP BTP offers the right tools and learning paths to help you succeed. Enroll in the suggested courses, explore the available runtimes, and start building innovative and powerful extensions for SAP systems and beyond. Happy coding!
You are welcome to share your thoughts on this topic, or to add any other helpful tips and links in the comments!