Vamos a tratar de aclarar los términos a que:
autobús en el contexto de la arquitectura ESB no deben ser considerados como cola sencilla para el mensaje de despacho. Para permitir la integración de diferentes servicios, ESB ofrece mucho más. Funciones adicionales importantes de ESB:
- Enrutamiento. Los mensajes se pueden enrutar a diferentes servicios, dependiendo del contenido del mensaje o la especificación del punto final.
- Transformaciones de mensaje/Mediaciones entre diferentes formatos
- Conversión de protocolo de transporte. ESB debería ser capaz de integrar perfectamente las aplicaciones que usan diferentes protocolos de transporte (JMS, HTTP/S, TCP puro, etc.)
- Mejora del mensaje. Los mensajes se pueden enriquecer con datos faltantes antes del procesamiento posterior.
- Seguridad
- de administración y supervisión
Esos functionalites son proporcionados por los servicios que operan dentro de ESB. Los servicios se conectan entre sí a través de los puntos finales - "direcciones" uniformes y únicas. Los mensajes enviados entre puntos finales utilizan el transporte unificado (método/protocolo que encapsula la carga del mensaje). La aplicación que utiliza de forma nativa el transporte diferente, necesita conectarse a ESB a través del adaptador adecuado, servicio que proporcionará la conversión de transporte necesaria. De esta forma, las aplicaciones que usan ESB están desacopladas entre sí y no necesitan proporcionar conversiones por sí mismas.
Por supuesto, esas son solo descripciones breves de los términos. Recuerde, Enterprise Service Bus es solo un término de referencia para un tipo específico de arquitectura (o concepto), pero no está estandarizado de ninguna manera. Por lo tanto, las implementaciones específicas pueden ser muy diferentes entre sí. Si está interesado en ESB estandarizado, puede echar un vistazo a JBI (Java Bussiness Integration). Hay varias implementaciones de código abierto de JBI disponibles, entre ellas Apache ServiceMix, Mule, OpenESB. Muy buena introducción a las tecnologías ESB se presenta en el libro "Open Source ESBs in Action" publicado por Manning.