JMS - Java Message Service
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é +.




Deixe o seu comentário