JBoss Fuse - Introducción a ESB

En este capítulo, comenzaremos con los conceptos básicos de Enterprise Service Bus. A continuación se ofrece una explicación detallada sobre ESB junto con sus ventajas, desventajas y un par de diagramas para facilitar la comprensión.

¿Qué es ESB?

ESB son las siglas de Enterprise Service Bus. ESB en su forma más simple es un middleware que actúa como una autopista de información que ayuda a múltiples aplicaciones a comunicarse.

En el mundo empresarial, desarrollamos soluciones para muchas cosas. Estas soluciones pueden utilizar diferentes tecnologías y diferentes formatos de datos. Se vuelve engorroso utilizar estas soluciones juntas debido a la variación de compatibilidad del formato de comunicación o datos en estas tecnologías. Por tanto, necesitamos una tecnología que nos permitaloosely coupled integration entre estas diferentes soluciones.

ESB tiene como objetivo simplificar este problema de integración convirtiéndose en un 'HUB' que se encuentra en el medio de todas sus aplicaciones y facilita el enrutamiento de mensajes entre ellas. ESB actúa como mediador, actuando como autopista de la información, encargándose del enrutamiento de transformación de datos, dejando que el codificador o el desarrollador se centren en su propia lógica de aplicación.

Comprender ESB se vuelve muy simple cuando entendemos el problema para el que fue diseñado especialmente y la solución se vuelve fácil. Uno debe tener una comprensión clara de cómo habilitar muchos sistemas dispares, escritos en diferentes idiomas y ejecutándose en diferentes máquinas utilizando diferentes formatos de datos para compartir información y formar una plataforma empresarial integrada.

El problema de la integración

En la plataforma empresarial, es común que varias aplicaciones colaboren y brinden funcionalidad comercial en su conjunto, pero la integración de estas aplicaciones es el problema más recurrente. Incluso se vuelve difícil con el tiempo a medida que crecen las aplicaciones.

Cada aplicación puede ingresar y enviar datos en su propio formato. Este enfoque funciona bien si el número de aplicaciones es menor, pero a medida que aumenta el número de aplicaciones, las ruedas de integración también deben batirse con un enfoque mejor. Por ejemplo, si es necesario cambiar una aplicación en particular para una empresa, se verá afectado su formato de datos de entrada o salida para todas las aplicaciones que dependen de esa aplicación Maestra.

Este enfoque constituye el mayor obstáculo para la integración, que espera una arquitectura estrechamente acoplada. Aquí es donde ESB entra en escena. No es necesario que cada aplicación se comunique directamente con otra aplicación; en cambio, todas las aplicaciones se comunican con el ESB y el ESB maneja el enrutamiento de información y la conversión de formato de datos internos.

¿Por qué ESB?

A continuación se presentan algunos puntos que explican por qué Enterprise Service Bus es esencial.

  • ESB tiene como objetivo simplificar el problema de la integración con aplicaciones compatibles variantes.

  • Actúa como Middleware, que actúa como mediador de todas sus aplicaciones y facilita el enrutamiento de mensajes entre ellas.

  • En lugar de que cada aplicación interactúe directamente con las demás aplicaciones, cada aplicación ahora solo tiene una interfaz para el ESB.

  • El ESB es responsable de traducir los mensajes hacia / desde un formato común y de enrutarlos a sus destinos.

  • El mayor ahorro en este enfoque es una bendición si tiene que reemplazar cualquiera de sus aplicaciones existentes. En lugar de escribir un montón de nuevas interfaces, ahora solo tiene una interfaz de la que preocuparse (entre su aplicación y el ESB).

SOA y ESB?

SOA y ESB se usan comúnmente de manera intercambiable, pero son completamente diferentes.

SOA es un patrón de diseño que permite que la aplicación exponga sus funcionalidades como un servicio a través de la red a través de protocolos de comunicación, mientras que ESB es un modelo que facilita la comunicación entre sistemas dispares, pero ESB se puede utilizar como columna vertebral al implementar SOA.