Preface – This post is part of the SAP CAPM series.
Table of Contents
Introduction
We have been writing codes in different languages (such as ABAP, CDS, UI5/FIori and OData) at different platform (SAP NetWeaver, SAP Editor, HANA Studio, and SAP Web IDE) to achieve CRUD operation on business data. These all have their own limitation such as source independent development, platform independent development, etc. To remove dependency on multiple platforms and to combine SAP and open-source tools at a single platform, SAP came with Cloud Application Programming Model. In this article we will explore it in detail.
SAP Cloud Application Programming Model
SAP Cloud Application Programming Model, also known as SAP CAP is a frameworks of tools, languages and libraries (both open source and SAP tools and technologies) designed efficiently with SAP best practices to help developers to minimize coding efforts, develop reusable peace of codes in form of micro services and to focus on designing and implementing business/enterprise specific logic.
Architecture of SAP Cloud Application Programming Model
In this section we will talk about two different architectures. The first one will be the high level architecture provided by SAP. The other one will emphasize more on the flow of development.
According to the architecture attached above, we can conclude that in this programming model we will be using:
- Web IDE and other development tools such as Visual Studio Code.
- To model our data we will be using the annotation power of HANA CDS.
- To write business logic we will be using Service SDKs such as Node.js or Java
- To deploy our node module, java module, UI5 Module we will have Cloud Foundry as Paas.
- To save our business data we will be using HANA or other database
- To develop our user Interface we will be using SAP Fiori and other UI tools
- The whole tool and framework will be utilizing on SAP Cloud Platform Infrastructure
Now to understand the architecture in a better way, we can redesign it as below:
In the architecture shown above we have illustrated the flow of development in terms of CAP development.
Technologies and Tools Involved in SAP Cloud Application Programming Model
Tool/Technology | Purpose | Description |
Hana Data Base | Store Business Data | This can be any database |
Core Data Services | Model Data Service | It mainly uses HANA CDS Artifacts |
Java/ Node.js | Add Business logic | In place of ABAP, business logic will be written here |
UI5/Fiori | UI Design | Like convention Fiori Application, the UI will be developed in same uniform manner |
SAP Cloud Foundry | CAP Deployment | The CAP application is deployed in to SAP Cloud Foundry as a MTA application |
Why and When to choose SAP Cloud Application Programming Model
Everyone after looking the CAP framework wonders about its implementation in real life business use case. This framework is best suited for the development of applications for the enterprise having Cloud Infrastructure. Since this Application framework can consume both Hana Database as well on premise based OData exposed database, thus it is suitable for all types of enterprises.
Even implementation of SAP Cloud Platform Integration is best supported by SAP CAP framework.
Clear concise and efficient explain!
no offence but this is much better than the explanations provided on SAP official resources. I struggled for a week but still could not find a definitive lead on where exactly the CAP fits in. Thank and keep it up