O WebSphere Message Broker inclui um grande número de nós de processamento de mensagens que podem ser utilizados em seus fluxos de mensagens.
Leia o tópico de conceitos sobre os nós do fluxo de mensagens.
WebSphere Message Broker também fornece uma interface que pode ser utilizada para definir seus próprios nós, conhecidos como nós definidos pelo usuário.
Sua decisão sobre quais nós utilizar depende do processamento que você deseja executar nas mensagens.
A utilização de fluxos de mensagens que contêm nós MQeInput no WebSphere Message Broker Versão 6.0 é obsoleta. Projete novamente seus fluxos de mensagens para remover os nós MQe e substitui-los por nós MQ configurados para suas próprias especificações e coordenados com sua configuração de Gateway MQe. Para saber detalhes adicionais, consulte a seção Migrando um Fluxo de Mensagens que Contém Nós do WebSphere MQ Everyplace.
O nó Real-timeInput é um nó de entrada e o nó Real-timeOptimizedFlow é um fluxo de mensagens completo que fornece um fluxo de mensagens de Publicação/Assinatura de alto desempenho.
Uma instância do nó Entrada representa um terminal In. Por exemplo, se você tiver incluído uma instância do nó Entrada, o ícone do subfluxo mostrará um terminal In, que pode ser conectado a outros nós no fluxo principal da mesma maneira que qualquer outro nó é conectado.
Para implementar um fluxo de mensagens, é necessário pelo menos um nó de entrada. Se seu fluxo de mensagens não contiver um nó input, não será possível incluí-lo ao arquivo arquivado do intermediário. O nó input pode estar no fluxo principal, ou em um fluxo de mensagens que esteja incorporado no fluxo principal.
É possível utilizar mais de um nó input em um fluxo de mensagens. Para obter mais informações, consulte Utilizando Mais de Um Nó Input.
A utilização de fluxos de mensagens que contêm nós MQeOutput no WebSphere Message Broker Versão 6.0 é obsoleta. Projete novamente seus fluxos de mensagens para remover os nós MQe e substitui-los por nós MQ configurados para suas próprias especificações e coordenados com sua configuração de Gateway MQe. Para saber detalhes adicionais, consulte a seção Migrando um Fluxo de Mensagens que Contém Nós do WebSphere MQ Everyplace.
Uma instância do nó Saída representa um terminal Out. Por exemplo, se você tiver incluído duas instâncias do nó Saída, o ícone do subfluxo mostrará dois terminais Out, que podem ser conectados a outros nós no fluxo principal da mesma maneira que qualquer outro nó é conectado.
A maioria das empresas possuem aplicativos que podem ter sido desenvolvidos muitos anos atrás, em sistemas diferentes, utilizando linguagens de programação diferentes e métodos de comunicação diferentes. O WebSphere Message Broker remove a necessidade de os aplicativos entenderem essas diferenças, fornecendo a capacidade para configurar fluxos de mensagens que transformam as mensagens de um formato para outro.
Por exemplo, nomes próprios são mantidos em vários formatos em aplicativos diferentes. Nome primeiro ou por último, com ou sem iniciais dos nomes do meio, com letras maiúsculas ou minúsculas: essas são apenas algumas das permutações. Como você pode configurar seu fluxo de mensagens para conhecer os requisitos de cada aplicativo, cada mensagem pode ser transformada no formato correto sem modificar o aplicativo de envio ou de recebimento.
Você pode trabalhar com o conteúdo da mensagem para atualizá-la de várias formas. Suas opções aqui poderão depender de o fluxo de mensagens precisar identificar mensagens predefinidas (modeladas) ou mensagens de autodefinição (por exemplo, XML), ou ambas.
Um fluxo de mensagens pode reconstruir uma mensagem completamente, convertê-la de um formato em outro (se formato significar a ordem de campos, ordem de bytes, linguagem, etc), remover conteúdo da mensagem ou introduzir dados específicos nela. Por exemplo, um nó pode interagir com um banco de dados para recuperar informações adicionais ou para armazenar uma cópia da mensagem (inteira ou parcial) no banco de dados para processamento off-line.
Também é possível criar fluxos de mensagens que utilizam esses nós para interagir uns com os outros. Apesar da operação padrão de um fluxo de mensagem não influenciar a operação de outros fluxo de mensagens, é possível forçar essa ação configurando seus fluxos de mensagens para armazenar e recuperar informações em uma fonte externa, como um banco de dados.
Utilize o editor ESQL para criar um módulo ESQL, específico desse nó, que contenha as instruções que definem as ações a executar na mensagem ou no banco de dados. Não utilize o código ESQL desenvolvido para utilização em um nó Compute em nenhum outro tipo de nó.
Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada na propriedade do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Se seus requisitos de manipulação de mensagem forem complexos, desempenhe-os em um nó Compute. Em menor número, os nós Compute mais complexos têm melhor desempenho do que um número maior de nós mais simples, porque o intermediário analisa a mensagem na entrada em cada nó Compute.
Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada na propriedade do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Utilize o editor de Mapeamento para desenvolver mapeamentos para executar manipulações simples em mensagens predefinidas. Não utilize os mapeamentos desenvolvidos para utilização em um nó Mapeamento em nenhum outro tipo de nó.
Com um nó Extract, é possível criar uma nova mensagem de saída a partir de elementos especificados da mensagem de entrada. Você pode extrair partes da mensagem e, opcionalmente, alterar seu conteúdo, para criar uma nova mensagem de saída que é uma cópia parcial da mensagem recebida pelo nó. O nó Extract manipula apenas mensagens predefinidas.
Utilize o editor de Mapeamento para desenvolver mapeamentos para executarem manipulações simples em mensagens predefinidas no nó Extract. Não utilize os mapeamentos desenvolvidos para utilização em um nó Extract em nenhum outro tipo de nó.
Esse nó fornece uma interface muito flexível com um amplo intervalo de funções. Ele também possui propriedades que podem ser utilizadas para controlar a forma com que a interação participa de transações.
Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada nas propriedades do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Você só pode atualizar bancos de dados desse nó; não é possível atualizar conteúdo de mensagem. Se desejar atualizar o conteúdo da mensagem, utilize o nó Compute ou Mapeamento.
Os nós DataDelete, DataInsert e DataUpdate manipulam apenas mensagens predefinidas. Utilize um editor de mapeamento para desenvolver mapeamentos para executar estas funções. Não utilize os mapeamentos desenvolvidos para esses nós em nenhum outro tipo de nó. Você pode utilizar estes nós para controlar as características transacionais das atualizações que eles desempenham.
Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada na propriedade do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Você só pode atualizar bancos de dados desses nós; não é possível atualizar conteúdo de mensagem. Se desejar atualizar o conteúdo da mensagem, utilize o nó Compute ou Mapeamento.
Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada na propriedade do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Você pode atualizar apenas um banco de dados desse nó; não é possível atualizar conteúdo de mensagem. Se desejar atualizar o conteúdo da mensagem, utilize o nó Compute ou Mapeamento.
O mecanismo de transformação Xalan-Java (Processador Xalan-java XSLT) é utilizado como o mecanismo de transformação subjacente. Para obter informações adicionais sobre Transformações XML, a especificação W3C da sintaxe e semântica da linguagem de Transformações XSL para transformar documentos XML em outros documentos XML, consulte Transformações W3C XSL.
Você pode implementar folhas de estilo e arquivos XML em grupos de execução do intermediário para ajudar na manutenção de folhas de estilo e arquivos XML.
O nó JMSMQTransform pode ser utilizado para enviar mensagens para os fluxos de mensagens existentes e para interoperar com o JMS do WebSphere MQ e WebSphere MQ Publicação/Assinatura.
Você pode utilizar o nó do MQJMSTransform para enviar mensagens para os fluxos de mensagens existentes e para interoperar com o JMS do WebSphere MQ e WebSphere MQ Publicação/Assinatura.
Utilize o nó MQOptimizedFlow para substituir um fluxo de mensagens de Publicação/Assinatura que consiste em um nó MQInput conectado a um nó Publicação e que utiliza o transporte JMS sobre WebSphere MQ. O nó MQOptimizedFlow não pode ser utilizado em sistemas z/OS.
Utilize o nó MQOptimizedFlow para aprimorar o desempenho, principalmente onde um único publicador produz uma publicação persistente para um único assinante.
Por exemplo, caso o nó acesse um banco de dados, inclua um nó definido pelo usuário para interagir com o banco de dados. Você pode controlar a maneira como o banco de dados é acessado por esse nó, especificando informações de usuário e senha para a origem de dados especificada na propriedade do nó. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Nó | Atualizar Banco de Dados? | Atualizar Mensagem? | Atualizar Ambiente Local? | Conjunto de Mensagens Requerido? |
---|---|---|---|---|
Compute | Sim | Sim | Sim | Não |
Banco de Dados | Sim | Não | Sim | Não |
DataDelete | Sim | Não | Sim | Sim |
DataInsert | Sim | Não | Sim | Sim |
DataUpdate | Sim | Não | Sim | Sim |
Extract | Sim | Sim | Sim | Sim |
Mapeamento | Sim | Sim | Sim | Sim |
Warehouse | Sim | Não | Sim | Sim |
É possível utilizar nós que determinam a ordem e o fluxo de controle no fluxo de mensagens de várias maneiras para tomar decisões sobre como as mensagens são processadas pelo fluxo. Você também pode utilizar nós (TimeoutControl e TimeoutNotification) que determinam o tempo e a freqüência de ocorrência de eventos no fluxo de mensagens. O roteamento é independente da transformação da mensagem, embora a rota tomada por uma mensagem possa determinar exatamente qual transformação será executada nela.
Por exemplo, um aplicativo de transferência de dinheiro sempre envia mensagens para um outro aplicativo. Você pode decidir que todas as mensagens com valor de transferência com mais de $ 10.000 também devem ser enviadas para um segundo aplicativo, para permitir que todas as transações com valores altos sejam registradas.
Em outro exemplo, um clube de automobilismo nacional oferece um serviço principal para membros específicos para pedidos acima de um valor limite. A maioria dos pedidos é roteada através dos canais típicos mas, se o número da associação e o valor do pedido atenderem determinados critérios, o pedido terá tratamento especial.
Você também pode estabelecer uma opção de roteamento mais dinâmica criando informações de roteamento adicionais na mensagem quando ela é processada. Conjuntos opcionais de regras são configurados para receber mensagens de acordo com valores (destinos) definidos na mensagem. Você pode estabelecer estas regras para que uma mensagem seja processada por um ou mais dos conjuntos opcionais de regra, em um pedido determinado pelo conteúdo da mensagem incluído.
Utilize os nós a seguir para tomar decisões sobre a rota que uma mensagem seguirá através do fluxo de mensagens:
O nó Validate substitui o nó Verificar, que está reprovado no WebSphere Message Broker Versão 6.0. O nó Validate funciona da mesma maneira que o nó Verificar, mas possui propriedades de Validação adicionais para permitir a validação do conteúdo da mensagem por analisadores que suportam esse recurso.
Os terminais do nó são True, False, Unknown e Failure; a mensagem será propagada para o terminal True se o teste for bem-sucedido e para o terminal False se falhar. Se a instrução não puder ser resolvida (por exemplo, ela testa o valor de um campo que não está na mensagem de entrada), a mensagem será propagada para o terminal Unknown. Se algum outro erro for detectado, a mensagem será propagada para o terminal Failure.
O teste na instrução ESQL pode depender do conteúdo da mensagem, do conteúdo do banco de dados ou de uma combinação dos dois.
If you refer to a database, you can control the way in which it is accessed by this node by specifying user and password information for each data source defined in the registry on the broker system. Utilize o comando mqsisetdbparms para inicializar e manter esses valores.
Utilize este nó em preferência ao nó Compute para fornecer seleção e roteamento de mensagens; o nó Filter é mais eficiente para esta tarefa.
Mais de um nó TimeoutControl pode ser associado a cada nó TimeoutNotification.
Utilize os nós AggregateControl, AggregateReply e AggregateRequest para intercalar pedidos e respostas relacionados. Utilize esses nós para gerar diversos pedidos em resposta a uma mensagem de entrada, controlar e coordenar as respostas recebidas em resposta a esses pedidos e combinar as informações fornecidas pelas respostas para continuar o processamento.
Utilize os seguintes nós para afetar manipulação e relatório de erros: