• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Presentamos el modelo de programación de aplicaciones (CAP) en la nube de SAP

By s4pcademy 


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.

Capacidades del modelo de programación de aplicaciones en la nube de SAP

CAP proporciona las siguientes capacidades.

Capacidades similares al mapeo relacional de objetos (ORM)

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:

  • Defina el esquema y los artefactos de la base de datos.
  • Consultar y actualizar registros de bases de datos, incluido el manejo de transacciones (Query Builder).

Algunos de los ORM estándar de la industria para JavaScript son los siguientes:

  • Sequelize: este es el ORM más popular para Node.js.
  • Bookshelf: utiliza el generador de consultas Knex.js.
  • Línea de flotación: este ORM es el predeterminado cuando usa el marco Sails.js de Node.js.
  • js: se basa en Knex.js Query Builder.

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.

Crear y consumir servicios OData

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.

Manejar eventos

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.

Autenticacion y autorizacion

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.

Extienda las aplicaciones SaaS

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:

  • Implemente proyectos en SAP BTP y SAP HANA XSA
  • Use textos específicos del idioma (i18n) en el modelado de dominio
  • Manejar varios archivos multimedia
  • Administre la privacidad de los datos mediante la identificación de datos privados y la integración con el servicio SAP Personal Data Manager en SAP BTP

Escenario del mundo real

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:

Requisito

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.

Puntos de dolor

Los siguientes puntos débiles pueden ocurrir durante este proceso:

  • En cualquier momento, es muy engorroso enumerar todas las escaladas que se están siguiendo actualmente.
  • Es tedioso recopilar todos los comentarios de varias personas en la orden de compra.
  • La administración no tiene visibilidad sobre el estado de varias escaladas en ningún momento.

Solución

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.

Implementación Técnica

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.

Arquitectura simplificada de nuestra solución

En este escenario, el desarrollador de la aplicación backend debe realizar las siguientes tareas:

  • Exponga el servicio OData para que lo consuma la aplicación SAPUI5.
  • Consumir el servicio OData desde sistemas externos (SAP S/4HANA, en este caso).
  • Asegúrese de que los usuarios deban autenticarse antes de acceder al servicio OData anterior.
  • Asegúrese de que la aplicación verifique la autorización del usuario para realizar la lectura o actualización.
  • Cree un modelo de datos (esquema, tablas, vistas) en el servicio SAP HANA Cloud.
  • Cree API para almacenar y recuperar datos del servicio SAP HANA Cloud en SAP BTP.
  • Registre errores y mensajes para solucionar problemas.

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.






¿Qué es SAP BTP? | Blogs de SAP
Previo
Integración de puente de pesaje en S/4HANA Public Cloud
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.