Como o Gateway da web se ajusta à topologia do IBM MQ Managed File Transfer

Use o IBM® MQ Managed File Transfer Serviço Gateway da web para transferir arquivos para agentes do IBM MQ Managed File Transfer (MQMFT) e recuperar o status de transferências usando um cliente HTTP.

Use o Gateway da web para estender uma rede IBM MQ Managed File Transfer existente para suportar clientes que usam o protocolo HTTP. O Gateway da web fornece um link de clientes que estão usando o protocolo HTTP em uma rede do IBM MQ Managed File Transfer que já existe. As transferências que usam o Gateway da web são registradas em toda a transferência. Para obter mais informações sobre o propósito do Gateway da web, consulte Cenários para o Gateway da web

Figura 1. Visão Geral da Arquitetura do Gateway da web
Um diagrama das partes de um Gateway da Web conforme descrito nesta página, juntamente com clientes HTTP variados em um lado do Gateway da Web e alguns agentes MQMFT no outro lado do Gateway da Web.
O aplicativo Gateway da web requer o seguinte componente, que não é fornecido com o IBM MQ Managed File Transfer:
Um servidor de aplicativos compatível com Java Platform, Enterprise Edition 5
Esse servidor de aplicativos hospeda o aplicativo Gateway da web. Solicitações de HTTP de clientes são direcionadas para o servidor de aplicativos, que passa o conteúdo das solicitações para o aplicativo.

Um Gateway da web consiste de várias partes:
O aplicativo Gateway da web MQMFT
O aplicativo Gateway da web manipula os uploads de arquivos e os pedidos de status de transferência.

Quando um arquivo for transferido por upload, o aplicativo Gateway da web gravará os dados do arquivo em um armazenamento temporário no sistema de arquivos do sistema no qual o aplicativo está em execução. O aplicativo Gateway da web então envia uma solicitação de transferência de arquivos para o agente MQMFT , que está em execução no mesmo sistema. Para obter mais informações sobre esta solicitação, consulte Formato da Mensagem de Solicitação de Transferência de Arquivo

Quando uma solicitação para informações de status é recebida, o aplicativo Gateway da web se conecta ao banco de dados do criador de log do banco de dados MQMFT (usando os recursos de acesso a dados fornecidos pelo servidor de aplicativos) para recuperar as informações necessárias. O aplicativo então gera a resposta, que é passada para o cliente.

Um agente da web MQMFT
O Gateway da web requer um agente MQMFT instalado no mesmo sistema que o aplicativo. Esse agente da web pode ser criado usando o comando fteCreateWebAgent ; consulte fteCreateWebAgent (crie um IBM MQ Managed File Transfer agente da web). Esse agente recebe a mensagem de pedido de transferência de arquivos descrita na seção anterior. A mensagem de pedido se refere ao arquivo ou arquivos no armazenamento temporário. O agente transfere os arquivos para um agente existente na rede MQMFT , lendo os arquivos do armazenamento do sistema de arquivos. O comportamento da disposição de origem é configurado como delete para que os arquivos sejam removidos depois que a transferência for concluída com êxito, consulte fteCreateTransfer para obter mais informações

Não é necessário configurar especialmente esse agente, porque o pedido de transferência de arquivos é uma mensagem ordinária e não específica para o Gateway da web.

O criador de logs do banco de dados MQMFT e um banco de dados suportado
Para fornecer informações de status sobre transferências, iniciadas usando a web ou por outros meios, o aplicativo Gateway da web deve estar apto a consultar um banco de dados que contém informações de auditoria para a atividade MQMFT Esse banco de dados é preenchido pelo componente do criador de logs de banco de dados fornecido com o produto. O acesso ao banco de dados é fornecido pelos recursos de acesso a dados incluídos em cada servidor de aplicativos. O banco de dados não precisa estar localizado no mesmo sistema que os outros componentes.

Componentes Necessários para os Cenários do Gateway da web

Os diagramas a seguir mostram os componentes do IBM MQ Managed File Transfer e outros objetos que estão envolvidos em solicitações de transferência de arquivos. Todos os recursos do Java Platform, Enterprise Edition (JEE) usados em cada cenário devem ser definidos em seu servidor de aplicativos, independentemente de qual cenário você está usando Para obter detalhes sobre como configurar os recursos do JEE, consulte Configurando o Gateway da Web

Figura 2 IBM MQ Managed File Transfer componentes envolvidos em um upload de arquivo por meio do Gateway da web
Um diagrama de um sistema de arquivos de origem localizado no mesmo sistema que um navegador da Web O navegador da web se comunica com um servidor de aplicativos que hospeda
o aplicativo JEE do Gateway da web. O servidor de aplicativos se comunica com um gerenciador de filas do agente, usando um recurso JEE que é rotulado A. O servidor de aplicativos usa algum armazenamento de espaço no arquivo temporário em um sistema de arquivos que também está acessível para um agente da Web do MQMFT O agente da web
está conectado ao mesmo gerenciador de filas do agente com o qual o
servidor de aplicativos se comunica. Esse gerenciador de filas usa uma rede do WebSphere MQ para se comunicar com um agente MQMFT que está em execução no sistema de arquivos de destino.
  1. Um aplicativo JavaScript em execução no navegador da web do usuário usa funções definidas pela API RESTful fornecida pelo Gateway da web para fazer upload de um arquivo.
  2. Os dados do arquivo são lidos a partir do armazenamento de arquivo localizado no mesmo sistema que o navegador da web e enviado usando o protocolo HTTP para o servidor de aplicativos que hospeda o aplicativo de Gateway da web.
  3. O aplicativo Gateway da web Java Platform, Enterprise Edition (JEE) recebe os dados do arquivo como o corpo de uma solicitação de HTTP e os grava no armazenamento de arquivo que é acessível a partir do servidor de aplicativos e do agente da Web. Se o aplicativo Gateway da web e o agente da web estiverem no mesmo sistema, isso poderá ser um diretório no sistema de arquivos do sistema.
  4. O aplicativo Gateway da web envia uma mensagem para o gerenciador de filas do agente ao qual o agente da web está conectado. Esta mensagem contém instruções que identificam o arquivo a ser movido e o agente do IBM MQ Managed File Transfer para o qual os dados do arquivo são enviados Essas informações são usadas a partir da solicitação de HTTP na etapa 1.
  5. O aplicativo Gateway da web JEE envia uma resposta de HTTP para o navegador da web.
  6. O agente da web recebe a mensagem que solicita a transferência desses dados do arquivo.
  7. O agente da web lê os dados do arquivo, que correspondem ao arquivo transferido por upload a partir da etapa 1.
  8. O agente da web transfere os dados do arquivo, como uma sequência de mensagens, para o gerenciador de filas do agente.
  9. O gerenciador de filas do agente transfere as mensagens, que correspondem ao arquivo transferido por upload da etapa 1, pela rede do IBM MQ . Isso pode envolver a troca de dados do arquivo entre outros gerenciadores de filas até que os dados cheguem ao gerenciador de filas para o qual o agente em execução no sistema de destino está conectado.
  10. O agente no sistema de destino recebe as mensagens que contêm os dados do arquivo e converte os dados novamente em um arquivo.
  11. Os dados do arquivo são gravados no armazenamento de arquivo no sistema de destino.
Recursos JEE usados neste cenário:
A-JMS Queue Connection Factory chamado WMQFTEWebAgentConnectionFactory com um nome JNDI de jms/WMQFTEWebAgentConnectionFactory

Figura 3. IBM MQ Componentes do Managed File Transfer envolvidos em um upload de arquivo para um espaço no arquivo e download subsequente a partir do espaço no arquivo
Um diagrama de vários componentes MQMFT, incluindo um agente, um agente da Web e comandos MQMFT, conforme descrito nesta página. O aplicativo Gateway da web JEE
é hospedado por um servidor de aplicativos. O aplicativo Gateway da web se comunica com um gerenciador de filas do agente usando recursos JEE que são rotulados A, B e C. O aplicativo também se comunica com um banco de dados que contém informações de espaço no arquivo, usando recursos JEE que são rotulados D e E. O diagrama também inclui um navegador da Web, sistemas de arquivos de origem e de destino, armazenamento de espaço no arquivo em um sistema de arquivos e uma rede do IBM MQ
  1. O usuário, ou um processo, envia uma solicitação de transferência de arquivos (na forma de uma mensagem IBM MQ ) para a rede IBM MQ . Essa solicitação pode ser enviada a partir da linha de comando ou por meio de outra interface MQMFT . A mensagem é direcionada para o gerenciador de filas para o qual o agente no sistemas de origem está conectado.
  2. O agente no sistema de origem recebe a mensagem, que o instrui a executar uma transferência de arquivos para o agente da web.
  3. O agente lê o arquivo do sistema de arquivos de origem e o converte em uma sequência de mensagens do IBM MQ.
  4. O agente envia a seqüência de mensagens para um gerenciador de filas na rede do IBM MQ
  5. A rede IBM MQ roteia as mensagens, que contêm os dados do arquivo, para o gerenciador de filas do agente.
  6. O agente da web recebe as mensagens, que contêm os dados do arquivo, do gerenciador de filas do agente.
  7. O agente da web grava os dados do arquivo, como um arquivo, no armazenamento de espaços no arquivo em um sistema de arquivos que está acessível ao aplicativo Gateway da web JEE.
  8. O agente da web envia uma mensagem para o gerenciador de filas do agente, para informar o aplicativo Gateway da web JEE que chegou um arquivo.
  9. O aplicativo Gateway da web JEE recebe a mensagem de notificação enviada a partir do agente da web por meio do gerenciador de filas do agente.
  10. O aplicativo Gateway da web JEE atualiza um banco de dados que contém informações sobre os arquivos que são armazenados nos espaços de arquivos.
  11. O aplicativo Gateway da web JEE envia uma resposta, que é destinada ao agente da web, para o gerenciador de filas do agente.
  12. O agente da web recebe a mensagem de resposta e conclui a operação de transferência de arquivo.
  13. Em algum tempo depois, um usuário ou processo faz uma solicitação de HTTP RESTful para o aplicativo Gateway da web JEE para recuperar um arquivo a partir do espaço no arquivo do usuário. Nesse diagrama, a solicitação é feita por um navegador da web. A solicitação pode ser feita por qualquer cliente.
  14. O aplicativo Gateway da web JEE recebe a solicitação de HTTP, decodifica-a e usa o banco de dados de informações de espaço no arquivo para localizar os dados do arquivo.
  15. O aplicativo Gateway da web JEE lê os dados do arquivo a partir do armazenamento de espaços no arquivo, que está localizado em um sistema de arquivos que está acessível a partir do aplicativo Gateway da web JEE.
  16. O aplicativo Gateway da web JEE envia os dados do arquivo de volta para o navegador da web que o solicitou.
  17. O navegador da web grava os dados do arquivo no sistema de arquivos no sistema de destino.
Recursos JEE usados neste cenário:
A - Uma Fila do JMS chamada WMQFTEWebAgentRequestQueue com um nome da JNDI de jms/WMQFTEWebAgentRequestQueue
B - Connection Factory de Fila do JMS chamada WMQFTEWebAgentConnectionFactory com um nome da JNDI de jms/WMQFTEWebAgentConnectionFactory
C - Especificação de Ativação chamada WMQFTEActivationSpec com um nome da JNDI de jms/WMQFTEActivationSpec, que está configurado com os detalhes de conexão para o gerenciador de filas do agente da web
D - Origem de dados chamada wmqfte-filespace com um nome da JNDI de jdbc/wmqfte-filespace
E - Provedor JDBC referenciado pela origem de dados jdbc/wmqfte-filespace

Figura 4. Solicitando o Status das Transferências de Arquivos por meio do Gateway da web
Um diagrama mostrando um aplicativo Gateway da web hospedado por um servidor de aplicativos, que se comunica com um navegador da web. O servidor de aplicativos também se comunica com um banco de dados contendo
informações de histórico de transferência, usando recursos JEE chamados i e ii. Um agente MQMFT se comunica com um gerenciador de filas de coordenação por meio da rede IBM MQ e esse gerenciador de filas por sua vez se comunica com o criador de logs de banco de dados. O criador de log do banco de dados é conectado ao banco de dados que contém as informações do histórico de transferências
  1. Um aplicativo JavaScript em execução no navegador da web do usuário envia uma solicitação de HTTP RESTful para o aplicativo Gateway da web, solicitando informações sobre uma transferência
  2. O aplicativo Gateway da web consulta um banco de dados contendo informações sobre transferências de arquivos que ocorreram em uma rede de agentes do IBM MQ Managed File Transfer .
  3. O aplicativo Gateway da web retorna o resultado da consulta para o aplicativo JavaScript
Atividades que ocorrem durante as etapas anteriores:
i-Os agentes do IBM MQ Managed File Transfer produzem mensagens contendo informações sobre transferências de arquivos que estão ocorrendo.
ii - Os gerenciadores de filas roteiam estas mensagens para um gerenciador de filas designado que está executando a função de gerenciador de filas de coordenação.
iii - O gerenciador de filas de coordenação é conectado ao componente do criador de logs do banco de dados. O criador de logs do banco de dados recebe uma cópia de cada mensagem que se relaciona a uma transferência que está sendo executada por um agente.
iv - O criador de logs do banco de dados registra as informações sobre transferências em um banco de dados de histórico de transferência, para que ele possa ser consultado por outros aplicativos, incluindo o Gateway da web.
Recursos JEE usados neste cenário:
A - Origem de dados chamada wmqfte-filespace com um nome JNDI de jdbc/wmqfte-database
B - Provedor JDBC referido pela origem de dados wmqfte-database