This includes interface specifications, schemas and transformations; executing them in middleware belongs to integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only.
Integration & Messaging
How one system talks to another without becoming it: destinations, events, RFC calls, integration flows, and the documents and notifications that leave the application.
Capabilities
Compare the concerns mapped here and open an ecosystem for its assessment. Artifact counts show providers; content counts show items linked directly to the capability.
Each ecosystem hexagon shows its own coverage assessment. Coverage is never combined across ecosystems.
Artifacts
Providers, examples and other artifacts mapped to this domain, from SAP and the community. Each artifact appears once.
If you need sub-second fan-out to external consumers this is the wrong layer — reach for [Event Mesh](artifact:btp-event-mesh) or Kafka. Without [Redis](external:redis), periodic processing still works but instant dispatch degrades to polling.
Release and repository quiet for 24 months.
Node below 22, or [@sap/cds](artifact:sap-cds) below 9: the package declares the first in engines and the second as a peer dependency. Any mail path other than Microsoft Graph, until a provider is written for it: graph is the only kind that sends, and basic, the kind configured by default, is the base class such a provider extends.
Reach for the original unless you know why you are not. This is a republished copy rather than a fork with a direction of its own: the README points at cap-js/notifications for the details, and nothing here says what was changed or why.
Quiet Release and repository quiet for 57 months.
Functional boundary The package declares `@sap/cds` ^4.5.2 among its dependencies and pins `@sap-cloud-sdk/core` at 1.37.1, so a project on CAP 5 or later is outside the range it states.
Input arrives only as JSON, or as plain XML if the ABAP built-in transformation is switched on, whatever the output format is set to. Cross-site calls are limited to JSONP: the maintainer lists CORS support as planned.
Only on SAP S/4HANA 2023 and 2025, on premise or private cloud: [SAP S/4HANA Cloud, Public Edition](external:sap-s4hana-cloud-public-edition) and the [SAP BTP ABAP environment](artifact:btp-abap-environment) are listed as coming soon, and a 2023 system has to leave out `ZABAP_PRC_EVENTS_SE_2025`, whose event-based side effects rely on APIs released with S/4HANA 2025. Not for a system that already carries a copy, because object names are global and two versions cannot live side by side, and not for a productive system by way of the `ZABAP_PRC_DEMO*` packages, which the README states are not intended for one and whose init classes delete and rebuild their own tables on every run. While the major version is 0 the public API is not stable: minor bumps carry breaking changes with no deprecation period, so productive use means pinning a tag and reading the CHANGELOG before every upgrade.
No published releases; repository quiet for 73 months.
No published releases; repository quiet for 54 months.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Nothing about it is readable from outside the package: there is no repository, no issue tracker, and the npm page carries no readme, so the README, the examples and the changelog can be read only from the tarball or a CDN mirror, and a bug has nowhere to be filed. Provider URLs are called from the plugin with API keys taken from environment variables in a .env file, so on BTP no call resolves through a destination and the keys live in the environment. The npm line stops at 1.0.1 on 3 November 2025; the changelog shipped inside that version is headed v2.1, so the version npm shows and the version the author counts are not the same.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Last released December 2022. Nothing says it fails on current cds, but nothing says it was tried either. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number.
Release and repository quiet for 46 months.
No published releases; repository quiet for 57 months.
Design-time only: no message monitoring, no deployment, no runtime status. That is a different server in this same section, and the two do not overlap.
Quiet No published releases; repository quiet for 52 months.
Functional boundary On an SAP S/4HANA system the maintainer points elsewhere: the README calls this solution helpful for non-S/4 systems and names SAP's own e-mail templates with CDS views as what S/4 systems have instead.
DataZoo GmbH calls the extension experimental and states that minimal testing and benchmarking were done. The Business Source License 1.1 it carries restricts offering the software to third parties on a hosted or embedded basis, so an embedding product needs a commercial licence. Telemetry is on by default and is switched off per session with `SET erpl_telemetry_enabled = false` or for the machine with `DATAZOO_DISABLE_TELEMETRY=1`.
BUSL-1.1 rather than node-rfc's Apache-2.0, so a product you distribute has to be read against the licence and its Additional Use Grant first, and the source is closed: the GitHub repository is the issue tracker and the documentation, nothing else. `RfcServerOptions.bgRfcHandlers` raises instead of accepting handlers, so a server receiving inbound bgRFC units is outside what this does. An ABAP `MESSAGE`-raised failure still arrives with its T100 template rather than the rendered sentence, and the dump name is not reported as `key` for that case.
No published releases; repository quiet for 64 months.
No published releases; repository quiet for 68 months.
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
It deploys and undeploys, and it enumerates credentials, keystores and OAuth2 configurations. Listing security material is a read, and it is still a read of the thing that protects everything else the tenant talks to.
Quiet No published releases; repository quiet for 75 months.
Functional boundary The maintainer calls the project beta, states there are no experiences with productive usage, and leaves productive use at your own risk. Two further conditions are stated: the implementation used a NetWeaver ABAP stack 7.50 and a 7.40 was not tested, and a system user has to be maintained for the websocket services, because the external websocket tools do not support user-based authorization.
The maintainer states 0.x is beta with no production SLA, and scopes support deliberately narrowly: direct application-server transport, classic serialization and password authentication on S/4HANA 2023 and NetWeaver 7.50. Anything outside that is untested rather than unsupported.
No published releases; repository quiet for 93 months.
For an app that calls `client->set_session_stateful( )`, which needs the ICF session of the system it runs on; apps keeping their state in the draft table, the abap2UI5 default, work unchanged. For an app that reads a request header through the user exit on the source system, because the consumer forwards method, body, path, query string and status, not headers.
Inspection only, and it takes a host, a user and a password from the environment rather than a managed credential. PI and PO are also on their own end-of-maintenance path, which is the context any investment here sits in.
No published releases; repository quiet for 63 months.
No published releases; repository quiet for 33 months.
Related capabilities
Work that must survive a request, including deferred processing and retries, belongs to async processingAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.SAP and community, narrow by design.
Serving HTTP is the other direction, and where the address and the credential are kept is destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed.
Reaching a remote system from application code is destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, and brokering events between systems is Event MeshEvent MeshEmitting 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.SAP and community, narrow by design.
Reaching a remote system from application code is destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, and brokering events between systems is Event MeshEvent MeshEmitting 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.SAP and community, narrow by design.
Integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only move and transform the messages once the connection exists; this is the setup that runs before that.
An application may also integrate remote services through service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design, connecting its exposed contract with agent access to your systemsAgent access to your systemsGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. Serving your application over MCP exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to agent access to your code.SAP and community, narrow by design.
Async processingAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.SAP and community, narrow by design is the neighbouring concern: work deferred past the request with a guarantee that it eventually happens, where parallel processing is throughput inside a run that waits for its results.
Distinct from service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design, which reaches a service that stays deployed elsewhere, and from tenant extensibilityTenant extensibilityLetting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.SAP and community, unassessed, which is a subscriber extending a running SaaS.
Distinct from service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design, which reaches a service that stays deployed elsewhere, and from tenant extensibilityTenant extensibilityLetting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.SAP and community, unassessed, which is a subscriber extending a running SaaS.
Distinct from destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, which is how the address and the credentials are found, and from replicationData federationReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.SAP and community, narrow by design, which is holding the data locally.
Distinct from destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, which is how the address and the credentials are found, and from replicationData federationReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.SAP and community, narrow by design, which is holding the data locally.
Pointing at an endpoint whose API you call yourself is destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, and moving and mapping the messages is integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only.
Pointing at an endpoint whose API you call yourself is destinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed, and moving and mapping the messages is integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only.
What a message looks like and how it maps is B2B message mappingB2B message mappingDefining the structure of business messages exchanged between partners using different standards, and mapping one structure onto another. This includes interface specifications, schemas and transformations; executing them in middleware belongs to integration flows.SAP only, and executing the exchange is integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only.
What a message looks like and how it maps is B2B message mappingB2B message mappingDefining the structure of business messages exchanged between partners using different standards, and mapping one structure onto another. This includes interface specifications, schemas and transformations; executing them in middleware belongs to integration flows.SAP only, and executing the exchange is integration flowsIntegration flowsMoving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh.SAP only.
Distinct from concurrency controlConcurrency controlStopping two people who opened the same record from silently overwriting each other — detecting that the version you read is no longer the version you are saving over.SAP and community, unassessed, which is two writers on one record, and from async processingAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.SAP and community, narrow by design, which is work that survives the commit.
Content
Content includes reference architectures. Each item appears once; filter by type to narrow the list.
Recent changes
- Destinationscoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the old note was an absence claim about the providers and went stale as providers arrived; the note now says what SAP adds beyond the Destination service, from the providers' own provides edges.
- Destinationscoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the core is present through the sourced what_core_does on SAP's backend-proxy-middleware, but no artifact provides this capability on the UI5 door; the community middleware entries provide ui5-build-tooling. The community_adds text is kept as a sourced fact.
- Destinationscoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the entry is in the graph, so the name links to it and not to its repository (WRITING section 3.6).
- Document outputcoverage by ecosystem revised
Reassessed against the graph (check:capabilities): open-abap-pdf and SAP Forms Service by Adobe arrived after the block was last looked at and the text named neither kind. The state stays core-and-community.
- Document outputcoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the service is a provider on this door and the text named it without the link. Wording otherwise unchanged; the state stays core-only.
- Event Meshcoverage by ecosystem revised
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.
- Notificationscore coverage revised
Reassessed against the graph (check:capabilities): capire's plugin entry now says the plugin sends emails, and an official CAP Java feature is a provider, so mail is no longer outside the core.
- Notificationscoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the note claimed every provider is independent, a statement about who has built something; it now names the kinds, including the process framework that mails about failed objects.
- RFC connectivitycore coverage revised
Reassessed against the graph (check:capabilities): the CAP block named what the community works around but not what it adds; stated from the providers' own descriptions.
- RFC connectivitycoverage by ecosystem revised
Reassessed against the graph (check:capabilities): the note made a claim about every provider, which Cloud Connector (an app) already contradicts, and carried a grammar slip.