Let me introduce my guest
My today’s guest has been dealing with SAP technologies for nearly 15 years. He has a degree in economics and investment management (PhD), so he could work as a financial or investment analyst. However, he chose a different path and took a deep dive into the world of integration.
About tools which are needed to perform the duties of an SAP Integration Architect, various programming languages in the SAP world, and differences between SAP PI vs SAP CPI – Vadim Klimov is interviewed by Jarosław JZ Ziółkowski.
Reading time: 13 minutes
1. You are a Doctor of Philosophy (PhD) degree in Economics and Management with specialization in the area of investments and innovations management. Does university knowledge help you in your daily work?
I feel that major studied subjects on their own have little relation to what I do at work. Still, general skills and attitude towards learning happen to be a common denominator when it comes to different sciences and knowledge areas. It is worth noting that I don’t hold a degree in computer science. My primary subjects at the university were economics, financial mathematics and investment management, so 15 years ago, I was more comfortable with analysis of projects and investments profitability and their economic efficiency than with Java technologies, integration techniques and enterprise integration patterns. It isn’t about specific subjects that I studied at the university and knowledge that I gained during university days and that I utilize now at my job, but about overall skills that help me to learn new technologies and gain new knowledge in IT. The mathematical background helps me to approach this in a – hopefully – more structured way and to look for consistent and consecutive explanations when searching for solutions to problems that I face in IT.
2. Well, your position is called “SAP Solution Architect”. How would you describe your role and responsibilities?
Here where I work now, this position combines a variety of activities, so it isn’t a pure architect role as such. Instead, it is a role that includes design and architecture activities on one side, and hands-on activities, technical deep dive into specifics of products and technologies that are a part of a particular subject area on the other side. I primarily focus on SAP integration products and SAP Cloud Platform services, so all those activities are united by the specific technology stack I work with daily. We have solution architects who have more business knowledge and are more technologically agnostic, as well as technical architects who specialize in specific technologies. I belong to the latter group. Much time I work with other architects and also with vendors on feasibility assessments, prototyping and proofs of concept. I’m also involved with end-to-end solution designs, capability mapping and product positioning in the landscape since integration capabilities go hand in hand with business applications and are rarely met on their own. Apart from that, I closely collaborate with delivery teams on ongoing developments and tests execution. In some projects, I share the role of an integration architect and an integration developer. In some others, where we have a dedicated team of developers, I get involved occasionally in some technical reviews. Since I work in the internal IT team, I also work closely with support teams on significant maintenance activities and incident escalations, especially if those significantly impact business continuity and operations.
3. As you probably know from my previous interviews, I like delving into the answers of my interlocutors. Therefore, I’m wondering what kind of tools do you use to perform the duties of an SAP Integration Architect? Why do you use these tools, and in which way they are helping in daily responsibilities?
Many tools that I use are related to enterprise communication and documentation tooling. We have a lot of virtual meetings, and we have to maintain a decent amount of documentation, both graphical like landscape diagrams, system component diagrams, process and integration flows. And also textual – I mean specifications here. Historically, different teams used different tools to produce and maintain those documentation artefacts, the company now also explores cloud-based services as a replacement to on-premise tools, and we need to ensure that tools are compatible with Windows, Linux and MacOS. However, the stack for documentation and conferencing is predominantly Microsoft based. More recently, we started to look into tools that can consolidate some design documentation aspects. Thanks to this, we can maintain data about landscape, its components and their relationships. I mean systems, services, environments, processes, integrations and data flows and so on. More consistently and centrally and then reuse different pieces of information when needed. Here, I mean enterprise architecture tools that can be used for collaborative modelling and analytics. Nevertheless, we are at the beginning of this journey yet, so documentation is still quite partitioned.
I ended using a combination of the latest Eclipse release (for Java EE and Spring development), NetWeaver Developer Studio that is also based on Eclipse (for PO-centric development), IntelliJ IDEA (I use Community Edition – for Groovy development) and Visual Studio Code (for Node.js development). IntelliJ IDEA and VS Code are tools that I use almost daily. Their core functionality was complemented with several extensions and plugins that enhance my productivity.
API testing is another area that occupies a lot of my time. Here, I mostly rely on Postman for generic APIs and occasionally use SoapUI for SOAP-based scenarios. We have a dedicated testing team in the organization. Still, sometimes I need to build and execute a performance test script rapidly – and this is where I find Apache JMeter very handy, thanks to its flexibility and modularity. I use Windows as a primary operating system, but I often need to use Linux tools and execute Linux scripts – so Windows Subsystem for Linux (WSL) is yet another tool that I use a lot.
4. Since you mentioned programming before, I have to ask how many programming languages do you know and what are you using them for during your work?
The more we progress with automation, the more I try to get myself familiar and up to speed with some shell scripting languages. Primarily, Bash, and secondarily, PowerShell. Still, I need to learn a lot there before I will feel comfortable in command and scripting languages.
5. From what you’re saying, I deduce that dealing with many things at once is not a challenge for you. However, are there any at all that you have to face in your daily work?
One of the most commonly faced challenges relates to project planning – dependencies and prerequisites assessment and estimation of integration efforts. Especially, when it comes to integration with basic core SaaS services provided by different vendors. As you know, integrations with SaaS services offer some substantial simplifications – for example, a lot of them embrace API-led integrations and streamline service discovery and consumption. On the other hand, the term “API” is overloaded and broadly interpreted these days; we can even say it’s also misinterpreted. Because of that, we come across so many different services that follow different design patterns and that all are generically referred to as “APIs”. In practice, it means that, combined with fundamental differences in underlying data model layer, service layer, and limited service customization capabilities compared to their on-premise counterparts, it often significantly contributes to the increased complexity of orchestration in integration scenarios that have to ensure those services can play together consistently.
Another challenge relates to the entire shift of a mindset when moving from on-premise to cloud integration platforms. A decade ago, I started working with SAP on-premise middleware systems. Firstly, with SAP XI and PI – and later, with PO and AEX. All of them provide a very extensive toolset for fine-tuning and tweaking of underlying components as per customer needs and requirements. For example, cluster sizing, JVM tuning, or, finally application server’s core services.
What’s more, all of these are highly customizable. When moving to iPaaS such as SAP CPI, a customer doesn’t have access to some of these components. Combined with extreme flexibility of the integration framework that lies at the heart of CPI and lightweight ness of shared platform services, developers might be tempted to neglect some best practices and performance optimizations when implementing complex integration scenarios. That can instigate longer-term stability issues.
6. So, exploring this subject a little bit more, I cannot stop myself from asking you which one of them gives you the greatest sense of satisfaction and why?
Technical challenges are what attracts me a lot among other sorts of challenges that are met in integration projects. Resolution of such challenges, observation of something working after the challenge is overcome – that provides satisfaction to me. Though, after I realize that the technical problem was resolved and the integration is functional and operational, I get another challenge – can this be optimized further? The optimization process can require a lot of time and efforts, so it is always a good idea to be clear about what we are optimizing. Then you have to answer the question: What is the purpose of the optimization exercise? For instance stability/performance? Tangible benefits to business stakeholders, simplify maintenance and supportability or finally anything else that is relevant to the particular case and can be reasonably justified. They also have to be measurable – so that we have a good understanding of what was achieved with optimization and when to stop? otherwise, the optimization process can go wild. All of the above involves much continuous learning, and I don’t only mean the first-hand experience. That also includes experimenting, trial and error, but also learning from other experts and enthusiasts. Here, I must show appreciation to SAP product managers and developers who are keen to listen to customers’ feedback and to consider it when building up and updating product roadmap and when considering implementation of new features. And I really admire and get inspired by the SAP Community. Honestly, I learn a lot from community contributions, and I’m thankful that community experts find time to put efforts into sophisticated and mature work that they commonly undertake in addition to their day-to-day jobs.
7. Walking through your profile on LinkedIn, one can notice right away that you have many SAP certificates, mostly related to middleware. Having the rookies in our community in mind, I have to ask, which one was the most difficult to get?
When it comes to SAP middleware related certifications, I got certified in SAP Process Orchestration and SAP Cloud Platform Integration. Even though I had prior hands-on experience with both of these products, I shall admit that I put my time and efforts in preparation for exams. Exam questions test knowledge of the entire product and its capabilities, whereas customer scenarios usually don’t cover the full spectrum of product features and gravitate to the usage of a subset of features that are settled in the specific customer landscape, but do so in greater detail. After that, I explored some complementary areas; this is what led me to SAP Cloud Platform development and SuccessFactors integration certifications, and more recently – SAP Activate certification.
Surprisingly, the most difficult certification to obtain so far wasn’t middleware related. Still, the one related to S/4HANA Cloud implementation using SAP Activate methodology – probably, because it was the least technical certification among those I have taken. It required a decent level of familiarity with a broader range of functional topics, so it was more challenging to techies like me.
8. Let’s go back in time 5 years ago. You used to work for SAP before moving on to consulting. I’m curious – was this experience of any help to you when it comes to your current position?
Yes, it helped significantly. It was a really great experience for me – I met so many intelligent, passionate and experienced professionals while working at SAP. I shall say that we are still in touch with my ex-colleagues, we share ideas, I enjoy hearing their feedback on my thoughts and I truly trust their professional view on topics that get me excited and interested. Moreover, much knowledge that I have and use now originates from my peers and mentors that worked with me and from whom I learnt and keep learning.
The team I worked with – a Centre of Excellence team within Active Global Support – was focused on the delivery of landscape planning, integration assessment and optimization services to SAP customers. We were fortunate to work with premium customers on one side and with SAP product management and development teams on the other side. These experiences expanded my knowledge about various use cases and pain points that customers faced when using SAP integration products. Thanks to this, we – SAP teams and customer teams – could work together on assessing the feasibility of new integration scenarios or optimizing existing scenarios using best practices from SAP and considering real-life constraints that customers raised. It was an excellent opportunity to explore and step into diverse landscapes of customers coming from different industries and countries – somewhat that can hardly be achieved when being focused on a specific customer’s landscape when working on a customer side.
9. There’s a lot going on right now in your life, isn’t it? You have recently joined the group of SAP PRESS Book authors. I would not be myself if I did not ask you about this new adventure that you took up. So, how is it – to write a book? Are you planning to publish more?
Oh, yes, that was an exciting journey and a great experience! We worked assiduously on the content of the book together with Eng Swee Yeoh – a very experienced and skilled expert and a brilliant person who brought a wealth of knowledge and put it on paper, so it was an honour for me to work together with him. It was also one of the challenges – when you aren’t writing on your own, but are co-authoring with someone so experienced and recognized, you need to go the extra mile to ensure that the produced content is of the highest quality. Eng Swee and I worked closely on each paragraph of the manuscript, we had peer reviews very often and exchanged ideas about already written sections or future sections, so this challenge was addressed comfortably and nicely.
Another challenge was related to timelines. When writing blog posts, I’m usually flexible in regards to when draft content can be prepared, when it is reviewed, finalized and published, as there are no specific deadlines. When it comes to a book writing process, it is divided into particular phases with their milestones, deadlines and deliverables. Given that I worked on a book in my free time, so that book writing didn’t collide with my day-to-day job, the process required continuous commitment and planning for several months ahead. Interestingly, a lockdown that was caused by the global pandemic increased productivity of manuscript writing because I could focus on the book more. We were even able to submit the final version of the manuscript quicker than initially expected and to release the book ahead of the original plan.
As far as writing a new book is concerned, right now, I don’t have immediate plans to start working on a new SAP PRESS BOOK. This process requires a significant amount of time, effort and a topic that will be demanded and advantageous for the community. But in the future – it will be great to get back to this experience. And who knows – it may well be that you see chapter two from me and Eng Swee – “SAP CPI: The Return of Groovy” *smile*.
10. Honestly, I’m counting on it. Today I decided to finish the Interview with a question from my readers. The question is tricky, but I believe you will deal with ease. SAP PI vs SAP CPI – which solution is better in your opinion and of course – why?
May I provide a classic consultant’s answer to this question – “It depends”? *smile*. Seriously speaking, I can hardly think that there is an unambiguous leader between those two, and I would instead think of PI/PO and CPI as products that nicely complement each other, rather than compete.
I like a PI/PO product for its matureness and comprehensive features that are provided by its core runtime services. Also, for a built-in supportability and monitoring tools that are available for customers as a part of the product. Last, but not least – PI/PO can be deployed in a variety of ways in a customer landscape to satisfy hosting and network security requirements, and can be scaled and sized relatively precisely by customers or their infrastructure partners.
Some of these features are currently missing in a CPI service as it is much lightweight, provides less out of the box shared services and are cloud-focused. Deployment options for CPI were enriched and extended over time. However, at the moment, they are still cloud-centric for the entire fully-fledged service offering. I take aside the cloud runtime that can be used in PO 7.5, as that addresses a runtime aspect, but not the complete CPI service offering. But CPI excels when it comes to flexibility of the integration flow – it is way easier to develop complex scenarios that consist of multiple integration steps in CPI than in PI/PO. Still, it is also easier to produce suboptimal integration scenario implementations in CPI as compared to PI/PO. Development and deployment of cloud-centric integrations are much more comfortable in CPI. Another advantage that I see when using CPI is when it needs to be integrated with some other services that are a part of SAP Cloud Platform Integration Suite – CPI already has native integration capabilities for some of them. We are going to see even more improvements in this area in the future.
Moreover, many customers have in-depth knowledge of PI/PO and can fine-tune it. I mean things like tweak the entire runtime – JVM, specific services, or apply scenario-specific optimizations. But performance optimization of CPI runtime isn’t that transparent for customers. In addition to that, customers have to get used to a different technology stack that is used by CPI runtime when moving from PI/PO. Although they both are based on Java, application runtime and integration framework are different, deployment and execution of integration scenarios differ significantly between PI/PO and CPI – which all makes traditional PI/PO customers feel uncomfortable when transiting to CPI. Still, I know that SAP works hard on this and on providing additional tools for PI/PO to CPI migrations.
Find me via LinkedIn
1. Programming is an art! Secrets of ABAP with Michael
2. He can simplify difficult things like no one else! Finny’s adventures in the world of SAP integration