Difference between SAP BOPF and SAP RAP

by | Jun 13, 2021 | ABAP RAP

Home » SAP » ABAP » ABAP RAP » Difference between SAP BOPF and SAP RAP

Preface – This post is part of the SAP ABAP RAP series.

Introduction

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.

SAP BOPF Basic Architecture

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.

SAP BOPF Architecture

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).

What is SAP RAP

One can develop the following end-to-end scenarios:

  • SAP Fiori service
  • Service consumption
  • Web APIs

 

Difference between SAP BOPF and SAP RAP

ComparisonSAP BOPFSAP RAP
Type of ServiceOnly on Premise Service.Both on Premise and Cloud Services.
TechnologySAP on Premise Stack (HANA DB, ABAP CDS, SEGW).SAP CDS and SAP ABAP (or ABAP on Cloud).
Data BaseThe data base can be only on Premise.The data base can be either SAP conventional S4HANA or HANA Database (on cloud).
Application LayerApplication layer can be only ABAP.Application layer is ABAP and ABAP on Cloud.
FrontendUI 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.
DeploymentIt 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 SupportBOPF 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 SupportSAP BOPF only supports OData V2.You can create both OData V2 and V4 services.
Development IDEBOPF 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 AnnotationThe 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.

 

References

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/

Author

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Author