school marvel example curso crear colombia cola jms

marvel - jms school



¿Cuál es la responsabilidad de un agente de JMS en el sistema JMS Eco? (1)

Estaba leyendo esta question y la respuesta correspondiente y me confundí con el término corredor de JMS en la primera línea de la respuesta:

MS (ActiveMQ es una implementación de agente de JMS)

Quiero saber qué es exactamente un JMS broker y cuáles son sus responsabilidades.

La página de Wikipedia en JMS enumera varios elementos en el sistema ecológico JMS, pero no menciona a los intermediarios como tales.


Realmente no existe una definición oficial de lo que es un agente de JMS, pero existe una diferencia conceptual entre una cola de mensajes y un intermediario. Aquí está mi opinión sobre esto.

  • Una cola de mensajes solo mira los encabezados de los mensajes para descubrir dónde enviar el mensaje, la cola de mensajes no examina el cuerpo del mensaje ni ejecuta ningún código que transforme el contenido del cuerpo del mensaje. La misión Message Queue es entregar mensajes, eventualmente, una vez y solo una vez, y para que sean enviados.
  • Un intermediario de mensajes proporciona un entorno de programación donde puede escribir código de transformación de mensajes de manera fácil y eficiente. Por ejemplo, puede necesitar transformar el contenido de un mensaje del formato A al formato B y no quiere que los clientes antiguos que usan el formato A tengan que volver a escribir para que pueda escribir un programa de traducción de mensajes y desplegarlo en el mensaje corredor. En este caso, el message broker será un proceso separado que posiblemente se ejecute en una máquina separada que es responsable de ejecutar el código de procesamiento de mensajes.

El gran valor de los intermediarios de mensajes es que pueden hacer cosas realmente agradables para usted al manejar mensajes concurrentemente, fail-over para procesamiento de lógica, implementación de lógica de procesamiento, monitoreo y registro ... etc. Piense en un intermediario de mensajes como un especialista servidor de aplicaciones para escribir código de procesamiento de mensajes, posiblemente en un lenguaje personalizado de alto nivel. Por ejemplo, IBM Message Broker puede programar en ESQL una extensión de SQL junto con diagramas y nodos que se conectan entre sí. Los programas escritos para un mensaje borker serán más cortos que si hubiera escrito todo el código usted mismo usando JMS sin formato.

Los intermediarios se pueden centralizar o distribuir, por ejemplo, puede tener un agente central en Nueva York y tener clientes en Londres y Hong Kong conectados. O bien, podría haber distribuido el intermediario y tener una instancia ejecutándose en Londres y Hong Kong que procesa los mensajes más cerca del origen / destino del mensaje, todo dependerá de su infraestructura de gestión y de otros recursos, como las bases de datos, el intermediario de mensajes. necesita hablar