asdk api aglet api aglet event. api aglet É um pacote java ( com.ibm.aglet ) que contém classes e...
TRANSCRIPT
ASDK
API AgletAPI Aglet Event
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
API Aglet Classes
Aglet AgletID AgletInfo AgletStub FutureReply Message QoC ReplySet Ticket
Interfaces AgletContext AgletProxy MessageManager
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.
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.
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.
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.
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, ...)
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.
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.
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.
Interface AgletProxy
Interface cujo propósito é fornecer um mecanismo para controlar e limitar o acesso direto aos aglets.
Fornece métodos para manipular aglets.
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.
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.
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.
API Aglet Event
É um pacote Java (com.ibm.aglet.event) que contém classes e interfaces necessárias à comunicação e eventos dos aglets.
API Aglet Event Classes
AgletEvent AgletEventListener CloneAdapter CloneEvent MobilityAdapter MobilityEvent PersistencyAdapter PersistencyEvent
Interfaces CloneListener MobilityListener PersistencyListene
r
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.
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.
PersistencyAdapter e PersistencyListener
Métodos onActivation(): invocado somente depois
que o agente foi ativado.
onDeactivating(): invocado quando o agente está para ser desativado.
Diagrama de Colaboração para Criação de Aglet
run()run()
onCreation() onCreation()
Aglet()Aglet()
createAglet() createAglet()
run()run()
onCloning()onCloning()
onCloned() onCloned()
run()run()
onClone()onClone()
run()run()
Original
Clone
Diagrama de Colaboração para Clonagem de Aglet
Diagrama de Colaboração para Dispatching de Aglet
Origemrun()run()
dispatch()dispatch()
onDispatching()onDispatching()
onArrival()onArrival()
run()run()Destino
Diagrama de Colaboração para Retração de Aglet
retractAglet()retractAglet()
onArrival()onArrival()
run()run()
run()run()
onReverting()
Local
Remoto
Diagrama de Colaboração para Liberar um Aglet
dipose()dipose()
onDisposing()onDisposing()
run()run()