Estilos de Sistemas de Mensagens em Aplicativos
Os aplicativos podem utilizar sistemas de mensagens de ponto-a-ponto e de publicação/assinatura. Esses estilos de sistemas de mensagens podem ser usados nas seguintes formas: unidirecional; pedido e resposta; unidirecional e encaminhamento.
- Ponto a ponto
- Geralmente, os aplicativos ponto a ponto usam filas para passar mensagens entre eles. Um aplicativo envia uma mensagem para um outro aplicativo identificando, implícita ou explicitamente, uma fila de destino. O sistema de mensagens e o sistema de enfileiramento subjacentes recebem a mensagem do aplicativo emissor e roteiam a mensagem para sua fila de destino. O aplicativo receptor pode, então, recuperar a mensagem na fila.
- Publicação/assinatura
- No sistema de mensagens de publicação/assinatura, existem dois tipos de aplicativo:
publicador e assinante.
Um publicador fornece informações em forma de mensagens. Quando um publicador publica uma mensagem, ele especifica um tópico, que identifica o assunto das informações dentro da mensagem.
Um assinante é um consumidor das informações publicadas. Um assinante especifica os tópicos de seu interesse, enviando pedidos de assinatura para um broker de publicação/assinatura. O broker recebe mensagens publicadas de publicadores e pedidos de assinatura de assinantes, e roteia as mensagens publicadas para assinantes. Um assinante recebe mensagens apenas sobre os tópicos que ele assinou.
- Unidirecional
- Um aplicativo envia uma mensagem e não quer uma resposta. Uma mensagem como esta pode ser referida como um datagrama.
- Unidirecional e encaminhar
- Um aplicativo envia um pedido a outro aplicativo, o qual envia uma mensagem para outro aplicativo.
- Pedido e Resposta
- Um aplicativo envia um pedido a outro aplicativo e
espera receber uma resposta em retorno.
Um padrão do sistema de mensagens JMS típico envolve um aplicativo solicitante que envia uma mensagem para uma fila JMS para processamento por um serviço do sistema de mensagens (por exemplo, um bean acionado por mensagens). Quando o aplicativo de pedido envia uma mensagem de pedido, a mensagem identifica outra fila JMS à qual o serviço deve enviar uma mensagem de resposta. Depois de enviar a mensagem de pedido, o aplicativo solicitante espera a chegada da mensagem de resposta, ou reconecta-se posteriormente para recuperar a mensagem de resposta.
Essas técnicas de sistema de mensagens podem ser combinadas para produzir uma variedade de cenários de sistemas de mensagens assíncronas.
Para obter mais informações sobre essas técnicas de sistema de mensagens e o JMS (Java™ Message Service), consulte a documentação da especificação JMS (Java Message Service) da Sun (http://developer.java.sun.com/developer/technicalArticles/Networking/messaging/).
Para obter mais informações sobre bean acionado por mensagens e suporte ao sistema de mensagens de entrada, consulte Especificação Enterprise JavaBeans da Sun (http://java.sun.com/products/ejb/docs.html).
Para obter informações sobre o processo do sistema de mensagens de entrada do JCA, consulte Especificação do J2EE Connector Architecture da Sun (http://java.sun.com/j2ee/connector/download.html).