CapabilityIntegration & MessagingNode.js, read from its artifacts

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.

Showing artifacts, examples and content with confirmed Node.js applicability. View All CAP

Overview

SAP SHIPS
@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.

A Node.js coverage assessment has not been written. View all flavors

THE COMMUNITY ADDS
cds-kafka

Implements a CAP messaging service over Apache Kafka, mapping a CDS event onto a Kafka topic in both directions, with the topic name, key and partition settable per message and subscriptions declarable as a regular expression or a catch-all.

Sourcecds-kafka — READMEchecked
cds-event-monitoring

Consumes the broker topics a CAP service is configured to watch and keeps what arrives: each message is written to an EventData entity, and a resend action puts an event back on its original topic or on another topic named in the call.

A Node.js coverage assessment has not been written. View all flavors

Artifacts8

8 of 8 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
Packages1
@sap/cdsCAP Node.js runtime
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, 1 under conditions, 1 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 →

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 →

Content3

Group by
Piece, what it offers
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
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 working2

ArtifactSignals
Samples2
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

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, Node.js, derived
also inBTP/BAIP, ABAP
Designs that place it1
Designing Event-Driven ApplicationsDesigning Event-Driven Applicationsreference architecturethird-party event broker
For your agent