Diseño, desarrollo e implementación de los productos WebSphere Transformation Extender para WebSphere Message Broker

WebSphere Transformation Extender es un motor universal de validación y transformación de datos que se ocupa de los desafíos de integrar sistemas empresariales e información con un enfoque gráfico y no codificado de desarrollo. WebSphere Transformation Extender for WebSphere Message Broker extiende la capacidad que tiene WebSphere Message Broker para transformar mensajes con nodos de procesamiento, con un nodo adicional que incluye el motor denominado WebSphere Transformation Extender. Este artículo le muestra cómo usar WebSphere Transformation Extender con WebSphere Message Broker para convertir la integración de aplicación a aplicación (A2A) impulsada por eventos, la integración de empresa a empresa (B2B), y la integración de consumidor a empresa (C2B), en flujos de mensajes fáciles de desarrollar y actualizar.

Ashwin Gupta, Technical Sales Specialist, IBM

Ashwin Gupta es System Software Engineer en el equipo de prueba de WebSphere Message Broker. Ya lleva cuatro años trabajando con las diferentes versiones de WebSphere Message Broker. Se recibió de Ingeniero Electrónico en el Indian Institute of Technology de Roorkee. Para ponerse en contacto con Ashwin, escríbale a:gupta.ashwin@in.ibm.com



Avinash Jhawar, Staff Software Engineer, IBM

Avinash Jhawar es Staff Software Engineers y Team Lead en el equipo de prueba de WebSphere Message Broker. Avinash ya lleva seis años trabajando con las diferentes versiones de WebSphere Message Broker y WebSphere MQ. Se recibió de Ingeniero Electrónico en la Government Engineering College de Ujjain. Para ponerse en contacto con Avinash, escríbale a:avjhawar@in.ibm.com.



Rashmi Katagall, WebSphere Message Broker Post-GA Test, IBM

Rashmi Katagall es System Software Engineer en el equipo de prueba de WebSphere Message Broker. Ya lleva dos años trabajando con las diferentes versiones de WebSphere Message Broker. Se recibió de Ingeniera en Electrónica y Telecomunicaciones en el Gogte Institute of Technology de Bélgica. Para ponerse en contacto con Rashmi, escríbale a:rashmikatagall@in.ibm.com..



03-08-2011

Introducción

Este artículo le muestra las diferentes formas de diseñar y desarrollar flujos de mensajes usando el nodo del mapa de IBM® WebSphere® Transformation Extender (de aquí en más, WebSphere TX), que forma parte de WebSphere Message Broker V6.1 (de aquí en más, Message Broker). El desarrollo se explica paso a paso con el objetivo de ayudar a los usuarios nuevos, aunque los lectores deberían tener conocimientos previos sobre WebSphere Message Broker y WebSphere Transformation Extender (incluso el diseño y el desarrollo del mapa de WebSphere TX).

Requisitos previos

Para usar WebSphere TX junto con el poder de Message Broker, usted deberá tener instalado el siguiente software:

  • WebSphere Message Broker V6.1.0.2
  • WebSphere TX Design Studio V8.2.0.3
  • WebSphere TX for Integration Servers V8.2.0.3
  • WebSphere TX Library V8.2.0.3 (opcional)

Además, también necesitará algunos mapas de muestra para usar con los pasos que describe este artículo.


Generalidades del nodo del mapa WTX

El nodo del mapa WTX es un componente de WebSphere TX for Message Broker, que se incluye junto con WebSphere TX for Integration Servers y está disponible para su uso con los flujos de mensajes de Message Broker. Éste ejecuta un mapa de WebSphere TX dentro del flujo de mensajes. El nodo del mapa WTX usa uno o más árboles de mensajes de Message Broker como sus datos de entrada, ejecuta el mapa de WebSphere TX que usted especifica y crea uno o más árboles de mensajes de Message Broker como sus datos de salida.

El mapa que ejecuta el nodo del mapa WTX puede ser un mapa compilado preimplementado en el broker o un mapa fuente compilado cuando el flujo de mensajes se agrega a un archivo de registro broker (BAR) e implementado como parte de la implementación de un archivo broker. El mapa puede tener múltiples tarjetas de entrada, pero el nodo del mapa WTX tiene una sola terminal de entrada. El mensaje llega a la terminal de entrada y, luego de esto, la tarjeta de entrada correcta preasignada toma el mensaje internamente y lo mapea.

Si el árbol del mensaje que llega a la terminal de entrada tiene un solo mensaje, se debe seleccionar la tarjeta de entrada que recibe el mensaje. Si el árbol del mensaje que llega a la terminal de entrada es una colección de varios mensajes, cada mensaje se envía a la tarjeta de entrada apropiada. Luego de esto, el nodo del mapa WTX ejecuta el mapa.

WebSphere TX tiene un origen diferente y distintos puntos a favor que Message Broker. Su campo es el del procesamiento de grandes estructuras de archivo y puede ofrecer capacidades de transformación de datos complejos para todos los formatos de datos estructurados y semiestructurados (incluso los tipos mixtos). Además, WebSphere TX es más adecuado para ocuparse de formatos de mensaje etiquetados de manera personalizada o etiquetados y binarios. Por último, es adecuado para las grandes estructuras de archivo. En conjunto, WebSphere TX y Message Broker ofrecen una combinación única en el mercado gracias a su amplitud y profundidad.


Uso del nodo del mapa WTX dentro de un flujo de mensajes

Cuando usted desarrolla un flujo de mensajes, puede configurar un nodo del mapa WTX que ejecute un mapa que tenga una sola tarjeta de entrada o múltiples tarjetas de entrada. Las actividades para usar un nodo del mapa WTX dentro de un flujo de mensajes incluyen las siguientes:

  • Creación de un mapa.
  • Desarrollo de un flujo de mensajes que usa el nodo del mapa WTX.
  • Implementación del flujo de mensajes.
    • Creación y construcción de un archivo BAR.
    • Implementación del archivo BAR.
    • Implementación del mapa si está usando un mapa precompilado.
  • Ejecución de su flujo de mensajes.

Luego de implementar el flujo de mensajes, Message Broker iniciar el flujo de mensajes automáticamente y las siguientes acciones se desarrollan:

  • El flujo de mensajes se ejecuta cuando un nodo de entrada recibe un flujo de bits del mensaje de entrada.
  • Un analizador analiza el flujo de bits de entrada en un árbol de mensajes de entrada.
  • Un nodo del mapa WTX recibe el árbol de mensajes de entrada y ejecuta el mapa.
  • El mapa transforma los datos en el árbol de mensajes de entrada y crea uno o más árboles de mensajes de salida.
  • Otros nodos pueden procesar los árboles de mensajes de salida en el flujo de mensajes.

Creación de un mapa

Introducción al Map Designer

Use el Map Designer desde la perspectiva de desarrollo de WebSphere TX (que se incluye a continuación) para desarrollar mapas que definan las especificaciones de entrada y de salida y las reglas de mapeo para la transformación de datos:

Figura 1. Selección de la perspectiva de desarrollo de WebSphere TX
Selección de la perspectiva de desarrollo de WebSphere TX

El Map Designer usa las definiciones de los datos almacenados en los árboles de tipos (creados usando el Type Designer) para especificar la lógica de transformación en la forma de reglas del mapa. Las reglas del mapa operan sobre los objetos de datos de entrada y crean objetos de datos de salida. El mapa puede crearse para plataformas específicas y, luego de esto, ejecutarse en dichas plataformas para así efectuar la transformación de datos.

Uso del Map Designer

Para usar el Map Designer, usted ya debe contar con los árboles de tipo que definen sus datos. El Map Designer usa las definiciones de los objetos de datos almacenadas en dichos árboles de tipo. Se usa el Map Designer para:

  • Crear mapas con el objetivo de especificar la lógica que se usa para transformar los datos de entrada en los datos de salida deseados.
  • Identificar la fuente y los objetos de datos de los datos de entrada.
  • Validar y resolver las propiedades de los tipos de datos fuente definidas en el Type Designer.
  • Identificar el destino y los objetos de datos de los datos de salida.
  • Especificar y crear los datos de salida de acuerdo con las reglas del mapa.
  • Brindar información sobre la validación de datos mediante la generación de archivos de seguimiento.
  • Visualizar los resultados de la ejecución del mapa.

Figura 2. Map Designer en Message Broker Toolkit. Presione aquí para ampliar la imagen

Figura 3. Ejemplo de diseño del mapa de la tarjeta de entrada
Ejemplo de diseño del mapa de la tarjeta de entrada
Figura 4. Ejemplo de diseño del mapa de la tarjeta de salida
Ejemplo de diseño del mapa de la tarjeta de salida

Luego de definir los objetos de datos y sus propiedades en el Type Designer, usted define un mapa en el Map Designer (donde las tarjetas del mapa especifican la fuente de entrada y el destino de salida).

Desarrollo de un flujo de mensajes usando el nodo del mapa WTX

En un flujo de mensajes, existen diferentes formas de usar el nodo del mapa WTX:

Con un mapa fuente y una sola entrada.
Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa fuente que, en el momento de la ejecución, se ejecuta por medio de una sola entrada.
Con un mapa precompilado y una sola entrada.
Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa precompilado que, en el momento de la ejecución, se ejecuta por medio de una sola entrada.
Con un mapa fuente y múltiples entradas.
Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa fuente que, en el momento de la ejecución, se ejecuta por medio de múltiples entradas.
Con un mapa precompilado y múltiples entradas.
Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa precompilado que, en el momento de la ejecución, se ejecuta por medio de múltiples entradas.

Desarrollo del flujo de mensajes

Uso del nodo del mapa WTX con un mapa fuente y una sola entrada.

El mapa puede tener muchas tarjetas de entrada, pero sólo una tarjeta determinada recibe los datos desde el flujo de mensajes (mientras que el resto de las tarjetas sacan los datos directamente desde su adaptador). El mapa también puede tener muchas tarjetas de salida. Las tarjetas que están conectadas al flujo de mensajes propagan los datos hacia el flujo, mientas que las demás tarjetas no conectadas envían los datos directamente hacia su adaptador. Para desarrollar un flujo de mensajes simple que demuestre este escenario, siga los siguientes pasos. Dichos pasos asumen que usted usó Map Designer para crear un archivo de mapa fuente (.mms) que incluye un mapa ejecutable con una o más tarjetas de entrada y una o más tarjetas de salida.

  1. Cree un nuevo proyecto de flujo de mensajes desde la perspectiva de Message Broker Application Development.
  2. Cree un nuevo flujo de mensajes en el proyecto: Seleccione Use el esquema de broker predeterminado u ofrezca su propio nombre de esquema para calificar el nombre del flujo de mensajes.
  3. Arrastre un nodo del mapa WTX desde la paleta hasta el lienzo para su flujo de mensajes. Inicialmente, el nodo no tiene terminales de salida y tiene una terminal de fallas. La Figura 5 le muestra el WebSphere TX Drawer y la paleta del nodo del mapa WTX:
    Figure 5. Nodo del mapa WTX en Message Broker Toolkit
    Figure 5. Nodo del mapa WTX en Message Broker Toolkit
  4. Navegue por el menú de Propiedades que aparece en la Figura 1 con anterioridad.
  5. En la pestaña denominada Basic (Básico) del nodo del mapa WTX, seleccione el mapa fuente.
  6. En la pestaña denominada Input (Entrada) del nodo del mapa WTX, seleccione la tarjeta del mapa que recibe los datos de entrada. La Figura 6 le muestra las propiedades importantes del nodo del mapa WTX:
    Figura 6. Propiedades del nodo del mapa WTX
    Propiedades del nodo del mapa WTX
  7. Arrastre un nodo de entrada, como el nodo FileInput o un nodo MQInput, hacia la izquierda del nodo del mapa WTX y conecte la terminal de salida del nodo de entrada a la terminal de entrada del nodo del mapa WTX. El mensaje del nodo de entrada anula el adaptador de la tarjeta de entrada seleccionada del mapa.
  8. Configure el nodo de entrada con las propiedades necesarias relacionadas con el transporte.
  9. En la pestaña denominada Input Message Parsing del nodo de entrada, configure las propiedades de la plantilla de mensajes para así describir el formato del mensaje de entrada. Seleccione el dominio de la lista de dominios de mensajes soportados.
  10. Arrastre un nodo de salida, como un nodo FileOutput o un nodo MQOutput, hacia la derecha del nodo del mapa WTX y conecte una o más de las terminales de salida del nodo del mapa WTX a la terminal de entrada del nodo de salida. Al conectar la terminal de salida, se anula el adaptador de la tarjeta de salida correspondiente.
  11. Configure el nodo de salida con las propiedades necesarias relacionadas con el transporte.
  12. En la pestaña denominada Outputs del nodo del mapa WTX, configure las propiedades para describir el formato del mensaje de salida propagado por la tarjeta de salida:
    1. Presione Add para agregar un conjunto de propiedades. Aparece el recuadro de diálogo Add Properties.
    2. Ingrese los valores correspondientes a Card Number (Número de tarjeta), Message Domain (Dominio del mensaje), Message Set (Grupo del mensaje), Message Type (Tipo de mensaje), Encoding (Codificación) y Coded Char Set Id (ID del conjunto de caracteres codificados) y, luego de esto, presione OK. Message Domain debe ser uno de los dominios del mensaje soportados.
  13. Repita los pasos 10 al 12 para cada terminal de salida que desee conectar.
  14. Presione Ctrl+S para guardar el flujo de mensajes.

Uso del nodo del mapa WTX con un mapa precompilado y una sola entrada.

El mapa puede tener varias tarjetas de entrada. Sólo una tarjeta determinada recibe los datos del flujo de mensajes, mientras que todas las demás sacan los datos directamente de su adaptador. El mapa también puede tener muchas tarjetas de salida. Las tarjetas que están conectadas al flujo de mensajes propagan los datos hacia el flujo, mientas que las demás tarjetas no conectadas envían los datos directamente hacia su adaptador. Para desarrollar un flujo de mensajes simple que demuestre este escenario, siga los siguientes pasos. Dichos pasos asumen que usted usó Map Designer para crear un archivo de mapa fuente (.mms), que incluye un mapa ejecutable con una o más tarjetas de entrada y una o más tarjetas de salida, y compiló el mapa para una plataforma objetivo, creando un archivo de mapa compilado (.mmc).

  1. Cree un nuevo proyecto de flujo de mensajes desde la perspectiva de Message Broker Application Development.
  2. Cree un nuevo flujo de mensajes en el proyecto. Seleccione Use el esquema de broker predeterminado u ofrezca su propio nombre de esquema para calificar el nombre del flujo de mensajes.
  3. Arrastre un nodo del mapa WTX desde la paleta hasta el lienzo para su flujo de mensajes. Inicialmente, el nodo no tiene terminales de salida y tiene una terminal de fallas.
  4. Navegue hacia el menú de Propiedades.
  5. En la pestaña Basic del nodo del mapa WTX, seleccione el mapa precompilado.
  6. En la pestaña Input del nodo del mapa WTX, seleccione la tarjeta del mapa que recibe los datos de entrada.
  7. Arrastre un nodo de entrada, como el nodo FileInput o un nodo MQInput, hacia la izquierda del nodo del mapa WTX y conecte la terminal desalidadel nodo de entrada a la terminal de entrada del nodo del mapa WTX. El mensaje del nodo de entrada anula el adaptador de la tarjeta de entrada seleccionada del mapa.
  8. Configure el nodo de entrada con las propiedades necesarias relacionadas con el transporte.
  9. En la pestaña Input Message Parsing del nodo de entrada, configure las propiedades de la plantilla de mensajes para así describir el formato del mensaje de entrada. Seleccione el dominio de la lista de dominios de mensajes soportados.
  10. Arrastre un nodo de salida, como un nodo FileOutput o un nodo MQOutput, hacia la derecha del nodo del mapa WTX y conecte una o más de las terminales de salida del nodo del mapa WTX a la terminal de entrada del nodo de salida. Al conectar la terminal de salida, se anula el adaptador de la tarjeta de salida correspondiente.
  11. Configure el nodo de salida con las propiedades necesarias relacionadas con el transporte.
  12. En la pestaña Outputs (Salidas) del nodo del mapa WTX, configure las propiedades para describir el formato del mensaje de salida propagado por la tarjeta de salida:
    1. Presione Add para agregar un conjunto de propiedades. Aparece el recuadro de diálogo denominado Add Properties.
    2. Ingrese los valores correspondientes a Card Number (Número de tarjeta), Message Domain (Dominio del mensaje), Message Set (Grupo del mensaje), Message Type (Tipo de mensaje), Encoding (Codificación) y Coded Char Set Id (ID del conjunto de caracteres codificados) y, luego de esto, presione OK. Message Domain (Dominio del mensaje) debe ser uno de los dominios del mensaje soportados.
  13. Repita los pasos 10 al 12 para cada terminal de salida que desee conectar.
  14. Presione Ctrl+S para guardar el flujo de mensajes. A continuación, la Figura 7 le muestra uno de los posibles flujos de mensajes que toman una sola entrada:
    Figura 7. Flujo de mensajes simple con el nodo del mapa WTX que involucra a una sola entrada.
    Flujo de mensajes simple con el nodo del mapa WTX que involucra a una sola entrada.

Uso del nodo del mapa WTX con un mapa fuente y múltiples entradas.

Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa fuente que, en el momento de la ejecución, se ejecuta por medio de múltiples entradas. El nodo del mapa WTX se usa con un nodo Colector nativo, que reúne a las múltiples entradas y, cuando se satisfacen los criterios de los eventos especificados, propagan los mensajes hacia el nodo del mapa WTX en la forma de una colección de mensajes. Para mayor información sobre el nodo Colector y la colección de mensajes, ingrese a WebSphere Message Broker Library.

El mapa puede tener muchas tarjetas de entrada. Cualquier cantidad de tarjetas puede recibir datos de la colección de mensajes, mientras que las tarjetas que no reciben datos los sacan directamente de su adaptador. El mapa puede tener muchas tarjetas de salida. Las tarjetas que están conectadas al flujo de mensajes propagan datos hacia el flujo, mientras que las tarjetas que no están conectadas envían datos directamente a su adaptador. Para desarrollar un flujo de mensajes simple que demuestre este escenario, siga los siguientes pasos. Dichos pasos asumen que usted usó Map Designer para crear un archivo de mapa fuente (.mms) que incluye un mapa ejecutable con dos tarjetas de entrada y una o más tarjetas de salida.

  1. Cree un nuevo proyecto de flujo de mensajes desde la perspectiva de Message Broker Application Development.
  2. Cree un nuevo flujo de mensajes en el proyecto. Seleccione Use el esquema de broker predeterminado u ofrezca su propio nombre de esquema para calificar el nombre del flujo de mensajes.
  3. Arrastre un nodo del mapa WTX desde la paleta hasta el lienzo para su flujo de mensajes. Inicialmente, el nodo no tiene terminales de salida y tiene una terminal de fallas.
  4. Navegue hacia el menú de Propiedades.
  5. En la pestaña Basic del nodo del mapa WTX, seleccione el mapa fuente.
  6. Arrastre un nodo Colector hacia la izquierda del nodo del mapa WTX.
  7. Arrastre un nodo de entrada, como un nodo FileInput o un nodo MQInput, hacia la izquierda del nodo Colector.
  8. Configure el nodo de entrada con las propiedades necesarias relacionadas con el transporte.
  9. En la pestaña denominada Input Message Parsing (Análisis del mensaje de entrada) del nodo de entrada, configure las propiedades de la plantilla de mensajes para así describir el formato del mensaje de entrada. Seleccione el dominio de la lista de dominios de mensajes soportados.
  10. Presione el botón derecho sobre el nodo Colector y seleccione Add Input Terminal (Agregar terminal de entrada). Ingrese el nombre de una nueva terminal de entrada, que debe corresponderse con el nombre de tarjeta de la tarjeta de entrada en el mapa que recibe el mensaje de entrada. La nueva terminal de entrada se agrega a la tabla denominada Collection Definition (Definición de la colección) en la pestaña Basic. El archivo de seguimiento del broker presenta una lista de todas las terminales de entrada del Colector que no se corresponden con las tarjetas de entrada.
  11. En la pestaña Basic, configure las propiedades de criterios de eventos requeridas para la nueva terminal de entrada, es decir: Quantity (Cantidad), Timeout (Tiempo de espera), Correlation Path (Ruta de acceso de correlación) y Correlation Pattern (Patrón de correlación).
  12. Conecte la terminal de salida del nodo de entrada a la nueva terminal de entrada en el nodo Colector.
  13. Repita los pasos 7 al 12 para cada entrada diferente que el mapa requiera del flujo de mensajes.
  14. En la pestaña Basic del nodo Colector, configure las propiedades Collection Name (Nombre de la colección) y Collection Expiry (Vencimiento de la colección). En particular, especifique un valor en Collection Expiry (Vencimiento de la colección).
  15. Conecte la terminal de salida del nodo Colector a la terminal de entrada del nodo del mapa WTX. Los mensajes de la colección de mensajes propagada anulan los adaptadores de las tarjetas de entrada del mapa.
  16. Conecte la terminal de vencimiento del nodo Colector a la terminal de entrada del nodo del mapa WTX para administrar las colecciones de mensajes incompletos.
  17. Arrastre un nodo de salida, como un nodo FileOutput o un nodo MQOutput, hacia la derecha del nodo del mapa WTX y conecte una de las terminales de salida del nodo del mapa WTX a la terminal de entrada del nodo de salida. Al conectar la terminal de salida, se anula el adaptador de la tarjeta de salida correspondiente.
  18. Configure el nodo de salida con las propiedades necesarias relacionadas con el transporte.
  19. En la pestaña Outputs del nodo del mapa WTX, configure las propiedades de la plantilla de mensajes para así describir el formato del mensaje de salida propagado por la tarjeta de salida:
    1. Presione Add para agregar un conjunto de propiedades. Aparece el recuadro de diálogo Add Properties.
    2. Ingrese los valores correspondientes a Card Number (Número de tarjeta), Message Domain (Dominio del mensaje), Message Set (Grupo del mensaje), Message Type (Tipo de mensaje), Encoding (Codificación) y Coded Char Set Id, (ID del conjunto de caracteres codificados) y, luego de esto, presione OK.Message Domain debe ser uno de los dominios del mensaje soportados.
  20. Repita los pasos 17 al 19 para cada terminal de salida que desee conectar.
  21. Presione Ctrl+S para guardar el código. Aparecerá el siguiente mensaje de advertencia: Terminales de agarre desconectadas Usted puede ignorar este mensaje.

Uso del nodo del mapa WTX con un mapa precompilado y múltiples entradas.

Desarrolle un flujo de mensajes con un nodo del mapa WTX especificado con un mapa precompilado que, en el momento de la ejecución, se ejecuta por medio de múltiples entradas. El nodo del mapa WTX se usa con un nodo Colector nativo, que reúne a las múltiples entradas y, cuando se satisfacen los criterios de los eventos especificados, propagan los mensajes hacia el nodo del mapa WTX en la forma de una colección de mensajes. Para mayor información sobre el nodo Colector y la colección de mensajes, ingrese a WebSphere Message Broker Library.

El mapa puede tener muchas tarjetas de entrada. Cualquier cantidad de tarjetas puede recibir datos de la colección de mensajes, mientras que las tarjetas que no reciben datos los sacan directamente de su adaptador. El mapa puede tener muchas tarjetas de salida. Las tarjetas que están conectadas al flujo de mensajes propagan datos hacia el flujo, mientras que las tarjetas que no están conectadas envían datos directamente a su adaptador. Para desarrollar un flujo de mensajes simple que demuestre este escenario, siga los siguientes pasos. Dichos pasos asumen que usted usó Map Designer para crear un archivo de mapa fuente (.mms), que incluye un mapa ejecutable con una o más tarjetas de entrada y una o más tarjetas de salida, y compiló el mapa para una plataforma objetivo, creando un archivo de mapa compilado (.mmc).

  1. Cree un nuevo proyecto de flujo de mensajes desde la perspectiva de Message Broker Application Development.
  2. Cree un nuevo flujo de mensajes en el proyecto. Seleccione Use el esquema de broker predeterminado u ofrezca su propio nombre de esquema para calificar el nombre del flujo de mensajes.
  3. Arrastre un nodo del mapa WTX desde la paleta hasta el lienzo para su flujo de mensajes. Inicialmente, el nodo no tiene terminales de salida y tiene una terminal de fallas.
  4. Navegue hacia el menú de Propiedades.
  5. En la pestaña denominada Basic (Básico) del nodo del mapa WTX, seleccione el mapa precompilado.
  6. Arrastre un nodo Colector hacia la izquierda del nodo del mapa WTX.
  7. Arrastre un nodo de entrada, como un nodo FileInput o un nodo MQInput, hacia la izquierda del nodo Colector.
  8. Configure el nodo de entrada con las propiedades necesarias relacionadas con el transporte.
  9. En la pestaña denominada Input Message Parsing (Análisis del mensaje de entrada) del nodo de entrada, configure las propiedades de la plantilla de mensajes para así describir el formato del mensaje de entrada. Seleccione el dominio de la lista de dominios de mensajes soportados.
  10. Presione el botón derecho sobre el nodo Colector y seleccione Add Input Terminal(Agregar terminal de entrada). Ingrese el nombre de una nueva terminal de entrada, que debe corresponderse con el nombre de tarjeta de la tarjeta de entrada en el mapa que recibe el mensaje de entrada. La nueva terminal de entrada se agrega a la tabla denominada Collection Definition en la pestaña Basic (Básico). El archivo de seguimiento del broker presenta una lista de todas las terminales de entrada del Colector que no se corresponden con las tarjetas de entrada.
  11. En la pestaña Basic, configure las propiedades de criterios de eventos requeridas para la nueva terminal de entrada, es decir: Quantity (Cantidad), Timeout (Tiempo de espera), Correlation Path (Ruta de correlación) y Correlation Pattern (Patrón de correlación).
  12. salida del nodo de entrada a la terminal de entrada en el nodo Colector.
  13. Repita los pasos 7 al 12 para cada para entrada diferente que el mapa requiera del flujo de mensajes.
  14. En la pestaña Basic del nodo Colector, configure las siguientes propiedades:Collection Name (Nombre de la colección) y Collection Expiry (Vencimiento de la colección). En particular, especifique un valor de Collection Expiry (Vencimiento de la colección).
  15. Conecte la terminal de salida del nodo Colector a la terminal de entrada del nodo del mapa WTX. Los mensajes de la colección de mensajes propagada anulan los adaptadores de las tarjetas de entrada del mapa.
  16. Conecte la terminal de vencimiento del nodo Colector a la terminal de entrada del nodo del mapa WTX para administrar las colecciones de mensajes incompletos.
  17. Arrastre un nodo de salida, como un nodo FileOutput o un nodo MQOutput, hacia la derecha del nodo del mapa WTX y conecte una de las terminales de salida del nodo del mapa WTX a la terminal de entrada del nodo de salida. Al conectar la terminal de salida, se anula el adaptador de la tarjeta de salida correspondiente.
  18. Configure el nodo de salida con las propiedades necesarias relacionadas con el transporte.
  19. En la pestaña denominada Outputs del nodo del mapa WTX, configure las propiedades para describir el formato del mensaje de salida propagado por la tarjeta de salida:
    1. Presion Add para agregar un conjunto de propiedades. Aparece el recuadro de diálogo denominado Add Properties.
    2. Ingrese los valores correspondientes a Card Number (Número de tarjeta), Message Domain (Dominio del mensaje), Message Set (Grupo del mensaje), Message Type (Tipo de mensaje), Encoding (Codificación) y Coded Char Set Id (ID del conjunto de caracteres codificados) y, luego de esto, presione OK. Message Domain debe ser uno de los dominios del mensaje soportados.
  20. Repita los pasos 17 al 19 para cada terminal de salida que desee conectar.
  21. Presione Ctrl+S para guardar el código. Aparecerá el siguiente mensaje de advertencia: Terminales de agarre desconectadas Usted puede ignorar este mensaje. A continuación, la Figura 8 le muestra uno de los posibles flujos de mensajes que toman múltiples entradas:
    Figura 8. Flujo de mensajes simple con el nodo del mapa WTX que recibe datos de entrada de múltiples fuentes
    Flujo de mensajes simple con el nodo del mapa WTX que recibe datos de entrada de múltiples fuentes

Implementación en el tiempo de ejecución de Message Broker

Cuando usted implementa flujos de mensajes que incluyen nodos del mapa WTX, también debe implementar los mapas WebSphere TX asociados y todos los archivos que requieran dichos mapas. Si el mapa se implementa en el broker en un archivo de mapa (MAR), usted debe asegurarse de que todos los archivos requeridos se encuentren en el mismo proyecto que el mapa, con el objetivo de que se incluyan automáticamente en el archivo MAR. Si el mapa se implementa manualmente en el broker, usted también debe implementar manualmente todos los archivos requeridos en el broker. En particular, si sus datos están en formato XML y usted importó un esquema XML (un archivo .xsd) cuando creó un árbol de tipo validado usando Xerces, o si usó un esquema XML directamente cuando creó una tarjeta de mapa, el mapa requiere la existencia del archivo .xsd, el que se debe implementar en Message Broker para que se lo use durante el tiempo de ejecución en cualquiera de los siguientes casos:

  • Si los datos se reciben desde el flujo de mensajes en el dominio BLOB.
  • Si los datos se reciben desde un adaptador de WebSphere TX.

En el momento de diseño, usted puede especificar la siguiente información del mapa en el nodo del mapa WTX. A continuación, se describen los dos mecanismos alternativos para la implementación del mapa:

  • Uso de un mapa fuente con un nodo del mapa WTX.
    • Cuando Message Broker agrega el flujo de mensajes que incluye el nodo del mapa WTX a un archivo BAR, el mapa ejecutable especificado se compila de manera automática con el objetivo de crear un archivo de mapa compilado (.mmc).
    • El mapa compilado, y los demás archivos en el proyecto, se comprimen en un archivo MAR, que se agrega al archivo BAR. Por lo tanto, el mapa se implementa de manera automática en el broker cuando usted implementa el flujo de mensajes.
  • Uso de un mapa precompilado con un nodo del mapa WTX.
    • Cuando Message Broker agrega el flujo de mensajes que incluye el nodo del mapa WTX a un archivo BAR, el mapa no se compila de manera automática y no se agrega al archivo BAR.
    • Usted debe realizar la implementación manual del mapa en la ubicación especificada.

En el momento de la implementación, usted puede especificar la ubicación de un mapa compilado usando la pestaña denominada Configure en el menú de Propiedades, que se encuentra debajo de la pestaña Manage (Gestionar) en el editor de Broker Archive. Esta configuración anula el mapa que usted especificó durante el diseño.

Durante el tiempo de ejecución, su flujo de mensajes puede especificar de manera dinámica la ubicación de un mapa compilado y pasarlo al nodo del mapa WTX usando el árbol de mensajes de Local Environment (Entorno Local). Esta configuración prima por sobre todos los demás métodos.

Ejecución del flujo de mensajes

Usted puede ejecutar el flujo de mensajes enviando uno o más mensajes a través de éste. El flujo de mensajes recibe un mensaje en un nodo de entrada, que analiza el flujo de bits del mensaje usando el analizador especificado, y se crea un árbol de mensajes del broker. Este árbol de mensajes se propaga a través del flujo. Cuando un nodo del mapa WTX recibe un árbol de mensajes propagado, se ejecuta el mapa asociado y se crean los mensajes de salida.

Si su mapa espera múltiples entradas, use un nodo Colector para reunir dichos datos de entrada. En este caso, usted debe enviar la cantidad de mensajes que sea necesaria para completar la colección de mensajes definida por el nodo Colector. El cuerpo del árbol de mensajes, propagado desde una terminal de salida del nodo del mapa WTX, es propiedad del dominio del mensaje que usted especificó en la terminal de salida. Todos los encabezados presentes en el árbol de mensajes de entrada que el mapa recibió, como MQMD, se conservarán sin ningún tipo de modificación en el árbol de mensajes propagado. Si el mapa recibió una colección de mensajes como sus datos de entrada, los encabezados propagados serán los del primer mensaje en la colección. Los encabezados de los demás mensajes de la colección se descartan. Los árboles del Environment (Entorno), el Local Environment (Entorno Local) y la Exception List (Lista de Excepciones) del mensaje de entrada también se propagan sin ningún tipo de modificación.

Si ocurre una falla al ejecutar el mapa, ésta se agrega a la Exception List, y el mensaje de entrada, Environment, Local Environment y Exception List se propagan desde la terminal de fallas (si está conectada). Caso contrario, se arroja una excepción. Cuando el árbol de mensajes llega a un nodo de salida, el analizador en cuestión lo serializa en un flujo de bits.

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=428790
ArticleTitle=Diseño, desarrollo e implementación de los productos WebSphere Transformation Extender para WebSphere Message Broker
publish-date=08032011