Multitenant SaaS Application using CAP
SAP's reference architecture for a multitenant SaaS application on BTP built with CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap: one deployment serving many tenants with logically separated data, the subscription and onboarding flow, and the BTP services the design leans on. Written for partners and line-of-business teams building on BTP, and it is SAP's own side of the shape multitenancyMultitenancyServing many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in caching and anything else holding state in process.SAP and community, narrow by design takes on BTP.
Where it sits
Who is behind it
In the atlas: maintains 1, wrote 26author
Architecture
parts read from 1 readme file,Parts, as the source names them
- SaaS consumer useran actoruses the SaaS application through its tenant's URLRA0007 5-mt-architecture/readme.md in SAP/architecture-center
Users can access the SaaS application via the unique URL, which redirects them for authentication to cloud identity services.
- API clientan actorcalls the SaaS API service with a service binding's credentialsRA0007 5-mt-architecture/readme.md in SAP/architecture-center
Then, a new Service Binding is created which will provide necessary credentials to call CAP based SaaS API service that can be used by API clients.
- @sap/cdsapplication and domain logicProvider subaccountRA0007 5-mt-architecture/readme.md in SAP/architecture-center
In the provided Reference Architecture, CAP serves as the central hub for application and domain logic, providing multitenancy, interacting with SAP Solutions (Cloud or On-Premise), 3rd party applications, and managing data sources such as SAP HANA Cloud.
RA0007 5-mt-architecture/readme.md in SAP/architecture-centerThe SaaS provider deploys the multitenant application to the provider subaccount.
- @sap/cds-mtxsmultitenancy, feature toggles and extensibilitywithin @sap/cdsRA0007 5-mt-architecture/readme.md in SAP/architecture-center
It provides a set of services that implement multitenancy, features toggles, and extensibility (‘MTX’ stands for these three features).
RA0007 5-mt-architecture/readme.md in SAP/architecture-centerCAP includes these MTX services, which provide out-of-the-box handlers for subscribe/unsubscribe events, for example to manage SAP HANA database containers.
- SAP Software-as-a-Service Provisioning servicesubscription lifecycleRA0007 5-mt-architecture/readme.md in SAP/architecture-center
SAP Software-as-a-Service Provisioning service helps manage and automate the subscription lifecycle of multitenant applications on SAP BTP.
- SAP Service ManagerHDI container per tenantRA0007 5-mt-architecture/readme.md in SAP/architecture-center
During this process, the CAP framework creates a HANA HDI container instance via the SAP Service Manager, which can be extended with creation of specific services or components of the SaaS application, such as identity provider instance integration or SaaS Service api broker registration.
- SAP HANA Cloudtenant dataRA0007 5-mt-architecture/readme.md in SAP/architecture-center
In the SaaS application, data is loaded from the CAP based SaaS business application service, which retrieves data from the HANA HDI container instance created during subscription, as well as from SAP systems or third-party systems using destinations configured in the consumer subaccount via the Destination Service.
- SAP Destination serviceconnections to SAP and third-party systemsConsumer subaccountRA0007 5-mt-architecture/readme.md in SAP/architecture-center
As part of the application setup, destinations can be configured in the consumer subaccount to connect to SAP systems or third-party systems, if needed.
- Cloud Identity ServicesauthenticationRA0007 5-mt-architecture/readme.md in SAP/architecture-center
Users can access the SaaS application via the unique URL, which redirects them for authentication to cloud identity services.
- SAP Custom Domain Servicecustom domainRA0007 5-mt-architecture/readme.md in SAP/architecture-center
The SAP Custom Domain service allows you to configure a custom domain for your application, enabling you to publicly expose it under your own domain name instead of the default subdomain.
- API ManagementAPI policies per planRA0007 5-mt-architecture/readme.md in SAP/architecture-center
Depending on the plan, different API policies, such as rate limiting, maximum body content, and quota policies, can be applied using the [SAP API Management capability of the SAP Integration Suite](https://help.sap.com/docs/integration-suite/sap-integration-suite/api-management-capability) on SAP BTP.
- SAP BTP, Cloud Foundry RuntimeruntimeRA0007 5-mt-architecture/readme.md in SAP/architecture-center
This demonstrates the development and deployment of a multitenant application on SAP BTP with integration to multiple BTP services and business systems like SAP S/4HANA leveraging both Cloud Foundry and Kyma runtimes.
- SAP BTP, Kyma runtimeruntimeRA0007 5-mt-architecture/readme.md in SAP/architecture-center
This demonstrates the development and deployment of a multitenant application on SAP BTP with integration to multiple BTP services and business systems like SAP S/4HANA leveraging both Cloud Foundry and Kyma runtimes.
Properties
About this work
For multitenancy
Details
Graph
Source
History
- explains → applies_to on capability:multitenancy (cap, btp)Door scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).
- parts, areas, edges → thirteen parts with two actors, MTXS within CAP, two subaccounts, seven edges the architecture page statesThe record states what its source draws around and between the parts (docs/concepts/reference-architectures.md §9.2): the provider and consumer subaccounts, the users and API clients, and the flow of subscription, data and authentication as the architecture page states it. On the checker's reading of the first draft: only the application is placed in the provider subaccount, since the page places nothing else there; the registration with the SaaS Provisioning service is the stated direction, not events the service raises; and API Management's policies are stated with no path, so no arrow.
- Entered the atlasDiscovered via SAP Architecture Center.
For your agent
- Ref
content:ac-multitenant-saas-application-using-cap- JSON
- /content/ac-multitenant-saas-application-using-cap.json
- MCP
- Connecting an agent