Event Mesh

Emitting and consuming business events across systems — brokered delivery, subscription management, and the mapping between CDS events and a broker topic. Which broker sits in between is the decision: SAP Cloud Application Event Hub between SAP cloud applications, an Integration Suite event broker in a heterogeneous landscape. The reliability questions — outbox, retries, ordering — belong to async processing rather than here.

Overview

SAP SHIPSby design
Node.js →

@sap/cds Provides the messaging service kinds for SAP Event Mesh and SAP Cloud Application Event Hub: with a bound instance it creates a queue per receiver process and the subscriptions, and delivers an S/4HANA event to the same srv.on handler as a local one.

Java →

com.sap.cds:cds-feature-advanced-event-mesh A beta CAP Java plugin that adds SAP Integration Suite, advanced event mesh as a messaging broker, activated by setting a messaging service's kind to aem.

com.sap.cds:cds-feature-enterprise-messaging A CAP Java feature that connects a CAP messaging service to SAP Event Mesh, activated by setting the service's kind to enterprise-messaging, and looks up the bound instance.

com.sap.cds:cds-feature-event-hub A CAP Java plugin that connects CAP's messaging service to SAP Cloud Application Event Hub, so an application sends and consumes business events without coding against its API.

com.sap.cds:cds-feature-kafka A CAP Java feature that connects a CAP messaging service to Apache Kafka for intra-application messaging, through the Apache Kafka client library rather than a managed SAP messaging service.

com.sap.cds:cds-feature-redis A beta CAP Java feature that connects a CAP messaging service to Redis Pub/Sub, which broadcasts each event to every subscribed instance and does not guarantee delivery.

com.sap.cds:cds-services-bom Ships publish-subscribe messaging built into the runtime's core, including a file-based message broker that mocks a broker on the local file system for local testing; a real broker needs a separate Maven dependency for that broker.

Not covered: It stops at SAP-brokered eventing. Non-SAP brokers, and anything needing schema registries or replay, are plugins or your own code.

Artifacts14

14 of 14 artifacts
ArtifactSignals
CDS plugins5
@cap-js/advanced-event-meshCAP integration with SAP Integration Suite advanced event mesh
Signals
none
@cap-js/asyncapiExports AsyncAPI documents for a CAP service's events
Signals
none
@cap-js/event-brokerConsumes events from SAP Cloud Application Event Hub in CAP
Signals
none
cds-event-monitoringStores, browses and resends messages a CAP service receives
Signals
none
cds-kafkaKafka adapter exposing topics as a CDS messaging service
Signals
Use terms
Packages7
@sap/cdsCAP Node.js runtime
Signals
none
com.sap.cds:cds-feature-advanced-event-meshCAP Java plugin for SAP Integration Suite, advanced event mesh
Signals
none
com.sap.cds:cds-feature-enterprise-messagingConnects CAP Java messaging to SAP Event Mesh
Signals
none
com.sap.cds:cds-feature-event-hubConnects CAP Java messaging to SAP Cloud Application Event Hub
Signals
none
com.sap.cds:cds-feature-kafkaConnects CAP Java messaging to Apache Kafka
Signals
none
com.sap.cds:cds-feature-redisBeta connector from CAP Java messaging to Redis Pub/Sub
Signals
none
com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versions
Signals
none
Services2
Event MeshManaged queues and topics over AMQP, MQTT and REST
Signals
none
SAP Integration Suite, advanced event meshEvent streaming and management platform in Integration Suite
Signals
none

Tasks1Beta

CoversCovers, under conditionsAssessed, not knownNot assessed
Receive messages from an Apache Kafka topic2 covers, 2 under conditions, 2 not known

Records that another system writes to a topic on an Apache Kafka cluster reach a handler in the application, which processes each one as an event.

Covers the path from the Kafka topic to the handler. Sending to Kafka is a separate task, and so is what the handler does when processing fails, which belongs to async processing. Which SAP services a subaccount is entitled to, and whether the application's network can reach the cluster, are project questions and are not assessed here.

CoversSAP Integration Suite, advanced event meshA Kafka Receiver configured on the event broker reads records from one or more Kafka topics, converts each to a broker message and publishes it to a broker topic, without Kafka Connect in between. A substitution expression builds the broker topic from the Kafka topic. The Kafka topic, partition and offset arrive as user properties, and every Kafka header becomes a user property too.

Remaining work: Configure the Kafka Receiver and its topic bindings on the broker. The application still needs a client for the broker, which for CAP is one of the two advanced event mesh plugins below.

Open artifact →

Coverscds-kafkaRegisters a CAP messaging service whose implementation connects to the Kafka brokers through KafkaJS, so messaging.on('some-topic', handler) subscribes to the Kafka topic of that name. A subscription can also be a regular expression or a catch-all, and every consumed message carries headers with the Kafka topic, partition, offset and timestamp. consumer.groupId sets the consumer group, and fromBeginning per topic decides whether records already in the topic are read.

Remaining work: Install the plugin, configure the messaging service with the brokers and credentials, set a consumer group and write the handler. A regular-expression subscription matches only topics that exist when the application starts. The README's list of open work names the Confluent schema registry, so decoding records written through a schema registry is the application's own code.

Open artifact →

Covers, under conditions@cap-js/advanced-event-meshConnects CAP's messaging service to SAP Integration Suite, advanced event mesh once its kind is set to advanced-event-mesh. The README does not mention Kafka: the plugin receives what the broker delivers, and bridged records are broker messages like any other.

Conditions: A Kafka Receiver on the advanced event mesh broker publishes the Kafka records to a broker topic the application subscribes to

Remaining work: Create the broker by hand and establish trust to the application in Cloud Identity Services, as the README requires, then subscribe to the broker topic the Kafka Receiver publishes to.

Open artifact →

Covers, under conditionscom.sap.cds:cds-feature-advanced-event-meshConnects CAP Java's messaging service to SAP Integration Suite, advanced event mesh once a messaging service's kind is aem. The README does not mention Kafka: the plugin receives what the broker delivers.

Conditions: A Kafka Receiver on the advanced event mesh broker publishes the Kafka records to a broker topic the application subscribes to

Remaining work: Add the Maven dependency, bind the application to the broker's validation service instance, and subscribe to the broker topic the Kafka Receiver publishes to.

Open artifact →

Assessed, not known@sap/cdscapire's Node.js messaging page names Apache Kafka as an example of a message broker and documents no messaging kind for it: the kinds it lists are SAP Event Mesh, advanced event mesh, the event broker, Redis, file-based, local and composite messaging. Part 1 of the cds-kafka blog series reports an undocumented Kafka adapter in the CAP sources, added with cds add kafka and bound to a Kafka service that is not publicly available. That is the blog author's reading of the sources and SAP's documentation does not confirm or deny it.

Remaining work: Nothing in SAP's documentation to configure. A Kafka connection comes from a plugin, from a service in between, or from code the application carries itself.

Open artifact →

Assessed, not knowncom.sap.cds:cds-feature-kafkaSAP's list of CAP Java modules gives this feature one line, intra-application messaging with Apache Kafka, and its POM depends on the Apache Kafka client library. capire's Java messaging page documents Maven dependencies and a kind for SAP Event Mesh, SAP Cloud Application Event Hub, advanced event mesh and Redis, and none for Kafka. Whether the feature subscribes to a topic that another system writes to, and how it is configured to do so, is not documented.

Remaining work: Not established. The configuration would have to be read out of the module itself.

Open artifact →

Content26

Group by26 of 26 pieces
Piece, what it offers
Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh
SAP Community, Benedikt_Sprung, Blog
Publish events from CAP Node.js applications to Event Mesh of Integration Suite
SAP Community, KevinWang_ST_Consultancy, BlogA recipe
Core changed
How to use a CAP application to manage DMQ messages on SAP Advanced Event Mesh
SAP Community, stefan-keuker, BlogThe reasoningRunnable code
Core changed
Show 17 more
Implementing Event-Driven Architecture in CAP Java using SAP Event Mesh
SAP Community, Soumya-Pirlamarla, BlogThe reasoningA recipe
Core changed
Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth Authentication
SAP Community, rpagni, BlogThe reasoningA recipeRunnable code
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM
SAP Community, AlexPfeil, Blog
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2
SAP Community, Mike Zaschka, part 2 of 2, BlogThe reasoningA recipeRunnable code
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2
SAP Community, Mike Zaschka, part 1 of 2, BlogThe reasoningRunnable code
Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event Mesh
SAP Community, ale_biagi, BlogThe reasoning
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Apps
SAP Community, ATheobaldt, BlogThe reasoningA recipeRunnable code
Core changed
Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAP
SAP Community, Yahor, BlogThe reasoning
[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration Suite
SAP Community, AyushKumar and vipul.khullar, BlogThe reasoningRunnable code
Core changed
Event Driven Architecture with Event Mesh – Part-2
SAP Community, Avinash_Vaidya, BlogThe reasoningA recipeRunnable code
Core changed
Event Driven Architecture with Event Mesh - Part-1
SAP Community, Avinash_Vaidya, BlogThe reasoningA recipeRunnable code
Core changed
[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenario
SAP Community, AyushKumar and vipul.khullar, BlogThe reasoningA recipeRunnable code
Core changed
CAP - Specifying the queues to be consumed from SAP Event Mesh
SAP Community, schardosin, BlogThe reasoning
Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the Dots
SAP Community, Former Member, Blog
Unlock composable business using SAP Integration Suite, advanced event mesh
SAP TechEd — session catalogue, TalkThe reasoning
Build your own event-driven scenario with advanced event mesh
SAP TechEd — session catalogue, TalkThe reasoning
Build real-time event-driven integrations for your enterprise
SAP TechEd — session catalogue, TalkThe reasoning
Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh
SAP Community, Benedikt_Sprung, Blog
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM
SAP Community, AlexPfeil, Blog
Unlock composable business using SAP Integration Suite, advanced event mesh
SAP TechEd — session catalogue, TalkThe reasoning
Show 7 more
Build your own event-driven scenario with advanced event mesh
SAP TechEd — session catalogue, TalkThe reasoning
Build real-time event-driven integrations for your enterprise
SAP TechEd — session catalogue, TalkThe reasoning
IntegrAItion: Event-Driven Intelligence
YouTube — SAP Developers playlists, SAP Developers, Talk
SAP Codejam on Event Driven Build Process
SAP Community, Sharathmg, Blog
Beginners Guide to Advanced Event Mesh
SAP Community, PriyankaChak, Blog
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata Poll
SAP Community, AlexPfeil, Blog
Event Add-On for ERP: All you need to know about the new Event Studio
YouTube — SAP Developers playlists, SAP Developers, Talk
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and Webhooks
SAP Community, FarooqAhmed, Blog
Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth Authentication
SAP Community, rpagni, BlogThe reasoningA recipeRunnable code
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2
SAP Community, Mike Zaschka, part 2 of 2, BlogThe reasoningA recipeRunnable code
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2
SAP Community, Mike Zaschka, part 1 of 2, BlogThe reasoningRunnable code

Seen working3

ArtifactSignals
Samples3
cap-bp-ragEvent-driven RAG app with CAP, Cloud Integration and SAP HANA Cloud
No license
SAP-samples/btp-event-driven-multi-tenant-architectureCAP sample of SAP Event Mesh events feeding a multi-tenant SaaS app
none
SAP-samples/event-hub-cap-samplesCAP consumer of SAP Cloud Application Event Hub events
none

Details

What changed — and what it makes stale1
@sap/cds 10.0.3, CAP, Node.js

CAP Node.js gained native support for Event Mesh in SAP Integration Suite, as an alternative to Event Mesh classic. Before it, enterprise-messaging was the only Event Mesh the core spoke to; now there are two more kinds, event-mesh over HTTP and webhooks and event-mesh-shared over AMQP, each with a cds add that writes the configuration. It is beta, and CAP Java follows later. capire dates the feature to the cds 10 line, whose first release anyone can install is 10.0.3, published on 2026-07-02 — 10.0.0 through 10.0.2 never resolved on npm.

Makes stale:

Guidance that Event Mesh classic and enterprise-messaging are the only Event Mesh a CAP application can talk to. That was true until mid-2026. It is still the production path while the new kinds are beta, so this widens the choice rather than replacing it.

Coverage
statecore and community, CAP
assessed
relationshipnarrow by design
also inBTP/BAIP, ABAP
Designs that place it1
Designing Event-Driven ApplicationsDesigning Event-Driven Applicationsreference architecturethird-party event broker
For your agent