Thoughts on transition to SAP BTP-IS (Cloud Integration) from SAP Process Orchestration. ABAP on Cloud (Clean core) from Classical ABAP.

Thoughts on transition to SAP BTP-IS (Cloud Integration) from SAP Process Orchestration. ABAP on Cloud (Clean core) from Classical ABAP.Mathew Kunjappu | Managing Consultant at IBM

Though it appears the above are slightly different topics, these are the integral parts in the journey to SAP Clean Core. I am jotting down these for the folks who are/were close to SAP technology platform at one point of their career and is now getting lost in the ocean. These are my own perspectives and observations navigating with clients and listening to the discussions in SAP Tech Eds and SAP experts.

 There are two Soft Engineering life lessons my professor at Graduate School made it very clear to all the aspiring students on the very first day and this still come regularly in my thoughts.

1.     If you are a perfectionist, Software engineering is not for you. Please feel free to walk out and drop off my class.

2.     Focus on the programming concepts and not on the programming languages. That was the times when object-oriented programming was gaining hold from procedural programming.

Like to discuss the first topic in context of software engineering life Lesson 1.

 Being someone who got into SAP from the release of SAP NetWeaver technology (Enabling SAP applications to the Internet) I was part of the journey how SAP brought the SAP Net Weaver Exchange Infrastructure (XI) to Process Integration and finally to Process Orchestration.  (A mature Enterprise Application Integration Tool). And now as part of enabling applications to the cloud, giving a path to customers to move to cloud integration, a major pillar of Business Technology Platform. In addition to the expected EAI capabilities, with the release of Edge Integration cell (A local installation of cloud integration tool that doesn’t need to be on cloud to handle the on-prem/sensitive integrations) and the features SAP has brought into the Integration Advisor & Trading Partner Management (B2B Integration). For e.g., SAP has given place holders to massage the B2B flows pre & post steps in the EAI process, SAP has reached the sprinting phase from crawling & walking in the journey to Cloud. No Joke, Gartner has selected SAP Cloud Integration as a leader in this magic quadrant. I believe SAP has always stood with software engineering life lesson1. Never be a perfectionist … Constantly improve.

 The one area that I will be keeping a close watch is on the performance of Cloud Integration (CI) orchestrations. Though SAP product managers are vouching on the performance and tuning capabilities, Cl flows uses stateful messaging which is resource intensive similar to the CCBPM in the SAP PI times. (Remember using a factor of 10 in the sizing exercise). Also, how these orchestrations are done, there is a lot of heavy lifting by the tool than the source and target applications. By heavy lifting I meant the Cloud integration reaching out to Source and Target applications to make the dataset complete before passing the message to target application. In the world of cloud computing each additional resource you are adding will add to your operational cost. You might have an option to use edge integration cell for these A2A high volume data flows and for integrations which are process intensive. One more additional reason that why I will be keeping a watch on the performance of CI is because SAP is using SAP BTP Integration Suite as a major enabler for clean core which gives me a segway to the discussion on clean core.

 Why there is a relationship between clean core & SAP BTP Integration Suite? In the traditional world of EAI, the role of middleware is Transform, Translate and Transmit. The heavy lifting of the data is always with the source and target applications. In the enterprise messaging (Event Mesh) SAP is releasing lot of standard (notification) events in S4 that will be captured in the messaging queue. (Clean core/ no custom code) Many times the data elements which are part of standard events are minimal, you will most likely have to do a secondary API call to the source application to gather all your data elements which is against the conventional wisdom. To adhere to clean core (not enhancing the outbound structures) the customers might have to bear additional cost for optimizing the performance of additional API Calls. In a nutshell, a shift in the development effort from S4 to BTP-IS. Taking account of these... Will the result be cost neutral? Need to be seen. Clearly, BTP-IS has become a major enabler of Clean Core.

 Now coming to the second topic, from classical ABAP to ABAP on Cloud/Clean core. In the traditional SAP-ABAP, to be considered as a core modification, we have to change the code in SAP’s namespace. We all know that organizations put a lot of rigor and governance on this to avoid upgrade issues and it’s not easy to get a core modification approved. SAP is giving a different spin to this now, any code involving CMOD/SMOD, BADI’s SE18/SE19, Implicit/Explicit enhancement are all not cloud ready and not upgrade stable. So, if you are in S4 Public Cloud you cannot use any of these traditional methods but rely on Cloud BADI’s released by SAP and only use released API’s. By each release SAP is releasing more and more cloud BADI’s and API’s. If you are on S4 HANA Private cloud, the classical options are still there but SAP Is pushing for Cloud BADI’s and released API’s. If you are in private cloud/on-prem you can write a custom API and release it and use it in your code to be cloud ready. I consider this as a backdoor entry which might be beneficial for your system to be upgrade stable. I can understand why SAP has to push for cloud BADI’s and released API’s in public cloud (Since SAP won’t able to roll-out the upgrades to individual customers) but not able to understand the justification for pushing the customers who are in private edition. May be SAP want to elevate the ABAP developers cloud programming skills envisioning future is only for the cloud.

 Noticed some discussions on clean core and linking this to RAP (Restful Application Programming) and promoting the RAP as the way to clean core…

RAP Programming: RAP was introduced with the push of HANA, much before shift to cloud and clean core push started. RAP uses CDS annotations and Fiori elements. This is mostly to leverage the SAP HANA DB and to support mobile applications which can be equated to the cloud programming model and cloud readiness. You can develop a total custom application using RAP in S4 HANA on prem, Not very clear on how this will equate to  clean core. May be the custom application will  be cloud ready ? RAP can be a path to Cloud Readiness. But clean core is little more than cloud readiness.

 Thought of limiting this writing to a 5 or 10 minute read but looks like these are never ending discussions/thoughts.

 So, if you are in the ABAP world and an experienced ABAPer, don’t get confused about all these discussions on clean core and using cloud BADI’s. You are in a better position to master these in short term.. Software engineering life lesson 2 - Focus on programming concepts, RAP…If your RAP concepts are strong, Clean core concepts will just equate to

  1. Use cloud BADI’s
  2. Use released API’s.

 As I stated earlier these are based on my experience implementing SAP, the discussion on new concepts in SAP TechEd’s and the challenges we will have to overcome in implementing the new guidance.