Posted: 04 May 2022 3 Tiempo de lectura

Framework RAP y Fiori Elements como elementos clave en la implantación de S4 HANA

La primera pregunta que nos tenemos que hacer es: ¿Qué es RAP?

  • RAP es acrónimo de Restful Application Programming model y consiste en un conjunto de conceptos, herramientas, lenguajes y frameworks entregados sobre la plataforma de Desarrollo ABAP.
  • Nos permite desarrollar aplicaciones empresariales listas para utilizarse en la nube y también extender las aplicaciones estándar de SAP sin poner en riesgo futuros upgrades del core de la solución SAP.
  • RAP, combinado con FIORI Elements (hablaremos más delante de ello) nos ayuda a mejorar la experiencia de usuario haciendo que nuestras aplicaciones se integren de manera natural en la solución S4 que ofrecemos a negocio.
  • Para ayudarnos a entender la importancia de RAP en SAP debemos tener en cuenta que es la tecnología que SAP utiliza actualmente tanto para las nuevas funcionalidades que ofrece en su producto SAP S/4 como en las mejoras que plantea. Es una apuesta estratégica de SAP a largo plazo.

RAP se basa en tecnologías y conceptos probados y modernos, ayudando a que desarrollar soluciones basadas en RAP sea más interesante para la comunidad de desarrolladores. Estas incluyen:

  • Core Data Services (CDS) utilizado desde hace muchas versiones por SAP para definir semánticamente los modelos de datos para todas las aplicaciones.
  • El lenguaje ABAP, por supuesto, que ha sido modernizado y extendido para que podamos implementar la lógica de negocio.
  • El protocolo OData utilizado para comunicaciones stateless y el protocolo SAP Information Access (InA) para facilitar el acceso en caliente a los datos accediendo de manera directa a la base de datos HANA sin necesidad de sobrecargar el servidor de aplicaciones.
  • El concepto de Business Objects utilizado para construir las aplicaciones transaccionales.
  • El concepto de Draft object que nos permite construir aplicaciones stateful utilizando tecnologías stateless.
  • El concepto de Business Services utilizado para crear servicios OData, InA o SQL

Los modelos anteriores de desarrollo como ABAP Programming model para SAP Fiori, Business Object Processing Framework (BOPF), WEB Dynpro o la misma Dynpro han alcanzado a un nivel de madurez que no permite seguir innovando sobre ellos. Esta es la razón por la que SAP ha desarrollado el framework RAP para poder ofrecer soluciones listas para los nuevos retos: Estandarización de UIs, APIs consumibles en base a los estándares actuales (no más RFCs o SOAP WS), desplegable tanto on-premise como en Cloud (SAP BTP),…


Arquitectura de RAP

RAP se divide en tres grandes bloques que nos permiten diseñar las aplicaciones de manera ordenada y eficiente.

(Fuente de la imagen: help.sap.com / ABAP RESTful Application Programming Model - SAP Help Portal)

La construcción de la solución se hace de abajo hacia arriba tal como vemos en la imagen anterior. Primero creamos el modelo de datos que vamos a ofrecer utilizando CDS. Este puede combinar nuestro modelo de datos propio y combinarlo con tablas del modelo de datos de la aplicación.

  • Tanto en la capa de Data Modeling como en la capa siguiente (Business Services Provisioning) es posible influir en el comportamiento de la API mediante ABAP. Es posible crear APIs funcionales sin llegar a escribir ABAP. De hecho es la opción más adecuada.
  • En la capa de Business Services Provisioning podremos definir el alcance de lo que queremos exponer y como vamos a exponerlo (protocolos, etc).
  • Por último, la capa de Service Consumption no es estrictamente RAP, pero es la guinda del pastel. En ella es donde explotaremos todo lo construido anteriormente. Como hemos construido una API OData tenemos la oportunidad de utilizarla tanto para ofrecer los datos y que se consuman por otras aplicaciones como construir una aplicación FIORI.

Por supuesto podemos construir una aplicación FIORI de tipo “freestyle” que ya hemos podido ver en los últimos años, pero RAP está listo para poder soportar la nueva generación de soluciones FIORI llamadas FIORI Elements. Estas tienen el mismo look&feel pero nos permiten guiar la generación de la misma mediante el uso extensivo de las anotaciones OData que podemos incluir en la definición del modelo de datos que hacemos en fases previas del desarrollo de la solución. FIORI elements nos ofrece algunas ventajas competitivas respecto a otras soluciones de visualización.

  • Reduce el drásticamente el tiempo necesario para desarrollar soluciones basadas en FIORI como capa de presentación. Te centras en la lógica de negocio de tu solución. De entregar los datos ya se encarga FIORI Elements
  • Refuerza la consistencia de la experiencia de usuario. Todas las apps que construyas utilizando esta solución tendrán la misma apariencia y se comportarán igual. Da igual si están comprando materiales, revisando apuntes contables o pidiendo unos días libres. Facilita mucho la curva de aprendizaje de los usuarios.
  • Te ofrece navegación y capacidades empresariales out-of-the-box como accesibilidad, compatible con dispositivos móviles, internacionalización y seguridad. Estos son conceptos que incluirlos en un frontend propietario sería largo y costoso.

 

Autor

David Rodríguez Diez
Specialist Lead Consultoría – Tecnología - CMR
drodriguezdiez@deloitte.es