Exploring the SAP Cloud Application Programming Model

Objectives

After completing this lesson, you will be able to:

  • Describe the SAP Cloud Application Programming Model

Introduction

Imagine you're a project lead at a rapidly growing company. You face the challenge of digitally transforming the organization, all while needing to integrate seamlessly with existing SAP solutions. 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'll encounter several key components that holds the architecture together.

CAP Components
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 pre-configured 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 fullstack 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. First and foremost is the official CAP documentation called CAPire.

CAPire - Official Documentation

Inside CAPire, you will 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. CAPs 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 will be 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 will be shipped regularly to close bugs.

CAP Release Schedule

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