Executando a Amostra Roteamento do Banco de Dados Simplificado

Você pode executar a amostra Roteamento do Banco de Dados Simplificado para demonstrar as seguintes tarefas:

Para cada tarefa, você coloca uma mensagem na mesma fila SIMPLERROUTEDB_IN do WebSphere MQ. O fluxo de mensagens SimplifiedDBRouting obtém a mensagem da fila e processa a mensagem. As instruções a seguir descrevem como colocar as mensagens XML de auto-definição fornecidas através do fluxo de mensagens de amostra do Roteamento do Banco de Dados Simplificado e que saída você pode esperar receber do fluxo de mensagens em cada caso. Como as mensagens não atualizam o banco de dados SROUTEDB, é possível enviar qualquer uma das quatro mensagens no fluxo de mensagem em qualquer ordem.

É possível visualizar o conteúdo do banco de dados de amostra. Para bancos de dados DB2, utilize as ferramentas fornecidas pelo DB2; por exemplo o DB2 Control Center.

Ao executar a amostra, poderá ver mensagens de erro ou de aviso semelhantes a O elemento do esquema XMLNSC não foi localizado e Expressão obrigatória não tem sintaxe válida na visualização Problemas do WebSphere Message Broker Toolkit. Esses avisos ou erros indicam que as expressões XPath nas propriedades de alguns dos nós no fluxo de menagens não atendem os requisitos de validação de XPath configurados como preferências no WebSphere Message Broker Toolkit. Essas mensagens não afetam o comportamento da amostra no tempo de execução. Entretanto, se as preferências de validação do XPath estiverem configuradas de modo que essas mensagens de erro não sejam exibidas na visualização de Problemas, você não poderá incluir o fluxo de mensagens em um arquivo bar, ou reconstruir um arquivo bar que já contenha o fluxo de mensagens. Você também pode estar impossibilitado de visualizar o fluxo de mensagens no editor de Fluxos de Mensagens. Para configurar as preferências de validação XPath para serem menos rigorosas e para exibirem avisos em vez de erros:

  1. Clique em Janela > Preferências, expanda Desenvolvimento do Intermediário.
  2. Expanda XPath, clique em Validação.
  3. Selecione Aviso a partir do menu para cada uma das opções de validação.
  4. Clique em OK.
  5. Salve o fluxo de mensagens depois de ter alterado as preferências de forma que avisos sejam exibidos em lugar de erros. Quando você salva o fluxo de mensagens, ele é revalidado.

Se mensagens foram exibidas na fila SIMPLERROUTEDB_FAILURE quando você executa a amostra, verifique se as configurações do provedor DBMS JDBC padrão configuradas no alias SIMPLERROUTEDB do JDBCProvider no registro intermediário estão corretas para seu ambiente. Para obter informações adicionais, consulte Criando uma Entrada do Provedor JDBC para um Banco de Dados DB2 ou Criando uma Entrada do Provedor JDBC para um Banco de Dados Oracle. Se tiver algum outro problema ao executar a amostra, consulte Resolvendo Problemas ao Executar Amostras na documentação do WebSphere Message Broker.

Executando o fluxo de mensagens SimplifiedDBRouting, com a mensagem de teste que está em usedbretrievenode.mbtest

O fluxo de mensagens SimplifiedDBRouting recupera detalhes de funcionário no funcionário que está listado no campo EmpNumber (Número do Funcionário) da mensagem de entrada. O fluxo de mensagens modifica a mensagem, comparando finalmente o conteúdo da mensagem com os detalhes do gerente do funcionário em uma segunda procura de banco de dados.

Para executar o fluxo de mensagens SimplifiedDBRouting:

  1. Na visualização Desenvolvimento do Intermediário, expanda o projeto Fluxos de Mensagens do Roteamento de Banco de Dados Simplificado, dê um clique duplo no arquivo usedbretrievenode.mbtest para abri-lo no Cliente de Teste.
  2. No Cliente de Teste, clique em Enfileirar.
  3. Clique em Enviar Mensagem. Esta mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
  4. No Cliente de Teste, clique no primeiro Retirar da Fila.
  5. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_SNRSTAFF. Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve ser registrado em log e reconhecido como um membro sênior da equipe dentro da empresa. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept> </EmpRecord>
  6. No Cliente de Teste, clique no segundo Retirar da Fila.
  7. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_ORDERCLOCK. Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve receber um relógio de seu gerente, premiado por dez anos de serviço na empresa. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept> </EmpRecord>

Executando o fluxo de mensagens SimplifiedDBRouting, com a mensagem de teste que está em usedbretrievenode_nofiltermatch.mbtest

O fluxo de mensagens SimplifiedDBRouting recupera detalhes do funcionário no funcionário que está listado no campo EmpNumber (Número do Funcionário) da mensagem de entrada. O fluxo de mensagens modifica a mensagem, comparando finalmente o conteúdo da mensagem com os detalhes do gerente do funcionário em uma segunda procura de banco de dados.

Para executar o fluxo de mensagens SimplifiedDBRouting:

  1. Na visualização Desenvolvimento do Intermediário, expanda o projeto Fluxos de Mensagens de Roteamento de Banco de Dados Simplificado, dê um clique duplo no arquivo usedbretrievenode_nofiltermatch.mbtest para abri-lo no Cliente de Teste.
  2. No Cliente de Teste, clique em Enfileirar.
  3. Clique em Enviar Mensagem. Esta mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
  4. No Cliente de Teste, clique em Retirar da Fila.
  5. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_DEFAULT. Essa mensagem de resposta confirma que a Sra. Sally Kwan (funcionária: 000020) não atende nenhuma expressão de filtragem do nó DatabaseRoute, pois tem menos de dez anos de serviço e também é a gerente de seu departamento de trabalho, portanto, não pode ser mais velha do que ela mesma. Como resultado, a mensagem de entrada modificada é roteada para a fila padrão. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000020</EmpNumber>
          	<FirstName>SALLY</FirstName>
          	<LastName>KWAN</LastName>
          	<YrsInService>9</YrsInService>
          	<AgeInYears>27</AgeInYears>
          	<WorkDept>D00</WorkDept> </EmpRecord>

Executando o fluxo de mensagens SimplifiedDBRouting com a mensagem de teste que está em bypassdbretrievenode.mbtest

O fluxo de mensagens SimplifiedDBRouting compara detalhes do funcionário, que são fornecidos na mensagem de entrada, com os detalhes de seu gerente, que são adquiridos a partir de uma procura de banco de dados.

Para executar o fluxo de mensagens SimplifiedDBRouting:

  1. Na visualização Desenvolvimento do Intermediário, expanda o projeto Fluxos de Mensagens do Roteamento de Banco de Dados Simplificado, dê um clique duplo no arquivo bypassdbretrievenode.mbtest para abri-lo no Cliente de Teste.
  2. No Cliente de Teste, clique em Enfileirar.
  3. Clique em Enviar Mensagem. Esta mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
  4. No Cliente de Teste, clique no primeiro Retirar da Fila.
  5. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_SNRSTAFF. Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve ser registrado em log e reconhecido como um membro sênior da equipe dentro da empresa. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept> </EmpRecord>
  6. No Cliente de Teste, clique no segundo Retirar da Fila.
  7. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_ORDERCLOCK. Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve receber um relógio de seu gerente, premiado por dez anos de serviço na empresa. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>D01</WorkDept> </EmpRecord>

Executando o fluxo de mensagens SimplifiedDBRouting com a mensagem de teste que está em bypassdbretrievenode_keynotfound.mbtest

O fluxo de mensagens SimplifiedDBRouting compara detalhes do funcionário, que são fornecidos na mensagem de entrada, com os detalhes de seu gerente, que são adquiridos a partir de uma procura de banco de dados.

Para executar o fluxo de mensagens SimplifiedDBRouting:

  1. Na visualização Desenvolvimento do Intermediário, expanda o projeto Fluxos de Mensagens do Roteamento do Banco de Dados, dê um clique duplo no arquivo bypassdbretrievenode_keynotfound.mbtest para abri-lo no Cliente de Teste.
  2. No Cliente de Teste, clique em Enfileirar.
  3. Clique em Enviar Mensagem. Esta mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
  4. No Cliente de Teste, clique em Retirar da Fila.
  5. Clique em Obter Mensagem para ler uma mensagem a partir da fila SIMPLERROUTEDB_KEYNOTFOUND. Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) tem um valor de departamento de trabalho inválido. Como resultado, a mensagem de entrada não modificada é roteada para a fila keyNotFound. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <EmpRecord>
          	<EmpNumber>000010</EmpNumber>
          	<FirstName>DAVID</FirstName>
          	<LastName>BROWN</LastName>
          	<YrsInService>10</YrsInService>
          	<AgeInYears>54</AgeInYears>
          	<WorkDept>E00</WorkDept> </EmpRecord>

Voltar para Home da Amostra