Composable SAP CAP plugins for integrating remote services, moving data between systems, and persisting local aggregate snapshots — declarative via CDS annotations, with a shared pipeline engine underneath.
Documentation: https://mikezaschka.github.io/cds-data/
| Package | Docs |
|---|---|
| cds-data-federation | Federation guide |
| cds-data-materialization — experimental, not yet released | Materialization guide |
| cds-data-pipeline | Pipeline guide |
This repository is the monorepo for all three packages. cds-data-federation and cds-data-pipeline are published to npm; cds-data-materialization is experimental and not yet released. Use the docs site for guides, concepts, and reference.
All three packages install on both CDS 9 and CDS 10 (@sap/cds >= 9, Node >= 22).
Three packages compose in one CAP application:
- cds-data-federation —
@federation.delegateand@federation.replicateon consumption views. Delegate forwards reads (and optional writes) to remote services at query time, including cross-service$expandand navigation. Replicate registers scheduled sync jobs that copy remote data into your local database. - cds-data-materialization (experimental, not yet released) —
@materialize.snapshotongroup byprojections. Persists scheduled rollups and aggregates locally for analytics and reporting. - cds-data-pipeline — the shared
READ → MAP → WRITEengine. Tracker, retry, management OData API, and event hooks. Federation and materialization peer-require it for scheduled runs; you can also register pipelines programmatically viaaddPipeline({ source, target, … }).
Delegate is live and query-time. Replicate and snapshot move data through the pipeline on a schedule. Federation optionally layers cds-caching on delegate or replicate.
| I want to… | Install |
|---|---|
Declare @federation.delegate / @federation.replicate on a consumption view — delegation, cross-service $expand, scheduled sync |
npm add cds-data-federation cds-data-pipeline |
Declare @materialize.snapshot on a group by projection — scheduled local rollups |
npm add cds-data-materialization cds-data-pipeline |
Register a standalone pipeline — addPipeline({ source, target, … }) with tracker, retry, and management API |
npm add cds-data-pipeline |
Delegate-only setups can install just cds-data-federation. Replication, entity-level caching, and materialization require cds-data-pipeline.
Getting started: first delegation · first replication · first snapshot · pipeline get started
Runnable demos live under examples/. See examples/README.md for ports, structure, and troubleshooting.
| Demo | Start |
|---|---|
Sales Intelligence Workbench — Northwind V4 + V2, local CAP + REST providers; delegation, replication, cross-service $expand, cache visibility |
bash examples/sales-intel/start-all.sh → http://localhost:4005/launchpage.html |
| Movies & Streaming — delegate, cache, replicate, and REST-sourced analytics in a Fiori launchpad | npm run examples:start → http://localhost:4004/launchpage.html |
- Documentation portal
- cds-data-federation on npm
- cds-data-pipeline on npm
- cds-data-materialization — experimental, not yet published to npm
- cds-caching — optional peer for
cache.strategy: 'response'; built-incache.strategy: 'entity'usescds-data-pipeline+ SQLite - CAP Service Integration guide — upstream delegation and federation reference
Preview docs locally: npm run docs:serve from the repository root.