2012-08-22 17 views
5

Cada descripción de la arquitectura de bus de mensajes parece describir un intermediario centralizado para los mensajes de enrutamiento:Message Buses y MOM: ¿lo mismo?

Cada aplicación tiene una única conexión al bus de mensaje en lugar de múltiples conexiones dedicadas a cada una de las otras aplicaciones.

http://msdn.microsoft.com/en-us/library/ff647328.aspx

Estructura del middleware de conexión entre estas aplicaciones como un autobús mensaje que les permite trabajar juntos a través de mensajes.

http://www.eaipatterns.com/MessageBus.html

servicio de autobuses es la mensajería de infraestructura que se encuentra entre las aplicaciones lo que les permite intercambiar mensajes de manera imprecisa para escala mejorada y capacidad de recuperación.

http://www.windowsazure.com/en-us/home/features/messaging/


Las descripciones parecen idénticos a la arquitectura Message Broker; llevándome a creer lo siguiente:

El término 'Message Bus' es efectivamente lo mismo que 'MoM' - un término genérico para referirse a una infraestructura de mensajería sin mencionar explícitamente una topología. Es decir. Message Broker es un tipo de Message Bus.

Esto parece ser un tema controvertido, y si bien hay algunas preguntas similares en SO, ninguna tiene (IMO) respuestas definitivas.

P.s. Soy consciente de que Enterprise Service Bus es completamente diferente, y es efectivamente un MoM "rico en funciones".

Respuesta

6

Tienes razón, esta área de la terminología es muy desordenado y no hay respuesta definitiva, pero esta es mi punto de vista de mi vida profesional:

Lo primero es que hacer es pensar acerca de esto en los diferentes niveles de abstracciones - conceptos arquitectónicos vs productos.

Un bus de mensajes (http://www.eaipatterns.com/MessageBus.html) se refiere a menudo como un principio arquitectónico para desacoplar aplicaciones a menudo junto con formatos de datos canónicos (http://www.eaipatterns.com /CanonicalDataModel.html), independientemente de la tecnología. A menudo implementado usando productos MoM.

Un MoM generalmente se refiere a una familia de productos de middleware que implementa el paso de mensajes asincrónicos. A menudo se crean estándares de soporte tales como JMS y AMQP (típicamente WebSphere MQ, ActiveMQ, mensajes Azure, hornetQ, RabbitMQ, etc.etc).

Un intermediario de mensajes suele ser un MoM, y ambos términos se utilizan para el mismo producto de mensajería. Puede haber confusión aquí, ya que el producto ESB principal de IBM se denomina WebSphere Message Broker mientras que más bien es un ESB utilizado junto con el producto MoM - WebSphere MQ. Por lo general, la mayoría MoM llaman a sí mismos corredores, como RabbitMQ, ActiveMQ, etc. Qpid

Hope esto no causó más confusión :)

0

Las diferencias son principalmente diferentes proveedores tratando de diferenciarse en el mercado y aumentar su mente compartida. Dado que los proveedores generalmente definen sus propios términos, generalmente habrá una ligera diferencia en lo que significa cada vendedor según los términos que usan.

Sin embargo, en general, son de la misma clase o tipo de sistema. Organizan y administran el transporte, las colas y la persistencia (almacenamiento) de los mensajes de un servicio de software a otro, además de eso, debe buscar listas de funciones específicas de los vendedores para sus productos.

0

WebSphere Message Broker pertenece a la capa de ESB de una SOA y también es madre. WebSphere MQ también es MOM. Creo que gran parte de la confusión está en torno a conceptos de arquitectura abstracta y productos de software reales. SOA y ESB son conceptos abstractos. Toda la industria de la arquitectura empresarial IBM, Microsoft, Oracle, TIBCO, etc. siempre están compitiendo por la cuota de mercado. Las compañías de software a menudo fingen que inventaron algo nuevo y mejor para llamar la atención de sus clientes. Hacen muchas promesas descabelladas sobre sus productos cuando en realidad crean un nuevo conjunto de problemas costosos (por ejemplo, las transformaciones XML causan graves problemas de rendimiento y seguridad). Debido a que es impulsado por la codicia corporativa y "llegar al mercado rápido", siempre hay una gran cantidad de confusión y problemas de TI y mucho estrés para los trabajadores de TI.