Cómo se relacionan los destinos JMS con los destinos de integración de servicios
La mayoría de las aplicaciones WebSphere Application Server utilizan las API de JMS para acceder a los servicios que proporciona el bus de integración de servicios. JMS define los destinos JMS, que son objetos Java a los que las aplicaciones JMS envían mensajes y desde las que las aplicaciones JMS reciben mensajes. Los atributos de un destino JMS incluyen la dirección del destino que utiliza el proveedor de mensajes. Para el proveedor de mensajería de integración de servicios, esta dirección es un nombre de destino de integración de servicios (un nombre de cola o un nombre de espacio de tema) y un nombre de bus. De este modo, un destino JMS puede identificar un destino de bus de integración de servicios.
Normalmente, una aplicación JMS obtiene un destino JMS de una búsqueda JNDI del nombre JNDI de destino. No obstante, una aplicación JMS también puede obtener un destino JMS de otras formas, por ejemplo, a partir de la propiedad JMSReplyTo de un mensaje JMS.
Destinos JMS: colas y temas
- Destino de cola JMS
- Se utiliza en la mensajería punto a punto en la que las aplicaciones generadoras
(productoras) envían mensajes a una cola. El proveedor de mensajería almacena simplemente una copia de cada mensaje hasta que una aplicación consumidora (consumidor) recibe el mensaje. Si hay varios consumidores, sólo un consumidor recibe una copia del mensaje. Si no hay consumidores, el mensaje se coloca en la cola.
En la integración de servicios, un objeto de destino de cola JMS tiene una propiedad de nombre de cola y una propiedad de nombre de bus (también tiene otras propiedades).
- Destino de tema JMS
- Se utiliza en la mensajería de publicación/suscripción en la que las aplicaciones
generadoras (editores) envían mensajes (publicaciones) a un tema. El proveedor de mensajería entrega una copia de cada publicación a cada aplicación consumidora (suscriptor). Si no hay ningún suscriptor, la integración de servicios descarta la publicación.
Otra diferencia con la mensajería punto a punto es que los suscriptores pueden consumir mensajes desde varios temas similares, incluyendo comodines en un nombre de tema (los editores no pueden incluir comodines en un nombre de tema).
En la integración de servicios, un objeto de destino JMS de tema tiene un nombre de tema, un nombre de espacio de tema y una propiedad de nombre de bus (también tiene otras propiedades).
Destinos JMS: relación con los destinos de integración de servicios
En la integración de servicios, un destino JMS identifica un destino de integración de servicios. Su propiedad de nombre de cola o de nombre de espacio de temas es el nombre del destino de integración de servicios. Su propiedad de nombre de bus es el nombre del bus de integración de servicios que contiene el destino.
Puede omitir la propiedad de nombre de bus cuando se define el destino JMS. Si lo hace, el destino JMS identifica el destino de integración de servicios en el bus local; es decir, cualquier bus al que la aplicación JMS se conecta. Esto puede ser útil cuando sólo hay un bus de integración de servicios o cuando todos los buses contienen un destino con el mismo nombre.
- Destino de cola de integración de servicios
- Un destino de cola representa una cola de mensajes y se utiliza para la mensajería de punto a punto. Un destino de cola de integración de servicios se localiza en un miembro de bus determinado (servidor de aplicaciones o clúster de servidores de aplicaciones). Cuando un productor envía un mensaje al destino de cola, el bus de integración de servicios entrega el mensaje a un motor de mensajería en dicho miembro de bus. El motor de mensajería entrega el mensaje a un consumidor. Si es necesario, el motor de mensajería pone en cola el mensaje hasta que un consumidor está preparado para recibirlo.
Normalmente, un destino de cola JMS identifica un destino de cola de integración de servicios; es decir, la propiedad de nombre de bus coincide con el nombre de bus local y la propiedad de nombre de cola coincide con el nombre de un destino de cola de integración de servicios del bus local.
- Destino del espacio de temas de integración de servicios
- Un destino de espacio de temas representa un conjunto de temas de "publicación y suscripción" y se utiliza para publicar/suscribir mensajería. El tema de un mensaje específico (publicación) es una propiedad del mensaje. Un destino de espacio de temas de integración de servicios no está localizado en un miembro de bus concreto. La integración de servicios mantiene una lista de suscripciones en el espacio de temas y hace coincidir las publicaciones con esa lista. Cuando una publicación nueva coincide con una o más suscripciones del espacio de temas, la integración de servicios entrega una copia de la publicación a cada suscriptor. Si es necesario, la integración de servicios puede colocar en cola el mensaje de publicación hasta que el suscriptor está preparado para recibirlo. Si la nueva publicación no coincide con ninguna suscripción, la integración de servicios descarta la publicación.
Normalmente, un destino de tema JMS identifica un destino de espacio de tema de integración de servicios; es decir, la propiedad de nombre de bus coincide con el nombre de bus local y la propiedad de nombre de espacio de tema coincide con el nombre de un destino de espacio de tema de integración de servicios del bus local. Cuando una aplicación JMS envía un mensaje a un destino de tema JMS, la integración de servicios establece la propiedad de tema de destino del mensaje en la propiedad de nombre de tema del destino de tema JMS y luego envía el mensaje al destino de espacio de tema de integración de servicios.
- Destino foráneo de integración de servicios
- Un destino foráneo representa un destino definido en otro bus (un bus foráneo). Puede utilizar un destino foráneo para la mensajería de punto a punto. Un destino foráneo se utiliza si tiene que alterar temporalmente los valores de seguridad o los valores predeterminados de mensajería de un destino individual en un bus foráneo. El bus foráneo puede ser otro bus de integración de servicios o una red
IBM MQ (es decir, uno o más gestores de colas IBM MQ interconectados o grupos de compartición de colas). Cuando un productor envía un mensaje a un destino foráneo, la integración de servicios entrega el mensaje al bus foráneo. El bus foráneo tiene la responsabilidad de poner el mensaje en la cola, como sea necesario, según su definición del destino.
Un destino JMS puede identificar un destino foráneo de integración de servicios, es decir, sus propiedades de nombre de bus y cola o espacio de temas pueden coincidir con el nombre de bus foráneo y nombre de cola o espacio de temas del destino foráneo. No obstante, esto no siempre es necesario. Si no hay ningún destino de integración de servicios con un nombre de bus foráneo coincidente y un nombre de destino coincidente (cola o espacio de nombres), la integración de servicios envía, de todos modos, el mensaje al bus foráneo especificado.