Recientemente SAP ha liberado el servicio “Advanced Event Mesh”, como parte de la solución SAP Integration Suite, pero ¿La comunicación basada en eventos es algo nuevo en SAP? ¿Es la única opción existente para ello? ¿Está incluido dentro de mi suscripción de SAP Integration Suite / SAP BTP? A continuación, te describo las capacidades de gestión de eventos para responder a estas y otras preguntas.
Introducción a EDA (Event-driven Architecture)
Antes de nada, vamos a describir brevemente en que consiste una arquitectura basada en eventos (EDA) y sus ventajas.
EDA es un paradigma de arquitectura en la que diferentes componentes o aplicaciones no interactúan entre sí mediante el consumo tradicional de servicios síncronos, sino que se comunican de forma asíncrona y desacoplada a través de la producción, publicación y el consumo de eventos. Para ello es importante contar con una plataforma o broker intermedio, que permita la publicación y suscripción a eventos. De esta forma, una aplicación producirá un evento y lo publicará en dicha plataforma, y otras aplicaciones podrán suscribirse y consumir estos eventos, para reaccionar a ellos según los requerimientos particulares de cada aplicación.
La principal ventaja de EDA respecto a otros paradigmas es el desacoplamiento entre las aplicaciones que se comunican por eventos, lo que se traduce en la mejora de los siguientes puntos:
- Rendimiento: Desde este punto de vista, la generación masiva de eventos o picos de producción de una aplicación no afectará a los consumidores, que consumirán los eventos al ritmo que soporten.
- Tolerancia a errores: Los errores, problemas o perdidas de disponibilidad de una aplicación serán transparente para el resto, que seguirán funcionando con normalidad.
- Escalabilidad: Cada aplicación o componente puede escalar de forma independiente para reaccionar a los eventos a los que se subscriba. Por otro lado, el número de aplicaciones que se suscriban a un determinado evento puede incrementar o disminuir sin afectar al resto.
- Evolución: Cada aplicación puede evolucionar de forma autónoma e independiente, lo que es esencial para crear aplicaciones modernas e innovadoras.
- Agilidad: Desde el punto de vista de desarrollo, se facilita la labor a los desarrolladores que no se tendrán que preocupar de cómo integrar con cada aplicación, sino sólo de consumir eventos de una plataforma única.
SAP y la comunicación basada en eventos
Aunque con la liberación del servicio de “Advanced Event Mesh” SAP está promoviendo la comunicación por eventos como una novedad, el servicio “SAP Event Mesh” ya existía en SAP BTP y desde SAP S/4HANA era posible generar eventos.
Empezando por SAP S/4HANA, dentro del SAP Business Accelerator Hub (antes conocido como SAP API Business Hub: https://api.sap.com/) podemos encontrar los eventos disponibles para cada producto:
Dentro de estos eventos podemos encontrar dos tipos:
- Notification Event: Este evento únicamente nos notifica del cambio de un objeto de negocio en SAP; por ejemplo, mediante los eventos de “Business Partner” únicamente se informa de que un business partner ha sido creado o modificado, y para ello se envía únicamente su identificador.
- Data Event: Estos eventos contienen la información del objeto de negocio que ha cambiado o se ha creado, de cara a informar/replicar a otros sistemas sin necesidad de llamadas adicionales. Por ejemplo, los eventos relacionados con “Sales Order” contienen información adicional al identificador del objeto.
En cuanto a los servicios de SAP BTP que actúan como plataformas o brokers de eventos, existen los dos mencionados anteriormente. De esta forma, desde SAP podemos activar eventos que se publicarán en un “Event Mesh” y las aplicaciones podrán suscribirse a ellos para consumirlos.
Servicios “Event Mesh”
Los servicios existentes en SAP BTP para posibilitar la comunicación basada en eventos son dos:
- SAP Event Mesh: Servicio que ya existía en SAP BTP, orientado a facilitar el consumo de los eventos de SAP S/4HANA. Este servicio aún se activa de forma independiente a SAP Integration Suite, aunque la idea es que pase a formar parte de esta plataforma al igual que está ocurriendo con SAP Graph.
- Caso de uso: Consumo de eventos de SAP S/4HANA y distribución a otras aplicaciones de terceros o extensiones en SAP BTP.
- Ventajas: Rápida implantación, fácil integración con SAP S/4HANA, bajo coste.
- Desventajas: No está diseñado para soportar grandes volúmenes de eventos, es una herramienta básica.
- Pricing: Suscripción por paquetes de GB consumidos, a partir de 7 euros mensuales por GB.
- Advanced Event Mesh: Nuevo servicio de SAP BTP, orientado a implantar arquitecturas basadas en eventos complejas y de uso intensivo. Aunque se ofrece como parte de SAP Integration Suite, se activa de forma independiente en SAP BTP.
- Caso de uso: Implantación de arquitecturas basadas en eventos de cualquier tipo y para integrar con cualquier aplicación, no necesariamente con SAP S/4HANA, con gran volumen y uso intensivo.
- Ventajas: Rápida implantación, escalabilidad, funcionalidad avanzada para la gestión de eventos (filtrado, enrutado, monitorización, etc.).
- Desventajas: Integración no tan sencilla con SAP S/4HANA, mayor coste.
- Pricing: El precio difiere según el tipo de tenant (público, dedicado, cliente) y el número de horas de uso, pero una referencia puede ser a partir de 1.500€ al mes.
Por lo tanto, podemos concluir que tiene sentido la existencia de ambas herramientas por separado puesto que el caso de uso de cada una de ellas es muy diferente, aunque lo ideal es que confluyan en una única herramienta con un pricing razonable para cada caso de uso.
Si deseas conocer más sobre SAP Integration Suite, EDA, comentar tus casos de uso o realizar una prueba de concepto, nuestro equipo de expertos en integración estará encantado de ayudarte.
¿Quieres saber más de SAP Integration Suite? clic aquí
Roberto Clemente
Senior Manager | BTP - SAP Integration Suite - ABAP