Why BTP entered in the game — clear understanding in our own words
There are many things introduced by SAP when S/4 Hana was entered. Among that BTP was the one thing which provides bunch of services and platforms to develop modern innovative business solutions.
SAP BTP provides a set of foundational services that include application development, automation, integration, data and analytics, and artificial intelligence. These services are designed to work seamlessly together, enabling businesses to build innovative applications, connect disparate systems, and derive actionable insights from their data.
‘’Keep Core Clean” is the main objective in introducing the BTP by SAP. Previously in on-premise SAP system, if we wanted to extend some functionalities, we were making the changes or adding the custom codes on the same system technically using enhancements, user exits, customer exists and all stuffs but in S/4 Hana , SAP came with new idea of keeping core clean. In SAP S/4 Hana or S/4 Hana cloud, if you want to extend your application based on business requirements, we can do that using services provided by SAP BTP.
Application Development, Automation, Integration, Data and Analytics, and AI are foundational pillars of SAP BTP, providing organizations with the tools and capabilities they need to digitize their business processes, innovate rapidly, and deliver exceptional customer experiences in the digital age.
When we talk about extending the S/4 Hana system, three terms comes into picture
· In-app(key-user) Extensibility
· On-stack(Developer) extensibility
· Side-by-side extensibility
- In-app Extensibility: When we add or modify something using SAP’s standard tiles/app in S/4 Hana Cloud then we call it as an in-app extensibility. Most common tiles/apps are as follows
· Custom CDS Views
· Custom Analytical Query
· Custom logic
· Custom fields
· Custom Business Objects
This type of development requires less coding skills because SAP has provided ease of selection and development so any person with some knowledge of objects can fulfill requirement.
2. On-stack (Developer) extensibility: On-stack developer extensibility allows ABAP developers to connect to an SAP S/4HANA system using the ABAP Development Tools. This feels almost like developing custom ABAP code on an SAP S/4HANA on-premise system.
On-stack developer extensibility offers the standard ADT tool support like ABAP Unit, ABAP Test Cockpit, ABAP profiler, ABAP debugger and the well-known SAP lifecycle management (change and transport system).
3. Side-by-side extensibility:
This is the type where BTP comes into game. SAP BTP has been designed to make it much easier to build and integrate side-by-side extensions for SAP products compared to other generic platforms.
Side-by-side extensions are software applications that run outside of SAP S/4HANA Cloud (or other business application), but interact with it using standard SAP APIs.
They can potentially run on any run-time application platform, nevertheless SAP provides and recommends its dedicated platform: the SAP Business Technology Platform.
SAP provides a set of APIs that allow side-by-side extensions to interact with SAP S/4HANA Cloud. These APIs allow developers to read SAP data and perform actions that users can perform through the UI, such as getting a list of business partners or creating a new business partner address.
BTP Cockpit:
SAP Provides free tier access to tools and services of BTP for 90 days on BTP Cockpit platform where learners can make use of it to make hands-on practice in developing applications on BTP.
The SAP BTP Cockpit is a Web-based administration interface, which provides access to a number of functions for configuring and managing applications, services, and subaccounts.
In side-by-side extensibility two main models comes into account :
1. SAP Cloud Application Programming Model (CAP)
This doesn’t require knowledge of ABAP coding, this model works on node js and java stack. To develop extensions using this kind, one should know java script specially node JS, fiori elements, HTML5, should be familiar with VS Code and eclipse. SAP BTP Provides BAS(Business Application Studio) IDE for development of CAP Projects.
This applications can deployed on Cloud foundry environment and can source controlled with git and can be set up with CI/CD pipeline for continues delivery.
2. ABAP RESTful application programming model
It is the recommended programming model for customers and partners to build ABAP based S/4HANA extensions. Applications built on RAP can be deployed on ABAP environment in BTP. It supports the development of all types of Fiori applications as well as publishing Web APIs.
The ABAP Development Tools (ADT) is the integrated development environment on the well-known Eclipse platform for all standard ABAP development, quality assurance, and supportability tasks, both on on-premise and on cloud ABAP systems.
ADT offers a modern development toolset with many goodies such as syntax highlighting, code completion, code templates, advanced search and navigation, and quick fixes to increase developer productivity.
Evolution of the ABAP programming model:
Reference Links :
https://help.sap.com/docs/abap-cloud/abap-rap/abap-restful-application-programming-model
https://learning.sap.com/learning-journeys/build-side-by-side-extensions-on-sap-btp