
CAP or RAP - A business perspective
There's constant discussion about RAP, CAP or both, but what about the business side? Besides the features, what other requirements and points should you consider?
Table of contents
In this article, we want to take a look at CAP and RAP from a business perspective and in terms of actual costs, and delve into the details with some examples.
Introduction
We think the comparison between the Cloud Application Programming Model (CAP) and the ABAP RESTful Application Programming Model (RAP) has already been done enough, and there are also numerous blogs on the internet about it. However, these usually focus on the same aspects, such as development speed, innovation, flexibility, and entry costs. We therefore mention the initial costs and not the costs, as these can scale just like consumption, which you will see illustrated in an example at the end of the article.
In this article, we want to take a business-centric look at use cases and what other requirements companies should consider for their strategy in order to efficiently build extensions.
Photo from Hunters Race on Unsplash
Business
So, what is the business perspective on this topic? Here are some key characteristics that applications should possess. We'll take a closer look at these in the following sections.
Stability
Who hasn't experienced this? We log into our SAP system and find that one custom-developed application that's been running for 25 years. It's not particularly pretty and is outdated by today's development standards. But the application requires hardly any maintenance, runs reliably, and forms the backbone of our business processes.
- ABAP has been in use for many years, is backward compatible, and therefore very stable.This saves the business development resources and eliminates the need to constantly maintain developers to take care of the applications.
- The CAP stack contains many components, known as dependencies. If one component has a bug, it can quickly happen that many components need to be updated. This can lead to new errors, and the application should then be thoroughly tested again.
Security
Previously, SAP systems were primarily located behind the firewall, which in most cases meant there were fewer security requirements for the systems and applications. However, in recent years, security has moved further into focus and should now be taken seriously by SAP Basis and SAP developers. Systems are increasingly accessible via the cloud, which allows for a rapid response to CVE releases.
- For SAP systems, the patch can usually be applied directly by the IT department via an SAP Note, centrally resolving the issue for components and applications. In specific cases, applications may need to be re-adapted and redeployed, which can occur particularly with Fiori.
- CAP applications rely on numerous components from SAP and the open-source community. Therefore, dependencies should be checked regularly. Here, a check of each application is necessary, which in case of problems means that many applications have to be checked, patched, and tested.
Hint: There is now a service for BTP that scans and reports security vulnerabilities in its own applications. However, the same points still apply as above regarding the resolution of problems.
Support
If the company relies primarily on in-house development, then there are already well-trained SAP and ABAP experts who can easily implement applications quickly and effectively. This also allows the developers to provide good support. Small and medium-sized enterprises (SMEs) typically have few or no developers to deal with the demands of the business. Considering stability and security, developers must be able to react quickly in emergencies.
- With an ABAP Environment as a Software as a Service (SaaS) solution, SAP handles patch management and security. This makes it more attractive for smaller customers, as additional administrators and developers are not necessarily required.
- In the area of CAP, developers must maintain the applications, keep them up-to-date, and resolve dependency issues themselves. For this, appropriate personnel must be available within the company or as a service provider.
Availability
What about the availability of the two development models? Can we develop side-by-side and on-premises with them? Not every use case and every extension is developed in BTP nowadays, as it doesn't always make sense in the scenario and is sometimes even counterproductive (see Overview).
- RAP is currently available in BTP as an ABAP Environment and in every ABAP system, such as the public cloud, private cloud, or the classic on-premises system. However, you should also have the appropriate S/4HANA release so that important features are available.
- CAP is currently only available in the BTP. If you want to develop Clean Core in your core system, then only ABAP is available to you. In this case, you would have to learn both development models.
Data
Let's take a look at the data we need for our extensions. What about access and speed? Generally, developers should now use OData as the standard protocol when reading data from an on-premise system. SAP should provide plenty of corresponding standard APIs, which can be found in the Business Accelerator Hub. Both ecosystems also offer RFC as a protocol for connectivity, especially since BAPIs in the public cloud have been accessible from outside for some time now. Data replication offers even faster integration. This is easily implemented in the ABAP environment and also possible in CAP if you are using a HANA database.
- Currently, SAP is also working on external entities using SQL services. This will allow native CDS models to be created side-by-side in the future with very simple and fast integration. This would eliminate the need for slow OData services during integration and make replication unnecessary.
- With CAP, OData services can be integrated and used very easily and natively in the project. This makes integration and use particularly easy.
Photo from Kenny Eliason on Unsplash
Enablement
What about developer enablement, and where can you currently find trained colleagues? We'll look at further aspects of this.
Business Processes
Since we work in the field of business software, certain processes are already defined for us. Here's a customization within the process, there's a predefined API for use.
- Generally, most ABAP developers have good process know-how when it comes to working in a specific module. The developer knows the data model and can use it to model new applications.
- A web or JavaScript developer also needs to be trained in the data model and standard concepts of an SAP system. While it's generally easier to find a developer in this area than a new ABAP developer, the training costs extra.
Expert
In general, we've found that while a developer can learn many programming languages in their career, they usually only truly master one. We believe that CAP and RAP can be learned to build applications efficiently. But what about unit testing? Does the developer understand the relevant frameworks, can they optimize performance, and analyze any errors? This in-depth training takes a lot of time, and you should gain considerable experience in this area. No company benefits from half-baked developers who only have a superficial grasp of both models. Therefore, an expert should focus on one model to master it efficiently and provide the best possible support.
Clean Core
Clean Core is currently the top topic in the SAP world, followed by the Business Technology Platform (BTP). Clean Core is often mentioned in the same breath as BTP, but that's only half the story at the moment. Developments in the core system will remain in place for the time being, as historical data cannot be migrated quickly. At the same time, certain extensions must continue to be implemented in the core, as they don't make sense side-by-side. Therefore, the expertise of ABAP developers will continue to be needed, and simultaneously, developers must also familiarize themselves with Clean Core and ABAP Cloud. Upskilling in this area is very time-consuming, requires a lot of focus, and costs money. Therefore, skills can be most easily reused within the ABAP Environment, allowing developers to support each other.
Infrastructure
Depending on the scenario you want to use in BTP, you will need a suitable infrastructure. This could include transport services, CI/CD, an HTML5 repository, Cloud Foundry, and more. If you want to run both models, you will need a corresponding infrastructure, which will depend more on the specific scenario.
- The ABAP Environment already includes many built-in services delivered by the ABAP Runtime. These include application jobs, application logs, email notifications, transport via software components (SWC), and integration into the Launchpad. This means that numerous libraries and functions are already included in a BTP service.
- For CAP development, you initially need a service in the BTP for many components. These services cost relatively little at the beginning but can scale accordingly later. Examples include the Logging Service, Transport Service, Integration Suite, and Work Zone. For many components of an integrated solution, you also need the appropriate services.
Innovation
Generally speaking, the possibilities of CAP and the associated open-source system for JavaScript are much broader than the reuse libraries in ABAP could be. However, this flexibility also has its downsides, as it brings dependency issues into your hands. If a project is infected with a backdoor, virus, malicious code, or other errors, you need to be able to react quickly to patch and test all CAP apps.
Businesses don't always have the time or money to test applications every six months, especially without developing new features. After all, outsourcing this also costs money, whereas a RAP application might not even need a patch and could run stably for years without any problems.
Community
What's the developer community like in the SAP ecosystem? Every year, SAP conducts the "Developer Insights Survey", which identifies the most popular programming languages in the community.
However, in recent years, ABAP has consistently been in first place, as it is SAP's signature language. SAP itself states that they have control over the direction in which they further develop ABAP.
Photo from Alexander Mils on Unsplash
Costs
Let's look at sample costs from two companies, both operating S/4HANA systems where the majority of process data resides, and which have opted for different extension strategies. Company A uses CAP completely, while Company B exclusively uses the ABAP architecture for side-by-side scenarios. We want to look at various key performance indicators (KPIs) to better compare the scenarios.
Numbers
Looking at the number of apps, many applications are available in the ABAP environment that are needed for customizing and settings.
| CAP | RAP | |
|---|---|---|
| Services |
|
|
| Landscape | 2.5 systems | 3 systems |
| Apps | 35 | 130 |
| User/Day | 1200 | 500 |
| Costs/Month | 6200 EUR | 6600 EUR |
The ABAP Environment runs with System Hibernation, which saves costs. Additionally, the ABAP Environment also includes Central ATC with free security checks. Either you use the existing environment for this or purchase a third-party solution from the market. The CAP architecture actually has three subaccounts and the corresponding services. However, there are only two HANA Cloud instances, which is why half a point was deducted.
User
One more quick note about users and licenses. In the example above, there are already 1200 users in the CAP scenario. Each user costs 3 EUR in the list price for the SAP Build Work Zone (Basic User). You should check how many users will ultimately be working with your applications, as each additional user increases the cost. User costs are already included in the ABAP Environment, so it doesn't matter whether 10 or 10,000 users are working on the system. Generally, you should keep an eye on the system's utilization in case more CPU is needed at some point.
Comparison
When comparing these, we can approach the comparison in very different ways. The CAP landscape is clearly more complex, especially when we look at operation, setup, and maintenance. However, it also offers the greatest flexibility in usage. The ABAP environment here is quite "simple," but we have everything we need to build our extensions. Cloud Foundry is necessary, but we don't actually need it for work (RAP).
These are just two examples, not the standard. However, the statement that CAP is always cheaper to operate than RAP is also refuted. It clearly depends on the size and scalability of the use cases.
Summary
What can you take away from these points? Here's a brief summary and a personal statement on the discussion.
Summary
In this article, we looked at various business aspects, since ultimately, money is what matters. How expensive is it to operate this model? How secure are my applications and data? Do I need more developers or service providers to operate my infrastructure? If you're starting with side-by-side development on the BTP, you should consider how you want to embed and advance this topic within your company. You're also leaving your private network, and your applications and systems will be available in the cloud. This means that responsibility and vulnerability increase.
The initial costs for CAP are very low, however, these can quickly reach a similar level to that of the ABAP Environment. Therefore, you should keep an eye on the additional services and scalability. Currently, CAP has the better ecosystem when it comes to implementing AI use cases. In most cases, not only is the connection to the API necessary, but also services for splitting files and processing images. ABAP needs to improve in this area, or suitable BTP services should be provided as a supplement.
Personal
Personally, we opted for RAP-only a few years ago because the range of functions differed only minimally, and our ABAP colleagues quickly caught up with new features. The effort required to train our own developers and learn the infrastructure was, then as now, too great for us. So far, we haven't regretted the decision, and we are satisfied with the new Clean Core strategy and ABAP Cloud, as we can use the same model everywhere. Then we can carry out development on our on-premises system with the same people, but also implement scenarios in BTP.
Conclusion
If you want to have a bit more focus within the company, then I would still focus on one of the two models today. Before CAP and RAP become CRAP, you should look at which strategy you are pursuing in the long term and how the development of business applications should proceed. Does the business also support the use cases and how complex are they to implement? These questions will help you find the right path within the company.

