The road from ABAP to HCP microservices
My experience so far
As a short background, I graduated computer science and worked a couple of years in different SAP business suite solutions. After that, I switch to the modern technologies, meaning: ABAP for HANA, Gateway and Fiori/UI5. Did that for a little over one year, and enjoyed every line of code. The next natural step would have been a transition to S/4HANA, but this wasn’t the case. Fortunately, or not, management had a different vision as to what the future will bring for our department’s line of products. The reason for this shift is justified by our clients’ wish to move more and more towards cloud-based solutions. Enough said…
I was taken from my comfortable world of SAP NetWeaver ABAP stack into a completely new world of open source cloud-based software development. It was a shock, but luckily I wasn’t alone. I had other skilled ABAP developers on my side going through the same painful transition and a very experienced enterprise architect to guide us all.
Our motto: “Don’t be afraid to fail!”.
Recommendation No. 1: Keep calm and be agile!
Be as agile as possible! Start with a simple mind map and extend with new topics as they rise up. Because there are so many fresh topics, it is rather easy to get confused. Therefore, a mind map is always an excellent starting point for structuring your newly acquired knowledge.
As early as this, you will quickly start to appreciate some of the ABAP features you took as granted: for example, build & deployment (nice Activate button), runtime availability, dependencies (what dependencies? You just use the classes/dictionary…), authentication & authorization (I’m already logged in?!), and many more.
Recommendation No. 2: Listen to the elders!
As in most companies, we also have Java departments (if not, I’m sure you are colleague with- or you know someone who is a Java professional). One can always benefit from their expertise. We got really appreciated help in topics like IDE setup, Maven build and Git integration.
Recommendation No. 3: “Good artists copy, great artists steal.” (Pablo Picasso)
Since the internet is full of open-source coding, we decided not to reinvent the wheel. We used Matthias Steiner’s famous Enterprise Granny (http://scn.sap.com/docs/DOC-42001) as our foundation. After refactoring, we started building on top. When our prototype was up and running, we showed it to some of the elders from the previous recommendation, and guess what, we got thumbs up.
Recommendation No. 4: Knowledge is power.
Read, read and read. If you’re a techie person, this should come easily. Finding the best materials, however, is not. Alternatively, going to conferences or watching recordings online is also an excellent approach. Someone from Hybris once said: “We like everything Martin Fowler does” (https://www.youtube.com/watch?v=JH3AN2ZnqrU).
Some of the great and not so expensive books:
- Microservices: Flexible Software Architectures by Eberhard Wolff
- Implementing Domain-Driven Design by Vaughn Vernon
Also, open SAP courses are an excellent starting point. Which ones? All of them, obviously! I expect that the upcoming “Developing Java-Based Apps on SAP HANA Cloud Platform” (https://open.sap.com/courses/hcp2) course will cover the basics
If you wish to build a sample step by step application, here are some nice end-to-end tutorials:
- Person List (http://scn.sap.com/docs/DOC-33513)
- Weather App (http://go.sap.com/developer/tutorials/hcp-java-weatherapp-part1.html)
Recommendation No. 5: “The more we share, the more we have.” (the late Leonard Nimoy)
For anyone that ever wrote one line of Java code, you know that stackoverflow is the place to go. But for us SAP fanatics (notice I already started referring to as SAP and not ABAPers), SCN is a longtime friend. Sharing stuff, particularly source code, is very valuable for the young and eager minds of tomorrow.
So, please, don’t hold back!