CAP & RAP
- CAP: Cloud Application Programming
- RAP: ABAP RESTful Application Programming Model
Overview
Both CAP & RAP are full-stack developing frameworks to build enterprise applications. They provide a set of tools, libraries, and best practices to help developers create scalable, maintainable, and efficient applications.
These can compose of
- How to structure your project
- How to define your data model
- How to implement business logic
- How to expose your application as a service (e.g. OData)
- How to create a user interface (e.g. Fiori)
- How to handle security and authentication
- How to deploy and manage your application
- .etc
Main differences
- Language: CAP is based on JavaScript/TypeScript, while RAP is based on ABAP.
- Platform: CAP is used to develop standalone applications that can run independently, while RAP is used to develop applications that run on the SAP S/4 HANA.
- Database: CAP can work with various databases, while RAP is tightly integrated with the SAP HANA database.
- Development Environment: CAP can be developed using various IDEs, while RAP is developed using the ABAP Development Tools (ADT) in Eclipse or SAP Business Application Studio.
Use cases of CAP & RAP
CAP
When you want to add functionalities that are not tightly closed to the core ERP system (outside any model within SAP S/4 HANA).
- Make a form to collect customer feedback (e.g. after sales service)
- Create a Marketing view that aggregate data from social media platforms (e.g. Performance of different campaigns on Facebook, Twitter, Instagram, etc.)
These, at least from my experience, don't require deep integration with the core ERP system. You can create a standalone application that interacts with the ERP system via APIs (OData).
RAP
When you want to extend or customize the core ERP system (within any model within SAP S/4 HANA).
- Add a custom field to the Product model (e.g. Product Expiry Date, Product Color, etc.)
- Add more state for the Purchase Order process (e.g. Pending Approval, Approved, Rejected)
- Create a custom report for Sales data (Like when Ministry of Zakat request a report for Zakat calculation)
These require deep integration with the core ERP system. You need to work within the existing models and processes of the ERP system.