JMS Client

segunda-feira, fevereiro 14, 2005

Descrevendo com mais detalhes os objetos visuais do JMS Client: O JMS Cliente será dividido em dois frames. O frame no lado esquerdo listará em forma de árvore as conexões e seus objetos da seguinte forma:

|--- Conexão
|------ Produtores
|--------- Produtor do tópico A
|--------- Produtor da fila B
|------ Consumidores
|--------- Consumidor da fila B
|--------- Consumidor do tópico B
|------ Fila A
|------ Fila B
|------ Tópico A
|------ Tópico B
|------ Listeners

Este primeiro frame poderá conter os seguintes objetos: Conexão, Destino (fila ou tópico), Consumidor, Produtor e Listener. Em termos técnicos cada objeto acima relacionado com:

Conexão -> javax.jms.Connection: é o objeto que representa um conexão aberta com um servidor JMS.
Destino -> javax.jms.Destination: fornece um endereço destino de uma mensagem, este endereço é um tópico ou uma fila.
Consumidor -> javax.jms.MessageConsumer: usado para receber mensagens de um Destino. Poderá existir cosumidores de filas e tópicos.
Produtor -> javax.jms.MessageProducer: objeto usado para enviar mensagens para um ou mais Destinos. Poderá existir produtores para filas e tópicos.
Listener -> javax.jms.MessageListener: objeto usado para receber mensagens de forma assincrona. Usado em filas.

Já o frame do lado direito irá mostrar as características do objeto selecionado no lado esquerdo. No caso do objeto selecionado for um Destino (fila ou tópico), este frame irá mostrar todas as mensagens transaciodas por esse Destino. Será como um acompanhamento de mensagens.

Primeiras idéias....

Criar uma ferramenta cliente de JMS parecido com os clientes POP3, como o MS Outlook ou Mozilla Thunderbird. Fazendo um paralelo com os clientes POP3, temos os seguintes objetos:

POP3
JMS
Conta POP3
Conexão servidor JMS (RMI, TCP ou HTTP)
Pastas de e-mail
Consumidor/Produtor de mensagem; filas e tópicos.

Look & Feel: no lado esquerdo, onde aparace as pastas de uma conta de POP3, aparecerá o consumidor ou produtor de mensagens de um determinado servidor JMS. No lado direito aparecem as mensagens consumidas ou produzidas e o status de processamento.

Será possivel gerenciar as filas e tópicos do servidor JMS conectato. O usuário poderá criar/remover/atualizar uma fila ou tópico.


Outro objeto importante na arquitetura do projeto são os listeners. Os listener são eventos executos numa determinda fila ou tópico sempre que uma mensagem relacionada ao listener é processada. Alguns listeners padrão serão agregados a ferramenta, por exemplo um listener FTP. Este listener irá transportar a mensagem como um arquivo para um servidor FTP. Um outro listener de exemplo poderia ser um listener de SMTP, que enviará a mensagem processada como um e-mail determinado e-mail.

domingo, fevereiro 13, 2005

JMS Client

A intenção desse blog é publicar minhas idéias e fazer o acompanhamento do projeto JMS Client.