Preface – This post is part of the SAP ABAP RAP series.
Table of Contents
SAP has introduced various programming models helping the organizations via development of efficient applications that meets their business needs. Over time, with changing requirements and technologies, these programming models have evolved from DYNPRO and list programming models for SAP GUI based applications to WEB DYNPRO model for web-based applications and thereafter to SAP ABAP programming model for SAP Fiori.
While SAP ABAP programming model for SAP Fiori is a key advantage in terms of evolving landscape, flexibility and efficient modelling for SAP Fiori, SAP HANA; lacks certain criteria like simplicity and typed access to business entities which seems to be the basic need for application development. Here RAP, a new programming model by SAP, fills the gap.
SAP ABAP RAP provides the intrinsic approach to build SAP Fiori based applications that are optimized for S/4 HANA and can run over on-premise as well as on the cloud.
Every year, more than 1 million custom objects are created by various industries using SAP ABAP technology. All these custom objects starts as a fresh requirement and needs the same monotonous approach of development. SAP hence came up with a new framework in SAP ABAP which focuses upon the individual business logic, rather than expending efforts on the development of application infrastructure. This framework in known as Business Object Processing Framework or SAP BOPF.
What is SAP BOPF?
SAP BOPF is an Object Oriented ABAP based framework that provides a set of generic services and functionalities that helps to standardize, modularize and speed up the development process. A BOPF is capable of managing the entire life cycle of business objects as well as covers all the aspects of the business application development.
In simple words, BOPF replaces the work of SE24 class builder with all the custom CRUD operation. It acts as the transaction/application layer in SAP architecture. With the help of ABAP CDS (Core Data Services) it can be exposed directly over HTTPS and used via UI5 Applications.
What is SAP ABAP RAP?
SAP ABAP RESTful Application Programming Model (RAP) was introduced by SAP Cloud Platform ABAP environment and is available with 1808 release and higher.
The RESTful Application Programming model is built on the top of the semantic data model (CDS) and the transactional services are exposed in behaviour definition and implementation in implementing behaviour class. It also allows adapting the existing applications to be modelled which is intended to be used over a long time. You can start from scratch (greenfield implementation) or you can reuse existing business logic (brownfield implementation).
One can develop the following end-to-end scenarios:
- SAP Fiori service
- Service consumption
- Web APIs
Difference between SAP BOPF and SAP RAP
|Comparison||SAP BOPF||SAP RAP|
|Type of Service||Only on Premise Service.||Both on Premise and Cloud Services.|
|Technology||SAP on Premise Stack (HANA DB, ABAP CDS, SEGW).||SAP CDS and SAP ABAP (or ABAP on Cloud).|
|Data Base||The data base can be only on Premise.||The data base can be either SAP conventional S4HANA or HANA Database (on cloud).|
|Application Layer||Application layer can be only ABAP.||Application layer is ABAP and ABAP on Cloud.|
|Frontend||UI development is not supported, APIs are also not generated directly, relies on CDS.||Only APIs are generated, UI development is not part of RAP architecture.|
|Deployment||It can be deployed only on Premise using Transport Request. But the UI application consuming the services generated by SAP RAP can be deployed over either Neo or Cloud Foundry or even ABAP Repository.||The RAP is hosted via ABAP on cloud, which can be also only deployed over cloud foundry. But the UI application consuming the services generated by SAP RAP can be deployed over either Neo or Cloud Foundry.|
|ABAP Reports Support||BOPF is solely used for Fiori Elements based development.||The services generated by SAP RAP can be used directly in ABAP Reports via Entity Manipulation Language (EML).|
|OData Support||SAP BOPF only supports OData V2.||You can create both OData V2 and V4 services.|
|Development IDE||BOPF is developed using ABAP Wizard and SAP on Premise GUI. The CDS linked with BOPF is developed using HANA Studio/Eclipse.||SAP RAP can be developed using HANA Studio/Eclipse in case of on-premise as well as ABAP on cloud.|
|CDS Annotation||The Parent and Child relationship in BOPF is defined at the bottom part of the ABAP CDS where we declare the Associations.||The annotations of ABAP CDS are not required anymore as the RAP does not need to create the BOPF like framework in the background with the help of these Annotations.|
Read more about SAP BOPF on its official documentation: https://help.sap.com/doc/cfa481e73ceb433894f4eed7f685ff79/1511%20002/en-US/frameset.htm?frameset.htm
Learn about SAP BOPF on GoCoding tutorials: https://gocoding.org/sap-bopf-business-object-processing-framework/
Read more about SAP RAP on its official documentation: https://help.sap.com/viewer/923180ddb98240829d935862025004d6/Cloud/en-US/289477a81eec4d4e84c0302fb6835035.html
Learn about SAP RAP on GoCoding tutorials: https://gocoding.org/sap-abap-rap/