{"ref":"capability:event-mesh","page":"/capabilities/event-mesh","json":"/capabilities/event-mesh.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"event-mesh","name":"Event Mesh","domain":"integration-and-messaging","ecosystems":["cap","btp","abap"],"universal":true,"description":"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](capability:async-processing).","short":"Emitting and consuming business events across systems through brokers","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-27","what_core_does":"A messaging abstraction with adapters for the SAP brokers, so handlers stay broker-agnostic: with an SAP Event Mesh instance bound, the `enterprise-messaging` kind creates a queue for each receiver process and its subscriptions on its own, the shared variant speaks AMQP for a single tenant, and an SAP S/4HANA event arrives through the same `srv.on` as an event from a CAP service, once its API is imported and the event declared. The messaging services rest on the runtime's intrinsic eventing: every service emits and reacts to events, and a broker only extends the reach of the same emit and on across processes.","where_it_stops":"It stops at SAP-brokered eventing. Non-SAP brokers, and anything needing schema registries or replay, are plugins or your own code.","sources":[{"url":"https://cap.cloud.sap/docs/guides/events/messaging","title":"Messaging — broker-agnostic handlers","checked":"2026-08-31"},{"url":"https://cap.cloud.sap/docs/guides/events/event-mesh","title":"Messaging via SAP Event Mesh — capire","checked":"2026-09-27","quote":"CAP provides out-of-the-box support for SAP Event Mesh, and automatically handles many things behind the scenes, so that application coding stays agnostic and focused on conceptual messaging."},{"url":"https://cap.cloud.sap/docs/guides/events/event-mesh","title":"Messaging via SAP Event Mesh — capire","checked":"2026-09-27","quote":"When you run the services with a bound instance of SAP Event Mesh as documented in a previous section, CAP messaging service implementations will automatically create a queue for each receiver process."},{"url":"https://cap.cloud.sap/docs/guides/events/event-mesh","title":"Messaging via SAP Event Mesh — capire","checked":"2026-09-27","quote":"The enterprise-messaging-shared variant is for single-tenant usage and uses AMQP by default."},{"url":"https://cap.cloud.sap/docs/guides/events/s4","title":"Receiving Events from SAP S/4HANA Cloud Systems — capire","checked":"2026-09-27","quote":"SAP S/4HANA integrates SAP Event Mesh as well as SAP Cloud Application Event Hub for messaging. Hence, it is relatively easy for CAP-based application to receive events from SAP S/4HANA systems."},{"url":"https://cap.cloud.sap/docs/guides/events/s4","title":"Receiving Events from SAP S/4HANA Cloud Systems — capire","checked":"2026-09-27","quote":"With agnostic consumption, you can easily receive events from SAP S/4HANA the same way as from CAP services as already explained in this guide"},{"url":"https://cap.cloud.sap/docs/guides/events/core-concepts","title":"Core Eventing in CAP — capire","checked":"2026-09-27","quote":"All CAP services intrinsically support emitting and reacting to events, as shown in this simple code snippet"},{"url":"https://cap.cloud.sap/docs/guides/events/","title":"Events and Messaging — capire","checked":"2026-09-27","quote":"How CAP's Messaging Services connect to message brokers to exchange event messages with remote services, complementing CAP's intrinsic event support."}],"relationship":"narrow-by-design"},"changed_in":[{"version":"@sap/cds 10.0.3","date":"2026-07-02","applies_to":{"ecosystems":["cap"],"flavors":["node"]},"what_changed":"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.","invalidates":"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.","source":{"url":"https://cap.cloud.sap/docs/releases/2026/jun26","title":"CAP release notes, June 2026 — Event Mesh Support (Beta)","checked":"2026-09-08","quote":"CAP Node.js now supports Event Mesh in SAP Integration Suite as an alternative to SAP Event Mesh classic (enterprise-messaging)."}}],"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-09-09","field":"ecosystems","from":"cap","to":"cap, btp","reason":"The BTP services answering this were in the corpus while the capability was not on the BTP map, so browse counted them behind the door and had no group to render them in. The BTP door is a reading of its own — a fallback to CAP's would assert something false about a service you bind rather than install."},{"date":"2026-09-13","field":"name","from":"Event Mesh and eventing","to":"Event Mesh","reason":"The map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans."},{"date":"2026-09-14","field":"ecosystems","from":"cap, btp","to":"cap, btp, abap","reason":"Widened to ABAP: cesar-sap/abap_kafka_rest_proxy produces to and consumes from Kafka, INVIXO/abapMQ and MDJoerg/MQBA speak MQTT, and gregorwolf/AWS_SNS4ABAP receives AWS SNS notifications in an ABAP system."},{"date":"2026-09-27","field":"core_coverage.what_core_does","from":"a messaging abstraction with adapters","to":"the abstraction, automatic queues on Event Mesh, S/4HANA events through the same handler","reason":"capire audit 2026-09-27: the Event Mesh and S/4HANA events guides were cited nowhere, and only the Java runtime carried an edge for this capability."},{"date":"2026-09-27","field":"core_coverage","from":"without the page","to":"cites the page","reason":"capire audit 2026-09-27: a page this capability owns was cited nowhere."},{"date":"2026-09-27","field":"core_coverage","from":"without the page","to":"cites the page","reason":"capire audit 2026-09-27, proposed pages read a fourth time: the paragraph says messaging rests on intrinsic eventing, and the events index says the same in SAP's words."},{"date":"2026-10-17","field":"description","from":"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](capability:async-processing) rather than here.","to":"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](capability:async-processing).","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"coverage_by_ecosystem.btp.note","from":"Every provider behind this door is an SAP BTP service, so core-only is a assessment of the corpus rather than a quote from the core. what_core_does is left empty: no page has been checked that states an intent here, and the services themselves carry their own descriptions and links.","to":"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.","reason":"Reassessed against the graph (check:capabilities): the note made a claim about every provider and named none, and the SAP services that arrived since the block was assessed (Advanced Event Mesh, the Integration Suite event broker, Cloud Application Event Hub) shape the answer. The state stays core-only, since every provider counting for the door is sap-official."}],"coverage_by_ecosystem":{"btp":{"state":"core-only","assessed_at":"2026-09-09","where_it_stops":"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.","note":"The brokers on this door are SAP BTP services: [Event Mesh](artifact:btp-event-mesh), [Advanced Event Mesh](artifact:btp-advanced-event-mesh), the [Integration Suite event broker](artifact:btp-integration-suite-event-mesh) and [Cloud Application Event Hub](artifact:btp-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."},"abap":{"state":"core-and-community","assessed_at":"2026-09-14","what_core_does":"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.","where_it_stops":"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.","sources":[{"url":"https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-US/abapraise_entity_event.htm","title":"ABAP Keyword Documentation — RAISE ENTITY EVENT","checked":"2026-09-14","quote":"Raises a RAP business event."},{"url":"https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-US/abenbdl_event.htm","title":"ABAP Keyword Documentation — RAP BDL event","checked":"2026-09-14","quote":"an event binding must be defined to map the event to an event type"},{"url":"https://github.com/MDJoerg/MQBA","title":"MDJoerg/MQBA — README","checked":"2026-09-14","quote":"With ABAP 7.53 SAP includes native MQTT support to the standard kernel."}],"relationship":"unassessed"}},"framing_by_ecosystem":{"btp":{"description":"[Event Mesh](artifact:btp-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."},"abap":{"description":"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."},"cap":{"description":"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](capability:async-processing) rather than here."}},"normative_relevance":[{"instrument":"instrument:sap-api-policy-v4-2026a","prominence":"contextual","sections":["2.2.2","3","FAQ 12","FAQ 27","FAQ 38"],"applies_when":"An 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.","note":"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.","applies_to":{"ecosystems":["abap"]},"sources":[{"url":"https://www.sap.com/docs/download/2026/04/e2a0665e-4c7f-0010-bca6-c68f7e60039b.pdf","title":"Frequently Asked Questions on SAP API Policy v1.3 — questions 12, 27 and 38","checked":"2026-09-16","quote":"Large-scale data extraction and replication ... must use the access mechanisms and patterns documented"}]}],"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"},{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-advanced-event-mesh","name":"@cap-js/advanced-event-mesh","json":"/artifacts/cap-js-advanced-event-mesh.json"},{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json"},{"ref":"artifact:cap-js-event-broker","name":"@cap-js/event-broker","json":"/artifacts/cap-js-event-broker.json"},{"ref":"artifact:cap-java-cds-feature-advanced-event-mesh","name":"com.sap.cds:cds-feature-advanced-event-mesh","json":"/artifacts/cap-java-cds-feature-advanced-event-mesh.json"},{"ref":"artifact:cap-java-cds-feature-enterprise-messaging","name":"com.sap.cds:cds-feature-enterprise-messaging","json":"/artifacts/cap-java-cds-feature-enterprise-messaging.json"},{"ref":"artifact:cap-java-cds-feature-event-hub","name":"com.sap.cds:cds-feature-event-hub","json":"/artifacts/cap-java-cds-feature-event-hub.json"},{"ref":"artifact:cap-java-cds-feature-kafka","name":"com.sap.cds:cds-feature-kafka","json":"/artifacts/cap-java-cds-feature-kafka.json"},{"ref":"artifact:cap-java-cds-feature-redis","name":"com.sap.cds:cds-feature-redis","json":"/artifacts/cap-java-cds-feature-redis.json"}]},"by_flavor":{"node":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-advanced-event-mesh","name":"@cap-js/advanced-event-mesh","json":"/artifacts/cap-js-advanced-event-mesh.json"},{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json"},{"ref":"artifact:cap-js-event-broker","name":"@cap-js/event-broker","json":"/artifacts/cap-js-event-broker.json"}]},"java":{"built_in":[{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-java-cds-feature-advanced-event-mesh","name":"com.sap.cds:cds-feature-advanced-event-mesh","json":"/artifacts/cap-java-cds-feature-advanced-event-mesh.json"},{"ref":"artifact:cap-java-cds-feature-enterprise-messaging","name":"com.sap.cds:cds-feature-enterprise-messaging","json":"/artifacts/cap-java-cds-feature-enterprise-messaging.json"},{"ref":"artifact:cap-java-cds-feature-event-hub","name":"com.sap.cds:cds-feature-event-hub","json":"/artifacts/cap-java-cds-feature-event-hub.json"},{"ref":"artifact:cap-java-cds-feature-kafka","name":"com.sap.cds:cds-feature-kafka","json":"/artifacts/cap-java-cds-feature-kafka.json"},{"ref":"artifact:cap-java-cds-feature-redis","name":"com.sap.cds:cds-feature-redis","json":"/artifacts/cap-java-cds-feature-redis.json"}]}}},"edges":{"use_cases":[{"id":"receive-messages-from-an-apache-kafka-topic","name":"Receive messages from an Apache Kafka topic","capability":"capability:event-mesh","ecosystem":"cap","flavors":["node","java"],"outcome":"Records that another system writes to a topic on an [Apache Kafka](external:kafka) cluster reach a handler in the application, which processes each one as an event.","boundary":"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](capability: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.","origin":"User question put to the atlas on 2026-09-19: which architectures receive inbound Kafka data.","requirement_dimensions":["Whether the application runs on Node.js or Java","Whether the application connects to the Kafka brokers itself or a service in between does","Whether the landscape already runs SAP Integration Suite, advanced event mesh, or Cloud Integration","How the records are encoded: JSON, or a binary format behind a schema registry","Whether several instances of the application share one consumer group","Whether records already in the topic have to be read, or only new ones"],"paths":[{"key":"advanced-event-mesh","name":"Through the Kafka bridge of SAP Integration Suite, advanced event mesh"}],"contributions":[{"ref":"artifact:sap-cds","role":"core runtime","state":"unknown","flavors":["node"],"description":"capire's Node.js messaging page names [Apache Kafka](external:kafka) as an example of a message broker and documents no messaging kind for it: the kinds it lists are [SAP Event Mesh](artifact:btp-event-mesh), [advanced event mesh](artifact:btp-advanced-event-mesh), the event broker, [Redis](external:redis), file-based, local and composite messaging. Part 1 of the [cds-kafka](artifact: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.","sources":[{"url":"https://cap.cloud.sap/docs/node.js/messaging","title":"Messaging, capire Node.js","checked":"2026-09-19","quote":"Examples include SAP Event Mesh, Apache Kafka, or Redis Streams."},{"url":"https://community.sap.com/t5/technology-blog-posts-by-members/using-apache-kafka-for-messaging-in-the-sap-cloud-application-programming/ba-p/13970176","title":"Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP), Part 1/2","checked":"2026-09-19","quote":"However, the Kafka service itself is not publicly available, and the existing Kafka Adapter in CAP is restricted, making it unsuitable for connecting to other Kafka instances outside of SAP BTP."}]},{"ref":"artifact:cds-kafka","role":"broker client","state":"documented","flavors":["node"],"version_scope":"README at mikezaschka/cds-kafka commit 6d821c7; npm latest 0.1.4.","description":"Registers 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.","remaining_kinds":["configuration","application-code"],"sources":[{"url":"https://raw.githubusercontent.com/mikezaschka/cds-kafka/6d821c76764e7465e2280ae556c0c8814cd563cd/readme.md","title":"cds-kafka README, Features","checked":"2026-09-19","quote":"Allows subscribing to one or multiple topics in Apache Kafka to receive incoming messages."},{"url":"https://raw.githubusercontent.com/mikezaschka/cds-kafka/6d821c76764e7465e2280ae556c0c8814cd563cd/readme.md","title":"cds-kafka README, Setup","checked":"2026-09-19","quote":"The Kafka groupId used when subscribing to a topic."},{"url":"https://raw.githubusercontent.com/mikezaschka/cds-kafka/6d821c76764e7465e2280ae556c0c8814cd563cd/readme.md","title":"cds-kafka README, regular expressions","checked":"2026-09-19","quote":"If a new matching topic is added after the application has started, the application must be restarted to receive messages from this topic."},{"url":"https://raw.githubusercontent.com/mikezaschka/cds-kafka/6d821c76764e7465e2280ae556c0c8814cd563cd/readme.md","title":"cds-kafka README, open work","checked":"2026-09-19","quote":"Look into confluent schema registry"}]},{"ref":"artifact:cap-java-cds-feature-kafka","role":"broker client","state":"unknown","flavors":["java"],"version_scope":"com.sap.cds:cds-feature-kafka 5.1.1 POM; capire as read on 2026-09-19.","description":"SAP's list of CAP Java modules gives this feature one line, intra-application messaging with [Apache Kafka](external: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](artifact:btp-event-mesh), [SAP Cloud Application Event Hub](artifact:btp-cloud-application-event-hub), [advanced event mesh](artifact:btp-advanced-event-mesh) and [Redis](external: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.","sources":[{"url":"https://cap.cloud.sap/docs/java/developing-applications/building","title":"Building Applications, capire Java, standard modules","checked":"2026-09-19","quote":"Benefit from intra-application messaging with Apache Kafka."},{"url":"https://repo1.maven.org/maven2/com/sap/cds/cds-feature-kafka/5.1.1/cds-feature-kafka-5.1.1.pom","title":"com.sap.cds:cds-feature-kafka POM (5.1.1)","checked":"2026-09-19","quote":"Kafka Messaging feature for CDS Services Java"},{"url":"https://cap.cloud.sap/docs/java/messaging","title":"Messaging, capire Java","checked":"2026-09-19","quote":"If using a message broker that supports native headers, for example Kafka, the headers are separated from the business data in the message broker."}]},{"ref":"artifact:btp-advanced-event-mesh","role":"Kafka bridge","state":"documented","paths":["advanced-event-mesh"],"description":"A 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.","remaining_kinds":["configuration"],"sources":[{"url":"https://help.pubsub.em.services.cloud.sap/Features/Kafka-Bridging/Kafka-Bridging-Overview.htm","title":"Kafka Bridging Overview, SAP Integration Suite, advanced event mesh","checked":"2026-09-19","quote":"receives records from one or more Kafka topics, converts the records to Solace Message Format (SMF) messages, and publishes them to topics on the SAP event broker."},{"url":"https://help.pubsub.em.services.cloud.sap/Features/Kafka-Bridging/Kafka-Bridging-Overview.htm","title":"Kafka Bridging Overview, SAP Integration Suite, advanced event mesh","checked":"2026-09-19","quote":"no external Kafka Connect infrastructure is required in order to pass messages to and from Kafka."}]},{"ref":"artifact:cap-js-advanced-event-mesh","role":"broker client","state":"conditional","paths":["advanced-event-mesh"],"flavors":["node"],"version_scope":"README at cap-js/advanced-event-mesh commit e2b6dce.","conditions":["A Kafka Receiver on the advanced event mesh broker publishes the Kafka records to a broker topic the application subscribes to"],"description":"Connects CAP's messaging service to [SAP Integration Suite, advanced event mesh](artifact:btp-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.","remaining_work":"Create the broker by hand and establish trust to the application in [Cloud Identity Services](artifact:btp-cloud-identity-services), as the README requires, then subscribe to the broker topic the Kafka Receiver publishes to.","remaining_kinds":["configuration"],"sources":[{"url":"https://raw.githubusercontent.com/cap-js/advanced-event-mesh/e2b6dcedf1390be1a88cdd1244d72f4a50289042/README.md","title":"@cap-js/advanced-event-mesh README","checked":"2026-09-19","quote":"CDS plugin providing integration with SAP Integration Suite, advanced event mesh."},{"url":"https://raw.githubusercontent.com/cap-js/advanced-event-mesh/e2b6dcedf1390be1a88cdd1244d72f4a50289042/README.md","title":"@cap-js/advanced-event-mesh README, Setting Up the Broker","checked":"2026-09-19","quote":"The broker itself must be created manually in SAP Integration Suite, advanced event mesh and trust must be established to the respective application"}]},{"ref":"artifact:cap-java-cds-feature-advanced-event-mesh","role":"broker client","state":"conditional","paths":["advanced-event-mesh"],"flavors":["java"],"version_scope":"README at cap-java/cds-feature-advanced-event-mesh commit eb81ff6.","conditions":["A Kafka Receiver on the advanced event mesh broker publishes the Kafka records to a broker topic the application subscribes to"],"description":"Connects CAP Java's messaging service to [SAP Integration Suite, advanced event mesh](artifact:btp-advanced-event-mesh) once a messaging service's `kind` is `aem`. The README does not mention Kafka: the plugin receives what the broker delivers.","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.","remaining_kinds":["configuration"],"sources":[{"url":"https://raw.githubusercontent.com/cap-java/cds-feature-advanced-event-mesh/eb81ff66ed50874b0bab03893a2aa9c4d2d1a0db/README.md","title":"cds-feature-advanced-event-mesh README","checked":"2026-09-19","quote":"CDS plugin providing integration with SAP Integration Suite, advanced event mesh."},{"url":"https://raw.githubusercontent.com/cap-java/cds-feature-advanced-event-mesh/eb81ff66ed50874b0bab03893a2aa9c4d2d1a0db/README.md","title":"cds-feature-advanced-event-mesh README","checked":"2026-09-19","quote":"Your app must be bound to an instance of service `SAP Integration Suite, advanced event mesh` with plan `aem-validation-service`."}]},{"ref":"artifact:btp-cloud-integration","role":"Kafka sender adapter","state":"documented","description":"The Kafka adapter of [Cloud Integration](artifact:btp-cloud-integration), a part of [SAP Integration Suite](artifact:btp-integration-suite), connects to an external Kafka broker over the Kafka protocol, and its sender side receives messages from the broker into an integration flow. SAP's page points to SAP Note 3715816 for the adapter's feature scope, which was not read.","remaining_work":"An integration flow that takes each record from the Kafka sender adapter and hands it to the application, and an endpoint or a broker subscription in the application for it to arrive at. Neither is part of the adapter.","remaining_kinds":["application-code","own-component"],"sources":[{"url":"https://help.sap.com/docs/cloud-integration/sap-cloud-integration/kafka-adapter","title":"Kafka Adapter, SAP Cloud Integration","checked":"2026-09-19","quote":"With the Kafka Adapter, SAP Cloud Integration allows you to connect to an external Kafka broker via Kafka protocol. With the help of the Kafka Sender adapter you can receive messages."}]}],"readings":[{"ref":"content:using-apache-kafka-for-messaging-in-cap-part-1","relevance":"Names the three SAP-side routes to Kafka (the Cloud Integration adapter, the advanced event mesh bridge and Kafka Connect) before it introduces cds-kafka, and documents the consumer group and initial offset settings."},{"ref":"content:using-apache-kafka-for-messaging-in-cap-part-2","relevance":"Walks a consuming CAP application through a local broker, Confluent Cloud and a deployment on SAP BTP with the cluster's credentials in a user-provided service.","flavors":["node"]}],"unknowns":["No source read here shows the advanced event mesh Kafka bridge and one of the CAP plugins working together. Each half is documented on its own, and whether a bridged record's user properties reach the CAP handler as headers is not stated.","SAP Note 3715816, which holds the feature scope of the Cloud Integration Kafka adapter, needs an SAP login and was not read.","Kafka Connect is named in part 1 of the blog series as a third SAP-side route. It has no entry in the graph and was not researched.","None of the sources states how any of these paths behaves when the handler fails: whether the offset is committed, and whether the record is delivered again."],"assessed_at":"2026-09-19","drafted_with_ai":true,"history":[{"date":"2026-09-20","field":"contributions[6].ref","from":"artifact:btp-integration-suite","to":"artifact:btp-cloud-integration","reason":"Cloud Integration entered the graph on 2026-09-20 as a part of SAP Integration Suite. The Kafka adapter is Cloud Integration's, which the contribution's role already said, so the contribution points at the part. No claim, state or source changes."},{"date":"2026-09-21","field":"paths","from":null,"to":"advanced-event-mesh","reason":"The record listed seven contributions without saying which belong together. One way has several parts and is named: the broker's Kafka bridge with the plugin for that broker, one plugin per runtime. Every other contribution names no path and stands alone, the two Kafka clients included: a path would say each is a way to this outcome, and for com.sap.cds:cds-feature-kafka that is not documented. The path cites no source, because none read here shows its parts together, which the record's unknowns already say."},{"date":"2026-09-22","field":"flavors","from":null,"to":"node, java","reason":"The record was assessed in both CAP runtimes from the start: five of its seven contributions state a flavor, node or java, and the two BTP services apply in either. Without a task scope it was visible only in the door's reading and drawn as one figure with both runtimes' parts together. No contribution changes."}],"omitted_contributions":0,"assessment_kind":"documented-contributions"}],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-advanced-event-mesh","name":"@cap-js/advanced-event-mesh","json":"/artifacts/cap-js-advanced-event-mesh.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-js-event-broker","name":"@cap-js/event-broker","json":"/artifacts/cap-js-event-broker.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:chuckberrry-cds-event-monitoring","name":"cds-event-monitoring","json":"/artifacts/chuckberrry-cds-event-monitoring.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:cds-kafka","name":"cds-kafka","json":"/artifacts/cds-kafka.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:cesar-sap-abap-kafka-rest-proxy","name":"cesar-sap/abap_kafka_rest_proxy","json":"/artifacts/cesar-sap-abap-kafka-rest-proxy.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:cap-java-cds-feature-advanced-event-mesh","name":"com.sap.cds:cds-feature-advanced-event-mesh","json":"/artifacts/cap-java-cds-feature-advanced-event-mesh.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-enterprise-messaging","name":"com.sap.cds:cds-feature-enterprise-messaging","json":"/artifacts/cap-java-cds-feature-enterprise-messaging.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-event-hub","name":"com.sap.cds:cds-feature-event-hub","json":"/artifacts/cap-java-cds-feature-event-hub.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-kafka","name":"com.sap.cds:cds-feature-kafka","json":"/artifacts/cap-java-cds-feature-kafka.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-redis","name":"com.sap.cds:cds-feature-redis","json":"/artifacts/cap-java-cds-feature-redis.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:btp-event-mesh","name":"Event Mesh","json":"/artifacts/btp-event-mesh.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:gregorwolf-aws-sns4abap","name":"gregorwolf/AWS_SNS4ABAP","json":"/artifacts/gregorwolf-aws-sns4abap.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:invixo-abapmq","name":"INVIXO/abapMQ","json":"/artifacts/invixo-abapmq.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:mdjoerg-mqba","name":"MQBA","json":"/artifacts/mdjoerg-mqba.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:btp-cloud-application-event-hub","name":"SAP Cloud Application Event Hub","json":"/artifacts/btp-cloud-application-event-hub.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:btp-advanced-event-mesh","name":"SAP Integration Suite, advanced event mesh","json":"/artifacts/btp-advanced-event-mesh.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:btp-integration-suite-event-mesh","name":"SAP Integration Suite, Event Mesh","json":"/artifacts/btp-integration-suite-event-mesh.json","ecosystem":"btp","origin_ring":"sap-official"}],"samples":[{"ref":"artifact:miyasuta-cap-bp-rag","name":"cap-bp-rag","json":"/artifacts/miyasuta-cap-bp-rag.json"},{"ref":"artifact:sap-samples-btp-aws-monitron","name":"SAP-samples/btp-aws-monitron","json":"/artifacts/sap-samples-btp-aws-monitron.json"},{"ref":"artifact:sap-samples-btp-event-driven-multi-tenant-architecture","name":"SAP-samples/btp-event-driven-multi-tenant-architecture","json":"/artifacts/sap-samples-btp-event-driven-multi-tenant-architecture.json"},{"ref":"artifact:sap-samples-event-driven-integrations-codejam","name":"SAP-samples/event-driven-integrations-codejam","json":"/artifacts/sap-samples-event-driven-integrations-codejam.json"},{"ref":"artifact:sap-samples-event-hub-cap-samples","name":"SAP-samples/event-hub-cap-samples","json":"/artifacts/sap-samples-event-hub-cap-samples.json"},{"ref":"artifact:sap-samples-event-mesh-client-java-samples","name":"SAP-samples/event-mesh-client-java-samples","json":"/artifacts/sap-samples-event-mesh-client-java-samples.json"},{"ref":"artifact:sap-samples-event-mesh-client-nodejs-samples","name":"SAP-samples/event-mesh-client-nodejs-samples","json":"/artifacts/sap-samples-event-mesh-client-nodejs-samples.json"},{"ref":"artifact:sap-samples-teched2025-in162","name":"SAP-samples/teched2025-IN162","json":"/artifacts/sap-samples-teched2025-in162.json"}],"explained_by":[{"ref":"content:devtoberfest-2026-event-driven-intelligence","name":"IntegrAItion: Event-Driven Intelligence","json":"/content/devtoberfest-2026-event-driven-intelligence.json"},{"ref":"content:clean-core-by-design-event-enablement-cockpit-as-a-core-integration-enabler-in-s","name":"Clean Core by Design: Event Enablement Cockpit as a Core Integration Enabler in SAP S/4HANA","json":"/content/clean-core-by-design-event-enablement-cockpit-as-a-core-integration-enabler-in-s.json"},{"ref":"content:event-mesh-amqp-the-retry-trap-nobody-warns-you-about","name":"Event Mesh + AMQP: The Retry Trap Nobody Warns You About","json":"/content/event-mesh-amqp-the-retry-trap-nobody-warns-you-about.json"},{"ref":"content:migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced-event-mes","name":"Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh","json":"/content/migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced-event-mes.json"},{"ref":"content:publish-events-from-cap-nodejs-to-integration-suite-event-mesh","name":"Publish events from CAP Node.js applications to Event Mesh of Integration Suite","json":"/content/publish-events-from-cap-nodejs-to-integration-suite-event-mesh.json"},{"ref":"content:receive-events-from-event-mesh-of-integration-suite-to-cap-node-js-applications","name":"Receive Events from Event Mesh of Integration Suite to CAP Node.js Applications","json":"/content/receive-events-from-event-mesh-of-integration-suite-to-cap-node-js-applications.json"},{"ref":"content:sap-codejam-on-event-driven-build-process","name":"SAP Codejam on Event Driven Build Process","json":"/content/sap-codejam-on-event-driven-build-process.json"},{"ref":"content:connecting-sap-s-4hana-on-prem-directly-to-advanced-event-mesh-using-cloud-conne","name":"Connecting SAP S/4HANA On-Prem Directly to Advanced Event Mesh using Cloud Connector - finally!","json":"/content/connecting-sap-s-4hana-on-prem-directly-to-advanced-event-mesh-using-cloud-conne.json"},{"ref":"content:manage-dmq-messages-on-advanced-event-mesh-with-a-cap-application","name":"How to use a CAP application to manage DMQ messages on SAP Advanced Event Mesh","json":"/content/manage-dmq-messages-on-advanced-event-mesh-with-a-cap-application.json"},{"ref":"content:sap-ehs-public-cloud-extending-your-existing-landscape-side-by-side-guidebook-pa","name":"SAP EHS Public Cloud: Extending Your Existing Landscape Side-by-Side - Guidebook (Part 4)","json":"/content/sap-ehs-public-cloud-extending-your-existing-landscape-side-by-side-guidebook-pa.json"},{"ref":"content:implementing-event-driven-architecture-in-cap-java-using-sap-event-mesh","name":"Implementing Event-Driven Architecture in CAP Java using SAP Event Mesh","json":"/content/implementing-event-driven-architecture-in-cap-java-using-sap-event-mesh.json"},{"ref":"content:setting-up-cap-plugin-for-advanced-event-mesh-with-oauth","name":"Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth Authentication","json":"/content/setting-up-cap-plugin-for-advanced-event-mesh-with-oauth.json"},{"ref":"content:enhancing-sap-business-events-with-custom-payload-fields-using-rap","name":"Enhancing SAP Business Events with Custom Payload Fields using RAP","json":"/content/enhancing-sap-business-events-with-custom-payload-fields-using-rap.json"},{"ref":"content:getting-started-with-sap-event-mesh-concepts-setup-and-best-practices","name":"Getting Started with SAP Event Mesh: Concepts, Setup, and Best Practices","json":"/content/getting-started-with-sap-event-mesh-concepts-setup-and-best-practices.json"},{"ref":"content:ac-designing-event-driven-applications","name":"Designing Event-Driven Applications","json":"/content/ac-designing-event-driven-applications.json"},{"ref":"content:event-enabling-sap-data-replication-framework-with-advanced-event-mesh-aifaem","name":"Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM","json":"/content/event-enabling-sap-data-replication-framework-with-advanced-event-mesh-aifaem.json"},{"ref":"content:how-to-subscribe-or-fetch-data-from-solace-to-cpi-using-aem-adapter-part-5","name":"How to subscribe or fetch data from solace to CPI using AEM Adapter : part-5","json":"/content/how-to-subscribe-or-fetch-data-from-solace-to-cpi-using-aem-adapter-part-5.json"},{"ref":"content:beginners-guide-to-advanced-event-mesh","name":"Beginners Guide to Advanced Event Mesh","json":"/content/beginners-guide-to-advanced-event-mesh.json"},{"ref":"content:sap-event-mesh-architecture-patterns","name":"SAP Event Mesh Architecture Patterns","json":"/content/sap-event-mesh-architecture-patterns.json"},{"ref":"content:how-to-perform-initial-loads-from-s-4hana-to-advanced-event-mesh-with-odata-poll","name":"How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata Poll","json":"/content/how-to-perform-initial-loads-from-s-4hana-to-advanced-event-mesh-with-odata-poll.json"},{"ref":"content:using-apache-kafka-for-messaging-in-cap-part-2","name":"Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2","json":"/content/using-apache-kafka-for-messaging-in-cap-part-2.json"},{"ref":"content:using-apache-kafka-for-messaging-in-cap-part-1","name":"Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2","json":"/content/using-apache-kafka-for-messaging-in-cap-part-1.json"},{"ref":"content:event-driven-multi-tenant-architecture-with-cap-and-sap-event-mesh","name":"Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event Mesh","json":"/content/event-driven-multi-tenant-architecture-with-cap-and-sap-event-mesh.json"},{"ref":"content:triggering-sap-build-process-automation-processes-from-cap-apps","name":"Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Apps","json":"/content/triggering-sap-build-process-automation-processes-from-cap-apps.json"},{"ref":"content:integrating-s4hana-invoicing-with-ksef-using-event-mesh-and-cap","name":"Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAP","json":"/content/integrating-s4hana-invoicing-with-ksef-using-event-mesh-and-cap.json"},{"ref":"content:sap-advanced-event-mesh-manage-advance-event-mesh-with-api-s","name":"SAP Advanced Event Mesh – Manage Advance Event Mesh with API’s","json":"/content/sap-advanced-event-mesh-manage-advance-event-mesh-with-api-s.json"},{"ref":"content:a-natural-choice-sap-aif-can-now-expose-events-to-advanced-event-mesh-to-power-y","name":"A Natural Choice: SAP AIF can now expose events to Advanced Event Mesh to power your EDA","json":"/content/a-natural-choice-sap-aif-can-now-expose-events-to-advanced-event-mesh-to-power-y.json"},{"ref":"content:sap-event-mesh-s4-hana-on-prem-and-sap-ci-btp-is-through-websocket-and-webhooks","name":"SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and Webhooks","json":"/content/sap-event-mesh-s4-hana-on-prem-and-sap-ci-btp-is-through-websocket-and-webhooks.json"},{"ref":"content:sap-event-mesh-consuming-s4-events-in-cap-and-integration-suite","name":"[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration Suite","json":"/content/sap-event-mesh-consuming-s4-events-in-cap-and-integration-suite.json"},{"ref":"content:event-driven-architecture-with-event-mesh-part-2","name":"Event Driven Architecture with Event Mesh – Part-2","json":"/content/event-driven-architecture-with-event-mesh-part-2.json"},{"ref":"content:event-driven-architecture-with-event-mesh-part-1","name":"Event Driven Architecture with Event Mesh - Part-1","json":"/content/event-driven-architecture-with-event-mesh-part-1.json"},{"ref":"content:sap-event-mesh-cap-based-implementation-single-tenant","name":"[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenario","json":"/content/sap-event-mesh-cap-based-implementation-single-tenant.json"},{"ref":"content:cap-specifying-the-queues-to-be-consumed-from-sap-event-mesh","name":"CAP - Specifying the queues to be consumed from SAP Event Mesh","json":"/content/cap-specifying-the-queues-to-be-consumed-from-sap-event-mesh.json"},{"ref":"content:event-driven-extensions-for-sap-successfactors-on-sap-btp-connecting-the-dots","name":"Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the Dots","json":"/content/event-driven-extensions-for-sap-successfactors-on-sap-btp-connecting-the-dots.json"},{"ref":"content:devtoberfest-2026-int-43-event-studio","name":"Event Add-On for ERP: All you need to know about the new Event Studio","json":"/content/devtoberfest-2026-int-43-event-studio.json"},{"ref":"content:teched-2026-in111","name":"Unlock composable business using SAP Integration Suite, advanced event mesh","json":"/content/teched-2026-in111.json"},{"ref":"content:teched-2026-in163","name":"Build your own event-driven scenario with advanced event mesh","json":"/content/teched-2026-in163.json"},{"ref":"content:teched-2026-st115","name":"Build real-time event-driven integrations for your enterprise","json":"/content/teched-2026-st115.json"}],"normative_context":[{"ref":"instrument:sap-api-policy-v4-2026a","name":"SAP API Policy","json":"/instruments/sap-api-policy-v4-2026a.json","prominence":"contextual","sections":["2.2.2","3","FAQ 12","FAQ 27","FAQ 38"]}]}}