SAP CAP: Cloud Application Programming model

SAP CAP: What is it and what can I do with it within my organization?

For several years, SAP has made a technique available for building custom applications. In addition to us developers being able to build Fiori applications on existing techniques, we can now do so with CAP (Cloud Application Programming model). Now the question probably quickly comes to mind “Another new technique; do I need to use that?”. Read on and find out what the added value of CAP is.

What is CAP?

CAP is nothing more and nothing less than a framework of programming languages, code libraries and tools that can be used to build large-scale applications. It implicitly uses proven best-practices and many out-of-the-box solutions for common tasks. This rather abstract definition already reveals an important aspect of CAP; it is a combination of building blocks that can be used to build an application.

These out-of-the-box functionalities could include, for example, authentication and authorization in the application. With the use of CAP, the focus is on the problem domain rather than the technology. A developer does not have to worry about the exact technical implementation of, for example, the physical tables in the database. This is all done implicitly by defining the data model in a fairly simple notation. As a result, the developer will have to carefully create this domain model together with the functional experts, which automatically puts the focus on functionality rather than technology.

The image below gives a good idea of CAP within your organization:

INNOV8iON-CAP

The name (Cloud Application Programming) already indicates its focus on cloud. However, a CAP application can handle reading and writing data to an on-premises system such as S/4HANA just fine. CAP is ideal for combining data from different sources. A good use case for using CAP is keeping your S/4HANA system clean. By running the custom application and custom data in the cloud, but where data from the (on-premise) S/4HANA system can be worked with at the same time, the developer builds an application that fits your needs perfectly, does not pollute the (on-premise) S/4 system with custom data.

In addition, for the user interface, you are free to choose which technology to use. Does your organization use SAP Fiori/SAPUI5 apps? Then CAP fits this perfectly. If your organization works with another user interface such as Angular or React, this is also no problem and works well as a UI for a CAP application.

Want to learn more about the benefits of Fiori for your organization? Then read this blog: The five key benefits of SAP Fiori.

In summary, a CAP application is composed of several building blocks that can be used to create a full-stack application for a wide range of different use cases.

CAP: to use or not to use?

As described above, in many cases CAP is one of the options for developing an application. It is ideally suited for keeping a (on-premises) S/4HANA system clean by running your customizations in the cloud in the form of a CAP application. CAP applications are also suitable for combining data from different sources (such as an on-premises S/4HANA system, separate databases in the cloud and other systems) into 1 application.

However, using CAP does place some requirements on your system landscape. For example, to link an on-premises S/4HANA system as a source to a CAP application, an SAP Cloud Connector. is required. Without a Cloud connector, using CAP is a lot more difficult. This makes the situation where data from only one on-premises system is required less suitable for using CAP applications. However, if a connector is already present, it can of course be easily used.

This demonstrates the need to carefully consider whether the use of CAP fits within your organization and whether the desired applications are suitable for it.

Benefits of CAP

We can conclude that SAP CAP allows the developer to gather the building blocks from SAP and other parties, which are required to build an application in the specific use case. By using these building blocks, the development of a CAP application is relatively flexible; the data model can be easily adapted or extended as growth or changes occur. SAP calls this the grow-as-you-go concept. SAP CAP automatically provides many capabilities out-of-the-box, allowing the developer to have a working application running relatively quickly with common functionalities that would otherwise have taken a lot of time to implement. Because CAP uses a global variation of known technologies, you are not dependent on one vendor, but there are always alternatives (proprietary and open source!). This prevents vendor lock-ins.

Curious about CAP, please contact us to explore the possibilities for your organization. We can help you design and create these applications. We also offer training for your own developers. Read more about our academy.

Stay tuned about the lastest innovations?

And stay tuned for the latest events