Utilizando um Intermediário como um Auditor

Visão Geral

O cenário utiliza atualizações de banco de dados que foram definidas utilizando mapeamentos. O intermediário recebe uma confirmação de um registro provisional, o fluxo de mensagens insere uma linha em uma tabela de banco de dados representando a confirmação, atualiza um contador em outra tabela representando a chave da confirmação e exclui o registro provisional de uma terceira tabela.

Este cenário utiliza os nós DataDelete, DataInsert e DataUpdate no fluxo de mensagens e requer as seguintes funções de mapeamento:
  • Mapeamento no nó DataInsert
  • Combinar dados de entrada em uma única inserção
  • Mapeamento no nó DataUpdate
  • Mapeamento no nó DataDelete
  • Arquivo Bar para substituir a origem de dados

Utilize as ferramentas do Message Broker para criar fluxos de mensagens e conjuntos de mensagens e para criar e implementar arquivos bar (broker archive). Também é necessário criar um gerenciador de configuração e um intermediário. Nas ferramentas Message Broker, crie uma conexão de domínio com o gerenciador de configuração e crie um intermediário no domínio. Também é requerido um método para entrada de mensagens da instância que podem (opcionalmente) conter cabeçalhos MQRFH2, por exemplo, argoput, rfhutil.

Etapa 1. Desenvolver Fluxo para Mapear Vários Campos de Dados de Entrada para um Único Registro de Inserção para um Banco de Dados, em Seguida, Atualizar Outra Tabela e Excluir de uma Terceira, Desenvolver Modelos de Mensagem e Mensagens da Instância Correspondentes

  1. Crie um banco de dados, por exemplo, MAPDB e crie uma tabela CONFIRMATION com as colunas:
    RESID                INTEGER
  2. Ocupe a tabela CONFIRMATION com os valores:
    9052 
  3. Crie outra tabela RESERVATION com as colunas:
    RESID           INTEGER
    NAME            VARCHAR(20)
    PARTY           INTEGER
    PAYMENT         DECIMAL(8,2)
  4. Ocupe a tabela RESERVATION com os valores:
    8214,'ARCHIBALD',2,0.0
    2618,'HENRY', 4, 120.0
    9052,'THAW', 3, 85.0
  5. Crie outra tabela PROVISIONAL com as colunas:
    RESID                  INTEGER
  6. Ocupe a tabela PROVISIONAL com os valores:
     8214 2618 
  7. Crie um Nome de Origem de Dados ODBC do Windows para o banco de dados, em seguida, registre o banco de dados no gerenciador de configuração (clique em Arquivo-> Novo->Arquivo de Definições RDB).
  8. Crie um projeto do conjunto de mensagens e o conjunto de mensagens MAPPING3_AUDIT_messages (espaço de nomes ativado, com formato de ligação XML) e um arquivo de definição de mensagem AUDIT.
  9. Crie uma mensagem addev1 com a estrutura:
    addev1
       id                (xsd:int) elemento local
       status            (xsd:string) elemento local
       name              (xsd:string) elemento local
       size              (xsd:int) elemento local
       payment           (xsd:decimal) elemento local
  10. Crie um projeto do fluxo de mensagens MAPPING3_AUDIT_flows.
  11. Crie um fluxo de mensagens, addev1, contendo: MQInput ->DataInsert -> DataUpdate -> DataDelete -> MQOutput.
  12. Para o nó DataInsert, configure a propriedade Origem de Dados como MAPDB.
  13. Abra o mapeamento para o nó DataInsert, selecione MAPPING3_AUDIT_messages addev1 como a origem e MAPDB.SCHEMA.CONFIRMATION como o destino.
  14. Ligue a origem ao destino, da seguinte forma:
    addev1             MAPDB
           id -------------- RESID
  15. Para o nó DataUpdate, configure a propriedade Origem de Dados como MAPDB.
  16. Abra o mapeamento para o nó DataUpdate, selecione MAPPING3_AUDIT_messages addev1 como a origem e MAPDB.SCHEMA.RESERVATION como o destino.
  17. Ligue a origem ao destino, da seguinte forma:
    addev1             MAPDB
           id -------------- RESID
           name ---------- NAME
           size ------------ PARTY
           payment ------- PAYMENT
  18. No editor da planilha, selecione $db:update e altere fn:true() para $db:update.MAPDB.MQSI.RESERVATION.RESID = $source/addev1/id e $source/addev1/status = 'CONFIRM'.
  19. Para o nó DataDelete, configure a propriedade Origem de Dados como MAPDB.
  20. Abra o mapeamento para o nó DataDelete, selecione MAPPING3_AUDIT_messages addev1 como a origem e MAPDB.SCHEMA.PROVISIONAL como o destino.
  21. No editor da planilha, selecione $db:delete e altere fn:false() para $db:delete.MAPDB.MQSI.PROVISIONAL.RESID = $source/addev1/id.
  22. Crie a seguinte mensagem da instância com os cabeçalhos RFH2 apropriados:
    <addev1>
    <id>8214</id>
    <status>CONFIRM</status>
    <name>ARCHIBALD</name>
    <size>2</size>
    <payment>1038.0</payment>
    </addev1>
Resultados da etapa 1: Conjunto de mensagens MAPPING3_AUDIT_messages criado e ocupado com a mensagem addev1. Fluxo de mensagens addev1 criado no projeto MAPPING3_AUDIT_flows contendo os arquivos de mapeamento addev1_DataInsert.msgmap e addev1_DataUpdate.msgmap e addev1_DataDelete.msgmap. Banco de dados MAPDB com tabelas CONFIRMATION, RESERVATION e PROVISIONAL ocupadas. Arquivo contendo mensagem da instância para teste.

Etapa 2. Implementar o Conjunto e Fluxo de Mensagens e Executar as Mensagens da Instância por meio do Intermediário

  1. Crie um arquivo bar, addev1.
  2. Inclua o conjunto de mensagens MAPPING3_AUDIT_messages e o fluxo de mensagens addev1 no arquivo bar.
  3. Implemente o arquivo bar no intermediário.
  4. Coloque o documento da instância na fila de entrada.
Resultados da etapa 2: As mensagens de saída devem ser iguais às de entrada. O conteúdo da tabela de banco de dados deve 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

Etapa 3. Substituir a Origem de Dados de um dos Nós Alterando a Configuração de seu Arquivo Bar

  1. Crie um banco de dados, por exemplo ALTDB, e crie uma tabela CONFIRMATION com as colunas:
    RESID                INTEGER
  2. Crie um Nome de Origem de Dados ODBC do Windows para o banco de dados, em seguida, registre o banco de dados no gerenciador de configuração (Arquivo->Novo->Arquivo de Definições RDB).
Resultados da etapa 3: Banco de dados ALTDB com a tabela CONFIRMATION.

Etapa 4. Criar Arquivo Bar, Editar Configuração e Implementar

  1. Inclua o fluxo de mensagens addev1 no arquivo bar novamente.
  2. Selecione a guia Configurar do editor do arquivo bar e selecione o ícone DataInsert.
  3. Altere o campo Origem de Dados de MAPDB para ALTDB, em seguida, salve o arquivo bar.
  4. Implemente o arquivo bar no intermediário.
  5. Coloque o documento da instância na fila de entrada.
Resultados da etapa 4: A mensagem de saída deve ser igual à de entrada. No banco de dados ALTDB, o conteúdo da tabela deve ser:
CONFIRMATION
RESID
-----------
       8214

Resumo de Etapas 1 a 4

  1. Conjunto de mensagens MAPPING3_AUDIT_messages criado e ocupado com a mensagem addev1. Fluxo de mensagens addev1 criado no projeto MAPPING3_AUDIT_flows contendo os arquivos de mapeamento addev1_DataInsert.msgmap e addev1_DataUpdate.msgmap e addev1_DataDelete.msgmap. Banco de dados MAPDB com tabelas CONFIRMATION, RESERVATION e PROVISIONAL ocupadas. Arquivo contendo mensagem da instância para teste.
  2. As mensagens de saída devem ser iguais às de entrada. O conteúdo da tabela de banco de dados deve 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. Banco de dados ALTDB com a tabela CONFIRMATION.
  4. A mensagem de saída deve ser igual à de entrada. No banco de dados ALTDB, o conteúdo da tabela deve ser:
    CONFIRMATION
    RESID
    -----------
           8214
Tarefas relacionadas
Exemplo: Criando, Configurando e Implementando um Mapeamento de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2005 Última Atualização: 04/11/2005
ar25250_