2009-04-20 40 views
10

¿Alguien puede explicar en un nivel principiante-intermedio la terminología de "bus", "transporte" y "punto final" en el contexto de un enterprise service bus? Soy un desarrollador de C# con algunos años de experiencia ahora, pero apenas estoy comenzando a trabajar con un ESB.Enterprise Service Bus Terminology

Parece que el "bus" es efectivamente una cola a la que puede enviar y recibir mensajes. Estoy bien con eso. Sin embargo, estoy trabajando en algún código existente usando NServiceBus y creo que si asimilara la terminología de "punto final" y "transporte" daría un gran salto en mi comprensión.

Respuesta

8

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.

1

Recomendaría consultar recursos relacionados con Enterprise Application Integration (EAI), que gira en torno a la ESB y varios modelos y patrones utilizados para integrar soluciones.Piense en ello es un GoF para arquitecturas ESB:

http://www.enterpriseintegrationpatterns.com/

y

http://www.enterpriseintegrationpatterns.com/toc.html

Todos estos patrones le daría una idea de lo que la gente utiliza ESB de lograr y los patrones son útiles para proporcionar las trampas comunes de la integración ESB hágalo usted mismo. Aprendí una cantidad inmensa a través de ese libro y a través de personas que provienen de él.

Cuestiones relacionadas