ABAP is here and it stays in the DNA of SAP even in the New Age of SAP Development
Welcome to this little blog series. I’ll add the missing links once I publish the other blogs starting next week:
- Part 1: ABAP is here and it stays in the DNA of SAP even in the New Age of SAP Development
- Part 2: Installing SAP Cloud Connector into Docker and connecting it to SAP Cloud Platform
- Part 3: Installing SAP NW ABAP into Docker
- Part 4: Configure SAPCC + NW ABAP for Principal Propagation + Docker Network config for both Containers
- Part 5: SAPCC, NW ABAP, SAPCP config for the Identity Provisioning Service to sync users from ABAP to SAPCP
The target audience of this blog series is
- ABAP Developers
- Non-ABAP Developers
- On-Premise ABAP diehards
- SAP “Learners”
- Developers who want to follow some of the OpenSAP courses easily on localhost
- People who want to see if some of the prejudices against SAP Cloud Platform (SAPCP) are correct
This first blog in the series is basically describing my motivation for writing the other blogs. After having followed the other blogs you will have your own SAP Cloud Connector (SAPCC), your own NW ABAP, both of them running in separate Docker containers on your own laptop, and you’ll have setup all configuration needed to connect your very own NW ABAP through your SAPCC to your own SAP Cloud Platform (SAPCP) trial account – non-trial works as well. You will also learn how to configure Principal Propagation which basically allows you to get Single-Sign-On (SSO) easily working. In the end, you’ll learn how you can manage your users and roles on your own NW ABAP as the central user store while syncing them to your SAPCP account using one of my favorite SAPCP services: the Identity Provisioning Service (IPS). With our setup you can control on your (on-premise) ABAP system which Fiori/UI5 applications running in the SAPCP are visible for your users. Docker will be part of the SAP ecosystem in future, and you’ll see some Docker basics in action in the blogs. Of course, you will see an in-detail demonstration of everything so that you can follow each step on your own. In the end, you will see and understand the following setup which should also help you making better decisions (abstracted + avoiding the details for now):
All resources used in the blog series are available free of charge, and you’ll see where to get them from (of course, the SAP software is only for your private and non-productive usage). I’ve already published content on GitHub and YouTube (all free of course), stay tuned to see where exactly – or google for it if you can’t wait 🙂
Seeing is Understanding. Understanding before Deciding.
About a thousand years ago the Persian poet Ferdowsi was offered by a sultan one piece of gold for each couplet he writes in the “Book of Kings” (Persian: Shahnameh). A book that shall manifest the historical and mythical past of the Persians prior to the Islamic conquest of Persia in the 7th century. Ferdowsi agreed and planned to spend the gold on rebuilding dykes. After having spent almost his whole life to write this masterpiece of literature Ferdowsi proudly went to the sultan to receive his very own honor after 30 years of passion and hard work. The legend that I choose here claims that the sultan took the epic book and payed Ferdowsi without even looking into it; he threw a few pieces of gold in front of Ferdowsi’s feet. Ferdowsi was deeply hurt by this reaction, he rejected the gold and left without the book. Years later, the sultan had a look into the book. Now he understood how much he had hurt the poet. Immediately, he decided to send a huge amount of gold to Ferdowsi. Ferdowsi never received the money; he had died without even knowing about the late recognition. The sultan desperately regretted his own behavior and felt ashamed to the remainder of his life. Today, every Persian knows about Ferdowsi and his Shahnameh, but nobody cares about the sultan. The sultan made a decision without even looking into the book.
Motivation for this blog series
I strictly believe that Seeing is Understanding. And Understanding before Deciding is the right way. Within the last years I keep seeing SAP customers running their On-Premise SAP systems with an outstanding availability and performance. At the same time some of them simply don’t want to jump on SAP’s cloud train for different (arguably good?) reasons, i.e. just to name a few:
- We don’t want our business data in SAP’s cloud!
- We don’t want to have our user data in any cloud!
- We don’t want our data to be spread across cloud infrastructures used behind SAP Cloud Platform (SAPCP) like Google, Amazon, Microsoft,…!
- We want to keep our custom apps and processes in terms of “Intellectual Property”, not SAP and no one else should see or have our code or “gain” our business process know how!
- We have a much better availability than SAPCP
- We don’t see any benefit as of today because we have everything we need On-Premise
- Every time the SAPCP is not available it would mean we’re not making hundreds of thousands
- If our data runs through their infrastructure at runtime, then who knows what data they are logging? Nothing? All? Passwords? Business Data?…
- We can’t use the Cloud because our ABAP was never made for the Cloud.
I can’t answer all of the questions, but I can offer this blog series including videos allowing you to answer some of the questions on your own. I’d also like to correct wrong assumptions or rumors derived from unclear communication or unclear knowledge of how things work together. In fact, I have made a demonstration for one customer with basically the content of the blog series. Guess what: while seeing what I demonstrated, they started to understand – and suddenly a constructive reconsideration and discussion about using the SAPCP seems to start soon.
Another motivation for writing this blog series is helping native SAP developers aka ABAP developers to understand how they can join SAP Cloud development with the ABAP skills they already have today – and that works even today prior to the release of ABAP in the Cloud (which I expect to arrive hopefully later this year). Furthermore, the more ABAP developers see and experience the new age of SAP development they start to understand. This understanding will shift automatically to the management of the companies they work for causing more awareness. And that finally helps to make better decisions instead of “Is it cloud? Get out of here!” (exaggerated). In the end, I firmly believe it’s not about Cloud vs On-Premise, it’s more about using the “best of both worlds” together for given scenarios. In fact, using the “best of all worlds” is even a better wording to me. And again, before deciding how to use the best of all worlds together we need to understand how things work first before we decide for the “how” when implementing the chosen solution for achieving the “what”.
While the SAPCP is maturing more and more, it’s not too late for SAP backed companies reconsidering their cloud strategy as part of their technology strategy (in case they are still avoiding cloud). Don’t be like the sultan, don’t wait until it gets too late while your competitors leverage from the new power they suddenly got thanks to SAPCP. Instead, start reading the book – now. Then you will understand before making the decision. There are simply too many rumors out there, get your own experience. And I’d like to help you seeing really cool things in action. And guess what – you can keep your ABAP systems and your ABAP developers together with all their experience!
We have native and non-native SAP Developers
We’ve all been watching how SAP has become more and more a first-class technology company over the last years (of course besides their unique and outstanding business know how etc.). “SAP is a technology company” – these words we would’ve never said let’s say 15 year ago, do you agree? The strong shift to technology has opened doors for many non-native SAP developers.
New Age SAP Development
That brings me to the term I used above: New Age SAP Development. IMHO, I’d say that the new age SAP development allows developers doing anything, from anywhere, at anytime, using the best available tools and technologies they want. Well, that’s too abstract, here is an example: last year I coded a fix during on my vacation somewhere on an island for one of our customers using the SAP Web IDE. Still a little too abstract and not a really good example, right? Think of it that way: the new age of SAP development includes the skills of both your native SAP developers, your non-native SAP developers, and all non-native SAP developers from outside the SAP ecosystem! This can only be an advantage, right? The basis for that is the SAPCP. Also keep in mind, that SAP and SAP partners as well are already offering solutions that require an SAPCP account, so the direction is pretty clear. And there is already some pretty cool stuff out there. The new age of SAP development comes with new tools and technologies, while modernizing existing tools and technologies in order to make them cloud-ready. A valid question raised is: What skills do my SAP developers need now?
I know some people might prefer to kick ABAP out of the list. ABAP? Isn’t it dead? This brings me to my next motivation which deserves a separate headline.
ABAP vs Other Programming Languages? Stop the Debate!
Recently, I’d say within the last 2 years, I’ve seen an increasing number of blogs and people discussing the relevance of ABAP, ABAP skills, or even the relevance of ABAP developers in the new age of SAP development (sometimes only between the lines, sometimes very obvious). I never left a comment, but I really enjoyed them with popcorn. Without offering any references (because I want to avoid finger pointing, also some of the comments were deleted), I remember comments like (not exact wording, not saying right or wrong):
- As an SAP consultant I never needed ABAP within the last 20 years
- ABAP salaries are decreasing
- ABAP developers are too expensive for what they can do
- ABAP is an outdated/dead language
- Java is superior to ABAP
- ABAP developers don’t want to learn new things
I know some ABAP developers read those blogs as ABAP bashing, or as an aggression against ABAP developers, even though this was maybe not even the intention of the blogs/discussions directly. Interestingly, I don’t remember any bashing from ABAP developers against other programming languages or non-ABAP developers except for one article discussing that “ABAP developers are not stupid” (and that was not a real bashing). I hope you get how far this has gotten. What I read is actually not really new to me: I do a lot of stuff including frontend, backend, ABAP, non-ABAP, Scrum, SAPCP,… And I’m happy to learn new stuff while accepting anything I don’t know as a new challenge. Not having only a hammer really helped me a lot not seeing everything as a nail. I discussed and worked with people sitting in the different “corners” of the room, while trying to convince people being open minded for the one or other technology, programming language, platform, framework,… Often I’m convinced by my colleagues. All is well, as long as we have reasonable and rational arguments – and they must be constructive!
In fact, ABAP itself is a pretty modern programming language. Believe it or not, but with ABAP, SAP is actually one of the very first OpenSource companies – something that has opened the doors for a unique way of customizing and extending standard solutions! ABAP has served SAP to become the market leader with more than 75% worldwide! ABAP even has some pretty cool and unique features other languages often do not have. On a regular basis, pretty cool new features are introduced into ABAP, which means we have an ABAP evolution! So, SAP is really investing a lot into the progress of ABAP. And don’t forget that ABAP in the Cloud is on it’s way! Soon in future, I’ll expect we’ll have something like an ABAP MicroProfile (Java EE / Jakarta EE know the term MicroProfile), allowing ABAP developers to create ABAP based MicroServices and running them in the cloud, i.e. via SAPCP CloudFoundry, Docker, Kubernetes… We can also expect that SAP will introduce further unique features into the “new” ABAP in the Cloud – and SAP knows better than anyone else what an Advanced Business Application Programming language needs. They keep improving ABAP.
The conclusion is simple: ABAP is not dead. It is living more than ever – both on-premise and in the cloud. ABAP is here and it’s here to stay. ABAP stays in the DNA of SAP – period. However, DNA can change, and thus ABAP will change. Let’s stop the debate and acknowledge the best of all worlds. The truth is ABAP developers should be prepared to learn new stuff, while others should probably start thinking about adding ABAP to their skills. At least on a level that allows us to understand before making decisions. And that’s exactly one goal of this blog series. Making decisions based on a wrong understanding are the best ingredients for prejudice.
How to teach old dogs new tricks?
I still have decades to code before I get retired, but sometimes I feel old seeing all the cool stuff the new kids on the block can do. It turns out I have to learn new stuff pretty often, and often I learn from those new kids. The SAP ecosystem is rapidly changing these years, and this rapid change happens outside of the SAP ecosystem as well. A lot of that change is happening around all the different clouds, but we’ve got also web development changing rapidly, and even more… It can be hard for some of us to cope with all the change. At the same time, we know changing old habits is already hard enough. However, I believe it could be possibly easier for technology affine ABAP developers than for business affine ABAP developers to step into the new age of SAP development from a technology perspective. This is no generalization at all! My suggestion would be to keep having diverse teams in order to foster team learning. Make sure to understand that this can also be a change of mindset for some of us. Organizations are asked to offer the space and environment making it as easy as possible for people to learn new things – be it alone, or from others, or together.