WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Planejando Nós de Processamento de Mensagem Definidos pelo Usuário

Planejar como gravar seu nó de processamento de mensagens ou nó de saída, e como navegar pela mensagem no nó.

Fatores de Design

Antes de desenvolver e implementar seu nó de processamento de mensagem, considere os seguintes pontos:

Navegação de Elementos de Sintaxe

O broker fornece funções que o seu nó pode chamar para atravessar a representação em árvore da mensagem, bem como as funções e os métodos que suportam navegação a partir do elemento atual para outros elementos:
  • Pai
  • Primeiro filho
  • Último filho
  • Irmão anterior (ou esquerdo)
  • Próximo irmão (ou direito)
Esses relacionamentos são mostrados no seguinte diagrama.
O Diagrama Mostra um Elemento de Sintaxe que Está Conectado aos Elementos Pai, Filho e Irmão.

Outras funções e métodos suportam a manipulação dos próprios elementos, com funções e métodos para criar elementos, para configurar ou consultar seus valores, para inserir novos elementos na árvore e para remover elementos da árvore. Consulte Funções de Utilitários de Nó C e Funções de Utilitários do Analisador C, ou as informações do Javadoc para obter detalhes.

O diagrama a seguir descreve uma árvore de elementos de sintaxe simples mostrando um gama completa de interconexões entre os elementos.
O Diagrama Mostra uma Árvore do Elemento de Sintaxe com Elementos Raiz e Filho.

O elemento A é o elemento-raiz da árvore. Ele não tem pai porque é o raiz. Ele tem um primeiro filho no elemento B. Como A não tem outros filhos, o elemento B também é o último filho de A.

O elemento B possui três filhos: os elementos C, D e E. O elemento C é o primeiro filho de B; o elemento E é o último filho de B.

O elemento C tem dois irmãos: elementos D e E. O próximo irmão do elemento C é o elemento D. O próximo irmão do elemento D é o elemento E. O irmão anterior do elemento E é o elemento D. O irmão anterior do elemento D é o elemento C.

O diagrama a seguir mostra a primeira geração de elementos de sintaxe de uma típica mensagem do WebSphere MQ recebida por um broker. (Nem todas as mensagens têm um cabeçalho MQRFH2).
O Diagrama Mostra um Elemento Raiz com Elementos Filhos WebSphere MQ Típicos.

Esses elementos na primeira geração são muitas vezes chamados pastas, nas quais os elementos de sintaxe que representam cabeçalhos de mensagem e dados de conteúdo de mensagem são armazenados. Neste exemplo, o primeiro filho de root é a pasta Properties. O próximo irmão de Propriedades é a pasta para o cabeçalho MQMD. O próximo irmão é a pasta para o cabeçalho MQRFH2. A última pasta representa o conteúdo da mensagem, a qual (neste exemplo) é uma mensagem XML.

A figura anterior inclui um cabeçalho MQMD e um MQRFH2. Todas as mensagens que são recebidas por um nó de processamento que manipula o WebSphere MQ incluem um cabeçalho MQMD; vários outros cabeçalhos também podem ser incluídos.

Navegando uma Mensagem XML

Considere a seguinte mensagem XML:
  <Business>
    <Product type='messaging'></Product>
    <Company>
      <Title>IBM</Title>
      <Location>Hursley</Location>
      <Department>WebSphere MQ</Department>
    </Company>
  </Business>
Neste exemplo, os elementos são dos seguintes tipos:
Elemento de nome
Business, Product, Company, Title, Location, Department
Elemento de valor
IBM®, Hursley, WebSphere MQ
Elemento de nome/valor
type='messaging'

Utilize as funções e os métodos de utilitários do nó fornecidos (ou as funções de utilitário similares do analisador) para navegar por uma mensagem. Utilizando a mensagem XML mostrada, você precisa chamar cniRootElement primeiro, com a mensagem recebida pelo nó como entrada para essa função. Em Java™, você precisa chamar getRootElement no objeto MbMessage de entrada. Essa chamada retorna um MbElement que representa a raiz do elemento. Não modifique esse elemento-raiz no nó definido pelo usuário.

A figura da primeira geração dos elementos da sintaxe de uma mensagem típica que é recebida pelo broker mostra que o último filho do elemento-raiz é a pasta que contém a árvore de análise XML. Navegue até essa pasta chamando cniLastChild (com a saída da chamada anterior como entrada para essa função) em um nó C, ou chamando o método getLastChild no elemento-raiz em um nó Java.

Apenas um elemento (<Business>) está no nível superior da mensagem, portanto chamar cniFirstChild (em C) ou getFirstChild (em Java) moverá para este ponto na árvore. Utilize cniElementType ou getType para obter seu tipo (que é name), seguido por cniElementName ou getName para retornar o próprio nome (Business).

O elemento <Business> tem dois filhos, <Product> e <Company>. Utilize cniFirstChild ou getFirstChild seguido de cniNextSibling ou getNextSibling para navegar para cada filho sucessivamente.

O elemento <Product> tem um atributo (type='messaging'), que é um elemento filho. Utilize cniFirstChild ou getFirstChild para navegar até este elemento, e cniElementType ou getType para retornar seu tipo (que é name-value). Utilize cniElementName ou getName para obter o nome. Para obter o valor, chame cniElementValueType para retornar o tipo, seguido pela função apropriada no grupo cniElementValue, que neste exemplo é cniElementCharacterValue. Em Java, utilize o método getValue, o qual retorna um objeto Java que representa o valor do elemento.

O elemento <Company> tem três filhos, sendo que cada um tem um filho que é um elemento de valor (IBM, Hursley e WebSphere MQ). Utilize as funções já descritas para navegar até os elementos e acessar seus valores.

Outras funções estão disponíveis para copiar a árvore de elementos (ou parte dela). A cópia pode então ser modificada incluindo ou removendo elementos e alterando seus nomes e valores, para criar uma mensagem de saída. Consulte Funções de Utilitários de Nó C e Funções de Utilitários do Analisador C, ou a API Java do nó definido pelo usuário, para obter informações adicionais.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:19


Tópico de ConceitoTópico de Conceito | Versão 8.0.0.5 | as01395_