Exploring the SAP Cloud Application Programming Model

Objective

After completing this lesson, you will be able to describe the SAP Cloud Application Programming Model

Introduction

Imagine you are a project lead at a rapidly growing company. You face the challenge of digitally transforming the organization, all while needing to integrate with existing SAP solutions seamlessly. This is where the SAP Cloud Application Programming Model (CAP) comes in as your go-to framework.

What Is the SAP Cloud Application Programming Model?

The SAP Cloud Application Programming Model, often abbreviated as CAP, isn't just another tool in your development arsenal. It is a comprehensive framework designed to alleviate most pains traditionally associated with enterprise-grade application development. It comes with a rich set of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a 'golden path' of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks.

As you delve into the world of CAP, you encounter several key components that hold the architecture together.

The graphic shows the architecture of CAP Components. Information about the components is provided in the next paragraph.
Core Data Services (CDS)
CDS is the data modeling infrastructure, also known as the backbone of the Programming Model, that provides you with the means to capture service definitions and data models. For service definitions and data models, the Definition Language (CDL) is used. More on this in the Language Reference Documentation in the official CAP documentation (cap.cloud.sap).
Service SDKs
SAP Cloud Application Programming Model has libraries available for both Java and Node.js, which you can use to provide and consume services through synchronous and asynchronous APIs.
The SDKs include out-of-the-box integration to lower-level platform services, such as authentication and credential-flows or on and off-boarding of SaaS tenants.
Development Tools
SAP provides a holistic web-based development environment called the SAP Business Application Studio, which is equipped and preconfigured with all required tools for CAP development. Besides that, local development in VS Code or Java-specific-IDEs is also supported.
Databases
For the persistency layer of your CAP application, you can choose between several available database options. SAP HANA Cloud is the go-to choice. However, other technologies such as PostgreSQL or SQlite (for local development) are possible.
Frontends
As a full stack framework, CAP is open to a variety of frontend technologies. SAP Fiori is fully supported, but other UI frameworks such as Vue.js, Angular, or React can be put on top of your service.
Infrastructure
Two stacks are available: Java and Node.js. Deployments are possible to SAP BTP, Cloud Foundry Runtime, or SAP BTP, Kyma runtime.
Platform Services
SAP BTP service can be integrated and consumed through SDKs.

Overview of Important CAP Resources

As a CAP developer, you should be familiar with some key CAP resources to either get started or to explore advanced scenarios. The first is the official CAP documentation called CAPire.

Screenshot of the CAPire - Official Documentation page.

Inside CAPire, you find all aspects of CAP for both Node.js and Java. Plenty of beginner and advanced sample projects are available on GitHub.

CAP Node.js Release Cycle

CAP Node.js releases are linked to Node.js Release Schedules. CAP's versioning is also based on semantic versioning (semver), which in turn is based on the version number MAJOR.MINOR.PATCH. The single elements are being incremented as follows:

  • MAJOR

    New major versions of CAP are released every 12 months (usually around May). When starting a new project, it's highly recommended to adopt the latest major release. Former releases will only receive critical bug fixes only (PATCHES).

  • MINOR

    Active major versions receive monthly minor updates. These minor updates contain feature updates that are backwards compatible inside the same major release. So, there are no breaking changes to public APIs of the CAP framework.

  • PATCH

    Between official active and maintenance releases, patch versions are shipped regularly to close bugs.

The graphic shows the CAP Release Schedule on a timeline from 2022 to 2025.

Read more about the schedule and review change logs in the release notes section of the CAP documentation.

Log in to track your progress & complete quizzes