Event Mesh

Emitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.

Overview

InCAPassessed

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.

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.

InBTP/BAIPassessed

Event Mesh is the broker itself: managed queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to. On BTP the question is which broker you bind and what it guarantees.

SAP SHIPS

Present, not yet described.

Not covered: At delivery between systems. The shape of a message, and the mapping from a modelled event onto a topic, are the application's — a broker binding says nothing about either.

The brokers on this door are SAP BTP services: Event Mesh, Advanced Event Mesh, the Integration Suite event broker and Cloud Application Event Hub, which distributes SAP cloud applications' business events by subscription. The core-only state reads the corpus. what_core_does is left empty: no page has been checked that states an intent here, and the services carry their own descriptions and links.

THE COMMUNITY ADDS

No community artifact is documented here.

InABAPassessed

From ABAP the concern runs both ways: a RAP business object raises events for subscribers, and a program publishes to or consumes from an outside broker such as Kafka, an MQTT broker or AWS SNS.

SAP SHIPS

RAP business events: an event defined in a behaviour definition is raised with RAISE ENTITY EVENT, and an event binding maps it to an event type. From ABAP 7.53 the kernel also supports MQTT.

Not covered: At RAP events and MQTT. Producing to Kafka, receiving AWS SNS notifications, and MQTT on releases before 7.53 are what the community connectors add.

Policy1

PolicySAP API Policy 4.2026a§ 2.2.2, 3, FAQ 12, FAQ 27, FAQ 38AlwaysAn ABAP event integration exposes inbound access to SAP APIs or becomes a systematic or large-scale extraction or replication path. An outbound notification or callback alone is not enough.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.
  • § 3 Monitoring and remedies. SAP states that it may monitor API use and take enforcement actions when use does not comply with the documentation and policy.
  • § FAQ 12 Outbound interfaces. The accompanying FAQ distinguishes external consumption of SAP-provided services from outbound notifications or callbacks sent by an SAP system, which it places outside this policy's scope.
  • § FAQ 27 Custom-developed APIs. Customer-namespace ABAP interfaces are not prohibited merely because they are custom, but their underlying SAP dependencies and usage pattern still determine whether the use aligns with the policy.
  • § FAQ 38 Large-scale data access. Large-scale extraction and replication must use access mechanisms and patterns documented for that purpose rather than treating a transactional or custom API as a general bulk-data surface.

Direction and usage pattern decide the policy relevance. Customer ABAP code may publish events outward, but it must not be used to bypass SAP API controls or substitute a custom event stream for a documented bulk-data pathway.

SAP API Policy 4.2026a →

Artifacts20

Group by20 of 20 artifacts
ArtifactSignals
Apps1
MQBAMQTT publish/subscribe in ABAP with an external broker bridge
Signals
Quiet+1
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
Packages10
@sap/cdsCAP Node.js runtime
Signals
none
cesar-sap/abap_kafka_rest_proxyABAP connector to Kafka through the Confluent Kafka REST Proxy
Signals
Quiet+1
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
gregorwolf/AWS_SNS4ABAPICF handler receiving Amazon SNS notifications in an ABAP system
Signals
Quiet
INVIXO/abapMQMQTT 3.1.1 client implemented in ABAP
Signals
Quiet
Services4
Event MeshManaged queues and topics over AMQP, MQTT and REST
Signals
none
SAP Cloud Application Event HubDistributes business events between SAP cloud applications
Signals
none
SAP Integration Suite, advanced event meshEvent streaming and management platform in Integration Suite
Signals
none
SAP Integration Suite, Event MeshEvent broker inside SAP 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 →

Content38

Group by38 of 38 pieces
Piece, what it offers
IntegrAItion: Event-Driven Intelligence
YouTube — SAP Developers playlists, SAP Developers, Talk
Clean Core by Design: Event Enablement Cockpit as a Core Integration Enabler in SAP S/4HANA
SAP Community, HammadSharif1, Blog
Event Mesh + AMQP: The Retry Trap Nobody Warns You About
SAP Community, MateuszPiotrowski, Blog
Show 35 more
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
Receive Events from Event Mesh of Integration Suite to CAP Node.js Applications
SAP Community, KevinWang_ST_Consultancy, Blog
SAP Codejam on Event Driven Build Process
SAP Community, Sharathmg, Blog
Connecting SAP S/4HANA On-Prem Directly to Advanced Event Mesh using Cloud Connector - finally!
SAP Community, sissyhae, Blog
How to use a CAP application to manage DMQ messages on SAP Advanced Event Mesh
SAP Community, stefan-keuker, BlogThe reasoningRunnable code
Core changed
SAP EHS Public Cloud: Extending Your Existing Landscape Side-by-Side - Guidebook (Part 4)
SAP Community, duynguyendeloitte, part 4 of 4, Blog
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
Enhancing SAP Business Events with Custom Payload Fields using RAP
SAP Community, BramhaniG, Blog
Getting Started with SAP Event Mesh: Concepts, Setup, and Best Practices
SAP Community, vvinay_kumar, Blog
Designing Event-Driven Applications
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM
SAP Community, AlexPfeil, Blog
How to subscribe or fetch data from solace to CPI using AEM Adapter : part-5
SAP Community, pavanKolla, Blog
Beginners Guide to Advanced Event Mesh
SAP Community, PriyankaChak, Blog
SAP Event Mesh Architecture Patterns
SAP Community, vbalko-claimate, Blog
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata Poll
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
SAP Advanced Event Mesh – Manage Advance Event Mesh with API’s
SAP Community, Nils_Lorenz, Blog
A Natural Choice: SAP AIF can now expose events to Advanced Event Mesh to power your EDA
SAP Community, KStrothmann, Blog
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and Webhooks
SAP Community, FarooqAhmed, Blog
[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
Event Add-On for ERP: All you need to know about the new Event Studio
YouTube — SAP Developers playlists, SAP Developers, Talk
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
IntegrAItion: Event-Driven Intelligence
YouTube — SAP Developers playlists, SAP Developers, Talk
Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh
SAP Community, Benedikt_Sprung, Blog
SAP Codejam on Event Driven Build Process
SAP Community, Sharathmg, Blog
Show 7 more
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM
SAP Community, AlexPfeil, 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
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
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and Webhooks
SAP Community, FarooqAhmed, Blog
Receive Events from Event Mesh of Integration Suite to CAP Node.js Applications
SAP Community, KevinWang_ST_Consultancy, Blog
Getting Started with SAP Event Mesh: Concepts, Setup, and Best Practices
SAP Community, vvinay_kumar, 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 working8

ArtifactSignals
Samples8
cap-bp-ragEvent-driven RAG app with CAP, Cloud Integration and SAP HANA Cloud
No license
SAP-samples/btp-aws-monitronProof of concept turning AWS IoT events into S/4HANA notifications
none
SAP-samples/btp-event-driven-multi-tenant-architectureCAP sample of SAP Event Mesh events feeding a multi-tenant SaaS app
none
SAP-samples/event-driven-integrations-codejamCodeJam moving from polling to pub-sub on advanced event mesh
none
SAP-samples/event-hub-cap-samplesCAP consumer of SAP Cloud Application Event Hub events
none
SAP-samples/event-mesh-client-java-samplesSpring Boot apps messaging over SAP Event Mesh's Java JMS client
none
SAP-samples/event-mesh-client-nodejs-samplesNode.js samples for SAP Event Mesh's AMQP 1.0 messaging client
none
SAP-samples/teched2025-IN162TechEd 2025 workshop piping business events into HANA vectors
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
state in BTP/BAIPcore only, assessed
state in ABAPcore and community, 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