Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Raja_Gupta
Product and Topic Expert
Product and Topic Expert
37,355
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.

Explaining SAP Business Technology Platform (SAP BTP) to a Beginner

SAP BTP Environments – Cloud Foundry Vs ABAP Vs Kyma

Let’s start!

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?


 


































Aspect



RAP



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.
Example use-case

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.

 

What’s Next?


Check this blog to get a comprehensive learning path for SAP BTP, customized for various job profiles such as Developer, Architect, Consultant and Administrator.

Learning Path for SAP BTP – Customized for Developer, Architect, Consultant and Administrator

 

Other blogs on SAP BTP from me, you might be interested:


 
Join me on  LinkedIn for more such insights on SAP and AI!
18 Comments