How to take your ABAP assets to the Cloud, part II.
In this second part of the blog series on how to take your ABAP assets to the cloud using the SAP BTP, ABAP environment we’ll have a look at the underlying SAP technologies used. Before we take a peek under the hood of the ABAP environment, I’ll show you how you can create your Cloud extensions in the SAP Extension Suite in 4 easy steps.
Building a Cloud app via the SAP Extension Suite
The SAP Extension Suite is part of the Application Development & Integration pillar of the SAP Business Technology Platform. It is the place to build new, or enhance existing, enterprise applications, processes and experiences. It offers you a whopping amount of over 80 services that you can leverage to build your Cloud solutions — one of which is the ABAP environment aka Steampunk.
Building an app via the SAP Extension Suite comes down to these 4 steps.
- Connect your on premise and cloud systems to the SAP BTP to make existing data, events and APIs available.
- Create an extension specific API and set of events. You have to do this in the SAP Extension Suite and not in the back-end system because you want a decoupled life-cycle management.
- You also want a decoupled life-cycle management of the next step where you will leverage the endpoint APIs created in step 2 on the web, on mobile applications or in intelligent technologies such as conversational AI.
- At the very end you want to deploy and also operate your solution using the runtime that best fits your requirements and skill set.
If we map these steps to the SAP technology we get below image.
On the left-hand side you can see all SAP solutions, both on premise and Cloud. Also note the third-party solutions. All of these can be connected to the SAP BTP via step 1. Typically this is handled by the SAP Integration Suite, also part of the Application Development & Integration pillar, but sometimes it can be already enough to simply use the Cloud Connector.
In step 3 you need to decide which kind of different touch points, so end-user interfaces, you want to provide for each and every extension. That means that for each extension you need to ask yourself “What is the best and most efficient user experience that I can provide?”. This could be a Fiori elements application, a SAPUI5 freestyle application, but it could also be a completely non-SAP solution like a front-end build in React. If you want a mobile channel using the SDK offering for iOS or Android, or a conversational bot, that’s all up to you. For each and every extension you can pick and choose. All of this is possible because of the decoupled life-cycle management, remember, you are building on top of APIs.
Finally we come to step 4 where you have to choose how you want to deploy your application. You can choose the runtime and also what other tools and services of the SAP BTP you want to use for scalability, alert notification, CI/CD and so on.
Vital parts of the SAP BTP, ABAP environment
Now that you know how to connect your systems to the SAP BTP and where to situate the ABAP environment, we can have a look under the hood and focus on the vital parts.
On the left hand side we have the tool set. Steampunk is part of the SAP BTP so it’s accessible via the Cloud Cockpit. Here the administrator can easily set-up and maintain the ABAP environment. From a developer perspective SAP has fully invested in the ABAP Development Tools in Eclipse which also means we cannot use the SAP GUI for development in Steampunk. Last but not least SAP has connected Steampunk to GIT which is a prerequisite for a developer to be able to work in the Cloud. Customers and partners are able to use GIT to move code between Steampunk systems but also to move code from on premise systems to Steampunk.
In the central part you see the ABAP environment as part of the SAP BTP where we have the new ABAP RESTful Programming Model. It’s a programming model optimized to develop web services and makes it much easier to create a service for eg. a Fiori application. You can also see the connection here with the other services on the SAP BTP.
On the right hand side you can see all the systems that you can connect with. Originally this were only the SAP Cloud solutions but since the support of the Cloud Connector you can now also integrate with on premise SAP and non-SAP systems.
In this second part we’ve described the steps to create a Cloud app using the SAP Extension Suite. You now also know which SAP technology can be used for each step and where you can situate the new ABAP environment. Finally we had a look under the hood of the ABAP environment to discuss it’s most vital parts.
More information can be found on the SAP Store, in the solution brief or on the SAP Discovery Center. Make sure to also check out the SAP BTP, ABAP environment community page.
Continue with part 3 where I will show you some typical use cases for the ABAP environment and introduce the partner delivery model which partners can now leverage to offer SaaS solutions developed in ABAP.
In the meanwhile feel free to add your comments below. Specific questions can be posted in the community here.
Great effort. I came from the Netweaver ABAP world so I am limited to the tools that are provided by the SAP transaction codes (e.g. SE80, SE11, SE37, etc). With Steampunk I am given the chance to become a cloud-native developer and can utilize my existing ABAP skill set by upskilling to the RAP model. Just wonder when can we use the same IDE for code development because I can see for RAP model we are using eclipse with ADT and for CAP model we use BAS?
Good to know for the near future when our solutions will be turned into actual apps instead of only technical testable apps.
Thanks once more
Great blog !
I was following video's shared by SAP HANA academy last year Oct on how to migrate ABAP On-prem custom code to cloud. Can we still use this method to migrate our custom code through ABAP github? or any other approach SAP has released ?
Could you please guide the best approach and way forward.
ABAP Custom code migration
yes abapGIT is still the way to migrate code from on prem to BTP ABAP Environment.