Aglets.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Reflexão Marco Antonio Arquiteto de Software Novembro/2007.
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Relatórios Marco Antonio Software Architect Agosto
Marco A. S. Reis EJB Acesso Remoto Marco A. S. Reis
Objetos Implícitos Contextuais
JSP Segundo Semestre – 2008 Professor Glaucio Bianchini
Iniciando na plataforma Eclipse
Framework Aglets (para Agentes Móveis)
Professor Ismael H F Santos –
Rebeca Schroeder Linguagem Java Rebeca Schroeder
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
PROGRAMAÇÃO DISTRIBUÍDA EM JAVA Verão/2001
Introdução a Linguagem JAVA
Tutorial I: Criando a interface de uma aplicação em Java
WebWork e JSP Keven andrade
Uso do Eclipse/SourceForge Paradigmas de Linguagem de Programação
Estrutura de Dados em Java
Tecnologias para Internet
Hibernate com JPA Prática
JAVA: Conceitos Iniciais
Concorrência em Java Threads em Java.
Introdução a linguagem Python
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
Desenvolvimento de Jogos e Entretenimento Digital
Programação II Prof.: Bruno Rafael de Oliveira Rodrigues.
Concorrência em Java Threads em Java.
Concorrência em Java Threads em Java.
Elementos Básicos Modelo de Eventos Modelo de Comunicação
Introdução ao Desenvolvimento Web
Web Services Uninorte Semana de Tecnologia da Informação
Tecnologia para Web Tratamento de Exceções
Sistemas Operacionais
Chamada Remota de Procedimentos
Linguagem de Programação JAVA
Desenvolvimento de Aplicações CORBA
1 Mobilidade de Código com μcode Projeto Giga Alexandre Lages
Desenvolvimento de Aplicações de Agentes Móveis Usando Aglets
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
SessionBeans Marco Antonio Arquiteto de Software.
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
ASDK API Aglet API Aglet Event. API Aglet É um pacote Java ( com.ibm.aglet ) que contém classes e interfaces necessárias à programação da interface entre.
Análise Léxica Prof. Alexandre Monteiro
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
OMNeT++.
JAVA Sintaxe.
Capítulo 9 Arquivos JAR.
Backup DE DADOS DO USUÁRIO. Cópia de segurança dos dados no computador, alguns fáceis e outros trabalhosos, de acordo com a quantidade de dados. Utilizado.
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Framework MVC Francisco do Nascimento PSC - Programação de Softwares Corporativos UNIBRATEC, novembro de 2008.
Ferramentas JMOCKIT, ALLPAIRS, ECLEMMA, MUCLIPSE
Plataforma Aglets 2 Pré-requisitos Instalação Aglet Server Tahiti GUI.
1 Uso do Eclipse/CVS na cadeira Paradigmas de Linguagem de Programação Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt) Euclides Neto (enan) Prof.:
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
RMI Remote Method Invocation
Laboratório de Programação II Método main Dados e Métodos de Classes.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
PROGRAMAÇÃO ORIENTADA A OBJETOS Carlos Marques
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Introdução ao Eclipse 3.2 Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática, UFPE.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Implementação Orientada a Objetos – Aula 02 Introdução ao Java Prof. Danielle Martin Universidade de Mogi das Cruzes.
Escolha uma nova senha: Escolha uma pergunta secreta e a resposta para essa pergunta:
Conhecendo o Ambiente de Programação Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática,
Transcrição da apresentação:

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

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

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

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

Eclipse – Criar Projeto Criar um projeto Java Usar pasta de instalação 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 Configuração 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 documentação associada fique disponível Project Properties Java Build Path Libraries aglets-2.2.2.jar Source attachments Edit

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)

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

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)

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

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

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

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

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

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

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

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