/wp-content/uploads/2016/07/change_ahead_1_1005103.jpg

In this blog I want to share some of my experiences and recommendations I stumbled upon while making the transition from ABAP development to state of the art HCP microservices (notice the clouds in the picture above!). The goal and the main driver of this switch is to adopt open-source technologies and reduce the overall TCO. The chosen programming environment is Java (btw, JavaScript is suited for backend logic, but switching from ABAP DDIC to unstructured prototyped programming is too much of a leap forward). As we are still in the SAP world, we rely on SAP HANA as our standard DBMS (although MongoDB is also very handy) and our UX follows the Fiori principles.

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.

How-to-create-a-mind-map-mindmap.jpg

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.

Thumbs-Up-1-copy.jpg

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:

Recommendation No. 5: “The more we share, the more we have.” (the late Leonard Nimoy)

/wp-content/uploads/2016/07/mr_spock_mr_spock_10874060_1036_730_1005100.jpg


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!

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Helmut Tammen

    Thanks Tudor. It’s great to see that some of the ABAP guys look beyond the borders of R/3 and be aware that there are other (better) ways of implementing software.

    (0) 
  2. Diego Dora

    Thanks for sharing Tudor! It’s refreshing to see something about Microservices with the word ABAP written somewhere in the blog 😉 . I’m still evangelizing about proper OData services modeling using Gateway; and I can’t wait to start doing the same thing with NodeJS on top of SAP solutions 😉

    Hope you can make a series of this Microservices blogs! 😉

    (0) 

Leave a Reply