Sobre a Amostra Roteamento do
Banco de Dados Simplificado
A amostra Roteamento do Banco de
Dados Simplificado é baseada no cenário de um sistema de
processamento de gerenciamento de funcionários.
A amostra demonstra
como utilizar os recursos fornecidos pelo WebSphere Message Broker.
A amostra Roteamento do Banco de
Dados Simplificadodemonstra como você pode projetar
aplicativos que processam mensagens XML autodefinidas.
As mensagens XML são autodefinidas porque cada parte de dados é prefixada
por um nome de tag ou por um nome de atributo.
A definição de uma mensagem XML
está na própria mensagem e não é mantida em nenhum outro lugar.
Portanto, você pode executar um fluxo de mensagens usando uma mensagem XML sem o auxílio de um conjunto de mensagens externo.
Nessa amostra o formato da mensagem é transformado usando o nó DatabaseRetrieve.
Ao utilizar o nó DatabaseRetrieve, você pode utilizar as linguagens ESQL ou XPath para especificar o formato da mensagem da mensagem de saída.
A amostra Roteamento do Banco de
Dados Simplificado executa as seguintes ações:
- Utiliza um nó de Roteamento para rotear a mensagem para
diferentes nós no fluxo de mensagens baseado na presença de dados
específicos do funcionário na mensagem de entrada.
Se os dados do funcionário estiverem ausentes, uma operação de consulta ao banco de dados é executada.
- Utiliza um nó DatabaseRetrieve para incluir informações de uma consulta de banco de dados na mensagem de entrada para formar uma nova mensagem de saída.
A consulta é desempenhada usando um valor de chave que é esperado na mensagem de entrada original.
- Utiliza o nó DatabaseRoute para rotear dinamicamente uma ou mais cópias da mensagem de entrada para diferentes partes do fluxo de mensagens, com base nas expressões especificadas no nó.
Estas expressões são aplicadas aos valores recuperados a partir de uma consulta de banco de dados, o que também é especificado no nó.
- Gera uma das seguintes mensagens de resposta com base nas decisões de roteamento feitas pelo nó DatabaseRoute:
- Um funcionário qualifica-se para ganhar um relógio em reconhecimento de dez anos de serviços à empresa.
- Um determinado funcionário é sênior em termos de idade em relação ao seu gerente.
- Confirma que nenhuma das duas condições acima aplicam-se a um determinado funcionário.
- Gera uma mensagem de resposta indicando que um conjunto de resultados vazio é produzido se uma
condição keyNotFound surgir da consulta de banco de dados no nó
DatabaseRoute.
As seções a seguir descrevem a amostra de Roteamento do
Banco de Dados Simplificado em mais detalhes:
A amostra Roteamento do Banco de Dados Simplificado inclui um fluxo de mensagens denominado SimplifiedDBRouting.
O fluxo de mensagens roteia mensagens dinamicamente e recupera informações sobre
um funcionário, com base no conteúdo das mensagens de teste.
Para ler mais sobre o fluxo de mensagens, consulte
Sobre o fluxo de mensagens de Roteamento
de Banco de Dados Simplificado.
Para obter mais informações, consulte
Visão Geral de Fluxos de Mensagens
na documentação do WebSphere Message Broker.
A amostra Roteamento do Banco de Dados Simplificado processa
mensagens XML autodefinidas ou genéricas.
Uma mensagem XML de autodefinição transporta informações sobre seu conteúdo e estrutura
na mensagem em formato de um documento que está de acordo com a especificação
XML.
Uma definição de mensagem não é mantida em nenhum outro local.
Quando o fluxo de mensagens receber a mensagem, a mensagem é analisada usando o analisador XMLNSC
de acordo com as definições XML contidas na própria mensagem.
Quatro mensagens de entrada XML autodefinidas são fornecidas.
Você pode usar essas mensagens para observar como o conteúdo diferente das mensagens altera-se e como as mensagens
são enviadas no fluxo de mensagens. As mensagens de entrada fornecidas
possuem o seguinte conteúdo:
- usedbretrievenode: A mensagem pede informações
adicionais sobre um funcionário específico, fornecendo apenas seus números de funcionários.
Os dados do funcionário satisfazem todas as condições de roteamento configuradas contra os detalhes de um funcionário no final do fluxo. Consulte Sobre as mensagens de teste
usedbretrievenode e usedbretrievenode_nofiltermatch.
- usedbretrievenode_nofiltermatch: A mensagem pede
informações adicionais sobre um funcionário específico, fornecendo apenas seus números de funcionários.
Os
dados de funcionários não satisfazem nenhuma das condições de
roteamento definidas contra os detalhes de um funcionário no fim do
fluxo. Consulte Sobre as mensagens de teste
usedbretrievenode e usedbretrievenode_nofiltermatch.
- bypassdbretrievenode: A mensagem contém informações
sobre um funcionário específico, fornecendo todos os detalhes do funcionário necessários.
Os dados do funcionário satisfazem todas as condições de roteamento configuradas contra os detalhes de um funcionário no final do fluxo. Consulte Sobre as mensagens de teste bypassdbretrievenode
e bypassdbretrievenode_keynotfound.
- bypassdbretrievenode_keynotfound: A mensagem
contém informações sobre um funcionário específico, fornecendo todos os detalhes do funcionário necessários.
Os detalhes
do funcionário não satisfazem nenhuma das condições de roteamento
definidas contra um funcionário no fim do fluxo. Os detalhes do funcionário causam a consulta ao banco de dados falhar em
localizar uma correspondência, resultando na mensagem sendo enviada à rota keyNotFound no
fluxo de mensagens. Consulte Sobre as
mensagens de teste bypassdbretrievenode e bypassdbretrievenode_keynotfound.
A amostra Roteamento do Banco de Dados Simplificado utiliza
um banco de dados chamado SROUTEDB, que contém duas tabelas de banco
de dados chamadas DEPARTMENT e EMPLOYEE. O fluxo de mensagens na
amostra acessa diretamente SROUTEDB.
Para obter mais informações sobre o banco de dados
nessa amostra, consulte Sobre o banco de dados SROUTEDB.
O fluxo de mensagens da amostra Roteamento do Banco de Dados
Simplificado interage com as filas locais com WebSphere MQ.
As filas são definidas no gerenciador de filas do WebSphere MQ que hospeda o
intermediário no qual o fluxo de mensagens é executado.
Para obter mais informações
sobre as filas do WebSphere MQ nessa amostra, consulte
Sobre as filas do WebSphere MQ.
Voltar para o Início da Amostra