What exciting times at the end of 2022: SAP TechEd has just kicked-off and of course the SAP Application Programming Model (CAP) played a prominent role there and was covered in many sessions – incl. the keynote by SAP’s CTO Jürgen Müller.
This article points to some CAP related TechEd recordings and summarizes selected key announcements and latest news around CAP.
In case you missed it – check-out the lecture by Christian Georgi which gives a nice overview about many topics covered in this article: Discover the Latest Innovations in SAP Cloud Application Programming Model
Other sessions with (or based on) CAP are e.g. Develop Full-Stack Applications in SAP Business Application Studio or Compose Enterprise-Grade Mobile Apps on SAP BTP.
CAP gets more and more popular
It’s fair to state that CAP has developed into the de-facto (backend) programming model for Cloud development on the SAP Business Technology Platform (BTP) for non-ABAP based development projects. The feature richness as well as the adoption have grown tremendously in the recent years: More than 100 projects use CAP within SAP, at least the same number of customers and partners use CAP to develop Cloud apps and services, the downloads from NPM and Maven Central increased to around 150k per week, more than 600 blog posts cover CAP or closely related topics.
CAP is a key pillar for professional development on BTP and the foundation for low-code development with the SAP Business Application Studio (BAS).
Feature Toggles and Extensibility
Extensibility remains a crucial requirement for many customers as well as SaaS providers and CAP delivers built-in options on different levels:
- CDS Models: Add new fields, entities, relationships, and annotations for SAP Fiori Elements
- Custom Data: Provide customized sets of initial content for pick lists.
- Translations: Add new languages or change labels to custom ones.
Points 2 to 4 are currently in the making and planned to released soon, stay tuned for further updates.
Verticalization & Customization
CDS Aspects allow to easily extend existing models with new fields, entities, relationships, or new or overridden annotations.
As illustrated in the graphic above, different parties can build and deploy CDS based extensions:
- Customizations — Customers of SaaS solutions (i.e. subscribers of which) need options to tailor these to their needs, again using CDS Aspects to add custom fields and entities.
- Toggled Features — SaaS providers can offer pre-built enhancement features, for example, specialization for selected industries, which can be switched on selectively per tenant using Feature Toggles.
- Composition — Finally, 3rd parties can provide pre-built extension packages for reuse, which customers can pick and compose into own solutions (see image below).
- Verticalization — 3rd parties can provide verticalized versions of a given base application, which they can in turn operate as verticalized SaaS apps.
Kyma Runtime & Kubernetes
CAP on Kyma supports “extension” projects: single-tenant, SAP HANA DB, SAP Fiori Elements or SAPUI5 freestyle UI, XSUAA authentication and connectivity to cloud and on-premise systems. Beyond technical enablement, CAP tries to ease the way to bring your apps to the Kyma runtime.
Typescript & IntelliSense Support
OpenAPI (Swagger) Export
GraphQL Support for Node.js
The new adapter is generally available (still in an early stage) and was made available as one of the first open source components of the CAP team in the recent days. So check it out on Github and start contributing!
Find more information in the CAP documentation.
CAP goes Open Source
Almost as old as CAP itself is the active discussion (shout-outs to Volker Buzek & Gregor Wolf) on how and when CAP will be open sourced. The good news: It’s coming. Well, at least partially. Even better: it has started already. The CAP sample apps are out there since 2019. We added the new Node.js GraphQL adapter for TechEd. And more will follow soon: The documentation, the “CDS Typer” (Typescript), PostgreSQL… As we already received quite some contributions from within SAP, we are in the process of scanning those projects and most probably open source some of them as well.
The philosophy: It’s not a big bang, we go step-by-step. We’ll start with the “periphery” of CAP for Node.js, the “core” framework or parts of it might follow later. Why? The potential for an active community and contributions is biggest in the surroundings: new DB adapters, new protocol adapters… you name it.
This article only covers a small portion of the features the CAP team delivered in the past months. Make sure to always check-out our Release Notes to get all the updates and changes.
Don’t miss-out our next Customer Roundtable in January 2023 where we will cover selected topics in more detail. Michael Hellenschmidt will announce it here and we will also post it on our events & community pages – stay tuned!