SAP Event Mesh setzt auf einen anderen Ansatz. Die asynchrone Kommunikation über Events. Dabei versendet ein System eine Nachricht, ohne dass der Empfänger sofort reagieren oder überhaupt bekannt sein muss. Andere Systeme können diese Ereignisse gezielt abonnieren und darauf reagieren – ganz nach dem Publisher/Subscriber-Prinzip.
Der Service ist ein vollständig verwalteter Cloud-Dienst auf der SAP Business Technology Platform (BTP). Er ermöglicht es, Nachrichten und Geschäftsevents zuverlässig und technologieübergreifend zwischen Anwendungen und Services auszutauschen. Dabei kommen offene Messaging-Protokolle und standardisierte Austauschmuster zum Einsatz, die eine lose Kopplung und hohe Flexibilität in der Architektur fördern.
Gerade im Zusammenspiel mit dem SAP Cloud Application Programming Model (CAP) eröffnet Event Mesh neue Möglichkeiten: Eine CAP-App kann beispielsweise ein Event beim Abschluss eines Geschäftsprozesses veröffentlichen, das andere CAP- oder Drittanwendungen automatisch verarbeiten – ohne direkte Integration.
Integration von SAP- und Non-SAP-Systemen
Ein neues Verkaufsdokument wird in SAP S/4HANA erstellt. Über Event Mesh wird ein Ereignis ausgelöst, das automatisch eine Kundendaten-Synchronisation in einem externen CRM-System oder eine Bestandsprüfung in einem Drittsystem anstößt.
Echtzeit-Benachrichtigungen
Wenn ein Wartungsauftrag in einer Instandhaltungs-App abgeschlossen wird, kann Event Mesh eine Benachrichtigung an ein mobiles Fiori-Frontend oder eine Collaboration-Plattform wie Microsoft Teams senden.
Kopplung von Microservices
In einer CAP-basierten App wird nach dem Anlegen einer neuen Bestellung ein Event publiziert. Ein separater Microservice, der für die Rechnungsstellung oder die Lieferplanung zuständig ist, reagiert darauf, ohne dass die Systeme direkt voneinander abhängen.
In diesem Blogartikel zeige ich, wie SAP Event Mesh SAP CAP-Anwendungen durch asynchrone Kommunikation flexibler und skalierbarer macht.
Besonders profitieren Fachrollen, die komplexe Integrationen oder skalierbare Architekturen entwerfen:
Wie in der Einleitung beschrieben, handelt es sich bei SAP Event Mesh um einen Cloud-Service für die asynchrone Kommunikation zwischen Anwendungen.
Damit eine eventgesteuerte Architektur korrekt aufgebaut und verstanden werden kann, sollten die folgenden Kernbegriffe bekannt sein:
Erst durch diese Verbindung gelangen Events aus einem bestimmten Topic in eine definierte Queue.
Ohne Subscription werden veröffentlichte Events nicht weitergeleitet oder gespeichert.
Zusammenspiel der Komponenten:
Publisher → sendet Event an ein Topic
Subscription → verbindet Topic mit einer Queue
Queue → stellt das Event einem Consumer zur Verfügung
Auf der SAP Business Technology Platform (BTP) kann eine Instanz des SAP Event Mesh (ehemals Enterprise Messaging) Services erstellt werden. Über das zugehörige Messaging Dashboard lassen sich anschließend folgende Elemente konfigurieren:
Wenn man SAP CAP verwendet, kann das Framework – je nach Konfiguration – Queues und Subscriptions automatisch erzeugen, basierend auf den im Code definierten Events (z. B. cds.emit()).
Das reduziert den manuellen Aufwand und erleichtert die Integration von Event Mesh in bestehende Anwendungen.
Enterprise Messaging für den Subaccount verfügbar machen.
Bevor du SAP Event Mesh nutzen kannst, musst du sicherstellen, dass die nötigen Entitlements für deinen Subaccount aktiviert sind. So gehst du vor:
🔓 Hinweis: Falls der Service in einem anderen Subaccount bereits verwendet wird, musst du das Entitlement dort ggf. entfernen, bevor du es neu zuweisen kannst.
Nach dem Speichern kannst du im Service Marketplace deines Subaccounts die Enterprise Messaging Kachel sehen und eine Instanz anlegen.
Rolle vergeben
Damit Benutzer den Enterprise Messaging Service verwalten und nutzen können, benötigen sie spezielle Rollen. Dies dient dem Schutz vor ungewollten Änderungen an der Systemkonfiguration.
🔧 Schritte zur Einrichtung:
💡 Hinweis: Bestehende (vordefinierte) Rollensammlungen verwenden, z. B. MessagingAdmin, falls man keine eigene Sammlung erstellen möchte.
Messaging testen
⚠️ Hinweis: Diese Funktion ist nur im Produktivaccount verfügbar, wenn die Event Mesh Instanz mit dem Serviceplan default angelegt wurde.
📤 Nachricht senden (Publish)
📥 Nachricht empfangen (Consume)
https://cap.cloud.sap/docs/node.js/messaging (Offizielle SAP CAP Dokumentation)
https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-and-enterprise-messaging-1-intro/ba-p/13433190#links (Artikel über die ersten Schritte, Kommentare Hilfreich)
https://pages.community.sap.com/topics/event-mesh (SAP CAP App with Event Mesh – Step by Step)
https://developers.sap.com/mission.cp-enterprisemessaging-app-develop.html (Develop a Messaging App on SAP BTP)
https://help.sap.com/docs/event-mesh/event-mesh/use-event-mesh-default-plan?locale=en-US (Use Event Mesh Default Plan)
https://help.sap.com/docs/event-mesh/event-mesh/setting-up-sap-event-mesh-in-btp-cockpit?locale=en-US (Setting Up SAP Event Mesh in BTP Cockpit)
https://help.sap.com/docs/event-mesh/event-mesh/monitoring-and-troubleshooting?locale=en-US (Monitoring and Troubleshooting)
https://discovery-center.cloud.sap/card/d72d2c8f-fe7f-4d14-9102-382b7c023e67