WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Nodos de flujo mensajes

Un nodo de flujo de mensajes es un paso de proceso de un flujo de mensajes. Puede ser un nodo incorporado, un nodo definido por el usuario o un nodo de subflujo.

Un nodo de flujo de mensajes recibe un mensaje, realiza un conjunto de acciones en el mensaje y, opcionalmente, pasa el mensaje original y ninguno o varios mensajes adicionales al nodo siguiente del flujo de mensajes.

Un nodo de flujo de mensajes tiene un número fijo de puntos de entrada y salida que se conocen como terminales. Puede efectuar las conexiones entre los terminales para definir las rutas que puede tomar un mensaje a través de un flujo de mensajes. Los nodos de flujo de mensajes se visualizan en la paleta de nodo asociada con el editor de flujos de mensajes. La paleta se ordena por categorías, que agrupan nodos que proporcionan proceso relacionado; por ejemplo, la transformación.

Los nodos de entrada no tienen terminales de entrada. El flujo de mensajes se inicia cuando un mensaje se recupera de un dispositivo de entrada; por ejemplo, una cola de WebSphere MQ. El flujo de mensajes finaliza cuando uno o varios nodos de salida no han enviado ninguno o han enviado varios mensajes de salida y el control se devuelve al nodo de entrada. El nodo de entrada confirma o restituye la transacción. Los nodos de entrada y salida puede ser específicos del protocolo, para interactuar con sistemas concretos como servicios web.

La mayoría de los nodos son nodos de proceso, que puede incluir entre los nodos de entrada y salida y conectarse para definir el flujo de control. Estos nodos normalmente transforman un mensaje de un formato a otro, o direccionan un mensaje en una vía de acceso concreta, o proporcionan opciones más complejas como la agregación o el filtrado.

Puede configurar un nodo estableciendo o modificando los valores de sus propiedades. Algunos de los nodos tienen propiedades obligatorias, para las que debe establecer un valor. Otras propiedades deben tener un valor, pero se les asigna un valor predeterminado, que puede dejar tal cual, sin modificarlo. Las propiedades restantes son propiedades opcionales; no se necesita ningún valor.

Cuando desarrolle un flujo de mensajes, la forma en que establezca las propiedades de los nodos de dicho flujo influye en la forma en que dicho flujo procesa los mensajes. Por ejemplo, al establecer las propiedades que definen los nombres de cola de WebSphere MQ de entrada y salida, se determina de dónde recibe el mensaje el flujo de mensajes, y dónde se entrega éste.

También puede configurar los nodos mediante las propiedades promocionadas; promocione una o más propiedades del nodo para que se conviertan en propiedades del flujo de mensajes que contenga dichos nodos. A continuación, puede cambiar dichas propiedades a nivel de flujo, en lugar de tener que actualizar uno o más nodos individuales. También puede promover propiedades equivalentes de más de un nodo en la misma propiedad de flujo de mensajes; por ejemplo, puede utilizar esta técnica para establecer, a nivel de flujo, el nombre de la base de datos a la que deban conectarse todos los nodos del flujo de mensajes.

Un subconjunto de propiedades de nodo son propiedades configurables; es decir, puede cambiar sus valores cuando se despliegue el flujo de mensajes a un intermediario para su ejecución. Puede encontrar que esta posibilidad resulta útil si despliega un flujo de mensajes a más de un intermediario, y desea que se comporte de un modo ligeramente distinto en cada intermediario. Por ejemplo, cuando despliega el flujo de mensajes a un intermediario de prueba, puede establecer una propiedad configurable para forzar al flujo para que interactúe con una base de datos de prueba. Cuando despliegue el mismo flujo de mensajes en un intermediario de producción, puede establecer la misma propiedad en el valor de una base de datos de producción, sin tener que actualizar el propio flujo de mensajes.

La modalidad en la que trabaja el intermediario puede afectar a los tipos de nodo que puede utilizar; consulte Restricciones que se aplican en cada modalidad de operación.

Puede añadir nodos de tres tipos en los flujos de mensajes:

Nodo incorporado
Un nodo incorporado es un nodo de flujo de mensajes que proporciona WebSphere Message Broker. Los nodos incorporados proporcionan funciones de entrada y salida, manipulación y transformación, toma de decisiones, clasificación de solicitudes, y manejo e informe de errores.

Para obtener información sobre todos los nodos incorporados suministrados por WebSphere Message Broker, consulte Nodos incorporados.

Para información sobre los nodos que puede utilizar para conectar WebSphere Message Broker con las aplicaciones, consulte Nodos para la conectividad.

Nodo definido por el usuario
Un nodo definido por el usuario es una extensión de un intermediario que proporciona un nuevo nodo de flujo de mensajes además de los nodos que se proporcionan con el producto. Un nodo definido por el usuario debe escribirse en la API del nodo definido por el usuario proporcionada por WebSphere Message Broker para los lenguajes C y Java™. El siguiente ejemplo muestra cómo se pueden escribir nodos propios en los lenguajes C y Java.

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Subflujo
Un subflujo es un gráfico dirigido que consta de nodos de flujo de mensajes y conectores y está diseñado para incluirlo en un flujo de mensajes o en otro subflujo. Para conectar el subflujo a otros nodos del flujo principal, puede añadir nodos Input y Output al subflujo. Puede definir subflujos en uno de dos tipos de recursos, un archivo .subflow o un archivo .msgflow. Un subflujo que esté definido en un archivo .subflow puede desplegarse como un recurso individual. Un subflujo que esté definido en un archivo .msgflow debe desplegarse con el flujo principal en el que está incluido.

Un nodo de Input recibe un mensaje y se procesa de acuerdo con la definición del subflujo. Esto podría incluir su almacenamiento a través de un nodo Database o su entrega en otro destino de mensaje, por ejemplo a través de un nodo MQOutput. Si es necesario, el mensaje se puede pasar a través de un nodo Output para devolverlo al flujo principal para procesarlo posteriormente.

Cuando se intercala en un flujo principal, el subflujo se representa mediante un nodo de subflujo que tiene un icono exclusivo. El icono se muestra con el número correcto de terminales para representar los nodos de Input y de Output que se hayan incluir en la definición del subflujo.

El uso más común de un subflujo es proporcionar un proceso necesario en muchos lugares de un flujo de mensajes o compartirlo entre varios flujos de mensajes. Por ejemplo, puede codificar algún proceso de errores en un subflujo o crear un subflujo que proporcione un seguimiento de auditoría (almacenando todo el mensaje y escribiendo una entrada de rastreo).

Para obtener más información, consulte Subflujos.

Un nodo no siempre genera un mensaje de salida para cada terminal de salida: a menudo, genera un nodo de salida para un solo terminal basándose en el mensaje recibido o en el resultado de la operación del nodo. Por ejemplo, un nodo Filter normalmente envía un mensaje en el terminal True o el terminal False, pero no ambos.

Si ha conectado más de un terminal a otro nodo, el proceso en el nodo determina el orden en el que se propaga el mensaje a los nodos a los que está conectado; no puede cambiar este orden. El nodo envía el mensaje de salida en cada terminal, pero sólo se envía en el siguiente terminal cuando el proceso ha finalizado para el terminal actual.

Las actualizaciones efectuadas en un mensaje no se propagan nunca a nodos que se han ejecutado anteriormente, sólo a nodos que siguen al nodo en el que se ha realizado la actualización. El orden en el que se propaga el mensaje a los diferentes terminales de salida lo determina el intermediario y este orden no se puede modificar. La única excepción a esta norma es el nodo FlowOrder, en el que los terminales indican el orden en que el mensaje se propaga a cada uno.

Todos los nodos incorporados incluyen el manejo de errores como parte de su proceso. Si se detecta un error dentro del nodo, el mensaje se propaga al terminal de anomalías. Lo que sucede a continuación depende de la estructura de su flujo de mensajes. Puede utilizar sólo el manejo básico de errores proporcionado por el intermediario, o puede mejorar el flujo añadiendo nodos y flujos de proceso de errores para proporcionar un proceso de anomalías más amplio. Para obtener más información sobre estas opciones, consulte Manejar errores en flujos de mensajes.

El flujo de mensajes puede aceptar un mensaje nuevo para su proceso sólo cuando todas las vías de acceso a través del flujo de mensajes (es decir, todos los nodos conectados de todos los terminales de salida) se hayan completado y el control se haya devuelto al nodo de entrada que confirma o restituye la transacción.

El siguiente ejemplo utiliza variables de entorno en el ejemplo XML_Reservation para almacenar información que se ha tomado de una tabla de base de datos y pasar dicha información a un nodo en sentido descendente en el flujo de mensajes.

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:25


Tema de conceptoTema de concepto | Versión 8.0.0.5 | ac12640_