ABAP RESTful Application Programming (RAP)

Llegó el momento de la lección clave, aquí es donde ABAP RESTful se hace presente en todo su explendor. Ciertamente, en lecciones anteriores pudimos conocer un poco de como es el comportamiento de ABAP SCP. Incluso, en la lección de Metadadata extention empezamos a estudiar funcionalidad más allá de lo convencional de ABAP. Sin embargo, es en este momento en donde estaremos creando un servicio OData, protocolo que permite la creación de API´s restfull.

Antes de llegar a la parte de la configuración de los objetos, es importante definir de qué se trata esto de ABAP RESTful Application Programming (RAP).

¿ Qué es REST ?

REST es una arquitectura que nos permite conectar varios sistemas basados en el protocolo HTTP, una de sus principales funciones es facilitar acceso a recursos remotos, o sea datos de otro servidor. Además, es importante mencionar que los datos son devueltos en un formato JSON o XML.

¿ Qué es RESTful ?

Ahora, ¿ Qué es RESTful ? RESTful son servicios WEB que basados en la arquitectura REST. Adicional, se caracteriza por utilizar las siguientes operaciones.

  • Create
  • Read
  • Update
  • Delete

Entonces … ¿ Qué es ABAP RAP ? ABAP RESTful Application Programming Model (RAP), es el modelo de ABAP que permite crear interfaces, para consulta y manipulación de datos, acopladas a esta arquitectura REST. Es importante mencionar que esta interfaz permite optimizar la comunicación con aplicativos FIORI a través del protocolo OData.

Pero … ¿ Qué es ODATA ?

Muchos conceptos que aprender … tratando de ser breve, OData es un protocolo o un conjunto de reglas que definen las mejores prácticas para consumir servicios RESTful. Además, permite el uso de metadata que se encarga de la descripción del modelo de datos de las APIs. No obstante, si necesitas más información al respecto puedes acceder al siguiente enlace ODATA Protocol.

ABAP RESTful – Behavior Definition

Lo siguiente es definir que es un Behavior Definition, primero debemos tener presente que al momento de crear nuestro CDS hemos definido un modelo de datos, seguramente ya tienes bien claro que esto nos ayudará a extraer datos. Sin embargo, con los «Behavior Definition» podremos crear un objeto basado en el CDS que nos permita realizar las operaciones mencionadas previamente y exponerlas en un servicio ABAP RESTful.

Ahora que ya tenemos estos conceptos bien claros, es hora de ir a la práctica de ABAP RESTful Application Programming (RAP)

ABAP RESTful – Práctica

Nos vamos al explorador de projecto y creamos el Behavior Definition, utilizando la siguiente ruta

Paquete => Core Data Services => New => Behavior Definition

API ABAP

Colocamos una descripción y en la parte de Root Entity damos click en browse y buscamos la Root View que creamos en lecciones anteriores. Específicamente aquí ABAP CDS View Root For Restful Programming.

ABAP Behavior Definition

Adicional, seleccionamos la opción «managed» en el «Implementation Type».

abap rest api example

Se creará una plantilla con código fuente, adécuala para que quede de la siguiente manera.

ABAP Rest