quinta-feira, 14 de novembro de 2013

Conhecendo Nodes: MQInput

Oi Pessoal.

Como primeiro assunto do Blog, procurei abordar um node muito utilizado no dia-a-dia do desenvolvedor Broker, o MQInput.

Antes de começar vamos entender primeiramente o que é a comunicação WebSphere MQ (MQ):

Os produtos WebSphere providenciam comunicação entre programas através da interligação entre componentes heterogêneos, processadores, sistemas operativos, subsistemas e protocolos de comunicação. Trata-se de uma plataforma de integração e infraestrutura de aplicações da IBM. 

O WebSphere MQ permite ao utilizador trocar informação facilmente por diferentes plataformas, integrando aplicações novas com as já existentes. Assegura a entrega fiável de mensagens, incluindo documentos XML e mensagens SOAP. Opcionalmente pode trocar mensagens em grupo usando filas transacionais ou fazer segmentação de mensagens.

Para Saber mais sobre o produto consulte o site do fabricante, http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmq.html

Agora que sabemos um pouco mais do Mundo MQ vamos direto no que interessa, como usar esse famoso node.

Node






Conhecendo os Terminais


O Node MQInput possui 3 terminais:

Failure, Out e Catch.

Failure: Ao entrar uma mensagem pelo node de MQInput a mensagem tende a percorrer todo fluxo criado,  Se esta ação falhar, a mensagem é reenviada novamente. Se a contagem de devolução é ultrapassado (como definido pelo atributo *BackoutThreshold da fila de entrada), a mensagem sairá pelo node de falha (failure).

Você pode conectar os nós para este terminal para lidar com esta condição. Se você não tiver conectado o terminal de falha, a mensagem é escrita para a fila de devolução, conhecida como Backout.

*usa esse atributo para determinar quantas vezes para permitir que a mensagem seja desistiu antes de transferir a mensagem para a fila especificada pelo atributo BackoutRequeueQName.

Out: Esse terminal é o famoso "happyPath", caso a mensagem venha por esse terminal, significa que sua mensagem foi capturada com sucesso, e seguirá para o próximo node.

Catch: Se alguma exceção ter sido lançada mais adiante no fluxo de mensagem, a mensagem será encaminhada para o terminal Catch. Se você não tiver conectado o terminal em algum node, a mensagem circula continuamente através do nó até que o problema seja resolvido.

Principais Propriedades do Node


Description - Fica as descrições básicas do node como Nome e Descrição breve do node.

Basic - Queue Name (Onde fica declarado o nome da fila que o processo broker vai "escutar"), ou seja toda mensagem que cair nessa fila, será consumida pelo processo.

Input Message Parsing - Propriedades da mensagem de entrada:

Message Domain: São os domínios de mensagem que podem ser recebidas.
  • MRM
  • XMLNSC
  • DataObject
  • XMLNS
  • JMSMap
  • JMSStream
  • MIME
  • BLOB
  • XML (this domain is deprecated; use XMLNSC)
  • IDOC (this domain is deprecated; use MRM)

Message Model: MessageSet, falaremos isso em post posteriores.

Advanced - Transaction Mode, define se as mensagens são recebidas no ponto de sincronização:

Se você definir a propriedade como Automático, a mensagem é recebida no ponto de sincronismo , se a mensagem recebida é marcado como persistente , caso contrário, não é recebido no ponto de sincronização. Qualquer mensagem que é enviada mais tarde por um nó de saída é colocado sob ponto de sincronização , conforme determinado pela propriedade persistência de entrada, a menos que o nó de saída tem substituído essa propriedade explicitamente .

Se você definir a propriedade como Sim (padrão), a mensagem é recebida sob ponto de sincronização , ou seja, dentro de uma unidade WebSphere MQ de trabalho.

Quando você inclui um nó MQInput em um fluxo de mensagens , o valor que você definir para o modo de transação define se as mensagens são recebidas no ponto de sincronização:

Se você definir a propriedade como Automático, a mensagem é recebida no ponto de sincronismo ,caso a mensagem recebida estiver marcada como persistente , caso contrário, não é recebido no ponto de sincronização. Qualquer mensagem que é enviada mais tarde por um nó de saída é colocado sob ponto de sincronização , conforme determinado pela propriedade persistência de entrada, a menos que o nó de saída tem substituído essa propriedade explicitamente .

Se você definir a propriedade como Sim (padrão), a mensagem é recebida sob ponto de sincronização , ou seja, dentro de uma unidade WebSphere MQ de trabalho. Todas as mensagens que são enviadas depois por um nó de saída na mesma instância do fluxo de mensagens são colocadas sob ponto de sincronização , a menos que o nó de saída tem substituído isso explicitamente .

Se você definir a propriedade como Não, a mensagem não é recebida no ponto de sincronização. Todas as mensagens que são enviadas depois por um nó de saída no fluxo de mensagens não são colocados sob ponto de sincronização , a menos que um nó de saída individual especificou que a mensagem deve ser colocado no ponto de sincronização.

Essas são as propriedades principais desse node, com esses ajustes já é possível receber uma mensagem MQ :)

Espero que tenham gostado. nos vemos no próximo post.





2 comentários: