|
Introdução
Acrônimo de Java Message Service, JMS trata-se de uma
especificação que veio agregar à versão 1.3 do J2EE a capacidade de
comunicar-se por meio do envio e recebimento de mensagens. Diferente do
e-mail convencional, a JMS atua de forma a permitir a comunicação entre
sistemas (aplicações ou módulos) sem a necessidade de conhecer as
interfaces. Basta que tenham um destinatário (local para onde enviar as
mensagens e de onde serão consultadas) em comum e que compartilhem uma
mesma mensagem. Nosso objetivo neste artigo é mostrar ao leitor a porta
de entrada para o mundo JMS. Mas, como disse Morpheus em Matrix,
"caberá a você atravessá-la".
A forma usada para apresentar a JMS API será muito simples. Vamos ver
quais são os componentes da arquitetura JMS e conhecer cada um deles. A
cada novo elemento vamos visualizar o trecho de código correspondente
para a utilização. Ao final, desenvolveremos uma aplicação
cliente/servidor desktop simples, que servirá de base para você
continuar seus estudos. Apesar de a JMS suportar uma integração total
com aplicações J2EE por meio do Message-Driven Bean, o objetivo desse
artigo é mostrar a base da tecnologia de forma simples e clara. Com os
conceitos iniciais em mente, você poderá facilmente criar aplicações
mais robustas.
Desvendando a JMS
Quando liberada em 1998, a JMS API tinha como objetivo
maior interligar aplicações Java com outros MOM já existentes no
mercado, como o MQSeries da IBM. Desde então, diversos vendedores
perceberam a potencialidade dessa tecnologia e passaram a implementar a
especificação da JMS em seus produtos. Atualmente a última versão da
especificação é a 1.0.2b, de agosto de 2001. A especificação pode ser
baixada no site http://java.sun.com/products/jms/.
Começaremos o estudo da JMS API pelo conceito de
mensagem. Mensagem é o método de comunicação entre componentes de um
sistema ou aplicações. Um cliente JMS pode enviar e receber mensagens de
outros clientes JMS por um agente que atua como intermediador. Cabe a
ressalva de que JMS não é e-mail. Enquanto o JMS atua na comunicação
entre os sistemas (ou seus componentes), o e-mail está voltado para a
comunicação interpessoal ou entre sistema-pessoa. Para se trabalhar com
e-mail ainda continuamos com a JavaMail API.
Outro ponto positivo na utilização da JMS API é a
forma de comunicação entre os clientes. Podendo ser tanto síncrona
(ambos os lados presentes) como assíncrona (apenas o produtor da mensagem
ativo).
Podemos destacar o uso da JMS quando:
• Um componente não pode depender da interface de
outro componente, podendo ser facilmente substituído.
• A aplicação deve rodar mesmo que nem todos os
seus módulos estejam disponíveis.
• Sua regra de negócio permite que você envie uma
mensagem e não precise esperar uma resposta imediata.
• EAI
Podemos dividir a arquitetura JMS (figura 1) nas
quatro partes seguintes:
• JMS Provider. Sistema que implementa as
interfaces JMS e provê controle sobre algumas funções. Ele é o elo
de ligação entre os clientes. Aqui temos ferramentas livres e outras
pagas (Veja o quadro 1).

• Objetos administrativos. São objetos
pré-configurados criados pelas ferramentas administrativas para uso dos
clientes JMS. São de dois tipos: Connection Factory e Destination.
• Mensagens. São os objetos trocados entre
os clientes (produtor-consumidor). Podem ser de diferentes tipos (Veja o
quadro 2).
• Clientes JMS. São os componentes ou sistemas que produzem
ou consomem as mensagens.
Continuação do artigo...
|