Você está na página 1de 24

Aglets

Sumrio
Download e Instalao Configurao do Eclipse Desenvolvimento de Agentes

Aglets Preparao do ambiente


O ambiente Aglets necessita de uma mquina virtual Java para rodar Para o desenvolvimento de agente tambm necessrio um kit de desenvolvimento Java
http://java.sun.com/j2se/5.0/download.jsp Download JDK

Aps instalao, a pasta bin do JDK deve ser includa no PATH do sistema operacional. O desenvolvimento dos agentes pode ser feito em qualquer editor
Aqui ser detalhada a configurao do Eclipse (www.eclipse.org) para permitir a execuo e depurao de agentes

Aglets - Download
Pgina: http://aglets.sourceforge.net Download:
Binrios:
http://prdownloads.sourceforge.net/aglets/aglets-2.0.2.jar

Fontes:
http://prdownloads.sourceforge.net/aglets/aglets-2.0.2-src.jar

Manual do Usurio:
http://prdownloads.sourceforge.net/aglets/manual.pdf

Aglets - Instalao
Descompactar aglets-2.0.2.jar (Ex: c:\aglets)
Scripts de instalao e execuo Arquivos de configurao Bibliotecas Onde devem residir os agentes desenvolvidos

Pelo prompt de comando


Ir pasta bin Executar: ant Executar: ant install-home

Aglets - Execuo
Editar arquivo cnf/aglets.props
Descomentar linha:
aglets.secure=false

Isso permite que agentes acessem arquivos e executem outras operaes que no seriam permitidas

Pelo prompt de comando


Ir pasta bin Executar: agletsd -f ..\cnf\aglets.props

Eclipse Criar Projeto


Criar um projeto Java Usar pasta de instalao do Aglets como pasta do projeto

Eclipse Criar Projeto


Usar a pasta public como Output Folder Isso faz com que as classes compiladas pelo Eclipse sejam colocadas automaticamente no lugar certo

Projeto Criado

Eclipse Rodar Tahiti


Project Properties Java Build Path Libraries Add Class Folder Selecionar a pasta lib

Eclipse Rodar Tahiti


Menu Run, Run... Criar nova Configurao Nome: Aglets

Project: Aglets
Main Class:
com.ibm.awb.launcher.Main

Eclipse Rodar Tahiti


Ainda na mesma tela Arguments Program Arguments:
-f C:\aglets\cnf\aglets.props

VM Arguments:
-Daglets.home=C:\aglets

Run

Eclipse Criando Agentes


Para criar agentes, preciso primeiro configurar uma pasta para os fontes do agente Project Properties

Java Build Path


Source Add Folder Criar e selecionar a pasta src

Eclipse Criando Agentes


Opcionalmente, pode-se adicionar os fontes do Aglets ao Eclipse, para que a documentao associada fique disponvel Project Properties Java Build Path Libraries aglets-2.2.2.jar Source attachments Edit

Programando Agentes
Agentes so criados estendendo-se a classe Aglet Alguns mtodos dessa classe, que podem ser sobrescritos, so invocados pelo ambiente para indicar eventos
void onCreation(Object init) void run() void onDisposing() boolean handleMessage(Message message)

void onCreation(Object init)


Este mtodo chamado logo aps o agente ter sido criado O parmetro init contm um possvel argumento passado ao agente na hora da criao, ou null

void run()
Este mtodo chamado quando um agente :
Criado (aps onCreation)
Enviado para outro computador (aps chegar) Chamado de volta para o computador de onde foi criado (aps chegar) Reativado (devido a uma chamada a deactivate)

void onDisposing()
Este mtodo chamado quando o agente estiver prestes a ser destrudo, devido a uma chamada ao mtodo dispose.

boolean handleMessage(Message message)

chamado sempre que uma mensagem chega ao agente O parmetro message possui:
Um atributo kind (String) que identifica o tipo da mensagem Parmetros opcionais

O mtodo deve retornar false caso a mensagem recebida no seja suportada. Neste caso uma exceo ocorrer em quem mandou a mensagem

Criando Agentes
Agentes podem ser criados pela interface do Tahiti, ou programaticamente Para cri-los pelo Tahiti, basta informar a classe (incluindo nome de package) A opo Add to List adiciona o agente lista de favoritos

Criando Agentes
Para criar agente via programao, devese fazer da seguinte forma:
AgletProxy proxy = null;

AgletContext context = getAgletContext(); try { proxy = context.createAglet(null, "classe.do.Agente", <parmetro>); } catch (Exception e) { e.printStackTrace(); }

AgletProxy
atravs de proxies que se interage com agentes A classe AgletProxy oferece (entre outros) os seguintes mtodos
Object sendMessage(Message msg)
Envia uma mensagem, e espera

void dispose()
Destri o agente

AgletProxy dispatch(URL address)


Manda o agente para o endereo indicado

Como fazer os agentes se encontrarem


Para fazer com que um agente possa enviar mensagens a outro preciso primeiramente obter o proxy dele. Quando se cria um agente, isso fcil. O proxy j retornado quando se efetua a criao

Como fazer os agentes se encontrarem


Quando os agentes no tem uma relao de parentesco, pode-se guardar o proxy do agente no AgletContext, associando-o a uma String
AgletContext context = getAgletContext(); context.setProperty("XPT0", getProxy());

Como fazer os agentes se encontrarem


Outros agentes podem recuperar este proxy, lendo a propriedade do AgletContext

AgletContext context = getAgletContext();


AgletProxy p = (AgletProxy) context.getProperty("XPT0");

Você também pode gostar