Corrientes de datos

Una corriente de datos es un método de particionamiento de temas utilizado por las aplicaciones de WebSphere MQ Publicación/Suscripción. Los conjuntos de temas relacionados se agrupan en corrientes de datos separadas.

Utilizando corrientes de datos, pueden aplicarse distintos controles de seguridad a distintos grupos de temas y, de este modo, la carga de trabajo de publicación del intermediario puede equilibrarse mejor.

Aunque WebSphere Message Broker proporciona otros medios para que una aplicación lleve a cabo estas dos acciones, el concepto de corrientes de datos se soporta para que exista compatibilidad con aplicaciones MQRFH.

WebSphere Message Broker permite a las aplicaciones cliente MQRFH especificar un parámetro del mandato MQPSStreamName en sus suscripciones y publicaciones. No obstante, el nombre de la corriente de datos se utiliza únicamente para modificar el tema a fin de conservar la característica de particionamiento de WebSphere MQ Publicación/Suscripción.

Si el nombre de una corriente de datos asociado a un mensaje no es SYSTEM.BROKER.DEFAULT.STREAM, el mensaje se procesará como si el o los temas mencionados dentro del mensaje llevasen el prefijo "$SYS/STREAM/<nombreCorrienteDatos>/". Por ejemplo, una suscripción al Tema1 que especifique el nombre de corriente de datos CorrienteDatosX se procesa como si la suscripción se hubiese hecho para el tema "$SYS/STREAM/CorrienteDatosX/Tema1".

Las aplicaciones de publicación y suscripción de MQRFH2 también pueden destinarse a temas relacionados con corrientes de datos, aunque no puedan especificar por sí mismas un nombre de corriente de datos en los mensajes que envíen al intermediario de WebSphere Message Broker. Para ello, deberán prefijar los temas con el prefijo de corriente de datos adecuado.

Por ejemplo, un suscriptor de MQRFH2 ha de especificar el tema "$SYS/STREAM/STOCK.STREAM/IBM/Último" para suscribirse al tema "IBM/Último" que se publica en la corriente de datos STOCK.STREAM dentro de la red de WebSphere MQ Publicación/Suscripción.

WebSphere MQ Publicación/Suscripción permite únicamente el envío de publicaciones relacionadas con la corriente de datos a una cola que tenga el mismo nombre que la corriente de datos. Sin embargo, WebSphere Message Broker permite que los clientes de publicación envíen sus publicaciones a cualquier cola de entrada de un flujo de mensajes. Las aplicaciones MQRFH que decidan especificar explícitamente un parámetro del nombre de la corriente de datos dentro de una publicación podrán enviarla a cualquier cola de publicación que reciba el servicio del intermediario de WebSphere Message Broker. No es necesario que el nombre de la cola sea igual que el nombre de la corriente de datos. No obstante, esto podrían afectar al orden en que se reciben las publicaciones. Vea si esto es importante para sus aplicaciones.

Cada nodo Publication tiene una propiedad Denominación de corriente de datos implícita que tiene como valor por omisión verdadero. Esta opción por omisión tiene un comportamiento idéntico al de WebSphere MQ Publicación/Suscripción cuando una publicación no contiene un nombre de corriente de datos implícito. Si la propiedad es falso, y la publicación no contiene un nombre de corriente de datos explícito, se da por supuesto SYSTEM.BROKER.DEFAULT.STREAM.

Las opciones que están disponibles tanto para aplicaciones cliente MQRFH como MQRFH2 que publiquen mensajes se indican en la siguiente tabla; la tabla muestra las opciones para la corriente de datos por omisión y para un ejemplo del nombre de corriente de datos CorrienteDatosX.

  Publicador MQRFH Publicador MQRFH2
  corriente de datos por omisión CorrienteDatosX corriente de datos por omisión CorrienteDatosX
Suscriptor de MQRFH S1,P1 S2,P2 S1,P3 S2,P4
Suscriptor de MQRFH2 S3,P1 S4,P2 S3,P3 S4,P4

Notas sobre el suscriptor

S1
El suscriptor efectúa la suscripción sin un nombre de corriente de datos o con el nombre de corriente de datos "SYSTEM.BROKER.DEFAULT.STREAM".
S2
El suscriptor efectúa la suscripción con el nombre de corriente de datos "StreamX".
S3
El suscriptor efectúa la suscripción a un tema sin añadir "$SYS/STREAM/<nombreCorrienteDatos>/".
S4
El suscriptor efectúa la suscripción prefijando el tema con "$SYS/STREAM/StreamX/".

Notas sobre el publicador

P1
El publicador efectúa la publicación en cualquier cola especificando el nombre de corriente de datos "SYSTEM.BROKER.DEFAULT.STREAM", o efectúa la publicación sin especificar un nombre de corriente de datos en ninguna cola que haya dado a la propiedad Denominación de corriente de datos implícita el valor "falso".
P2
El publicador efectúa la publicación en cualquier cola especificando el nombre de corriente de datos "CorrienteDatosX", o efectúa la publicación sin especificar ningún nombre de corriente de datos en la cola "CorrienteDatosX" habiendo dado a la propiedad Denominación de corriente de datos implícita el valor "verdadero".
P3
El publicador efectúa la publicación en cualquier cola sin añadir el prefijo "$SYS/STREAM/<CorrienteDatos>/" al tema.
P4
El publicador publica en cualquier cola y añade el prefijo "$SYS/STREAM/StreamX/" al tema.
Nota: El prefijo "$SYS/STREAM/<nombreCorrienteDatos>/" se elimina de todos los temas en una publicación de MQRFH2 cuando ésta se entrega a un suscriptor de MQRFH.

Corrientes de datos e intermediarios contiguos

En una red WebSphere MQ Publicación/Suscripción, un intermediario no tiene que soportar el mismo conjunto de corrientes de datos que los intermediarios contiguos. Si un intermediario no tiene soporte para una corriente de datos para la que sí tiene soporte uno de sus intermediarios contiguos, las publicaciones asociadas a dicha corriente de datos no estarán disponibles para los clientes en dicho intermediario.

Cuando uno de los intermediarios de WebSphere Message Broker se conecta a la red, tiene soporte para todas las corrientes de datos de sus intermediarios contiguos de WebSphere MQ Publicación/Suscripción. Esto significa que los cliente del intermediario de WebSphere Message Broker pueden destinar publicaciones a cualquier corriente de datos soportada por cualquiera de sus intermediarios contiguos de WebSphere MQ Publicación/Suscripción.

Sin embargo, para que dichas publicaciones estén disponibles, deberá definir las colas de corriente de datos y definir y desplegar los flujos de mensajes que las soporten para el intermediario de WebSphere Message Broker.

La siguiente figura muestra los efectos de añadir un intermediario de WebSphere Message Broker a un entorno de WebSphere MQ Publicación/Suscripción de múltiples corrientes de datos. El intermediario de WebSphere Message Broker, NEWBROKER, se utilizado para unir los intermediarios de WebSphere MQ Publicación/Suscripción, BROKERA y BROKERB.

Una red heterogénea


Una red heterogénea. Esta figura muestra un intermediario de <ph conref='edvent.dita#edvent/mqsi'></ph>, NEWBROKER, colocado entre dos intermediarios de <ph conref='edvent.dita#edvent/sdk'></ph>, BROKERA y BROKERB. También indica las corrientes de datos asociadas a cada uno de los dos intermediarios <ph conref='edvent.dita#edvent/sdk'></ph>.

La cola de corriente de datos por omisión, SYSTEM.BROKER.DEFAULT.STREAM, siempre está soportada por todos los intermediarios de una red de WebSphere MQ Publicación/Suscripción y ha de definirse en cada intermediario de WebSphere Message Broker en una red heterogénea. En cada intermediario se ha de definir y desplegar un flujo de mensajes para que dé servicio a dicha cola.

Cuando un intermediario de WebSphere Message Broker se integra en una red de WebSphere MQ Publicación/Suscripción y enlaza dos o más intermediarios de WebSphere MQ Publicación/Suscripción que comparten corrientes de datos comunes, deberá definir las colas de corriente de datos comunes y definir y desplegar los flujos de mensajes que les prestan servicio, para el intermediario de WebSphere Message Broker.

Por ejemplo, el intermediario de WebSphere Message Broker NEWBROKER ha de tener definida una cola de corriente de datos para BULLETIN.STREAM. También ha de tener definido un y desplegado un flujo de mensajes para proporcionar a la publicación servicio para la cola.

Sólo es necesario definir colas de corriente de datos y los flujos de mensajes asociados a éstas del intermediario de WebSphere Message Broker para otras corrientes de datos que aparecen en la figura si uno de sus intermediarios de WebSphere MQ Publicación/Suscripción puede enviar un mensaje a una de dichas colas. Se envía un mensaje si se produce alguno de los siguientes sucesos:
  1. Un cliente del intermediario de WebSphere Message Broker registra una suscripción a una publicación en una de dichas corrientes de datos.
  2. Un cliente emite un mandato DeletePublication para la corriente de datos en cualquier lugar de la red de intermediarios.
Si no está seguro de si los casos indicados arriba pueden producirse, cree colas de corriente de datos y flujos de mensajes en el intermediario de WebSphere Message Broker para cada corriente de datos que esté soportada por un intermediario contiguo de WebSphere MQ Publicación/Suscripción. Si no lo hace, puede suceder lo siguiente:
  • Los mensajes enviados desde intermediarios de WebSphere MQ Publicación/Suscripción se transfieren a la cola de mensajes no entregados (DLQ) del intermediario de WebSphere Message Broker si la cola de corriente de datos no existe en dicho intermediario.
  • Los mensajes se acumulan en las colas de corriente de datos del intermediario de WebSphere Message Broker si la cola de corriente de datos existe pero no se ha desplegado ningún flujo de mensaje para que le preste servicio.

Corrientes de datos y migración

Cuando se migra un intermediario de WebSphere MQ Publicación/Suscripción a un intermediario de WebSphere Message Broker (utilizando el mandato migmqbrk), las corrientes de datos soportadas al efectuar la migración se duplican exactamente en el intermediario de WebSphere Message Broker. No se podrá realizar ningún cambio posteriormente; es decir que no se podrán añadir ni eliminar corrientes de datos del conjunto duplicado. La migración no termina hasta que se han creado y desplegado flujos de mensajes que procesen todas esas corrientes de datos.

Tareas relacionadas
Suscripciones
Referencia relacionada
Cabecera MQRFH2
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
aq01180_