Estendendo a Amostra Resposta de Pedido Coordenado

Quando os valores ReplyToQ e ReplyToQmgr da mensagem de pedido original são salvos em uma mensagem do WebSphere MQ para recuperação posterior, isso é feito salvando-se tudo do MQMD da mensagem do pedido, em vez de apenas os detalhes de ReplyToQ e ReplyToQMgr. Isso é feito porque existe uma necessidade de armazenar e recuperar três valores, ReplyToQ, ReplyToQmgr e CorrelID da mensagem de pedido, e o nó MQGet permite apenas que um valor único seja armazenado ou recuperado. Dado esse comportamento do nó MQGet, a estrutura que contém os valores que são necessários deve ser salva ao invés dos valores individuais. Ao fazer alterações na amostra para armazenar valores diferentes, você precisa lembrar desse comportamento do nó MQGet.

A amostra Resposta de Pedido Coordenado é projetada de tal forma que implementações diferentes dos subfluxos utilizados nos fluxos Request e Reply podem ser utilizadas em vez daquelas fornecidas na amostra.  Uma implementação diferente poderá utilizar um banco de dados para armazenamento de ReplyToQ e ReplyToQmgr da mensagem de pedido inicial por exemplo. Embora isso não seria sugerido como uma forma de aprimorar o desempenho. Alternativamente, os subfluxos utilizados para armazenar e recuperar ReplyToQ, ReplyToQmgr e CorrelID da mensagem de pedido em uma mensagem do WebSphere MQ poderão ser utilizados em outros fluxos de mensagens.

Reutilizando o Subfluxo StoreOriginalMQMD_Sub

O subfluxo StoreOriginalMQMD_Sub pode ser facilmente utilizado em outros fluxos de mensagens para executar a mesma função de salvar o MQMD da mensagem de pedido em uma mensagem do WebSphere MQ.  Para fazer isso, inclua o subfluxo no ponto adequado no fluxo de mensagens no qual ele deve ser utilizado.  É possível incluir o subfluxo sem modificação, mas isso resultará em problemas potenciais:

Embora os parâmetros-chave que podem precisar de alterações foram identificados acima, é sugerido que você revise todas as definições de parâmetros nos nós dentro do subfluxo para assegurar-se de que estejam compatíveis com seus requisitos.

Utilizando uma Implementação Alternativa do Subfluxo StoreOriginalMQMD_Sub

Existe uma série de maneiras nas quais você pode modificar o subfluxo para utilizar um recurso de armazenamento alternativo para os dados.  Uma alternativa poderá ser utilizar um banco de dados, por exemplo.  Em vez de gravar uma mensagem do WebSphere MQ, o subfluxo precisará inserir dados em um banco de dados.

Você deve estar ciente de que a alteração do recurso de armazenamento alterará as características de desempenho do subfluxo. É importante assegurar-se de que as características da implementação escolhida sejam consistentes com os requisitos de desempenho para o fluxo de mensagens.  O uso de um banco de dados para manter as informações provavelmente fará com que o fluxo de mensagens seja ligado por E/S no processamento, pois cada inserção no banco de dados precisará de uma gravação no registro do gerenciador do banco de dados.

O uso de um recurso de armazenamento alternativo também pode alterar as propriedades transacionais do subfluxo.  Quando os dados são armazenados utilizando uma mensagem do WebSphere MQ, é utilizado o mesmo gerenciador de recursos das mensagens do WebSphere MQ que são lidas em outro lugar no fluxo de mensagens.  Se houver apenas o processamento das mensagens do WebSphere MQ no fluxo de mensagens, apenas um único gerenciador de recursos estará envolvido.  O uso de um banco de dados ou de outro gerenciador de recursos recuperável precisará do uso de um protocolo de recuperação de consolidação de duas fases entre o gerenciador de filas do Message Broker e o gerenciador de recursos do banco de dados no qual os dados são armazenados para assegurar a sua integridade.

Ao fazer alterações, é sugerido que você revise todas as definições de parâmetros nos nós dentro do subfluxo para assegurar-se de que elas estejam compatíveis com seus requisitos.

Reutilizando o Subfluxo RestoreOriginalMQMD_Sub

O subfluxo RestoreOriginalMQMD_Sub pode ser facilmente utilizado em outros fluxos de mensagens para executar a mesma função de recuperar o MQMD da mensagem de pedido inicial de uma mensagem do WebSphere MQ.   Para fazer isso, inclua o subfluxo no ponto adequado no fluxo de mensagens no qual ele deve ser utilizado.   É possível incluir o subfluxo sem modificação, mas isso resultará em problemas potenciais:

Embora os parâmetros-chave que podem precisar de alterações foram identificados acima, é sugerido que você revise todas as definições de parâmetros nos nós dentro do subfluxo para assegurar-se de que estejam compatíveis com seus requisitos.

Utilizando uma Implementação Alternativa do Subfluxo RestoreOriginalMQMD_Sub

Existe uma série de maneiras nas quais você pode modificar o subfluxo para utilizar um recurso de armazenamento alternativo para os dados.  Uma alternativa poderá ser utilizar um banco de dados, por exemplo.  Em vez de utilizar o nó MQGet para ler uma mensagem do WebSphere MQ, o subfluxo poderá ler dados de um banco de dados.

Você deve estar ciente de que a alteração do recurso de armazenamento alterará as características de desempenho do subfluxo. É importante assegurar-se de queas características da implementação escolhida sejam consistentes com os requisitos de desempenho para o fluxo de mensagens.  O uso de um banco de dados para manter as informações poderá incluir códigos extras dependendo da implementação.  Se  os dados forem recuperados utilizando uma leitura e não forem atualizados ou excluídos, o código extra estará em sua implementação mais inferior para um banco de dados. No entanto, se os dados não forem excluídos do banco de dados, o banco de dados continuará a aumentar de tamanho e se tornará progressivamente mais lento para uso, a menos que alguma manutenção seja feita no local.  Se o processo de recuperação envolver a atualização de uma linha, para indicar que os dados foram recuperados, ou a exclusão de uma linha, isso indicará uma gravação no registro do gerenciador de banco de dados, resultando em um código extra significativamente maior do que para o caso de leitura.

O uso de um recurso de armazenamento alternativo também pode alterar as propriedades transacionais do subfluxo.  Quando os dados são armazenados utilizando uma mensagem do WebSphere MQ, é utilizado o mesmo gerenciador de recursos das mensagens do WebSphere MQ que são lidas em outro lugar no fluxo de mensagens.  Se houver apenas o processamento das mensagens do WebSphere MQ no fluxo de mensagens, apenas um único gerenciador de recursos estará envolvido.  O uso de um banco de dados ou de outro gerenciador de recursos recuperável precisará do uso de um protocolo de recuperação de consolidação de duas fases entre o gerenciador de filas do Message Broker e o gerenciador de recursos do banco de dados, no qual os dados são armazenados para assegurar a sua integridade.

Ao fazer alterações, é sugerido que você revise todas as definições de parâmetros nos nós dentro do subfluxo para assegurar-se de queelas estejam compatíveis com seus requisitos.

Ícone Página Principal   Voltar para Home da Amostra