asdk api aglet api aglet event. api aglet É um pacote java ( com.ibm.aglet ) que contém classes e...

25
ASDK API Aglet API Aglet Event

Upload: internet

Post on 22-Apr-2015

120 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

ASDK

API AgletAPI Aglet Event

Page 2: 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

API Aglet É um pacote Java (com.ibm.aglet) que

contém classes e interfaces necessárias à programação da interface entre aglets e seu ambiente de execução.

Características Simplicidade Flexibilidade Portabilidade

Page 3: 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

API Aglet Classes

Aglet AgletID AgletInfo AgletStub FutureReply Message QoC ReplySet Ticket

Interfaces AgletContext AgletProxy MessageManager

Page 4: 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

Classe Aglet Classe abstrata que o desenvolvedor

usa como classe base para criar aglets personalizados.

Fornece métodos para manipular etapas do ciclo de vida do aglet.

Fornece métodos que podem ser sobrepostos a fim de estabelecer comportamentos personalizados.

Page 5: 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

Classe Aglet Principais métodos (final)

clone(): gera uma nova instância do aglet, a qual tem o estado do aglet original.

deactivate(long): desativa o aglet durante o tempo especificado como argumento.

dispatch(URL): envia o aglet para a localização especificada como argumento.

dispose(): destrói e remove o aglet de seu contexto atual.

Page 6: 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

Classe Aglet Principais métodos (final)

getAgletContext(): obtém o contexto (AgletContext) no qual o aglet está executando atualmente.

getAgletID(): obtém o ID (AgletID) do aglet.

getAgletInfo(): obtém informações (AgletInfo) sobre o aglet.

getProxy(): obtém o proxy (AgletProxy) do aglet.

Page 7: 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

Classe Aglet Principais métodos (sobrescritos)

handleMessage(Message): trata as mensagens recebidas por um agente.

onCreation(...): inicializa o novo aglet.

onDisposing(): chamado quando há tentativa de destruição do aglet.

run(): inicia a execução da thread do aglet. Chamado após criação, despacho, retração ou ativação.

Page 8: 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

Classe Message Classe através da qual a abstração de

mensagens é criada.

Aglets se comunicam por trocar objetos da classe Message.

Um campo de string nomeado “kind” distingue mensagens. O campo é estabelecido quando a mensagem é criada.

Construtor: Message(String kind, ...)

Page 9: 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

Classe Message

Principais métodos getKind(): obtém o tipo da

mensagem.

sameKind(String): verifica se a mensagem possui é do tipo passado como argumento.

sendReply(...): envia reply com o valor especificado no argumento.

Page 10: 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

Interface AgletContext

Interface através da qual o contexto de execução do aglet é implementado.

Fornece métodos para manipular o contexto de execução dos aglets.

Page 11: 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

Interface AgletContext Principais métodos

createAglet(...): cria uma instância da classe aglet especificada e retorna um proxy (AgletProxy).

getAgletProxies(): recupera uma lista com todos os proxies de agentes presentes no seu contexto atual.

getAgletProxy(AgletID): obtém um proxy (AgletProxy) para o aglet no contexto atual.

retractAglet(URL, AgletID): retorna o aglet para o contexto de onde foi despachado.

Page 12: 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

Interface AgletProxy

Interface cujo propósito é fornecer um mecanismo para controlar e limitar o acesso direto aos aglets.

Fornece métodos para manipular aglets.

Page 13: 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

Interface AgletProxy

Principais métodos activate(): ativa o aglet.

clone(): clona o aglet e seu proxy.

deactivate(long): desativa o aglet.

dispatch(URL): envia o aglet para a localização especificada como argumento.

Page 14: 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

Interface AgletProxy Principais métodos

dispose(): destrói o aglet.

getAglet(): obtém o aglet (Aglet) que o proxy gerencia.

getAgletID(): obtém o ID (AgletID) do aglet.

getAgletInfo(): obtém informações (AgletInfo) sobre o aglet.

Page 15: 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

Interface AgletProxy Principais métodos

sendAsyncMessage(Message): envia uma mensagem em modo assíncrono e espera resposta (FutureReply).

sendFutureMessage(Message): envia uma mensagem futura e espera resposta (FutureReply).

sendMessage(): envia uma mensagem em modo síncrono.

sendOnewayMessage(): envia mensagem one-way. Não há envio de confirmação para remetente.

Page 16: 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

API Aglet Event

É um pacote Java (com.ibm.aglet.event) que contém classes e interfaces necessárias à comunicação e eventos dos aglets.

Page 17: 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

API Aglet Event Classes

AgletEvent AgletEventListener CloneAdapter CloneEvent MobilityAdapter MobilityEvent PersistencyAdapter PersistencyEvent

Interfaces CloneListener MobilityListener PersistencyListene

r

Page 18: 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

CloneAdapter e CloneListener Métodos

onClone(CloneEvent): invocado depois que um aglet foi clonado. Atua sobre aglet clone.

onCloned(CloneEvent): invocado depois que um aglet foi clonado. Atua sobre aglet original.

onCloning(CloneEvent): invocado quando um aglet está para ser clonado.

Page 19: 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

MobilityAdapter e MobilityListener

Métodos onArrival(MobilityEvent): invocado somente

depois que o agente chegou ao destino.

onDispatching(MobilityEvent): invocado quando o agente está para ser enviado a outro host.

onReverting(MobilityEvent): invocado quando o aglet é recuperado de um host remoto.

Page 20: 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

PersistencyAdapter e PersistencyListener

Métodos onActivation(): invocado somente depois

que o agente foi ativado.

onDeactivating(): invocado quando o agente está para ser desativado.

Page 21: 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

Diagrama de Colaboração para Criação de Aglet

run()run()

onCreation() onCreation()

Aglet()Aglet()

createAglet() createAglet()

Page 22: 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

run()run()

onCloning()onCloning()

onCloned() onCloned()

run()run()

onClone()onClone()

run()run()

Original

Clone

Diagrama de Colaboração para Clonagem de Aglet

Page 23: 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

Diagrama de Colaboração para Dispatching de Aglet

Origemrun()run()

dispatch()dispatch()

onDispatching()onDispatching()

onArrival()onArrival()

run()run()Destino

Page 24: 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

Diagrama de Colaboração para Retração de Aglet

retractAglet()retractAglet()

onArrival()onArrival()

run()run()

run()run()

onReverting()

Local

Remoto

Page 25: 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

Diagrama de Colaboração para Liberar um Aglet

dipose()dipose()

onDisposing()onDisposing()

run()run()