This blog is written with the intent to share my insight in a very simple non-technical term, to my Business Users and Customers. The experiences shared here are absolutely from the SAP learning hub and my understanding of SAP SE’s teachings on BTP. There is no direct or indirect customer/company information shared here.
SAP Business Technology Platform (SAP BTP) - the unified, business-centric, and open data and development platform for the entire SAP ecosystem. This statement means a lot so let me explain it in a simple term
- Development friendly- The platform provides ease of development for developers and makes it an efficient place for developers and helps them in increasing efficiency as well as gives them a charm. We shall discuss more shortly on this.
- Seamless Integration- It can talk with any other technology using its strong integration capability.
- The most important Value for Data- Nothing can be more important for a Business than data. It will provide a next-gen experience with data using its analytics, data lake, in memory powerful calculations.
As we know, all Hyperscalers provide three basic units of infrastructure APIs: compute, storage and network. The same is applicable for running SAP-Specific workload.
Although the user or functional team doesn't need to understand the basics of the infrastructural architecture however I shall provide a brief on following how BTP works.
BTP first carves out a private IP CIDR range from the network space. The BTP operation team deploys a set of virtual machines certified to HANA in that range.
The first layer is Platform Core, which uses Gardener. Gardener is SAP’s Kubernetes management tool and the main fundamental for BTP workload. Now, what is Kubernetes (K8)?
K8 is an
open-source container orchestration system for automating
software deployment, scaling, and management.
Some other runtimes are also deployed in the platform core. One of them is Cloud Foundry (which is now used instead of Neo), others are Kyma, ABAP, etc.
BTP also has other sets of Kernel Services which are required for building SAP’s Intelligent Enterprise version. This concept is the same as the Linux kernel. Just for sake of high-level understanding, Kernel is the main layer between OS and hardware. It helps in the management of memory, space, identity, audit log, etc.
Once the platform core is set up different technology units deploy their services that use one or more of these runtimes and kernel services. The whole portfolio of BTP includes Analytics, DBMS, Integration, and Extension suite. But our scope of discussion from here will be Business Application Studio (BAS) for Development Efficiency out of the full portfolio of BTP.
To understand SAP BAS first let us try to understand SAP WebIDE.
SAP Web IDE is a powerful, extensible, web-based integrated development tool that simplifies end-to-end full-stack application development. In common terms SAP Web IDE can be used to develop and test SAPUI5 and SAP Fiori apps, business logic, and OData services with Node.js, XSJS and Java, as well as SAP HANA code and data models.
The main points to be noted are SAP Web IDE runs on SAP Cloud Platform Neo Environment. Neo is SAP Properties and supports SAP’s Data Centre.
Whereas SAP BAS is based on Open Source with the most recent industry standards and hence provides a more modern environment to the developer. The UX is more like Microsoft Visual Studio Code. As it is available on Open Source (Cloud Foundry), it has more enhanced capability to integrate community extensions like code editors, code assist and syntax for
Java, a
debugger for Java, JavaScript, Node.js, JSON, XML, and YAML.
Above all BAS supports Multi Data Centre as it is available on Cloud Foundry. So here comes the difference between Cloud Foundry and Neo
Cloud Foundry |
Neo |
Open Source |
SAP Propertiery. |
Supports – Java, PHP, NodeJS,
Python, R, |
Supports- Java HTML and HANA XS |
Support Multi Data Centre |
Support SAP Data Centre |
Creating a Fiori Project in BAS
SAP is providing a free trial account for a learner like us in BTP. The moment we create a trial account SAP provides us with a global account.
Inside the global account, we may create multiple subaccounts but for the sake of learning, we have created just one subaccount.
Inside the subaccount, we have BAS hosted on Cloud foundry. For simplification, you may refer to this diagram which is based on my understanding of SAP’s learning hub.
If we click on BAS it will take us to create our Development space for Fiori.
Post creation of Dev Space we start Fiori development and get into the development environment
Now we may start our project by either opting for
- Template: Anyone who has worked in Web IDE will be easily able to do it from here.
- Clone it from GIT
- Import BSP Application from backend if Cloud Connector set up is done with S/4 HANA, which is also migration steps from WebIDE to BAS.
- Or directly upload from Files/Folder.
Migration of Web IDE apps to BAS.
- The folder structure is not the same in BAS compared to Web IDE. Hence we shall use the Import Application feature in my Dev Space although it is always better to use Git for source control.
Also worth mentioning SAP Fiori tools provide a migration utility to help move your SAP Fiori projects from other services, such as SAP WebIDE, to VS Code or SAP Business Application Studio.
Some of the key points for migration:
- Projects cloned or imported into the workspace are auto-detected for migration.
- The migration tool supports SAP Fiori elements, SAPUI5 freestyle and SAPUI5 Adaptation Projects.
- Migration tools allow the migration of multiple projects at once.
- A project must have VS Codepackage.json or pom.xml to be selected for migration.
- A project must have the main data source specified in the manifest.json file.
We have to ensure that the latest SAP Fiori tool extension is installed. Link:
Fiori Tools
The following steps need to be performed for each app for moving them from Web IDE to BAS.
Now your app is in BAS.
As per advice from our SAP Product manager I would like to mention Best practice is to use source control such as git. SAPUI5 ABAP repository should not be used as a source control system
In my next blog, I shall come up with some other hosting for the technology unit. Till then Happy Learning.