
El modelo de programación de aplicaciones en la nube (CAP) de SAP es un marco de lenguajes, bibliotecas y herramientas para crear servicios y aplicaciones de nivel empresarial.
Cuando crea una aplicación empresarial utilizando lenguajes como Java o JavaScript (Marco Node.js), se requiere mucho esfuerzo para construirlo y agregar cualidades empresariales. CAP proporciona un marco obstinado que se basa en las mejores prácticas de la industria para facilitar el desarrollo y la adición de capacidades empresariales a su aplicación. Estas características también significan que CAP acelera significativamente el desarrollo de aplicaciones al reducir la cantidad de codificación repetitiva (código repetitivo en proyectos para agregar cualidades empresariales), mejorando así la calidad de su aplicación y reduciendo los costos de mantenimiento.
En esta publicación, enumeraremos y describiremos las diversas capacidades del marco del modelo de programación de aplicaciones en la nube de SAP.
CAP proporciona las siguientes capacidades.
Las bibliotecas ORM son bibliotecas especializadas que simplifican las interacciones de la base de datos del código de la aplicación. Mapean objetos del mundo real con artefactos de bases de datos relacionales. Su objetivo principal es liberar a los desarrolladores de la escritura de consultas SQL complejas y específicas de la base de datos al proporcionar una manera fácil y genérica de hacer lo siguiente:
Algunos de los ORM estándar de la industria para JavaScript son los siguientes:
CAP proporciona las ventajas de un ORM para el Base de datos SAP HANA. Proporciona una forma sencilla de modelar tanto el esquema de la base de datos como la interfaz de servicio. El lenguaje de definición de CDS (CDL) es un conjunto de comandos legibles por humanos en un lenguaje de modelado universal que lo ayuda a modelar esquemas de bases de datos y también esquemas de OData.
Para consultar, crear, actualizar y eliminar registros de la base de datos (funcionalidad Query Builder), CAP proporciona CDS Query Language (CQL) y API de Query Builder. Como la mayoría de los otros ORM, CAP tiene como objetivo admitir múltiples bases de datos, aunque oficialmente solo admite bases de datos SAP HANA por ahora.
Al considerar las ventajas de CAP usando la analogía ORM, es importante comprender que CAP no se llama a sí mismo ORM, ya que usa CQL para realizar consultas, las salidas de CQL son similares a REST y no usa el caché de objetos.
Consejo: Hay un esfuerzo de la comunidad de código abierto para llevar el soporte de CAP a la base de datos de código abierto PostgreSQL. Para obtener más detalles, puede consultar los módulos cds-pg y cds-dbm de Node.js.
CAP le permite definir entidades OData y exponer un servicio OData. Internamente, CAP usa el marco express para construir un servidor OData. Como parte de su caso de uso de extensión, es posible que desee conectarse a servicios OData de SAP y que no sean de SAP para crear escenarios combinados. CAP proporciona herramientas para consumir fácilmente dichos servicios y probarlos localmente también.
La arquitectura basada en eventos es muy popular en el panorama moderno basado en microservicios. Dado que CAP brinda soporte para emitir y consumir eventos, también admite la comunicación asincrónica. Utilizando el Malla de eventos de SAP servicio en SAP BTPpuede suscribirse fácilmente a eventos de SAP S/4 HANA y realizar los procesos posteriores correspondientes.
La autenticación y la autorización son requisitos básicos de cualquier aplicación empresarial. CAP se integra con los servicios de autenticación y autorización de SAP BTP para habilitar estas funciones. CAP proporciona varias estrategias de autenticación, incluida la autenticación básica y las estrategias de autenticación basadas en JSON Web Token (JWT). También proporciona una estrategia de autenticación ficticia para deshabilitar todas las verificaciones de autenticación y autorización durante las pruebas de aplicaciones locales.
CAP proporciona capacidades basadas en anotaciones para la autorización. Puede restringir las capacidades de los servicios, así como las funciones específicas necesarias para realizar una acción específica dentro de un servicio OData.
Las aplicaciones SaaS se están volviendo muy comunes en los entornos empresariales. CAP proporciona una herramienta para ampliar dichas aplicaciones SaaS a nivel de arrendatario (nivel de suscriptor) para que los clientes puedan ampliar, implementar y consumir extensiones específicas de suscriptor.
Además de las capacidades ya explicadas, CAP proporciona varias capacidades:
Para comprender mejor CAP, consideremos cómo comenzar a crear una aplicación para el mundo real. Aquí están nuestros requisitos y la solución para mayor claridad:
Un comprador en la división de compras de una empresa emite varias órdenes de compra para cumplir con los requisitos de su departamento de fabricación. Cada una de estas órdenes de compra tiene un cronograma de entrega que depende de las necesidades del proceso de fabricación. Sin embargo, los proveedores no siempre cumplen con el cronograma de entrega, lo que provoca retrasos en la fabricación.
En la actualidad, cada vez que se produce un incumplimiento probable del cronograma, el comprador escala comunicándose con los proveedores a través de varios correos electrónicos y haciendo un seguimiento del cronograma de entrega. El comprador debe mantener informados a sus superiores sobre las comunicaciones.
Los siguientes puntos débiles pueden ocurrir durante este proceso:
Crear un SAP Fiori aplicación, donde el comprador puede elegir una orden de compra y crear una escalada contra ella. La escalada será un nuevo objeto de negocio, y los comentarios de varias partes involucradas se pueden almacenar contra él. La capacidad de asignar estados a cada escalada puede permitir que las partes interesadas sepan el estado actual de la escalada. La aplicación SAP Fiori también debe enumerar todas las escaladas actuales con la capacidad de buscar y filtrar en función de varios aspectos del objeto de escalada.
Una solución fácil sería construir completamente la aplicación en el sistema back-end SAP S/4HANA. Sin embargo, en ese caso, no estamos manteniendo el «núcleo limpio» y complicaríamos el cambio futuro a un sistema SAP S/4HANA Cloud. Entonces, queremos construir esta solución como un extensión de lado a lado al intentar minimizar la huella en el sistema local.
Nuestra solución preferida para crear una extensión en paralelo es usar SAP BTP junto con su oferta de SAP Extension Suite. La siguiente figura muestra esta arquitectura. El sistema local de SAP S/4HANA expondría muchas API para que las consuman los sistemas externos. Uno de ellos es una API de orden de compra que puede enumerar órdenes de compra. A continuación, en la capa BTP de SAP, crearía una aplicación de back-end que exponer un servicio OData para el SAPUI5 aplicación para consumir. Esta aplicación backend también consumir la API de OData de la orden de compra del sistema SAP S/4HANA y exponga las órdenes de compra a través de un conjunto de entidades. Cada vez que un proveedor actualiza la información de envío contra una orden de compra, la aplicación SAPUI5 la envía a la API de OData, y el código de back-end captura la información y la almacena en una base de datos de SAP HANA a través del servicio SAP HANA Cloud.
En este escenario, el desarrollador de la aplicación backend debe realizar las siguientes tareas:
Nota del editor: Esta publicación ha sido adaptada de una sección del libro. Guía de certificación de SAP Extension Suite: examen de asociado de desarrollo por Krishna Kishor Kammaje y Mahesh Kumar Palavalli.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073