Iniciando com JMS no WebLogic
Bom amigos, neste artigo aprenderemos a trabalhar com filas JMS no Oracle WebLogic 10.
O que é JMS?
O JMS ou Java Message Service, foi criado para permitir que aplicativos escritos na linguagem Java pudessem criar, receber e enviar mensagens destinadas ou oriundas de outros aplicativos. A principal característica deste tipo de processamento, classificado computacionalemnte como fracamente acoplado, é que todas as operações que envolvem a troca de mensagens são feitas de forma assíncrona, fazendo com que as aplicações participantes do processo não precisem ficar bloqueadas esperando o término de processamento.
O sistema de troca de mensagens permite que aplicativos possam se comunicar com outros através da troca de mensagens. O JMS é a API padrão para acessar sistemas de mensageria.
Componentes de uma aplicação JMS
- JMS provider: é um sistema de mensagens que implementa uma especificação JMS.
- Clientes JMS: são as aplicações Java que enviam e recebem as mensagens.
- Mensagens: são os objetos que serão enviados para as aplicações clientes.
A figura abaixo exibe uma visão geral do serviço de mensageria do WebLogic. (Clique na imagem para impliá-la)

Podemos perceber que WebLogic aceita mensagens da aplicação “producer” e entrega para a aplicação “consumer”.
O WebLogic é aderente com as especificações Java Platform, Enterprise Edition (Java EE) Version 5.0 e JMS 1.1 Specification.
Arquitetura JMS do WebLogic

A1 e B2 são as fábricas de conexão e B2 é a fila. Uma vez que o cliente criou a conexão com o JMS provider mensagens podem ser produzidas e consumidas.
Modelos para Distribuição de Mensagens
Point-to-point

Este modelo é similar ao envio de uma correspondência pelo serviço postal. A mensagem é enviada para uma fila pela aplicação produtora e então é distribuída para uma aplicação consumidora que está registrada para aquela fila específica. A fila retém todas as mensagens recebidas até que elas sejam consumidas, ou até que a mensagem expire.
Publish-and-Subscribe

Este modelo é similar ao sistema de assistir a um canal de TV por assinatura. A mensagem é produzida pela aplicação produtora, distribuída para determinado tópico (seria o canal da TV por assinatura) e todas as aplicações consumidoras que são assinantes do tópico podem receber a mensagem. Aplicações diferentes podem produzir mensagens para um mesmo tópico e, se não houver assinantes para o tópico, as mensagens, por valor default, não ficam armazenadas.

