Ejecutar el ejemplo de Direccionamiento de base de datos simplificado

Puede ejecutar el ejemplo de Direccionamiento de base de datos simplificado para demostrar las tareas siguientes:

Para cada tarea, coloque un mensaje en la misma cola de WebSphere MQ SIMPLERROUTEDB_IN. El flujo de mensajes SimplifiedDBRouting obtiene el mensaje de la cola y lo procesa. Las siguientes instrucciones explican cómo colocar los mensajes XML autodefinidos proporcionados en el flujo de mensajes del ejemplo de Direccionamiento de base de datos simplificado y qué salida puede esperar recibir del flujo de mensajes en cada caso. Puesto que los mensajes no actualizan la base de datos SROUTEDB, puede enviar cualquiera de los cuatro mensajes al flujo de mensajes en cualquier orden.

Puede ver el contenido de la base de datos de ejemplo. Para bases de datos DB2, utilice las herramientas proporcionadas por DB2; por ejemplo, el Centro de control de DB2.

Cuando ejecute el ejemplo, es posible que vea mensajes de error o de aviso similares a los siguientes: No se ha encontrado el elemento de esquema XMLNSC y La expresión obligatoria no tiene una sintaxis válida, en la vista Problemas de WebSphere Message Broker Toolkit. Estos avisos o errores indican que las expresiones XPath de las propiedades de algunos nodos del flujo de mensajes no cumplen los requisitos de validación XPath que se establecen como preferencias en WebSphere Message Broker Toolkit. Estos mensajes no afectan al comportamiento del ejemplo en tiempo de ejecución. Sin embargo, si las preferencias de validación de XPath están establecidas de tal manera que se visualicen mensajes de error en la vista Problemas, no puede añadir el flujo de mensajes a un archivo de archivador de intermediario ni reconstruir un archivo de archivador de intermediario que ya contenga el flujo de mensajes. Es posible que tampoco pueda ver el flujo de mensajes en el Editor de flujos de mensajes. Para establecer las preferencias de validación de XPath de modo que sean menos estrictas, y para visualizar avisos en lugar de errores:

  1. Pulse Ventana > Preferencias y expanda Desarrollo de intermediario.
  2. Expanda XPath y pulse Validación.
  3. Seleccione Aviso en el menú para cada una de las opciones de validación.
  4. Pulse Aceptar.
  5. Guarde el flujo de mensajes después de cambiar las preferencias de forma que aparezcan avisos en lugar de errores. Cuando guarde el flujo de mensajes, éste se volverá a validar.

Si aparecen mensajes en la cola SIMPLERROUTEDB_FAILURE cuando ejecute el ejemplo, compruebe que los valores de proveedor JDBC DBMS predeterminados que se establecen para el alias de JDBCProvider SIMPLERROUTEDB en el registro del intermediario sean correctos para su entorno. Para obtener más información, consulte Crear una entrada de proveedor JDBC para la base de datos DB2 o Crear una entrada de proveedor JDBC para una base de datos Oracle. Si encuentra cualquier otro problema al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker.

Ejecutar el flujo de mensajes SimplifiedDBRouting, con el mensaje de prueba que está en usedbretrievenode.mbtest

El flujo de mensajes SimplifiedDBRouting recupera los detalles de empleado sobre el empleado especificado en el campo EmpNumber (Número de empleado) del mensaje de entrada. El flujo de mensajes modifica el mensaje, y compara finalmente el contenido del mensaje con los detalles del jefe del empleado en una segunda búsqueda de base de datos.

Para ejecutar el flujo de mensajes SimplifiedDBRouting:

  1. En la vista Desarrollo de intermediario, expanda el proyecto Simplified Database Routing Message Flows y luego efectúe una doble pulsación en el archivo usedbretrievenode.mbtest para abrirlo en el Cliente de prueba.
  2. En el cliente de prueba, pulse Colocar en cola.
  3. Pulse Enviar mensaje. Este mensaje de entrada se coloca en la cola SIMPLERROUTEDB_IN.
  4. En el Cliente de prueba, pulse el primer Extraer de la cola existente.
  5. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_SNRSTAFF. Este mensaje de respuesta confirma que el señor David Brown (empleado: 000010) debe registrarse y ser reconocido como miembro veterano del personal dentro de la empresa. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept>
    </EmpRecord>
  6. En el Cliente de prueba, pulse el segundo Extraer de la cola existente.
  7. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_ORDERCLOCK. Este mensaje de respuesta confirma que el jefe del señor David Brown (empleado: 000010) debe entregarle un reloj en reconocimiento a sus diez años de servicio en la empresa. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept>
    </EmpRecord>

Ejecutar el flujo de mensajes SimplifiedDBRouting, con el mensaje de prueba que está en usedbretrievenode_nofiltermatch.mbtest

El flujo de mensajes SimplifiedDBRouting recupera detalles de empleado sobre el empleado especificado en el campo EmpNumber (Número de empleado) del mensaje de entrada. El flujo de mensajes modifica el mensaje, y compara finalmente el contenido del mensaje con los detalles del jefe del empleado en una segunda búsqueda de base de datos.

Para ejecutar el flujo de mensajes SimplifiedDBRouting:

  1. En la vista Desarrollo de intermediario, expanda el proyecto Simplified Database Routing Message Flows y luego efectúe una doble pulsación en el archivo usedbretrievenode_nofiltermatch.mbtest para abrirlo en el Cliente de prueba.
  2. En el cliente de prueba, pulse Colocar en cola.
  3. Pulse Enviar mensaje. Este mensaje de entrada se coloca en la cola SIMPLERROUTEDB_IN.
  4. En el Cliente de prueba, pulse Extraer de la cola.
  5. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_DEFAULT. Este mensaje de respuesta confirma que la señora Sally Kwan (empleada: 000020) no cumple ninguna de las expresiones de filtro del nodo DatabaseRoute ya que tiene menos de diez años de servicio y es también la jefa de su departamento de trabajo y, por tanto, no es mayor que ella misma. Como resultado, el mensaje de entrada modificado se dirige a la cola predeterminada. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000020</EmpNumber>
          	<FirstName>SALLY</FirstName>
          	<LastName>KWAN</LastName>
          	<YrsInService>9</YrsInService>
          	<AgeInYears>27</AgeInYears>
          	<WorkDept>D00</WorkDept>
    </EmpRecord>

Ejecutar el flujo de mensajes SimplifiedDBRouting, con el mensaje de prueba que está en bypassdbretrievenode.mbtest

El flujo de mensajes SimplifiedDBRouting compara los detalles de empleado, especificados en el mensaje de entrada, con los detalles de su jefe, tomados a partir de una búsqueda en una base de datos.

Para ejecutar el flujo de mensajes SimplifiedDBRouting:

  1. En la vista Desarrollo de intermediario, expanda el proyecto Simplified Database Routing Message Flows y luego pulse dos veces el archivo bypassdbretrievenode.mbtest para abrirlo en el Cliente de prueba.
  2. En el cliente de prueba, pulse Colocar en cola.
  3. Pulse Enviar mensaje. Este mensaje de entrada se coloca en la cola SIMPLERROUTEDB_IN.
  4. En el Cliente de prueba, pulse el primer Extraer de la cola existente.
  5. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_SNRSTAFF. Este mensaje de respuesta confirma que el señor David Brown (empleado: 000010) debe registrarse y ser reconocido como miembro veterano del personal dentro de la empresa. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept>
    </EmpRecord>
  6. En el Cliente de prueba, pulse el segundo Extraer de la cola existente.
  7. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_ORDERCLOCK. Este mensaje de respuesta confirma que a el señor David Brown (empleado: 000010) su jefe de debe dar un reloj, como premio a sus diez años de servicio en la empresa. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept>
    </EmpRecord>

Ejecutar el flujo de mensajes SimplifiedDBRouting, con el mensaje de prueba que está en bypassdbretrievenode_keynotfound.mbtest

El flujo de mensajes SimplifiedDBRouting compara los detalles de empleado, especificados en el mensaje de entrada, con los detalles de su jefe, tomados a partir de una búsqueda en una base de datos.

Para ejecutar el flujo de mensajes SimplifiedDBRouting:

  1. En la vista Desarrollo de intermediario, expanda el proyecto Simplified Database Routing Message Flows y luego efectúe una doble pulsación en el archivo bypassdbretrievenode_keynotfound.mbtest para abrirlo en el Cliente de prueba.
  2. En el cliente de prueba, pulse Colocar en cola.
  3. Pulse Enviar mensaje. Este mensaje de entrada se coloca en la cola SIMPLERROUTEDB_IN.
  4. En el Cliente de prueba, pulse Extraer de la cola.
  5. Pulse Obtener mensaje para leer un mensaje de la cola SIMPLERROUTEDB_KEYNOTFOUND. Este mensaje de respuesta confirma que el señor David Brown (empleado: 000010) tiene un valor de departamento de trabajo no válido. Como resultado, el mensaje de entrada no modificado se direcciona a la cola keyNotFound. El ejemplo siguiente muestra el formato de un mensaje de respuesta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>E00</WorkDept>
    </EmpRecord>

Volver a la página inicial del ejemplo