Arquitecturas SOA e integración de aplicaciones negocio

 In Business Intelligence, ESB, Integración, Microservicios, SOA, Transformación digital

Una problemática habitual dentro de los procesos de transformación digital de las empresas es la dificultad para incorporar a sus ERPs funciones de negocio personalizadas que no se encuentren dentro de los módulos standard de este tipo de sistemas.

Las demandas de los procesos de negocio actuales imposibilitan homogeneizar toda la gestión de una organización dentro de un único sistema, por lo que es habitual que las empresas vayan incorporando progresivamente diferentes aplicaciones específicas: CRMs, plataformas IoT, sistemas de planificación avanzados, aplicaciones de Business Intelligence… La integración de todas estas aplicaciones con el “ERP core” supone un reto importante y es una de las principales razones por las que muchos clientes nos contactan. El objetivo principal es personalizar el software para que coincida con los procesos de negocios y no al revés.

En este sentido, una estrategia que solemos recomendar es establecer arquitecturas orientadas a servicios SOA (en inglés Service Oriented Architecture). SOA es un patrón de arquitectura que establece una forma de diseñar la integración de aplicaciones con una orientación clara a la exposición de servicios. Se entiende por servicio un componente software al que se le solicita realizar una función concreta y es capaz de retornar un resultado a la aplicación que le ha invocado.

Las arquitecturas SOA presentan una serie de características que simplifican muchos los procesos de integración entre aplicaciones:

  • Son arquitecturas flexibles, las aplicaciones se comunican mediante protocolos estándar por lo que son  reutilizables (lo que reduce los gastos de mantenimiento).
  • Los servicios pueden ser consumidos por múltiples procesos de negocio permitiendo la interoperabilidad entre diversas aplicaciones.
  • Posibilitan la integración de aplicaciones implementadas sobre tecnologías diferentes y de sistemas “legacy”.
  • Son escalables, por lo que normalmente la implantación de un modelo SOA se puede realizar de forma progresiva.
  • Posibilitan la incorporación de microservicios que se pueden ejecutar y desplegar de forma independiente.

Un aspecto fundamental para la puesta en marcha de una solución SOA es la utilización de un ESB (Enterprise Service Bus) en mitad de la infraestructura al que conectar todos los clientes y servicios. Para explicar de forma gráfica la importancia de un ESB que centralice todas las conexiones vamos exponer cuatro casos de uso:

  • Caso de uso 1. Existe un servicio consumido únicamente por un cliente. Todo es sencillo y no debería haber ningún problema.

  • Caso de uso 2. Tenemos varios servicios que son consumidos por varios clientes. La arquitectura comienza a complicarse, con multitud de posibles conexiones de todos con todos. La arquitectura SOA, sin una buena gobernabilidad se puede complicar, haciendo que se cree un entramado de llamadas y respuestas difíciles de trazar e identificar.

  • Caso de uso 3. Se presentan varios servicios que son consumidos por varios clientes, pero además con interdependencia de servicios (los servicios 1 y 2 dependen del 4). La arquitectura es compleja con multitud de posibles conexiones de todos con todos. Además si el servicio 4 cae, los servicios 1 y 2 dejan de estar activos.

  • Caso de uso 4. Si en el mismo caso anterior se incluye un ESB, este se encargaría de escuchar las peticiones de los clientes (diferentes protocolos), enrutarlas, mapear los datos de un tipo de objeto a otro, formatear los datos (CSV, XML, JSON…) y llamar al resto de servicios. De esta manera, tanto el servicio 1, como el servicio 2, cuando necesiten llamar al servicio 4, lo harán a través del ESB (“nuestro concentrador de servicios” o “HUB”) y cualquiera de los clientes podrá llamar a cualquiera de los servicios, siempre que estén expuestos o publicados en el ESB.

Dentro de nuestra solución ACTIOCORE se incluyen funciones de bus integración ESB que facilitan la orquestación de servicios y la puesta en marcha de arquitecturas SOA.

Recommended Posts

Leave a Comment

Contáctanos

Puede enviarnos un correo electrónico y nos pondremos en contacto contigo lo antes posible.