ESB: Sistema de Mensajería Empresarial y Bus de Integración

Spanish3.34 KB

ESB: Sistema de Mensajería Empresarial

ESB: Sistema de mensajería empresarial que se encarga del intercambio de mensajes en formato XML. Estos mensajes pueden ser redirigidos y transformados de manera inteligente a través del bus.

Historia

  • Integración de aplicaciones (EAI): necesidad de integrar los sistemas independientes, como ERP y otros.
  • Implementaban una topología en estrella, con adaptadores que fueron evolucionando hacia buses orientados a mensajes MOM (Message Oriented Middleware).

Funcionalidades

  1. Adaptadores de protocolos: considerados componentes o servicios. El ESB se utiliza como protocolo de transporte, por ejemplo HTTP, FTP o POP3/SMTP. Pueden ser consumidores que reciben peticiones entrantes HTTP o clientes que realizan peticiones HTTP externas.
  2. Middleware orientado a mensajes: los buses basados en Java utilizan JMS, incluso internamente. Tienen un modelo de publicación/suscripción y otro punto a punto.
  3. Mensajes basados en XML: la tendencia es utilizar XML por su interoperabilidad, autodocumentación y extensibilidad de validación basada en esquemas. Los buses utilizan el contenido de los mensajes XML para el enrutamiento, la composición, el enriquecimiento y la validación. Además, facilita la monitorización.
  4. Enrutamiento inteligente y distribución de mensajes: el bus actúa como intermediario en la comunicación entre los distintos servicios. Puede utilizarse para la mediación, derivando reglas de enrutamiento basadas en las URI del punto final (protocolo WS-Addressing, estándar basado en SOAP). La distribución permite dividir el mensaje en varios canales o componerlo según ciertos criterios.
  5. Transformación de mensajes: se utiliza XSLT para transformar un vocabulario XML en otro, o para convertir un formato EDI o CSV en XML.
  6. Temporizadores de tareas: permiten realizar tareas como la detección periódica de ficheros en un servidor FTP y, luego, desencadenar transformaciones, o iniciar una solicitud SOAP.
  7. Calidad de servicio y mediación web: se puede utilizar el ESB para gestionar la cantidad de conexiones y asegurar un rendimiento establecido, o para discriminar niveles de servicio entre distintos tipos de clientes. También puede filtrar cierto contenido en función del perfil de seguridad del cliente, para lo cual utiliza SSL o WS-Security.
  8. Monitorización y administración: la mayoría de los buses basados en Java utiliza extensiones JMX (Java Management Extensions). Las métricas más relevantes son: mensajes recibidos, cantidad de fallos, tiempo de procesamiento medio, número de mensajes procesados por transporte, tamaño de cola y mensajes procesados por punto final o intermediario.
  9. API extensible: una de las formas es mediante lenguajes de scripts como Groovy, JRuby, JavaScript o Python, que permiten incluir la lógica de programación necesaria dentro de la configuración XML del bus. También se pueden crear componentes mediante la API de Java, implementando clases dedicadas a la extensión.

Download

PDF Word HTML