1 / 25

ASDK

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 aglets e seu ambiente de execução. Características Simplicidade Flexibilidade Portabilidade. Classes Aglet AgletID AgletInfo

hua
Download Presentation

ASDK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASDK API Aglet API Aglet Event

  2. 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

  3. Classes Aglet AgletID AgletInfo AgletStub FutureReply Message QoC ReplySet Ticket Interfaces AgletContext AgletProxy MessageManager API Aglet

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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, ...)

  9. 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.

  10. 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.

  11. 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.

  12. Interface AgletProxy • Interface cujo propósito é fornecer um mecanismo para controlar e limitar o acesso direto aos aglets. • Fornece métodos para manipular aglets.

  13. 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.

  14. 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.

  15. 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.

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

  17. Classes AgletEvent AgletEventListener CloneAdapter CloneEvent MobilityAdapter MobilityEvent PersistencyAdapter PersistencyEvent Interfaces CloneListener MobilityListener PersistencyListener API Aglet Event

  18. 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.

  19. 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.

  20. PersistencyAdapter e PersistencyListener • Métodos • onActivation(): invocado somente depois que o agente foi ativado. • onDeactivating(): invocado quando o agente está para ser desativado.

  21. createAglet() Aglet() onCreation() run() Diagrama de Colaboração para Criação de Aglet

  22. run() run() Original onCloning() onCloned() onClone() Clone run() Diagrama de Colaboração para Clonagem de Aglet

  23. run() Origem dispatch() onDispatching() onArrival() Destino run() Diagrama de Colaboração para Dispatching de Aglet

  24. Diagrama de Colaboração para Retração de Aglet retractAglet() Local onArrival() run() run() Remoto onReverting()

  25. Diagrama de Colaboração para Liberar um Aglet dipose() onDisposing() run()

More Related