ENTERPRISE SERVICE BUS (ESB)



Un bus de integración (ESB) ocupa la capa de abstracción intermedia (middleware) entre los distintos sistemas de una o varias organizaciones, proporcionando mecanismos de comunicación y transformación a través de mensajería basada en estándares.

Middleware: Software que se sitúa entre un sistema operativo y las aplicaciones que se ejecutan en él. Básicamente, funciona como una capa de traducción oculta para permitir la comunicación y la administración de datos en aplicaciones distribuidas.

En definitiva, un ESB debe ser capaz de reemplazar todo el contacto directo entre aplicaciones, consiguiendo que todas ellas se comuniquen a través del bus.

Los ESB transmiten y reciben mensajes basados en estándares, pero deben ser capaces de transformar mensajes a formatos que sean reconocidos por las distintas aplicaciones en el caso de que sea necesario, lo que se realiza a través de adaptadores.

Además, el intercambio de mensajes debe ser independiente de la plataforma. Esto permite al ESB integrar aplicaciones que se ejecutan en diversos sistemas operativos o mainframes.

Es de gran utilidad, ya que la mayoría de las organizaciones disponen de diversos sistemas y aplicaciones que se integran y que deben estar sincronizados. Un ESB, proporciona servicios de integración de las distintas aplicaciones a través de mensajería basada en estándares y servicios de sincronización. Aunque un ESB no implementa por sí mismo una arquitectura orientada a servicios (SOA), proporciona características para su implementación.

SOA (Arquitectura Orientada a Servicios): Estilo de arquitectura de TI que se apoya en la orientación a servicios. La orientación a servicios es una forma de pensar en servicios, su construcción y sus resultados. Un servicio es una representación lógica de una actividad de negocio que tiene un resultado de negocio especifico (ejemplo: comprobar el crédito de un cliente, obtener datos de clima, consolidar reportes de perforación)

ARQUITECTURA DE ESB

El uso de la palabra "bus" viene del bus que transporta los bits entre los distintos dispositivos de un ordenador. El bus de servicio de empresa proporciona una función análoga a un nivel superior de abstracción. En una arquitectura de empresa que hace uso de un ESB una aplicación se comunicará a través del bus, que actúa como "intermediario de mensajes" (message broker) entre las aplicaciones. Este enfoque tiene la ventaja de que reduce el número de conexión punto-a-punto que se necesitan para permitir que se comunique una aplicación. Esto, a su vez, simplifica el "análisis de impacto" (impact analysis) de la mayor parte del software. Reduciendo el número de puntos de contacto de una aplicación determinada, el proceso de adaptación de un sistema a los cambios de uno de sus componentes se hace más sencillo.

CAPACIDADES CENTRALES

CATEGORÍA
FUNCIONES
Invocación
Soporte para protocolos de transporte síncrono y asíncrono, mapeo de servicios (localización y emparejamiento)
Enrutamiento(Routing)
addressability, encaminamiento estático/determinista, encaminamiento basado en contenidos, encaminamiento basado en normas, encaminamiento basado en políticas
Mediación
Adaptadores, transformación de protocolos, mapeo de servicios
Transmisión de mensajes
Procesamiento de mensajes, transformación de mensajes y mejora de mensajes
Coreografía de procesos1
Implementación de procesos de empresa complejos
Orquestación de servicios
Coordinación de múltiples servicios de implementación presentados como un único servicio agregado
Procesamiento de eventos complejo
Interpretación de eventos, correlación, emparejamiento de patrones
Otros servicios de calidad
Seguridad (cifrado y firma), entrega confiable, administración de transacciones
Administración
Monitorización, auditoría, registro, medición, consola de administración, BAM ("Monitorización de la actividad empresarial").

CARACTERÍSTICAS DE UN ESB

·        Independientes respecto a sistemas operativos y lenguajes de programación.
·        Uso de XML como lenguaje estándar de comunicación.
·        Soporte de estándares de Servicios Web.
·        Adaptadores para realizar la integración con aplicaciones.
·        Modelo de seguridad estándar para autorizar, autentificar y auditar el uso del ESB.
·        Transformación de mensajes.
·        Validación de mensajes.
·        Enrutamiento de mensajes aplicando reglas de negocio y en función del contenido del mensaje.
·        Manipulación de excepciones.
·        Soporte a encolado y mantenimiento de mensajes, si las aplicaciones no están disponibles.
·        Monitorización del sistema y de la actividad de negocio (BAM).

BENEFICIOS DEL USO DE UN ESB

·        Integraciones más rápidas y económicas de los sistemas.
·        Mayor flexibilidad ante cambios.
·        Basado en estándares.
·        Servicios predefinidos que ahorran costes de desarrollo.
·        Más configuración que código a la hora de integrar.
·        Mayor control del sistema.
·        Reglas de negocio manejadas por analistas de negocio.
·        Seguridad en la integración entre aplicaciones.

PRINCIPALES DESVENTAJAS

·        Requiere un Modelo de Mensajes de Empresa, exigiendo una administración adicional.
·        Requiere una administración constante de versiones de mensajes para asegurar el pretendido beneficio de un emparejamiento flexible.
·        Normalmente precisa más hardware que para un simple sistema de mensajes de punto-a-punto.
·        Se precisan conocimientos en el análisis de middleware para configurar, administrar y operar un ESB.
·        Mayor latencia general causada por los mensajes que atraviesan la capa extra del ESB, especialmente si se compara con las comunicaciones punto-a-punto.
·        Aunque los sistemas de ESB pueden requerir un esfuerzo significativo para ser implementados, no producen un valor comercial sin el consiguiente desarrollo de servicios SOA para el ESB

MULE ESB – MuleSoft


Mule es un framework de mensajería ESB (Enterprise Service Bus). Es un gestor de objetos escalable y distribuible que puede manejar interacciones con servicios y aplicaciones que usan distintas tecnologías de transporte y mensajería.

Mule fue diseñado para ser liviano y fácilmente embebible en aplicaciones Java y servidores de aplicación o correr como un servidor stand alone. Se integra con un número de frameworks como spring, hivemind y plexus y soporta muchos componentes de transporte y servicio como JMS, SOAP, JBI, BPEL, EJB, AS/400, HTTP, JDBC, TCP, UDP, SMTP, FILE, FTP y más.

Mule destaca por la facilidad de su instalación y también por la posibilidad de ser una posibilidad hibrida. Esta empresa, ofrece una solución open source pero también tiene a disposición del usuario una opción comercial, lo que permite obtener mayores funcionalidades y soporte.

Podemos utilizar la versión Open Source sin ningún coste de licencia incluso en la fase de producción, pero cuando queramos movernos más allá del prototipo deberemos adquirir la versión disponible para compañías.

Otra cosa que debemos de tener claro a la hora de elegir Mule, es que únicamente nos ofrece un ESB. Si es esto lo que necesita nuestra empresa puede ser una buena opción, pero tenemos que asegurarnos de que en el futuro tampoco necesitaremos más allá de un ESB. En el caso de que en los próximos años nuestra integración de sistemas se vuelva más compleja, esta opción sería insuficiente. En este caso, estaríamos obligados a combinar Mule con otros proveedores.

Comentarios

Entradas populares