SAP Home Learn Build Integrate Model Operate Extend with AI ConnectTutorial navigator Knowledge Graph API Devtoberfest Developer Advocates App Space

Manage my Account SAP Devs YouTube ↗ Learnings ↗ Community ↗ Provide Feedback ↗
Logout
โคข Open full site

2 - Why Event-Driven Architectures?

Learn how event-driven architectures (including event-based processes) make software systems more robust, and learn how such systems work.

Overview

🎓 intermediate 10 min. SAP BuildIntermediateSAP Integration SuiteSAP Build Process AutomationSAP Business Technology Platform

You will learn

  • โœ”What is event-driven architecture
  • โœ”How systems communicate in event-driven architecture
  • โœ”The role of an event broker in event-driven architecture
Created by March 11, 2025
Contributors

Prerequisites

Prerequisites

Steps

Intro

An event-driven architecture is a software architecture paradigm concerning the production and consumption of events. An event can be defined as a significant change in the state of an object within a system.

Long gone are the days when a system (aka, target system) will constantly poll to check if there are any changes in another system: for example, a new customer created in a master data system. In the past, the target system would only know about the change by programming a routine that would poll a file share to check for any files produced by this system or a web service exposed in the source system, every X minutes/hours/days.

The expectation nowadays is that systems are integrated and that the data exchanged between these systems will be immediately available in the target system(s) if any data is created/changed in the source system. Enter event-driven architectures.

Event-driven architectures
Event-driven architectures

An event-driven architecture is a software architecture paradigm concerning the production and consumption of events. An event can be defined as a significant change in the state of an object within a system. For example, when a customer/supplier/employee ( business object ) is created/updated/deleted ( action) in a system.

Translating this to the SAP world, when a Business Partner is created/changed in SAP S/4HANA ( source system ), SAP S/4HANA can notify that there was a change in a business object and target system(s) interested in the Business Partner object can then react and trigger follow-up activities in their systems.

Step 1 How do source and target systems communicate?
โ€”

Now, if the source system lets other systems know of any changes happening in its business objects, it will not be sustainable to create a new programming routine within the source system every time we want to notify a new target system of any changes.

Traditionally we would have some form of middleware, e.g. SAP Cloud Integration) and configure our source system (for example, SAP S/4HANA) to send notifications of these events to the middleware and then use the middleware to distribute these messages. We would add target system(s) as needed.

Now, we are moving the problem from the source system to a sort of middleware but ideally, there will be a way for the source system to notify others without the need to make any changes. Enter the event broker.

Event broker

An event broker is message-oriented middleware that enables the transmission of events between different components of a system, acting as a mediator between publishers and subscribers. It is the cornerstone of event-driven architecture, and all event-driven applications use some form of event broker to send and receive information.

By introducing an event broker in our landscapes:

  • We can configure our source systems to publish their events to this message-oriented middleware. The source system will specify the class of the message (that is, topic).

  • Systems interested in the changes happening (for example, in a particular business object in the source system) can subscribe to the event(s), via the event broker, by specifying the topic they are interested (topic-based filtering) or it can also be based on the content of the message (content-based filtering).

There are two keywords that are important here: publish and subscribe (or “PubSub”). This is a well-known messaging pattern used to decouple systems/applications and allow asynchronous communication between them.

Step 2 PubSub messaging pattern
+
Step 3 Further study
+

Resources

Discussion

Share feedback on this tutorial or join the conversation in SAP Community.

Submit detailed feedback Discuss in Community
Steps
Step 1 of 3
1. How do source and target systems communicate? 2. PubSub messaging pattern 3. Further study

Learn more →