JMS - Java Message Service

Publicado por Marcos Dell Antonio em 16/11/2006 | Tecnologia

Hoje passei a tarde estudando JMS para elaborar um trabalho que será apresentado amanhã na disciplina de Sistemas Distribuídos.

JMS é uma das especificações criadas pela Sun e outras empresas que fazem parte da JCP. Seu propósito é padronizar o envio e recebimento de mensagens entre aplicações. Duas características destacam-se nesta especificação:

  • Todas as operações podem ser feitas de forma assíncrona, ou seja, as aplicações participantes não precisam ficar bloqueadas esperando por algum resultado (estilo RPC ou RMI);
  • Apresenta baixo acoplamento, pois as aplicações são independentes de interfaces.

Passei algumas horas tentando entender exatamente como isso funciona. Procurei algumas implementações desta especificação e a mais simples que encontrei (e testei) foi a OpenJMS, disponível em http://openjms.sourceforge.net.

O funcionamento da OpenJMS (definido pela especificação JSR 914) ocorre de duas maneiras:

  • Utilizando Fila (modelo Point-to-Point): as mensagens enviadas são armazenadas em uma fila e somente um consumidor registrado receberá determinada mensagem. Esta fila mantém todas as mensagens recebidas até que sejam consumidas ou até que expirem;
  • Utilizando Tópico (Publish-and-Subscribe): as mensagens são produzidas por alguém e armazenadas em um lugar denominado tópico. Todos os consumidores registrados neste tópico recebem a mensagem que foi enviada. Caso o tópico não tenha nenhum consumidor registrado, então as mensagens são descartadas.

Existem alguns exemplos disponíveis junto com o download da biblioteca. Todos eles são bem simples e demonstram as duas maneiras de funcionamento descritas acima.

É isso ai! Até +. :P

Deixe o seu comentário

Anúncios

Anúncio provido pelo BuscaPé