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...








 
© 2003 - MundoJava - Todos os direitos reservados <design: www.id-art.com.br >