Fazer pesquisa em uma ou mais carreiras específicas:

Administração Agronomia Arquitetura Arquivologia Arte Astronomia Biblioteconomia Biologia
Bioquímica Cinema Ciências Sociais Colegial Comunicação Contabilidade Desenho Industrial Direito
Diversos Economia Educação Física Enfermagem Engenharia Estatística Farmácia Filosofia
Fisioterapia Fonoaudiologia Geografia História Hotelaria Informática Letras Marketing
Medicina Nutrição Odontologia Pedagogia Produção Cultural Psicologia Química Rel. Internacionais
Secretariado Executivo Serviço Social Terapia Ocupacional Turismo Veterinária Zootecnia


Aglets

Trabalho por Charleno Gramkow, estudante de Informática @ , Em 07/06/2006

5

Tamanho da fonte: a- A+

AGLETS

SISTEMAS DISTRIBUIDO


INTRODUÇÃO

Aglets são objetos Java com a capacidade de se mover de uma máquina para outra em uma rede, levando consigo o código de programa e o estado dos objetos que compõe o aglet. A migração inicia com a interrupção da execução do aglet na máquina origem, seu despacho para uma máquina remota e o reinicio da execução após sua chegada ao destino.

Mecanismos de segurança impedem que aglets não autorizados (untrusted) tenham acesso a determinados recursos do sistema, tornando o sistema implementado com aglets seguro. A biblioteca de classes de aglets foi concebida por pesquisadores da IBM, tendo este projeto os seguintes objetivos:

- Fornecer um modelo compreensivo e simples de programação utilizando agentes móveis, sem no entanto implicar em modificações na máquina vitual Java ou em código nativo;

- Disponibilizar mecanismos de comunicação poderosos e dinâmicos que permitissem agentes se comunicarem outros agentes, fossem eles conhecidos ou não;

- Projetar uma arquitetura de agentes móveis que permitisse extensibilidade e reusabilidade;

- Obter uma arquitetura altamente coerente com o modelo tecnológico Web/Java.

Baseado nesta biblioteca, foi desenvolvida o Fiji kit que permite criar aplets na qual executam contextos aglets e podem criar, despachar e receber agentes de páginas Web.
 

1. AGLETS

Aglets consistem em uma biblioteca arquitetural de classes (framework) e programas de suporte implementados em Java. O Aglets utiliza-se da capacidade multiplataforma de Java para criar uma arquitetura simples, que suporta a migração e execução de código entre computadores hosts interligados através da Internet.

1.1 Aglets API

Esta seção apresentará em mais detalhes o modelo da biblioteca Aglets/API. A figura abaixo apresenta elementos básicos da biblioteca, como descritos abaixo:

Aglet - é o elemento básico da biblioteca e consiste em um objeto Java móvel autônomo, pois possui sua própria thread de execução e reativo pois pode responder a mensagem externas.

Proxy - é um objeto que representa um aglet, e tem por objetivo fornecer transparência de localidade e proteção a métodos públicos.

Context - é um objeto estacionário que provê um ambiente para manutenção e gerenciamento de aglets em execução.

Message - é um objeto transmitido entre aglets, permitindo passagem de mensagens síncronas e assíncronas, usados para colaboração e troca de informações.

Future reply - é um manipulador para tratamento de resultados de envio assíncrono de mensagens.

Identifier - cada aglet possui um único e global identificador que é imutável durante todo seu ciclo de vida.

A API aglet define a funcionalidade básica para agentes móveis no modelo de aglets. As seguintes classes e interfaces estão definidas no pacote com.ibm.aglet : A classe abstrata Aglet define os métodos fundamentais associados a agentes móveis, tais como :

  • dispose () : descarta o aglet
  • dispatch (URL) : despacha o aglet para o destino especificado em URL
  • deactivate (long time) : instrui o aglet para que se armazene em um meio de armazenamento persistente pelo período especificado (ou até que outro aglet o solicite)
  • getAgletInfo () : obtém informação do aglet em um objeto da classe AgletInfo
  • clone () : cria uma nova instância do aglet (AgletProxy) que tem o mesmo estado do aglet original.
  • getAgletContext () : obtém referência para o lugar ocupado correntemente pelo aglet.

Já AgletID encapsula os atributos que permitem identificar cada aglet de forma unívoca. A interface AgletProxy oferece um handle para manipular e estabelecer mecanismos de comunicação para um aglet. Um objeto AgletProxy age