This article is designed to shake your thoughts and spark meaningful discussions.
In picture A, the receiver schema affects the development of the sender. This is the because the sender must push all fields required on the receiver side, unless data is enriched via lookups in the Integration Suite.
Traditional system transformations are not just costly and time-consuming, they're also failing us when it comes to integration development. It's understandable why some professionals advocate for sticking with tried-and-tested methods like IDocs, which are familiar and have a track record of reliability. But while IDocs were groundbreaking in the 1990s, the world has moved on.
Persisting with traditional, tightly coupled architectures is not just an outdated practice – it almost seems like strategic misstep.
Developing and maintaining custom or push-type integrations is costly. Each change or update adds additional coding, testing and deployment efforts on both the sender and the receiver side. It’s not uncommon to see integrations taking months to develop, test and deploy.
Coordinating multiple teams and managing dependencies in these tightly coupled architectures complicates project timelines, often leading to delays and budget overruns. When changes are costly and time-consuming, teams are less likely to pursue new ideas. They simply do not have the bandwidth.
One of the biggest issues with systems that have tightly coupled architecture is their high level of interdependence. A change or failure in one part of the system can lead to unexpected issues in another part. This fragility increases downtime and affects service reliability. Yet these systems must be updated regularly, requiring coordination across multiple domains while increasing the risk of errors and service interruptions.
If you have participated in SAP PI/PO integration maintenance, perhaps you remember those service breaks where you needed to stop integrations due to updating your SAP system? It was a recurring headache to figure out which interfaces needed to stop and start again, in which order and how to communicate about these to third parties and business units.
The Event Driven Architecture approach offers a potential answer to all these issues.
The concept of a composable business refers to interchangeable, modular components (i.e. units, companies, organisations, systems, etc.) that can easily be replaced or reconfigured. You have the ability to decouple components. In integrations, this approach is called Event-Driven Architecture (EDA). The idea is that with events serving as the communication medium, systems and components can react to changes independently.
But what if you do not have such a decoupling mechanism in place?
When a change is imminent, you need to decouple integrations at some point. This almost always means you have to redesign some interfaces and rebuild others, such as when migrating to SAP S/4HANA.
The question is: Why would you continue using old integrations when you have the opportunity to rethink your processes and potentially end up with something far better?
It’s a missed opportunity to perform a technical migration only because an old system will soon be unsupported. Such an approach is also costly in the long run. EDA and a composable business mindset can position you to innovate, rather than just maintaining the status quo.
By adopting EDA and AI to leverage standard events and APIs you can reduce your integration workload by up to 50%. This is not hyperbole; it's a reality that forward-thinking businesses are already experiencing. Best of all, Tietoevry has already proven it in a real-life project.
Another often-overlooked advantage of EDA is the significant improvement it brings to testing and error handling. EDA eliminates the need to manually recreate complex test data or scenarios, saving time and reducing errors. In traditional integrations (point-to-points), error handling often requires a deep understanding of the application and may involve multiple steps to reprocess data. With EDA and the help of APIs, resolving errors is much simpler. You can simply resend the event message directly into the queue.
EDA also allows for the design of automated retry mechanisms. If the processing of an event fails, the system can automatically attempt to process it again or can route it for manual intervention.
Making an action for a single event can be easy. But if you ignore the need and wait until you have tens or even hundreds of events, then you will probably need more resources to handle them all. You’ll basically end up running scheduled jobs. I recall hearing about someone marketing S/4HANA as a solution to eliminate the need for scheduled jobs. Has this been tried in your landscape? If so, how has it worked out?
If you ever think to use AI as part of your integrations, then asynchronous messages like events are more suitable. Play with AI, approve the results and put the codes, routings and mappings into the tools you use in any way suitable for you. The tools exist, it’s just a question of whether you want to go forward with this path or not.
Disagree? Think this is an overstatement? Let's engage in a dialogue. The goal is not unanimous agreement, as there are so many ways you can perform integrations. The intention of this post is to spark discussions that drive progress.
Join the community to learn more about the latest trends and insights within ERP development and SAP technologies.
Read moreMika Karvonen is SAP Technical / Integration Architect with over 20 years of experience in SAP technologies. He has held various technical roles, focusing on architecture and integrations. He is also focused on Event-Driven Architecture (EDA), applying it in transformation projects to decouple and virtualize SAP systems.