Service composition

Building one solution out of parts other projects published: a reuse package brings its models, code, initial data and texts into your project through npm or Maven, you serve what you reference and extend what you import, and the same modules deploy as one application or as several on a shared database. Distinct from service integration, which reaches a service that stays deployed elsewhere, and from tenant extensibility, which is a subscriber extending a running SaaS.

Overview

SAP SHIPS
Node.js →

@sap/cds-common-content ISO-standard content for CAP's common definitions — countries, languages, currencies and timezones — so a project does not seed those tables itself.

@sap/cds Embeds a reuse package added with npm into the project, models, code, initial data and i18n, serves what the project's own models reference, lets an imported definition be extended and its implementation replaced with @impl, and applies the same to a subscribed SaaS through cds pull and cds push.

Java →

com.sap.cds:cds-services-bom Resolves a reuse package from a Maven dependency: the CDS, CSV and i18n files under a cds folder in the JAR's resources are extracted by the CDS Maven plugin and embedded in the project like an npm package.

Not covered: At the package boundary. Which definitions a reuse package exposes is a convention, an index.cds, and not a mechanism; a shared database across applications is a project the guide has you assemble by hand and deploy on its own; and combining data that lives in several databases is federation, read under replication. Nothing outside the core provides this yet. One sample shows five services reading each other's SAP HANA tables across HDI containers.

SourceCAP Service Composition — capirechecked
THE COMMUNITY ADDS

No community artifact is documented here.

Artifacts3

3 of 3 artifacts
ArtifactSignals
Packages3
@sap/cdsCAP Node.js runtime
Signals
none
@sap/cds-common-contentISO content for CAP's countries, languages, currencies and timezones
Signals
none
com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versions
Signals
none

Seen working3

ArtifactSignals
Samples3
cap-cross-containerCAP services reading each other's HANA tables across HDI containers
No license
capire/bookstoreComposite CAP app from separately deployed services
none
xtravelsCAP travel-booking app built on xflights master data
none

Details

Coverage
statecore only, CAP
assessed
SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceCAP Service Composition — capirechecked SourceMicroservices with CAP — capirechecked SourceMicroservices with CAP — capirechecked SourceMicroservices with CAP — capirechecked
For your agent
Ref
capability:service-composition
JSON
/capabilities/service-composition.json
MCP
Connecting an agent