24
Aglets

Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Embed Size (px)

Citation preview

Page 1: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Aglets

Page 2: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Sumário

• Download e Instalação

• Configuração do Eclipse

• Desenvolvimento de Agentes

Page 3: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Aglets – Preparação do ambiente• O ambiente Aglets necessita de uma máquina virtual Java para

rodar

• Para o desenvolvimento de agente também é necessário um kit de desenvolvimento Java– http://java.sun.com/j2se/5.0/download.jsp– Download JDK

• Após instalação, a pasta bin do JDK deve ser incluída no PATH do sistema operacional.

• O desenvolvimento dos agentes pode ser feito em qualquer editor– Aqui será detalhada a configuração do Eclipse (www.eclipse.org) para

permitir a execução e depuração de agentes

Page 4: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Aglets - Download• Página: http://aglets.sourceforge.net

• Download:– Binários:

• http://prdownloads.sourceforge.net/aglets/aglets-2.0.2.jar

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

– Manual do Usuário: • http://prdownloads.sourceforge.net/aglets/manual.pdf

Page 5: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Aglets - Instalação• Descompactar aglets-2.0.2.jar (Ex: c:\aglets)

• Pelo prompt de comando– Ir à pasta bin– Executar: ant– Executar: ant install-home

Scripts de instalação e execução Arquivos de configuração Bibliotecas

Onde devem residir os agentes desenvolvidos

Page 6: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Aglets - Execução• Editar arquivo cnf/aglets.props

– Descomentar linha:• aglets.secure=false

– Isso permite que agentes acessem arquivos e executem outras operações que não seriam permitidas

• Pelo prompt de comando– Ir à pasta bin– Executar: agletsd -f ..\cnf\aglets.props

Page 7: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Eclipse – Criar Projeto• Criar um projeto Java

• Usar pasta de instalação do Aglets como pasta do projeto

Page 8: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

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

Page 9: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Eclipse – Rodar Tahiti• Project Properties

• Java Build Path

• Libraries

• Add Class Folder

• Selecionar a pasta lib

Page 10: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Eclipse – Rodar Tahiti• Menu Run, Run...

• Criar nova Configuração

• Nome: Aglets

• Project: Aglets

• Main Class: com.ibm.awb.launcher.Main

Page 11: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Eclipse – Rodar Tahiti• Ainda na mesma tela

• Arguments

• Program Arguments: “-f C:\aglets\cnf\aglets.props”

• VM Arguments: “-Daglets.home=C:\aglets”

• Run

Page 12: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

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

Page 13: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Eclipse – Criando Agentes• Opcionalmente, pode-se

adicionar os fontes do Aglets ao Eclipse, para que a documentação associada fique disponível

• Project Properties

• Java Build Path

• Libraries

• aglets-2.2.2.jar

• Source attachments

• Edit

Page 14: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Programando Agentes• Agentes são criados estendendo-se a classe

Aglet

• Alguns métodos dessa classe, que podem ser sobrescritos, são invocados pelo ambiente para indicar eventos

– void onCreation(Object init)– void run()– void onDisposing()– boolean handleMessage(Message message)

Page 15: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

void onCreation(Object init)

• Este método é chamado logo após o agente ter sido criado

• O parâmetro init contém um possível argumento passado ao agente na hora da criação, ou null

Page 16: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

void run()

• Este método é chamado quando um agente é:– Criado (após onCreation)

– Enviado para outro computador (após chegar)

– Chamado de volta para o computador de onde foi criado (após chegar)

– Reativado (devido a uma chamada a deactivate)

Page 17: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

void onDisposing()

• Este método é chamado quando o agente estiver prestes a ser destruído, devido a uma chamada ao método dispose.

Page 18: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

boolean handleMessage(Message message)

• É chamado sempre que uma mensagem chega ao agente

• O parâmetro message possui:– Um atributo kind (String) que identifica o tipo da

mensagem– Parâmetros opcionais

• O método deve retornar false caso a mensagem recebida não seja suportada. Neste caso uma exceção ocorrerá em quem mandou a mensagem

Page 19: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

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 opção Add to List adiciona o agente à lista de favoritos

Page 20: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Criando Agentes

• Para criar agente via programação, deve-se fazer da seguinte forma:

AgletProxy proxy = null;

AgletContext context = getAgletContext();

try{ proxy = context.createAglet(null, "classe.do.Agente", <parâmetro>);}catch (Exception e){ e.printStackTrace();}

Page 21: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

AgletProxy• É através de proxies que se interage com

agentes

• A classe AgletProxy oferece (entre outros) os seguintes métodos– Object sendMessage(Message msg)

• Envia uma mensagem, e espera– void dispose()

• Destrói o agente– AgletProxy dispatch(URL address)

• Manda o agente para o endereço indicado

Page 22: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

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 é fácil. O proxy já é retornado quando se efetua a criação

Page 23: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

Como fazer os agentes se encontrarem

• Quando os agentes não tem uma relação de “parentesco”, pode-se guardar o proxy do agente no AgletContext, associando-o a uma String

AgletContext context = getAgletContext();

context.setProperty("XPT0", getProxy());

Page 24: Aglets. Sumário Download e Instalação Configuração do Eclipse Desenvolvimento de Agentes

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");