Happy New Year! I hope you all had a wonderful holiday season with friends, family, and colleagues.
As an ABAP developer, we are always looking for new and better ways to create robust and scalable applications. Recently, I have been exploring the ABAP RESTful Application Programming Model (RAP) and I am impressed by its capabilities and ease of use.
If you have been following up on the “Getting Started with Your SAP ABAP journey” blog post and are now looking to familiarize yourself with the ABAP RESTful Application Programming Model (RAP), this series is for you. In this blog series, I will share my experience of getting started with RAP by developing a Fiori App using RAP, among other things.
This blog post will be the first in this series of “Get to Know RAP”. I will go over a few concepts and provide you with helpful resources I believe will be beneficial in learning the fundamentals before we dive into the exercises.
Introduction:
What is RAP?
Before we begin, let’s start by get some background information about REST and the ABAP RESTful Application Programming Model. REST (Representational State Transfer) is an architectural style for designing web services. The ABAP RESTful Application Programming Model (RAP) defines the architecture for efficient end-to-end development of intrinsically SAP HANA-optimized OData services, such as Fiori apps. It offers developers an efficient way to build enterprise-ready, SAP HANA-optimized, OData-based Fiori UI services and Web APIs.
Architecture Overview
RAP Big Picture
The diagram above illustrates the major development artifacts involved in creating an OData service using the ABAP RESTful Programming Model and follows a development flow that takes a bottom-up approach.
The main development tasks can be categorized in three layers:
- The data model comprises the description of the different entities involved in a business scenario, for example traveland booking, and their relationships, for example the parent-child relationship between travel and booking.
- CDS is the cornerstone of the ABAP RAP
- The behavior of the data model determines the actions that can be performed on it, including the ability to create, update, or delete data. This can be implemented by using ABAP
Business Services Provisioning
- With the service definition you can define which data is exposed as a business service in your travel booking application
Example
- Can be made available as a UI service, which is utilized by SAP Fiori Elements app.
- ODATA service that is exposed as Web API does not contain any UI-specific information in its metadata
- It acts as a public interface that can be accessed by any OData client, such as another OData service. For example, you can consume a Web API from another OData service.
Example
We will go over all of these as we continue the series with detailed examples.
Need To Know:
ABAP RAP provides a programming model for the efficient development of from scratch (greenfield developments) or by integrating legacy code (brownfield developments).
The development of OData-based services starting from scratch, also known as the greenfield development, is supported with the so-called managed implementation type, whereas the brownfield development – i.e., based on existing code – is supported with the so-called unmanaged implementation type.
RAP – Business Object runtime implementation types
This also provides an efficient development of SAP Fiori apps and Web APIs, which we will be focusing on in this series.
Read this blog post to learn more: https://blogs.sap.com/2021/10/18/modernization-with-rap/
SAP Help Portal
The ABAP RESTful Application Programming Model comes with a set of development guides and best practices to assist the developer onboarding in the SAP Help Portal.
You will find this be helpful as it allows you to understand the concepts behind RAP and also an overview of the prefixing and suffixing guidelines.
SAP Help Portal
What’s Next:
The RAP model can be used in a variety of scenarios to build applications. For our first RAP application we will develop a Fiori App using the ABAP RESTful Application Programming Model using steps spanning across all 3 layers mentioned above. During the development process, we will start by defining our data model using CDS.
Prerequisites:
- You have installed ABAP Development Tools (ADT).
- You need an SAP BTP, ABAP environment trial user or a license.
- Have Basic Knowledge of ABAP Core Data Services (CDS)
- Have Basic Knowledge of ABAP Objects
In the next blog post of this series, we will create table persistence and generate data for the application. We will create an ABAP package, database table for storing data and create an ABAP class to generate data.
As we continue to learn more, I will use this first blog post to link all the parts of this series:
Get to Know RAP: Introduction – You are here
Get to Know RAP: Define Data Model – Part 1
Get to Know RAP: Define CDS-based data model – Part 2
Get to Know RAP: CDS Behavior Definition