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
Publicar un comentario