Correlación de destinos desde y hacia colas, temas y destinos de IBM MQ

Los mensajes de integración de servicios y los mensajes de IBM MQ contienen campos de cabecera y propiedades. Algunos de estos campos de cabeceras y propiedades contienen destinos o propiedades de destino que proporcionan información acerca de los destinos de envío y de respuesta y acerca de los destinos de las rutas de direccionamiento de reenvío y de direccionamiento inverso. Dado que la integración de servicios y IBM MQ tienen definiciones diferentes para los destinos, cuando los mensajes se convierten entre el formato de integración de servicios y el formato de IBM MQ se utilizan las correlaciones para procesar los destinos y las propiedades de los destinos.

Destinos y propiedades de destino en mensajes con formato IBM MQ

El mensaje con formato IBM MQ contiene la siguiente información relacionada con los destinos:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Estos campos están presentes en MQXQH (la cabecera de cola de transmisión de IBM MQ). MQXQH se adjunta a los mensajes únicamente cuando se trasladan entre los gestores de colas de IBM MQ o entre gestores de colas de IBM MQ y los buses de integración de servicios a través de un enlace Enlace de IBM MQ. Las aplicaciones de envío y recepción no pueden acceder a estos campos.

El campo RemoteQName contiene el nombre la cola de envío (IBM MQ) o el destino de envío (integración de servicios). El campo RemoteQMgrName identifica el gestor de colas o el grupo de compartimiento de colas (IBM MQ) o el bus de integración de servicios (integración de servicios) donde se encuentra la cola o el destino de envío. Generalmente, el campo RemoteQMgrName contiene el nombre del gestor de colas remoto, el grupo de compartimiento de cola o el bus de integración de servicios, pero puede contener un alias de gestor de colas de IBM MQ o un nombre de gestor de colas virtual de integración de servicios. Tenga en cuenta que estos campos no se utilizan para temas.

Los valores de RemoteQName y RemoteQMgrName pueden tener una longitud máxima de 48 caracteres y se deben ajustar a las restricciones de nombres de IBM MQ.

MQRFH2 jms.Dst (JMSDestination)

Este campo está presente en los mensajes JMS con formato IBM MQ que incluyen la cabecera MQRFH2.

El campo jms.Dst contiene una representación serializada (un URI de IBM MQ) del destino JMS de envío que se ha establecido cuando la aplicación ha emitido send para el mensaje. Consulte la biblioteca de IBM MQ para obtener más información acerca del formato de URI de IBM MQ para los destinos JMS.

Cuando la integración de servicios envía un mensaje que tiene una ruta de direccionamiento de reenvío hacia IBM MQ, añade un atributo ibmRoutingPath a este URI. El valor ibmRoutingPath identifica la ruta de direccionamiento de reenvío desde el mensaje de integración de servicios. IBM MQ no utiliza la ruta de direccionamiento de reenvío, pero el destino de envío puede estar en un bus de integración de servicios remoto que puede utilizar la ruta de direccionamiento de reenvío.

MQMD ReplyToQ
MQMD ReplyToQMgr

Estos campos están presentes en todos los mensajes con formato de IBM MQ.

Si la aplicación de envío especifica una cola de respuesta, el campo ReplyToQ contendrá el nombre de la cola de respuesta (IBM MQ) o el destino de respuesta (integración de servicios) y el campo ReplyToQMgr identificará el gestor de colas o el grupo de compartimiento de colas (IBM MQ) o el bus de integración de servicios (integración de servicios) en el que se encuentra dicha cola. Generalmente, el campo ReplyToQMgr contiene el nombre del gestor de colas, el grupo de compartimiento de cola o el bus de integración de servicios, pero puede contener un alias de gestor de colas de IBM MQ o un nombre de gestor de colas virtual de integración de servicios. Si la aplicación de envío especifica un tema de respuesta, o si no especifica un destino de respuesta, estos campos contienen valores nulos.

Los valores ReplyToQ y ReplyToQMgr pueden tener una longitud máxima de 48 caracteres y se deben ajustar a las restricciones de nombres de IBM MQ.

MQRFH2 jms.Rto (JMSReplyTo)

Este campo está presente en los mensajes JMS con formato IBM MQ que incluyen la cabecera MQRFH2 y especifican un destino de respuesta. Las aplicaciones JMS de IBM MQ generalmente utilizan este atributo de mensaje como el destino de los mensajes de respuesta pero generalmente otras aplicaciones de IBM MQ (no JMS) no lo utilizan. En su lugar, utilizan los campos de respuesta MQMD.

El campo jms.Rto contiene una representación serializada (un URI de IBM MQ) del destino JMS de respuesta que establece la aplicación JMS de envío. Consulte la biblioteca de IBM MQ para obtener más información acerca del formato de URI de IBM MQ para los destinos JMS.

Cuando la integración de servicios envía un mensaje que tiene una ruta de direccionamiento inverso a IBM MQ, la integración de servicios añade un atributo ibmRoutingPath a este URI. El valor ibmRoutingPath identifica la ruta de direccionamiento inverso desde el mensaje de integración de servicios. Cuando la aplicación JMS de recepción envía una respuesta, IBM MQ incluye la información de la ruta de direccionamiento del URI de respuesta en el URI de envío del mensaje de respuesta, de modo que la integración de servicios pueda utilizarla para el direccionamiento del mensaje de respuesta.

Nota:
  • Cuando la aplicación de envío especifica una cola de respuesta para un mensaje, generalmente dicha cola se encuentra en el bus, el gestor de colas o el grupo de compartimiento de cola al que se conecta la aplicación de envío. Esto permite que la aplicación de envío reciba el mensaje de respuesta desde la cola de respuesta. Las aplicaciones de integración de servicio que envían mensajes a o mediante IBM MQ no deben especificar una cola de respuesta en un bus diferente, gestor de colas o grupo de compartimiento de cola.
  • Es importante comprender que es la aplicación receptora la que utiliza el destino de respuesta en un mensaje. El bus, gestor de cola o grupo de compartimiento de cola al que se conecta la aplicación receptora se debe configurar con la información que permite el direccionamiento al destino de respuesta.

Conversión del destino cuando la integración de servicios convierte un mensaje al formato IBM MQ

Cuando la integración de servicios convierte un mensaje al formato IBM MQ, coloca la siguiente información de destino en el mensaje de formato IBM MQ:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Estos campos sólo se aplican cuando la integración de servicios envía el mensaje a través de un Enlace de IBM MQ y únicamente cuando el destino es una cola.

La integración de servicios establece estos campos basándose en el destino de envío resuelto; es decir, si el destino de envío es una alias, la integración de servicios utiliza el bus de destino y el identificador de destino. De este modo, el proceso es el siguiente:
  • Si el destino de envío está en un bus conectado indirectamente, almacena el nombre de destino (identificador) como RemoteQName y el nombre de bus como RemoteQMgrName.
  • Si el destino de envío está en el bus conectado directamente y el nombre del destino (identificador) tiene el formato cola@gestorColas, almacena el nombre de cola (cola) como RemoteQName y el nombre del gestor de colas (gestorColas) como RemoteQMgrName.
  • Si el destino de envío está en el bus conectado directamente y el nombre de destino (identificador) no tiene el formato cola@gestorColas, almacena el nombre de destino como RemoteQName y el nombre de bus como RemoteQMgrName.

Si el destino de envío está en un bus de integración de servicios conectado indirectamente y su nombre de destino no cumple con las restricciones de denominación de IBM MQ, se debe definir un destino de alias con un nombre compatible; la aplicación de envío debe utilizar el nombre compatible (alias). En este caso, debe definir el destino de alias en el bus remoto (conectado indirectamente) y no en el bus local.

Si el destino de envío está en un bus de integración de servicios conectado indirectamente y su nombre de bus no cumple con las restricciones de denominación de IBM MQ, debe haber un nombre de gestor de colas virtual para el bus conectado indirectamente. En este caso, el bus local debe definir el bus conectado indirectamente con su nombre de gestor de colas virtual y no con su nombre de bus.

Para obtener más información sobre la correlación de nombres de bus de integración de servicios que no cumplen con las restricciones de denominación de IBM MQ, consulte Cómo direccionar destinos de bus y las colas IBM MQ.

MQRFH2 jms.Dst (JMSDestination)

Si el mensaje de formato IBM MQ incluye la cabecera MQRFH2, la integración de servicios serializa el campo de cabecera JMSDestination en un URI de IBM MQ y lo almacena en el campo JMSDestination del mensaje IBM MQ. Si el mensaje tiene una ruta de direccionamiento de reenvío, la integración de servicios lo incluye en el URI como el atributo ibmRoutingPath.

MQMD ReplyToQ
MQMD ReplyToQMgr

La aplicación JMS de envío puede establecer directamente estos campos utilizando las propiedades del mensaje JMS específicas del proveedor JMS_IBM_MQMD_ReplyToQ y JMS_IBM_MQMD_ReplyToQMgr. Si la aplicación de envío no lo hace, la integración de servicios establece las propiedades si (y sólo si) el mensaje tiene un destino de respuesta y dicho destino es una cola.

La integración de servicios establece estos campos basándose en el destino de respuesta no resuelto para el mensaje; es decir, si el destino de respuesta es una alias, la integración de servicios utiliza el bus de alias y el identificador y no el bus de destino y el identificador. Las aplicaciones de integración de servicios no deben proporcionar destinos de respuesta que sean destinos foráneos ni deben tener nombres que incluyan el carácter @. Siempre que las aplicaciones no lo hagan, el proceso será el siguiente:
  • El nombre de destino de respuesta (identificador) se almacena en el campo ReplyToQ y el nombre de bus de destino de respuesta (es decir, el nombre de bus local) en el campo ReplyToQMgr.
  • Si el nombre de gestor de colas virtual es diferente del nombre de bus local, el nombre de gestor de colas virtual se almacena en el campo ReplyToQMgr en lugar del nombre de bus local.

Si el nombre real del destino de respuesta no cumple con las restricciones de denominación de IBM MQ (incluido si el nombre incluye el carácter @), debe definir un destino de alias con un nombre compatible y la aplicación de envío debe utilizar el nombre compatible (alias). En este caso, debe definir el destino de alias en el bus local y no en el bus remoto (conectado indirectamente).

MQRFH2 jms.Rto (JMSReplyTo)

Si el mensaje tiene un destino de respuesta y el mensaje de formato IBM MQ incluye la cabecera MQRFH2, la integración de servicios crea un URI de IBM MQ para representar el destino de respuesta y almacena el URI en la propiedad JMSReplyTo del mensaje IBM MQ. Si el destino de respuesta es una cola, el URI incluye el nombre de bus de destino de respuesta (el bus local) o el nombre de gestor de colas virtual (si éste es diferente). Si el mensaje tiene una ruta de direccionamiento inverso, la integración de servicios incluye dicha ruta en el URI en el atributo ibmRoutingPath.

Conversión del destino cuando la integración de servicios convierte un mensaje desde el formato IBM MQ

Cuando la integración de servicios convierte un mensaje desde el formato IBM MQ, utiliza la información de destino siguiente del mensaje de formato IBM MQ:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Estos campos sólo se aplican cuando la integración de servicios recibe el mensaje a través de un enlace IBM MQ y únicamente cuando el destino es una cola.

La integración de servicios interpreta el campo RemoteQName como el identificador de destino (siempre una cola) para el mensaje, y el campo RemoteQMgrName como el nombre del bus de destino para el mensaje. Si el campo RemoteQMgrName contiene el nombre de gestor de colas virtual del bus local, la integración de servicios lo interpreta como el nombre del bus local. La integración de servicios utiliza la combinación de bus y destino resultante (que puede ser un destino de alias en el bus local) para entregar el mensaje del modo habitual. En el caso en el que el bus de destino es un bus foráneo, incluye el reenvío del mensaje a dicho bus foráneo.

MQRFH2 jms.Dst (JMSDestination)

Si este campo está disponible, la integración de servicios lo utiliza para crear el campo de cabecera JMSDestination para el mensaje. Si el URI incluye el atributo ibmRoutingPath, la integración de servicios lo utiliza para crear la vía de acceso de direccionamiento de reenvío para el mensaje.

Si esta propiedad no está disponible (por ejemplo, si el mensaje IBM MQ no tiene una cabecera MQRFH2), la integración de servicios puede crear un campo de cabecera JMSDestination a partir del destino de integración de servicios en el que se entrega el mensaje.

MQMD ReplyToQ
MQMD ReplyToQMgr
Si estos campos contienen valores que no son nulos, la integración de servicios los utiliza para crear el primer elemento de la ruta de direccionamiento inverso para el mensaje de integración de servicios, del modo siguiente:
  • Si ReplyToQMgr es el nombre de bus local o el nombre del gestor de colas virtual, la integración de servicios establece el bus en el bus local y el nombre de destino (identificador) en ReplyToQ.
  • Si ReplyToQMgr es un bus foráneo definido en el bus local, la integración de servicios establece el bus en ReplyToQMgr y el nombre de destino (identificador) en ReplyToQ.
  • Si ReplyToQMgr no es el nombre de bus local, el nombre del gestor de colas virtual ni un bus foráneo definido en el bus local, la integración de servicios establece el bus en el bus IBM MQ conectado directamente y el nombre de destino (identificador) en queue@queueManager donde queue es ReplyToQ y queueManager es ReplyToQMgr.
MQRFH2 jms.Rto (JMSReplyTo)

Si este campo está disponible, la integración de servicios lo utiliza con los campos ReplyToQ y ReplyToQMgr para crear la ruta de direccionamiento inverso y el campo de cabecera JMSReplyTo para el mensaje de integración de servicios. Crea la ruta de direccionamiento inverso a partir del primer elemento (que crea a partir de los campos MQMD ReplyToQ y ReplyToQMgr) y cualquier elemento restante que obtiene del atributo ibmRoutingPath (si existe uno) del URI de JMSReplyTo en el mensaje IBM MQ. Crea el campo de cabecera JMSReplyTo a partir del primer elemento de la ruta de direccionamiento inverso junto con los atributos de destino del URI JMSReplyTo en el mensaje IBM MQ.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjfp0016_
File name: rjfp0016_.html