Utilización de un intermediario como auditor

Visión general

El escenario utiliza actualizaciones de base de datos que se han definido utilizando correlaciones. El intermediario recibe una confirmación para una reserva provisional, el flujo de mensajes inserta una fila en una tabla de base de datos que representa la confirmación, actualiza un contador en otra tabla que representa la clave de la confirmación, y suprime la reserva provisional de una tercera tabla.

Este escenario utiliza los nodos DataDelete, DataInsert y DataUpdate en el flujo de mensajes y requiere las siguientes funciones de correlación:
  • Correlación en el nodo DataInsert
  • Combinar datos de entrada en una única inserción
  • Correlación en el nodo DataUpdate
  • Correlación en el nodo DataDelete
  • Archivo bar para alterar temporalmente origen de datos

Utilice las herramientas de Message Broker para crear flujos de mensajes y conjuntos de mensajes y para crear y desplegar archivos archivadores de intermediario (bar). También debe crear un gestor de configuración y un intermediario. En las herramientas de Message Broker, cree una conexión de dominio con el gestor de configuración y cree un intermediario en el dominio. También se requiere un método para entrar mensajes de instancia que pueden contener (opcionalmente) cabeceras MQRFH2, por ejemplo argoput, rfhutil.

Paso 1. Desarrollar flujo de mensajes para correlacionar varios campos de datos de entrada con un único registro de inserción para una base de datos, luego actualizar otra tabla y suprimir de una tercera, desarrollar los modelos de mensaje y los mensajes de instancia correspondientes

  1. Cree una base de datos, por ejemplo MAPDB, y cree una tabla CONFIRMATION con las columnas:
    RESID                INTEGER
  2. Llene la tabla CONFIRMATION con los valores:
    9052 
  3. Cree otra tabla, RESERVATION, con las columnas:
    RESID           INTEGER
    NAME            VARCHAR(20)
    PARTY           INTEGER
    PAYMENT         DECIMAL(8,2)
  4. Llene la tabla RESERVATION con los valores:
    8214,'ARCHIBALD',2,0.0
    2618,'HENRY', 4, 120.0
    9052,'THAW', 3, 85.0
  5. Cree otra tabla, PROVISIONAL, con las columnas:
    RESID                  INTEGER
  6. Llene la tabla PROVISIONAL con los valores:
     8214 2618 
  7. Cree un Nombre de origen de datos ODBC de Windows para la base de datos y luego registre la base de datos con el gestor de configuración (pulse Archivo->Nuevo->Archivos de definición RDB).
  8. Cree un proyecto de conjunto de mensajes y un conjunto de mensajes MAPPING3_AUDIT_messages (espacio de nombres habilitado con formato físico XML) y un archivo de definición de mensajes AUDIT.
  9. Cree un mensaje addev1 con la estructura:
    addev1
       id                (xsd:int) local element
       status            (xsd:string) local element
       name              (xsd:string) local element
       size              (xsd:int) local element
       payment           (xsd:decimal) local element
  10. Cree un proyecto de flujo de mensajes MAPPING3_AUDIT_flows.
  11. Cree un flujo de mensajes, addev1, que contenga: MQInput ->DataInsert -> DataUpdate -> DataDelete -> MQOutput.
  12. Para el nodo DataInsert, establezca la propiedad Origen de datos en MAPDB.
  13. Abra la correlación para el nodo DataInsert, seleccione addev1 de MAPPING3_AUDIT_messages como el origen y MAPDB.SCHEMA.CONFIRMATION como el destino.
  14. Enlace el origen con el destino de la siguiente manera:
    addev1             MAPDB
           id -------------- RESID
  15. Para el nodo DataUpdate, establezca la propiedad Origen de datos en MAPDB.
  16. Abra la correlación para el nodo DataUpdate, seleccione addev1 de MAPPING3_AUDIT_messages como el origen y MAPDB.SCHEMA.RESERVATION como el destino.
  17. Enlace el origen con el destino de la siguiente manera:
    addev1             MAPDB
           id -------------- RESID
           name ---------- NAME
           size ------------ PARTY
           payment ------- PAYMENT
  18. En el editor de hoja de cálculo, seleccione $db:update y cambie fn:true() por $db:update.MAPDB.MQSI.RESERVATION.RESID = $source/addev1/id y $source/addev1/status = 'CONFIRM'.
  19. Para el nodo DataDelete, establezca la propiedad Origen de datos en MAPDB.
  20. Abra la correlación para el nodo DataDelete, seleccione addev1 de MAPPING3_AUDIT_messages como el origen y MAPDB.SCHEMA.PROVISIONAL como el destino.
  21. En el editor de hoja de cálculo, seleccione $db:delete y cambie fn:false() por $db:delete.MAPDB.MQSI.PROVISIONAL.RESID = $source/addev1/id.
  22. Cree el siguiente mensaje de instancia con las cabeceras RFH2 adecuadas:
    <addev1>
    <id>8214</id>
    <status>CONFIRM</status>
    <name>ARCHIBALD</name>
    <size>2</size>
    <payment>1038.0</payment>
    </addev1>
Resultados del paso 1: Se ha creado el conjunto de mensajes MAPPING3_AUDIT_messages y se ha llenado con el mensaje addev1. Se ha creado el flujo de mensajes addev1 en el proyecto MAPPING3_AUDIT_flows que contiene los archivos de correlación addev1_DataInsert.msgmap, addev1_DataUpdate.msgmap y addev1_DataDelete.msgmap. Base de datos MAPDB con tablas rellenadas CONFIRMATION, RESERVATION y PROVISIONAL. Archivo que contiene mensaje de instancia para prueba.

Paso 2. Desplegar el conjunto de mensajes y el flujo de mensajes y ejecutar los mensajes de instancia mediante el intermediario

  1. Cree un archivo bar, addev1.
  2. Añada el conjunto de mensajes MAPPING3_AUDIT_messages y el flujo de mensajes addev1 al archivo bar.
  3. Despliegue el archivo bar en el intermediario.
  4. Coloque el documento de instancia en la cola de entrada.
Resultados del paso 2: Los mensajes de salida deberían ser iguales que la entrada. El contenido de las tablas de base de datos debería ser:
CONFIRMATION
RESID
-----------
       9052
       8214

RESERVATION
RESID       NAME                 PARTY       PAYMENT
----------- -------------------- ----------- ----------
       8214 ARCHIBALD                      2    1038.00
       2618 HENRY                          4     120.00
       9052 THAW                           3      85.00

PROVISIONAL
RESID
-----------
       2618

Paso 3. Alterar temporalmente el origen de datos de uno de los nodos modificando la configuración de su archivo bar

  1. Cree una base de datos, por ejemplo ALTDB, y cree una tabla CONFIRMATION con las columnas:
    RESID                INTEGER
  2. Cree un Nombre de origen de datos ODBC de Windows para la base de datos y luego registre la base de datos con el gestor de configuración (Archivo->Nuevo->Archivos de definición RDB).
Resultados del paso 3: Base de datos ALTDB con tabla CONFIRMATION.

Paso 4. Crear archivo bar, editar configuración y desplegar

  1. Añada de nuevo el flujo de mensajes addev1 al archivo bar.
  2. Seleccione el separador Configurar del editor de archivos bar y seleccione el icono DataInsert.
  3. En el campo Origen de datos, cambie el valor MAPDB por ALTDB y luego guarde el archivo bar.
  4. Despliegue el archivo bar en el intermediario.
  5. Coloque el documento de instancia en la cola de entrada.
Resultados del paso 4: El mensaje de salida debería ser igual que la entrada. En la base de datos ALTDB, el contenido de la tabla debería ser:
CONFIRMATION
RESID
-----------
       8214

Resumen de los pasos 1 al 4

  1. Se ha creado el conjunto de mensajes MAPPING3_AUDIT_messages y se ha llenado con el mensaje addev1. Se ha creado el flujo de mensajes addev1 en el proyecto MAPPING3_AUDIT_flows que contiene los archivos de correlación addev1_DataInsert.msgmap, addev1_DataUpdate.msgmap y addev1_DataDelete.msgmap. Base de datos MAPDB con tablas rellenadas CONFIRMATION, RESERVATION y PROVISIONAL. Archivo que contiene mensaje de instancia para prueba.
  2. Los mensajes de salida deberían ser iguales que la entrada. El contenido de las tablas de base de datos debería ser:
    CONFIRMATION
    RESID
    -----------
           9052
           8214
    
    RESERVATION
    RESID       NAME                 PARTY       PAYMENT
    ----------- -------------------- ----------- ----------
           8214 ARCHIBALD                      2    1038.00
           2618 HENRY                          4     120.00
           9052 THAW                           3      85.00
    
    PROVISIONAL
    RESID
    -----------
           2618
  3. Base de datos ALTDB con tabla CONFIRMATION.
  4. El mensaje de salida debería ser igual que la entrada. En la base de datos ALTDB, el contenido de la tabla debería ser:
    CONFIRMATION
    RESID
    -----------
           8214
Tareas relacionadas
Ejemplo: Creación, configuración y despliegue de una correlación de mensajes
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2005 Última actualización: 11/11/2005
ar25250_