RAP vs CAP – Key Differences between the Two Programming Models
Introduced in January 2021, SAP Business Technology Platform (SAP BTP) is a unique and powerful solution offering by SAP. It is the technical foundation of entire SAP ecosystem and plays a crucial role for all SAP customers and partners.
SAP BTP offers 2 major programming models to build enterprise applications:
- ABAP RESTful Application Programming Model (RAP)
- SAP Cloud Application Programming Model (CAP)
Both these programming models comes with amazing tools, frameworks, languages and best practices. However, both cater for different developers and use-cases.
In this blog, we will understand:
- What is ABAP RESTful Application Programming Model (RAP)?
- What is SAP Cloud Application Programming Model (CAP)
- What are the differences between RAP and CAP?
- How to choose which programming model to use?
Note: Before understanding these programming models, you should have a clear idea about what SAP BTP is and different environments SAP BTP offers. I will strongly recommend reading below blogs before you read this further.
What is ABAP RESTful Application Programming Model (RAP)?
The ABAP RESTful Application Programming Model (RAP) is:
- an ABAP development model
- for building cloud-ready business apps, services, and extensions
- on SAP BTP, ABAP environment, SAP S/4HANA Cloud, and SAP S/4HANA 1909 and higher
RAP consists of
- a set of concepts, tools, languages, and powerful frameworks
- which help us to
- build innovative, cloud-ready, enterprise applications and Web APIs
- and to easily extend SAP standard applications on the ABAP platform
RAP offers a standardized development flow based on Core Data Services (CDS), modernized and extended ABAP language, concept of business object (BO), Business Service etc., and Eclipse-based ABAP Development Tools (ADT).
Below image summarizes all the points:
Example use-case for RAP
SAP recommends customers and partners to use RAP to build new ABAP based applications for SAP S/4HANA, SAP S/4HANA Cloud and SAP BTP.
RAP can be used to:
- Build full-fledged and upgrade-stable extensions on SAP S/4HANA or SAP S/4HANA Cloud
- Build ABAP based cloud solution on SAP BTP, ABAP environment
Different types of services, local APIs, and business events can be developed and modelled with RAP, for example:
- OData-based services for UI development to build delightful, role-based, responsive, and draft-enabled SAP Fiori apps.
- OData-based services for exposure as Web APIs
- Local APIs can be provided via released RAP business objects interfaces
What is SAP Cloud Application Programming Model (CAP)?
SAP Cloud Application Programming Model is:
- a set of tools, frameworks, languages, and libraries
- which provide a golden path for developers
- by bringing together SAP technologies like SAP HANA Cloud, Core Data Services, SAP Business Application Studio, SAP Fiori, and open-source languages/technologies like Java, Node.js or SQLite.
SAP CAP empowers developers to minimize the overall development effort by helping them to focus on their business logic and relieving them from tedious repetitive tasks which are common across application e.g., user and security management.
As shown in image below, SAP Cloud Application Programming Model includes a mix of SAP and open-source technologies.
What are the differences between RAP and CAP?
|Language||Supports ABAP||Supports Java or Node.js|
|Supported Environment/System||Available with SAP BTP ABAP Environment, SAP S/4HANA and SAP S/4HANA Cloud||Available with SAP BTP Cloud Foundry and Kyma Environment|
|Strengths||Use of ABAP, Possibility to reuse code from SAP system||Open source, Support for multiple programming languages and runtimes, Minimize development effort|
|Development Environment||We can develop RAP based application using Eclipse-based ABAP Development Tools (ADT)||We can develop CAP based application using SAP Business Application Studio. It also supports local development using Visual Studio Code.|
Build full-fledged and upgrade-stable extensions on SAP S/4HANA or SAP S/4HANA Cloud
Build ABAP based cloud solution on SAP BTP, ABAP environment
|Build a web application, which connects to an SAP HANA Cloud to retrieve and display real-time sales data.|
I hope by now, you will have a clear understanding of RAP and CAP.
If you have any feedback or query, please let me know in the comment or get in touch with me at LinkedIn!
For more information on RAP, click here.
For more information on CAP, click here.
Check this blog to get a comprehensive learning path for SAP BTP, customized for various job profiles such as Developer, Architect, Consultant and Administrator.
Other blogs on SAP BTP from me, you might be interested:
- A Beginner’s Guide to Understand Major Solutions, Services and Platforms in SAP Ecosystem
- Fundamentals of Multitenancy in SAP BTP
- Fundamentals of Security in SAP BTP
- How to Become Expert in SAP BTP Security– A Complete Learning Journey
- Demystifying SAP Build for Beginners
- Deep Dive into SAP Build Work Zone
- Demystifying DevOps with SAP BTP: Part 1 – What is DevOps?
- Demystifying DevOps with SAP BTP: Part 2 – Navigating SAP BTP DevOps Portfolio