Was ist EMIS und was ändert sich gegenüber dem bisherigen Event Mesh?
EMIS steht für Event Mesh in SAP Integration Suite. Das Messaging-Konzept, das bisher nur als eigenständiger BTP-Service existierte, ist direkt in die Integration Suite integriert. Das hat für den Projektalltag drei wesentliche Konsequenzen:
- Wer die Integration Suite mit Standard- oder Premium-Edition nutzt, aktiviert EMIS als Capability, ohne eine zusätzliche Subscription zu buchen.
- Das bisherige Event Mesh (Standalone) ist nicht abgekündigt, bleibt aber für neue Projekte die zweite Wahl.
- Advanced Event Mesh (AEM) auf Solace-Basis bleibt das Angebot für sehr hohe Durchsatzanforderungen und reifere Event-Architekturen. In der SAP-Positionierung ist EMIS die in die Integration Suite eingebettete Capability für typische Integrationslasten; AEM ist separat lizenziert für höhere Durchsätze und reifere EDA-Szenarien.
Die folgende Tabelle zeigt die wichtigsten Unterschiede auf einen Blick. Den jeweils gültigen Funktions- und Limit-Stand von EMIS (maximale Nachrichtengröße, Spool-Kapazität, unterstützte Protokolle pro Release) dokumentiert SAP Note 3461547 als kanonische Referenz.
| Event Mesh Standalone | EMIS | Advanced Event Mesh | |
|---|---|---|---|
| BTP-Service | Eigene Subscription | Teil der IS-Entitlements | Eigene Subscription (optional) |
| Protokolle (Consumer) | AMQP, REST, MQTT | AMQP, REST/Webhook, MQTT | AMQP, MQTT, REST, WebSocket |
| Max. Nachrichtengröße | 1 MB | 1 MB (Spool gesamt 2 GB) | Konfigurierbar |
| Zielgruppe | Bestehende Projekte | IS-Kunden, neue Projekte | Hoher Durchsatz, reife EDA |
| Upgrade-Pfad zu AEM | Möglich, aber aufwendig | Migrationspfad verfügbar | - |
EMIS startete im Juni 2024 mit AMQP-only; REST/Webhook und MQTT kamen mit dem Q3-2024-Release hinzu. Aktuell gültige Limits und Protokoll-Verfügbarkeit laut SAP Note 3461547 prüfen.
Warum eventgetrieben? Typische Use-Cases aus S/4HANA
Klassische S/4-Integrationen laufen synchron: System A ruft an, System B antwortet sofort. Das funktioniert für interaktive Szenarien gut, stößt aber bei Massenverarbeitung und verteilten Landschaften schnell an Grenzen:
- Massenverarbeitung ohne Engpass: Hunderte Buchungsbelege, Bestandsänderungen oder Geschäftspartner-Anlagen pro Minute würden im synchronen Modell zu einem stetigen API-Call-Strom. Ein Message Broker puffert die Last und entkoppelt Producer von Consumer.
- Lose Kopplung: Ist das Zielsystem kurz nicht erreichbar, bleibt die Nachricht in der Queue erhalten. Der Consumer verarbeitet sie, sobald er wieder verfügbar ist, ohne dass der Producer es merkt oder Fehlerbehandlung implementieren muss.
- Fan-out an mehrere Consumer: Soll ein S/4-Event gleichzeitig in einen CPI-iFlow, ein BI-Tool und eine mobile App fließen, übernimmt EMIS das Fan-out über mehrere Queue-Subscriptions.
- Situational Awareness in Echtzeit: Downstream-Systeme reagieren auf Änderungen im Kernsystem, sobald sie eintreten, anstatt auf Batch-Jobs oder periodisches Polling zu warten.
S/4HANA stellt eine wachsende Anzahl an Standard-Events bereit; den verbindlichen, release-spezifischen Katalog pflegt SAP im SAP Business Accelerator Hub. Die häufigsten Ausgangspunkte für EMIS-Projekte sind:
sap.s4.beh.businesspartner.v1.BusinessPartner.Changed.v1- Geschäftspartner-Anlage und -Änderungsap.s4.beh.materialdocument.v1.MaterialDocument.Posted.v1- Wareneingang, Warenausgang, Umbuchungsap.s4.beh.salesorder.v1.SalesOrder.Created.v1- Neuanlage eines Verkaufsbelegssap.s4.beh.purchaseorder.v1.PurchaseOrder.Changed.v1- Bestellungsänderungen- Eigene Custom-Events über ABAP-Entwicklung (RAP-Objekte, Business Add-Ins)
Die Topic-Namen folgen dem CloudEvents-Namensschema. Den release-spezifischen Katalog der verfügbaren Events pflegt SAP im SAP Business Accelerator Hub; systemseitig lassen sich die verfügbaren Topics über die Suchhilfe in Transaktion /IWXBE/INBOUND_CFG bzw. /IWXBE/OUTBOUND_CFG einsehen.
Architekturüberblick: Von S/4 PCE bis zum Consumer
Der Nachrichtenfluss gliedert sich in drei logische Schichten:
Schicht 1: S/4HANA Private Cloud (Producer)
Business-Logik erzeugt ein Domain Event. Das Enterprise Event Enablement Framework (EEE) nimmt das Event entgegen und übergibt es an den ABAP Daemon (Daemon-Session) - einen ABAP-Hintergrundprozess, der die Verbindung zu EMIS hält und Nachrichten zuverlässig sendet. Der Daemon wird bei Channel-Aktivierung in /IWXBE/CONFIG automatisch angelegt; kundenseitig ist lediglich ein Daemon-User mit der Rolle SAP_IWXBE_RT_XBE_DAEMON vorzubereiten. Monitoring erfolgt über SMDAEMON.
Bei S/4HANA Private Cloud (RISE/PCE) ist eine weitere Voraussetzung an SAP zu adressieren, per Service Request:
- Outbound-Pfad nach BTP freischalten: PCE-Systeme senden ausgehenden Verkehr durch einen SAP-verwalteten Proxy. Für HTTPS-Verbindungen zu den EMIS-Endpunkten (Token-Endpoint und AMQP-WebSocket, beide Port 443) muss SAP die Zielhostnamen im Proxy explizit erlauben. Ohne diese Freischaltung scheitert die Channel-Aktivierung in Transaktion
/IWXBE/CONFIGmit einem Verbindungsfehler, unabhängig davon, wie korrekt SM59 und OAuth-Client konfiguriert sind.
Dieser Schritt und wie der Service Request formuliert wird, sind das zentrale Thema von Teil 3.
Schicht 2: EMIS auf BTP (Broker)
EMIS empfängt das Event und legt es in einer Queue ab. Queues sind persistent: die Nachricht bleibt erhalten, bis ein Consumer sie verarbeitet und mit einem expliziten Acknowledgement bestätigt. Über Topic-Subscriptions lassen sich mehrere Queues mit demselben Nachrichtentyp verknüpfen - ein Event landet dann automatisch in mehreren Queues, was den Fan-out auf verschiedene Consumer ermöglicht. Die EMIS-UI bietet ein einfaches Monitoring: aktive Nachrichten, Consumer-Status, Fehlerübersicht.
Schicht 3: Consumer
- SAP Cloud Integration (CPI) mit AMQP-Sender-Adapter: Der Adapter hält eine persistente Verbindung zu EMIS und subskribiert die Queue. EMIS pusht eingehende Nachrichten auf dieser Verbindung, der iFlow wird unmittelbar gestartet. Das Acknowledgement erfolgt nach erfolgreich abgeschlossenem iFlow.
- REST/Webhook: EMIS liefert das Event aktiv an einen konfigurierten HTTPS-Endpunkt. Einfach einzurichten, aber ohne die Durability-Garantie einer Queue.
- Third-Party-Systeme: Jede Anwendung mit AMQP- oder REST-Unterstützung kann Events direkt konsumieren.
Das richtige Protokoll wählen: AMQP, Webhook oder MQTT?
Auf der Producer-Seite (S/4 zu EMIS) gibt es keine Protokollentscheidung: das EEE-Framework sendet immer per HTTPS an den AMQP-Endpunkt von EMIS. Die Protokollwahl liegt auf der Consumer-Seite.
AMQP (empfohlen für CPI und Enterprise-Consumer)
Das Advanced Message Queuing Protocol ist die robusteste Option. Der CPI-Adapter öffnet eine persistente AMQP-Verbindung und subskribiert die Queue; EMIS pusht eingehende Nachrichten unmittelbar. Der iFlow startet, verarbeitet die Nachricht und sendet erst danach das Acknowledgement. Erst mit dieser Bestätigung wird die Nachricht aus der Queue gelöscht. Auch wenn CPI kurzfristig nicht verfügbar ist oder ein iFlow fehlschlägt, bleibt die Nachricht erhalten und wird beim nächsten Versuch erneut zugestellt. Für die Konfiguration des AMQP-Sender-Adapters braucht man drei Werte aus dem EMIS-Service-Key: den AMQP-Hostname (Feld messaging[amqp10ws].uri), Port 443 und den Pfad /protocols/amqp10ws. Der OAuth 2.0 Client Profile in Transaktion OA2C_CONFIG lautet dabei IWXBE/MGW_MQTT, auch für AMQP-basierte Kommunikation.
REST/Webhook
EMIS pusht Events aktiv an einen konfigurierten HTTPS-Endpunkt. Das ist die einfachste Variante für serverlose Consumer, externe SaaS-Systeme oder schnelle Prototypen. Nachteil: Durability liegt bei EMIS selbst; wenn der Zielendpunkt dauerhaft nicht erreichbar ist und das konfigurierte Retry-Limit überschritten wird, greift Dead-Letter-Verhalten (Details laut SAP Note 3461547). Für kritische Integrationen ist AMQP vorzuziehen.
MQTT
Ein leichtgewichtiges Publish-Subscribe-Protokoll, ursprünglich für ressourcenbeschränkte IoT-Geräte entwickelt. In klassischen S/4-Integrationsszenarien die seltene Ausnahme - relevant wenn MES-Systeme, Edge-Devices oder Maschinen Events direkt konsumieren sollen.
| AMQP | REST/Webhook | MQTT | |
|---|---|---|---|
| Typischer Consumer | CPI, Enterprise-Backends | Externe REST-APIs, SaaS | IoT, Edge-Devices |
| Nachrichten-Durability | Ja (Queue mit Acknowledgement) | Nein (Retry-Limit) | Nein (QoS 0) |
| Retry bei Consumer-Ausfall | Automatisch (Nachricht bleibt in Queue) | EMIS-seitig konfigurierbar | - |
| Konfigurationsaufwand | Mittel | Gering | Gering |
Voraussetzungen und Lizenzfragen
Auf BTP-Seite:
- SAP Integration Suite mit Standard- oder Premium-Edition. EMIS ist in diesen Editionen enthalten, muss aber als Capability aktiviert werden.
- Subaccount-Entitlement für den Service-Plan
default(Broker-Initialisierung) undmessage-client(Producer/Consumer-Binding) der Event Mesh Instance. Die Prüfung erfolgt im BTP Cockpit unter "Entitlements". Service-Bindings können als Standard-Secret (binding-secret) oder X.509-zertifikatsbasiert (mTLS) ausgestellt werden. - BTP Trial: EMIS setzt einen Enterprise-Account mit Standard- oder Premium-Edition der Integration Suite voraus und ist im Trial-Subaccount nicht verfügbar (SAP Help: Voraussetzungen).
Auf S/4HANA PCE-Seite:
- S/4HANA Release 2022 oder neuer empfohlen; neuere Releases liefern mehr Standard-Events und stabilere EEE-Framework-Versionen. Den exakten Mindeststand für spezifische Event-Typen gibt SAP Note 3461547 an.
- Administrativer User mit Rolle
SAP_IWXBE_RT_XBE_ADMfür die Channel-Konfiguration in/IWXBE/CONFIG. - Daemon-User mit Rolle
SAP_IWXBE_RT_XBE_DAEMONvorbereitet; Outbound-Pfad per Service Request bei SAP beantragt (Details in Teil 3).
Was kommt als nächstes?
Die Grundlagen sind damit geklärt. In den folgenden Teilen wird es konkret:
- Teil 2 zeigt, wie du EMIS auf der BTP einrichtest: Capability aktivieren, Message Client anlegen, Queue und Topic-Subscription konfigurieren, Service Key generieren.
- Teil 3 deckt alles ab, was auf S/4HANA PCE vorzubereiten ist, bevor die eigentliche Konfiguration beginnt: Zertifikat-Import via STRUST, Daemon-User, und den Service Request für die Outbound-Freischaltung.
- Teil 4 verbindet beides: SM59-Destination, OAuth-Client-Konfiguration (
OA2C_CONFIG), Channel-Anlage in Transaktion/IWXBE/CONFIG, Outbound Binding und das erste Event, das in der EMIS-Queue landet.
Wer bereits eine ähnliche Implementierung mit dem Standalone Event Mesh kennt: Der technische Pfad auf S/4-Seite ist identisch. Was sich ändert, ist ausschließlich die BTP-Seite - EMIS statt separater Event-Mesh-Subscription, alles in einer IS-Oberfläche.
Weiterführende Quellen
- SAP Note 3461547 - kanonische Referenz für Restriktionen, Limits und Regionsverfügbarkeit von EMIS (Zugriff über SAP for Me)
- SAP Blog: Meet your new friend EMIS - Einführung, Positionierung und Roadmap (Strothmann, Juni 2024)
- SAP Blog: S/4HANA Direct Connectivity with Event Mesh in Integration Suite - konkreter Konfigurationspfad mit SM59 und OA2C_CONFIG (Rakheja, Juli 2024)
- SAP Blog: S/4HANA On-Premise Integration mit Event Mesh - STRUST, SPRO und Channel-Konfiguration (Kumar, März 2023)
- SAP Help: Enterprise Event Enablement für S/4HANA - offizielle Doku zu Outbound und Inbound
- SAP Help: Event Mesh Capability in der Integration Suite
- SAP Help: Configure A Message Client - Service-Pläne, Bindings und X.509-Zertifikate
- SAP Blog-Reihe: SAP Event Mesh Deep Dive - EDA-Konzepte, Single-/Multi-Tenancy, CAP-Integration (Kumar/Khullar, 2022)
- SAP Help: AMQP Sender for SAP Event Mesh - Adapter-Konfiguration in CPI (Hostname, Port, OAuth)
- SAP Business Accelerator Hub: S/4HANA Business Events - release-spezifischer Event-Katalog mit CloudEvents-Topic-Namen