Construindo a Amostra Managed File Transfer
Se surgirem problemas ao executar a amostra, consulte
Preparando o ambiente para os nós do WebSphere MQ File
Transfer Edition ou
Resolvendo problemas ao executar as amostras na documentação do WebSphere Message Broker.
Criar o Fluxo de Mensagens branch2HQDriver
Use as instruções a seguir para criar o fluxo de mensagens do aplicativo de vendas do final do dia da filial.
- Crie um novo projeto do Message Broker, FTENodesSampleFlowProject.
Para obter informações adicionais, consulte
Criando um Projeto do Message Broker
na documentação do WebSphere Message Broker.
- Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
- Configure Nome do Fluxo de Mensagens como Branch2HQDriver.msgflow e clique em Concluir.
- No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na
tabela a seguir.
Tipo de Nó |
Nome de Nó |
MQInput |
Sales Data from Branch (MQ) |
Compute |
Prepare for FTEAgent |
FTEOutput |
File Transfer to HQ (FTE) |
- Conecte os nós como descrito na tabela a seguir.
Nome de Nó |
Terminal |
Conectar a esse Nó |
Sales Data from Branch (MQ) |
Out |
Prepare for FTEAgent |
Prepare for FTEAgent |
Out |
File Transfer to HQ (FTE)(IN) |
- Customize o nó "Sales Data from Branch (MQ)":
- Clique com o botão direito do mouse no nó "Sales Data from Branch (MQ)", clique em
Propriedades.
- Clique em Básicas, configure o Nome da fila para
FTE_STOCK_REQ_BRANCH
- Clique em Análise de Mensagem de Entrada,
configure o Domínio de mensagem
para BLOB.
- Clique em Avançadas,
selecione a propriedade Pedido Lógico.
- Customize o nó "Prepare for FTEAgent":
- Clique com o botão direito do mouse no nó "Prepare for FTEAgent", clique em Propriedades.
- Clique em Básicas, configure o Módulo ESQL para
FTENodesSampleMFlow.Branch2HQDriver_PrepareforFTEAgent
- Configure o Modo Compute para
LocalEnvironment and Message.
- Dê um clique duplo no nó "Prepare for FTEAgent".
- Inclua as seguintes instruções ESQL na seção BEGIN:
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
-- The BranchName(Code) to create the output file is taken from the MQMD Header
SET OutputLocalEnvironment.Wildcard.WildcardMatch = TRIM(InputRoot.MQMD.ApplOriginData);
- Customize o nó "File Transfer to HQ (FTE)":
- Clique com o botão direito do mouse no nó "File Transfer to HQ (FTE)", clique em
Propriedades.
- Clique em Básicas, configure o
Nome da tarefa para um nome da sua escolha, por exemplo, Branch123
- Configure o Agente para um nome de agente apropriado que usa o seguinte formato, MB8BROKER.FTEHQ
- Se estiver usando a configuração padrão, configure o Gerenciador de Filas para MB8QMGR
- Configure o Diretório de entrada para /ToHQ
- Configure o Nome do arquivo para StockReplenishmentRequest_*.xml
- Clique em Registros e Elementos, configure
Definição de Registro como Registro É Arquivo Inteiro.
Crie o fluxo de mensagens FTEInputBranch2HQMFlow
Use as seguintes instruções para criar o fluxo de mensagens "Detalhes da matriz que recebe o fornecimento de estoque".
- Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
- Clique com o botão direito do mouse no projeto do Message Broker, clique
em Novo > Fluxo de Mensagens.
- Configure Nome do Fluxo de Mensagens como
FTEInputBranch2HQMFlow.msgflow, clique em Concluir.
- No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na
tabela a seguir:
Tipo de Nó |
Nome de Nó |
FTEInput |
Receive File from Branch (FTE) |
Compute |
Preserve Branch Details |
Compute |
Mark End of Branch Data |
Resequence |
Eliminate Duplication (Resequence) |
MQOutput |
Sent to HQ Replenishment App (MQ) |
- Conecte os nós conforme descrito na tabela a seguir:
Nome de Nó |
Terminal |
Conectar a esse Nó |
Receive File from Branch (FTE) |
Out |
Preserve Branch Details |
Preserve Branch Details |
Out |
Eliminate Duplication (Resequence) |
Receive File from Branch (FTE) |
Fim dos Dados |
Mark End of Branch Data |
Mark End of Branch Data |
Out |
Eliminate Duplication (Resequence) |
Eliminate Duplication (Resequence) |
Out |
Sent to HQ Replenishment App (MQ) |
- Customize o nó "Receive File from Branch (FTE)":
- Clique com o botão direito do mouse no nó "Receive File from Branch (FTE)", clique em
Propriedades.
- Clique em Básicas, configure o Filtro do nome do arquivo para StockReplenishmentRequest_*.xml
- Configure Ação no Processamento Bem-sucedido como
Excluir.
- Clique em Análise de Mensagem de Entrada, configure o
Domínio de mensagem para
XMLNSC.
- Clique em Registros e Elementos, configure a
Detecção de Registro para
Sequência de Registro Analisada.
- Customize o nó "Preserve Branch Details":
- Clique com o botão direito do mouse no nó "Preserve Branch Details", clique em
Propriedades.
- Clique em Básicas, configure o módulo ESQL para
FTENodesSampleMFlow.FTEInputBranch2HQMFlow_PreserveBranchDetails
- Configure Modo Compute como LocalEnvironment e Message.
- Dê um clique duplo no nó "Preservar Detalhes da Filial".
- Inclua as seguintes instruções ESQL na seção BEGIN:
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
SET OutputRoot.XMLNSC.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record;
-- Used by the resequence node to reject duplicate records in a recovery situation
SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;
SET OutputLocalEnvironment.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record;
- Customize o nó "Mark End of Branch Data":
- Clique com o botão direito do mouse no nó "Mark End of Branch Data", clique em
Propriedades.
- Clique em Básicas, configure o módulo ESQL para
FTENodesSampleMFlow.FTEInputBranch2HQMFlow_MarkEndofBranchData
- Configure Modo Compute como LocalEnvironment e Message.
- Dê um clique duplo no nó "Mark End of Branch Data".
- Inclua as seguintes instruções ESQL na seção BEGIN:
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
-- Take the Branch number from the File Name "StockReplenishmentRequest_*.xml"
SET OutputRoot.XMLNSC.StockReplenishment.BranchNumber = SUBSTRING( InputLocalEnvironment.FTE.Name FROM 27 FOR 3 );
SET OutputRoot.XMLNSC.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record + 1;
SET OutputRoot.XMLNSC.StockReplenishment.EndofData = 'true';
-- For the Resequence Node
SET OutputLocalEnvironment.Wildcard.WildcardMatch = OutputRoot.XMLNSC.StockReplenishment.BranchNumber;
SET OutputLocalEnvironment.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record + 1;
SET OutputLocalEnvironment.StockReplenishment.EndofData = 'true';
- Customize o nó "Eliminate Duplication (Resequence)":
- Clique com o botão direito do mouse no nó "Eliminate Duplication (Resequence)",
clique em Propriedades.
- Clique em Básicas, configure o
Caminho para o número de sequência
para $LocalEnvironment/StockReplenishment/SequenceNumber
- Configure Caminho para o identificador do grupo de sequência para $LocalEnvironment/Wildcard/WildcardMatch
- Em Término da definição de sequência,
configure o Predicado para
$InputRoot/XMLNSC/StockReplenishment/EndofData="true"
- Customize o nó "Sent to HQ Replenishment App (MQ)":
- Clique com o botão direito do mouse no nó "Sent to HQ Replenishment App (MQ)", clique em
Propriedades.
- Se estiver usando a configuração padrão, clique em Básico e configure o
Nome do gerenciador de filas para MB8QMGR.
- Configure o Nome da fila para FTE_STOCK_PROCESS_HQ
Crie o fluxo de mensagens HQProcessingDriver
Use as seguintes instruções para criar o fluxo de mensagens "Aplicativo de fornecimento de estoque da matriz".
- Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
- Clique com o botão direito do mouse no projeto do Message Broker, clique
em Novo > Fluxo de Mensagens.
- Configure Nome do Fluxo de Mensagens como
HQProcessingDriver.msgflow, clique em Concluir.
- No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na
tabela a seguir:
Tipo de Nó |
Nome de Nó |
MQInput |
Receive Sales Data (MQ) |
Compute |
Demand Driven Replenishment |
MQOutput |
Send Stock Replenishment Invoice (MQ) |
- Conecte os nós conforme descrito na tabela a seguir:
Nome de Nó |
Terminal |
Conectar a esse Nó |
Receive Sales Data (MQ) |
Out |
Demand Driven Replenishment |
Demand Driven Replenishment |
Out |
Send Stock Replenishment Invoice (MQ) |
- Customize o nó "Receive Sales Data (MQ)":
- Clique com o botão direito do mouse no nó "Branch App Input", clique em Propriedades.
- Clique em Básicas, configure o Nome da fila para
FTE_STOCK_PROCESS_HQ
- Clique em Análise de Mensagem de Entrada, configure o
Domínio de mensagem para
XMLNSC.
- Clique em Avançadas,
selecione a propriedade Pedido Lógico.
- Customize o nó "Demand Driven Replenishment":
- Clique com o botão direito do mouse no nó "Demand Driven Replenishment", clique em
Propriedades.
- Clique em Básicas, configure o Módulo ESQL para
FTENodesSampleMFlow.HQProcessingDriver_DemandDrivenReplenishment
- Configure Modo Compute como LocalEnvironment e Message.
- Dê um clique duplo no nó "Demand Driven Replenishment".
- Inclua as seguintes instruções ESQL na seção BEGIN:
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
-- SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;
-- Stock Replenishment changes is processed here
IF ( InputRoot.XMLNSC.StockReplenishment.LineItem.ItemID = 'AA0533' ) THEN
SET OutputRoot.XMLNSC.StockReplenishment.LineItem.ActualSalesUnitPrice = '1.50';
END IF;
IF ( InputRoot.XMLNSC.StockReplenishment.LineItem.ItemID = 'AA0534' ) THEN
SET OutputRoot.XMLNSC.StockReplenishment.LineItem.Quantity = '163';
SET OutputRoot.XMLNSC.StockReplenishment.LineItem.Promotion = '4 for 2.00';
END IF;
- Customize o nó "Send Stock Replenishment Invoice (MQ)":
- Clique com o botão direito do mouse no nó "Send Stock Replenishment Invoice (MQ)", clique em Propriedades.
- Se estiver usando a configuração padrão, clique em Básico e configure o
Nome do gerenciador de filas para MB8QMGR.
- Configure o Nome da fila para FTE_STOCK_INVOICE_BRANCH
Crie o fluxo de mensagens FTEOutputHQ2BranchMFlow
Use as instruções a seguir para criar o fluxo de mensagens "Filiais recebem o arquivo XML de fornecimento de estoque da matriz".
- Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
- Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
- Configure Nome do Fluxo de Mensagens como
FTEOutputHQ2BranchMFlow.msgflow, clique em Concluir.
- No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na
tabela a seguir.
Tipo de Nó |
Nome de Nó |
MQInput |
Receive Stock Replenishment Invoice (MQ) |
Compute |
Prepare for FTEAgent |
FTEOutput |
Transfer to Branch (FTE) |
- Conecte os nós como descrito na tabela a seguir.
Nome de Nó |
Terminal |
Conectar a esse Nó |
Receive Stock Replenishment Invoice (MQ) |
Out |
Prepare for FTEAgent |
Prepare for FTEAgent |
Out |
Transfer to Branch (FTE)(In) |
Prepare for FTEAgent |
Out1 |
Transfer to Branch (FTE)(Finish File) |
- Customize o nó "Receive Stock Replenishment Invoice (MQ)":
- Clique com o botão direito do mouse no nó "Receive Stock Replenishment Invoice (MQ)", clique em Propriedades.
- Clique em Básicas, configure o
Nome da Fila para
FTE_STOCK_INVOICE_BRANCH
- Clique em Análise de Mensagem de Entrada, configure o
Domínio de mensagem para
XMLNSC.
- Clique em Avançadas,
selecione a propriedade Pedido Lógico.
- Customize o nó "Prepare for FTEAgent":
- Clique com o botão direito do mouse no nó "Prepare for FTEAgent", clique em Propriedades.
- Clique em Básicas, configure o módulo ESQL para
FTENodesSampleMFlow.FTEOutputHQ2BranchMFlow_PrepareforFTEAgent
- Configure Modo Compute como LocalEnvironment e Message.
- Dê um clique duplo no nó "Prepare for FTEAgent".
- Inclua as seguintes instruções ESQL na seção BEGIN:
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;
IF ( InputRoot.XMLNSC.StockReplenishment.EndofData = 'true' ) THEN
PROPAGATE TO TERMINAL 'out1';
RETURN FALSE;
END IF;
RETURN TRUE;
- Customize o nó "Transfer to Branch (FTE)":
- Clique com o botão direito do mouse no nó "Transfer to Branch (FTE)", clique em
Propriedades.
- Clique em Básicas, configure Nome da tarefa
para um nome da sua escolha, por exemplo, Fatura para FTEBRANCH123
- Configure o Agente para um nome de agente apropriado que usa o seguinte formato, MB8BROKER.FTEBRANCH123
- Se estiver usando a configuração padrão, configure o Gerenciador de Filas para MB8QMGR
- Clique em Básicas, configure o Diretório de entrada para
/ToBranch
- Configure o Nome do arquivo para StockReplenishmentInvoice_*.xml
- Clique em Registros e Elementos, configure
Definição de Registro como Registro São Dados Não Modificados.
Crie as propriedades do broker
Para executar a amostra é necessário criar as seguintes filas locais:
- FTE_STOCK_INVOICE_BRANCH
- FTE_STOCK_PROCESS_HQ
- FTE_STOCK_REQ_BRANCH
Crie os seguintes arquivos de archive do broker (BAR) e inclua os fluxos de mensagens especificados:
- BRANCH_DRIVER_ARCHIVE.bar
- HQ_ARCHIVE.bar
- FTEInputBranch2HQMFlow.msgflow
- FTEOutputHQ2BranchMFlow.msgflow
- HQProcessingDriver.msgflow
Para obter mais informações sobre como criar um broker archive,
consulte Criando um Broker Archive.
Crie os seguintes grupos de execução e implemente o arquivo BAR especificado:
- FTEBRANCH123
- BRANCH_DRIVER_ARCHIVE.bar
- FTEHQ
Consulte Criando um Grupo de Execução e
Implementando um Arquivo Bar.
Voltar para Home da Amostra