SlideShare una empresa de Scribd logo
1 de 38
Agentes Móveis Aspectos de Desenvolvimento Componentes : Luiz Matos, Marcelo Almeida, Margarete Sá Salvador, 2007 Universidade Federal da Bahia Especialização em Sistemas Distribuídos Computação Móvel
Organização do estudo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
Princípios básicos ,[object Object],[object Object],[object Object],[object Object],Figura 1.  Funcionamento RPC (WHITE, 1996) ,[object Object],[object Object],[object Object],[object Object],[object Object],Contextualização
Princípios básicos ,[object Object],Figura 2.  Funcionamento Agentes Móveis (WHITE, 1996) ,[object Object],[object Object],[object Object],[object Object],Contextualização
[object Object],[object Object],Princípios básicos Definição Agente Interações Locais Cliente Interações de Rede Figura 3.  Representação Agentes Móveis ,[object Object],[object Object],[object Object],[object Object],Servidor
[object Object],[object Object],[object Object],[object Object],Princípios básicos Conceitos Figura 5.  Representação Places  (WHITE, 1996) Figura 6.  Representação Agents  (WHITE, 1996) Figura 7.  Representação Travel  (WHITE, 1996) Agente Serviços/Recursos Figura 4.  Representação Agência
Migração de Código ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Princípios básicos
Quando usar ,[object Object],[object Object],[object Object],[object Object],[object Object],Porque usar
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],O que devemos proteger*? Aspectos de segurança ,[object Object],[object Object],[object Object],[object Object],[object Object],Como podemos proteger*? * Adaptado de Cunha (2005).
Representação das ameaças Sistema de Agentes M óveis Entidades Externas Aspectos de segurança 1. ameaças do servidor contra o agente; 2. ameaças do agente contra o servidor; 3. ameaças do agente contra outro agente sendo executado no mesmo servidor;  4. outras ameaças contra o sistema de agentes. Personificação, negação de serviço, alteração de dados ou código,  acesso não autorizado, entre outros. Figura 8.  Ameaças em Agentes Móveis  (UTO, 2003)
[object Object],[object Object],[object Object],[object Object],[object Object]
Agentes móveis baseados em Java ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Frameworks e Aplicações existentes
Conceitos básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Conceitos básicos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Conceitos básicos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],Mobilidade Aglets: uma visão geral
Ciclo de Vida Aglets: uma visão geral Figura 9.  Ciclo de Vida de um Aglet  (JUNG, [s.d.]) O Aglet   toma seu lugar em um contexto, ganha seu identificador e é inicializado. Um aglet nasce igual o pai exceto ID e estado. Ação de despachar um Aglet de um contexto e inseri-lo em outro, onde este reiniciará sua execução. Um Aglet, previamente despachado, é trazido de volta a um contexto e seu estado volta junto. Um Aglet é retirado temporariamente de seu contexto e é colocado em um contexto secundário. Um Aglet desativado pode ser reativado, voltando a executar a partir do seu estado no momento da esativação. O Aglet é retirado de seu contexto e morre. Seu estado é perdido para sempre.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Modelo de Eventos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],ATP – Agent Transfer Protocol Aglets: uma visão geral Figura 10.  Operações do ATP  (JUNG,  [ s.d.]) solicita a um sistema de agentes destino que reconstrua um agente a partir do conteúdo de uma requisição e inicie sua execução. solicita a um sistema de agentes destino que envie de volta um determinado agente ao emissor. solicita a um receptor que este recupere e envie alguma informação. Similar ao método GET do HTTP. usado para transmitir uma mensagem a um agente identificado por um agent-id e retornar alguma resposta à ação.
[object Object],[object Object],[object Object],Interações entre Aglets Aglets: uma visão geral Figura 11.  Relação entre Aglet e proxy (JUNG, [s.d.])
Aglet Server (TAHITI) Figura 12.  Interface TAHITI Demonstração:  Desenvolvendo um agente móvel com Aglets Cria um novo Aglet. Exibe caixa de dialogo de um Aglet. Traz informações sobre o Aglet selecionado. Elimina um Aglet Clona um Aglet Envia um Aglet para um host destino Traz de volta um Aglet enviado a outro host Aglet em atividade. - Demonstração da ferramenta
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Exemplo 1 – Hello World Móvel Demonstração:  Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet Implementar método run()
Exemplo 2 – Tratando Listeners Demonstração:  Desenvolvendo um agente móvel com Aglets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Importar pacotes da API Implementar Interfaces Implementar métodos
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Demonstração:  Desenvolvendo um agente móvel com Aglets Implementar métodos Implementar métodos
Exemplo 2 – Tratando Listeners import com.ibm.aglet.*; import com.ibm.aglet.event.*; public class MyListenerTest  extends Aglet  { public boolean move = true; public void  onCreation (Object init) { //cria um objeto listener MyListener listener = new MyListener(); //registra um listener mobility this.addMobilityListener((MobilityListener)listener); //registra um listener clone this.addCloneListener((CloneListener)listener); //registra um listener persistency this.addPersistencyListener((PersistencyListener)listener); } public void  run () { System.out.println("Ola pessoal!"); } }; //Fim da classe (Aglet) MyListenerTest Demonstração:  Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet
Exemplo 3 – Tratando Proxys Demonstração:  Desenvolvendo um agente móvel com Aglets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Importar pacotes da API Herdar a classe Aglet
import com.ibm.aglet.*; import java.util.Enumeration; import java.util.Date; public class ProxyInfoExample  extends Aglet  { public void  run () { print("STARTING --------------------"); try { print(“Criando o child..."); AgletProxy proxy = getAgletContext().createAglet(getCodeBase(), "examples.ProxyInfoChild", null); print(“Finalizando a criacao do child."); pause();   print(“Usando o proxy diretamente: ");   print("Identificador:  apos;" + proxy. getAgletID () + "apos;"); print("Code Base:  apos;" + "(Depreciated, using aglet.getCodeBase()) " +  getCodeBase () + "apos;"); print(“Nome da Classe:  apos;" + proxy. getAgletClassName () + "apos;");   pause();   print("... E agora, as informacoes do objeto: ");   AgletInfo info = proxy.getAgletInfo();   print("Identificador:  apos;" + info. getAgletID () + "apos;");   print("Code Base:  apos;" + info. getCodeBase () + "apos;");   print(“Nome da Classe:  apos;" + info. getAgletClassName () + "apos;");   print("Origem:  apos;" + info. getOrigin () + "apos;");   print(“Endereco:  apos;" + info. getAddress () + "apos;");   print(“Hora de Criacao: apos;" + new Date(info. getCreationTime ()) + "apos;"); }  //Continua no proximo slide.. Importar pacotes da API Herdar a classe Aglet Demonstração:  Desenvolvendo um agente móvel com Aglets
Exemplo 3 – Tratando Proxys ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Considerações finais ,[object Object],[object Object],[object Object],[object Object],Conclusões do Grupo Desafios na área ,[object Object],[object Object],[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MALUTA, Líliam C. Gaiotto.  Aplicação em Computação Móvel para Monitoramento de Pacientes em UTI. Disponível em: <http://www.wirelessbrasil.org/wirelessbr/colaboradores/liliam_maluta/monitor_uti_01. html>. Acesso em: 05 set. 2007. MENDES, Manuel de Jesus; SILVA, Flávio M. de Assis.  Mobile Agents in Autonomous Decentralized Systems.  IEEE  Autonomous Decentralized Systems, 1999. Integration of Heterogeneous Systems. Proceedings. MODAK, Vishal D.; LANGAN, David D.; HAIN, Thomas F.  A Pattern-based Development Tool for Mobile Agents.  ACM  SIGCSE Bulletin, Volume 37, p. 72-75, Fev. 2005. OBJECT Management Group.  Agent Technology Green Paper.  Agent Platform Special Interest Group, 2000.  Disponível em: <http://www.objs.com/agent/agents_Green_Paper_v100.doc>. Acesso em: 06 set. 2007. OYAMADA, Márcio Seiji; ITO, Sérgio Akira.  Aglets: agentes móveis em java.  Disponível em: <http://www.inf.ufrgs.br/ procpar/disc/cmp134/trabs/T2/981/Aglets/aglets.html>. Acesso em: 05 set. 2007. PHAM, Vu Anh; KARMOUCH, Ahmed.  Mobile Software Agents: an overview.  IEEE, 1998. Disponível em: <http://www.comsoc.org/ci/private/1998/jul/Karmouch.html>. Acesso em: 05 set. 2007. UTO, Nelson.  Segurança de Sistemas de Agentes Móveis.  Dissertação de Mestrado. Universidade Estadual de  Campinas, Instituto de Computação, Abril de 2003. Disponível em:  <http://www.las.ic.unicamp.br/paulo/teses/trabalhos-relacionados/NelsonUto.pdf>. Acesso: 06 set. 2007. Wayne A. Jansen. Countermeasures for Mobile Agent Security. Special Issue on Advanced Security Techniques for  Network Protection, Elsevier Science BV, novembro de 2000. In:  UTO, Nelson.  Segurança de Sistemas  de  Agentes Móveis.  Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de  Computação, Abril de  2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos- relacionados/NelsonUto.pdf>.  Acesso em: 06 set. 2007. WHITE, Jim.  Mobile Agents White Paper.  General Magic, 1996. Disponível em:  <http://citeseer.ist.psu.edu/white96mobile.html>. Acesso em: 15 ago. 2007. WONG, David; PACIOREK, Noemi; MOORE, Dana.  Java-based Mobile Agents.  Communications Of The Acm, v. 42,  n. 3, p.  92-102, mar. 1999. Referências
Figura 5.  Representação Places (WHITE, 1996) Figura 6.  Representação Agents (WHITE, 1996) Figura 7.  Representação Travel (WHITE, 1996)
 

Más contenido relacionado

La actualidad más candente

4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)Citrix Systems Japan
 
2021 二月 Kasten K10 介紹與概觀
2021 二月 Kasten K10 介紹與概觀2021 二月 Kasten K10 介紹與概觀
2021 二月 Kasten K10 介紹與概觀Wales Chen
 
Microsoft Azure Traffic Manager
Microsoft Azure Traffic ManagerMicrosoft Azure Traffic Manager
Microsoft Azure Traffic ManagerIdo Katz
 
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策TAKUYA OHTA
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Yusuke Kodama
 
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for BusinessIT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for BusinessTAKUYA OHTA
 
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~Michio Koyama
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsArun Shukla
 
Microsoft Active Directory.pptx
Microsoft Active Directory.pptxMicrosoft Active Directory.pptx
Microsoft Active Directory.pptxmasbulosoke
 
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~TAKUYA OHTA
 
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration ManagerIT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration ManagerTAKUYA OHTA
 
Azureの契約直前・直後に意識しておくこと10箇条
Azureの契約直前・直後に意識しておくこと10箇条Azureの契約直前・直後に意識しておくこと10箇条
Azureの契約直前・直後に意識しておくこと10箇条Yui Ashikaga
 
Red Hat Global File System (GFS)
Red Hat Global File System (GFS)Red Hat Global File System (GFS)
Red Hat Global File System (GFS)Schubert Zhang
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
How to use ADMT on Windows Server 2022
How to use ADMT on Windows Server 2022How to use ADMT on Windows Server 2022
How to use ADMT on Windows Server 2022Michinari Kobuna
 

La actualidad más candente (20)

4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
基礎から学ぶシトリックス仮想化製品(XenDesktop, XenApp)
 
2021 二月 Kasten K10 介紹與概觀
2021 二月 Kasten K10 介紹與概觀2021 二月 Kasten K10 介紹與概觀
2021 二月 Kasten K10 介紹與概觀
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Microsoft Azure Traffic Manager
Microsoft Azure Traffic ManagerMicrosoft Azure Traffic Manager
Microsoft Azure Traffic Manager
 
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for BusinessIT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
 
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
 
HSM超入門講座
HSM超入門講座HSM超入門講座
HSM超入門講座
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & Hypervisors
 
Microsoft Active Directory.pptx
Microsoft Active Directory.pptxMicrosoft Active Directory.pptx
Microsoft Active Directory.pptx
 
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
 
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration ManagerIT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
 
Azureの契約直前・直後に意識しておくこと10箇条
Azureの契約直前・直後に意識しておくこと10箇条Azureの契約直前・直後に意識しておくこと10箇条
Azureの契約直前・直後に意識しておくこと10箇条
 
Virtualization security and threat
Virtualization security and threatVirtualization security and threat
Virtualization security and threat
 
Red Hat Global File System (GFS)
Red Hat Global File System (GFS)Red Hat Global File System (GFS)
Red Hat Global File System (GFS)
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
How to use ADMT on Windows Server 2022
How to use ADMT on Windows Server 2022How to use ADMT on Windows Server 2022
How to use ADMT on Windows Server 2022
 

Similar a Agentes Moveis - Aspectos De Desenvolvimento

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidRodolfo Faquin Della Justina
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009vpmachado
 
Gerencia e Administração de Redes
Gerencia e Administração de RedesGerencia e Administração de Redes
Gerencia e Administração de RedesAllan Piter Pressi
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoHelio Henrique L. C. Monte-Alto
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 

Similar a Agentes Moveis - Aspectos De Desenvolvimento (20)

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
JADE+JENA
JADE+JENAJADE+JENA
JADE+JENA
 
Rmi (remote method invocation)
Rmi (remote method invocation)Rmi (remote method invocation)
Rmi (remote method invocation)
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Artigo - GR
Artigo - GRArtigo - GR
Artigo - GR
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com Android
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Struts2 remote codeexecution
Struts2 remote codeexecutionStruts2 remote codeexecution
Struts2 remote codeexecution
 
Threads
ThreadsThreads
Threads
 
Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009
 
Gerencia e Administração de Redes
Gerencia e Administração de RedesGerencia e Administração de Redes
Gerencia e Administração de Redes
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
 
Android
AndroidAndroid
Android
 
Agent toolkits rc3
Agent toolkits rc3Agent toolkits rc3
Agent toolkits rc3
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Pro model
Pro modelPro model
Pro model
 
JBoss Clustering
JBoss ClusteringJBoss Clustering
JBoss Clustering
 

Más de Luiz Matos

Processamento consultas-xml-v2
Processamento consultas-xml-v2Processamento consultas-xml-v2
Processamento consultas-xml-v2Luiz Matos
 
Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsLuiz Matos
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel UbiquaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Luiz Matos
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the InternetLuiz Matos
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoLuiz Matos
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Luiz Matos
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebLuiz Matos
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeLuiz Matos
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Learning Design
Learning DesignLearning Design
Learning DesignLuiz Matos
 

Más de Luiz Matos (13)

Processamento consultas-xml-v2
Processamento consultas-xml-v2Processamento consultas-xml-v2
Processamento consultas-xml-v2
 
Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control Systems
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the Internet
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de caso
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da Web
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidade
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Learning Design
Learning DesignLearning Design
Learning Design
 

Último

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Último (9)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Agentes Moveis - Aspectos De Desenvolvimento

  • 1. Agentes Móveis Aspectos de Desenvolvimento Componentes : Luiz Matos, Marcelo Almeida, Margarete Sá Salvador, 2007 Universidade Federal da Bahia Especialização em Sistemas Distribuídos Computação Móvel
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Representação das ameaças Sistema de Agentes M óveis Entidades Externas Aspectos de segurança 1. ameaças do servidor contra o agente; 2. ameaças do agente contra o servidor; 3. ameaças do agente contra outro agente sendo executado no mesmo servidor; 4. outras ameaças contra o sistema de agentes. Personificação, negação de serviço, alteração de dados ou código, acesso não autorizado, entre outros. Figura 8. Ameaças em Agentes Móveis (UTO, 2003)
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Ciclo de Vida Aglets: uma visão geral Figura 9. Ciclo de Vida de um Aglet (JUNG, [s.d.]) O Aglet toma seu lugar em um contexto, ganha seu identificador e é inicializado. Um aglet nasce igual o pai exceto ID e estado. Ação de despachar um Aglet de um contexto e inseri-lo em outro, onde este reiniciará sua execução. Um Aglet, previamente despachado, é trazido de volta a um contexto e seu estado volta junto. Um Aglet é retirado temporariamente de seu contexto e é colocado em um contexto secundário. Um Aglet desativado pode ser reativado, voltando a executar a partir do seu estado no momento da esativação. O Aglet é retirado de seu contexto e morre. Seu estado é perdido para sempre.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Aglet Server (TAHITI) Figura 12. Interface TAHITI Demonstração: Desenvolvendo um agente móvel com Aglets Cria um novo Aglet. Exibe caixa de dialogo de um Aglet. Traz informações sobre o Aglet selecionado. Elimina um Aglet Clona um Aglet Envia um Aglet para um host destino Traz de volta um Aglet enviado a outro host Aglet em atividade. - Demonstração da ferramenta
  • 27.
  • 28.
  • 29.
  • 30. Exemplo 2 – Tratando Listeners import com.ibm.aglet.*; import com.ibm.aglet.event.*; public class MyListenerTest extends Aglet { public boolean move = true; public void onCreation (Object init) { //cria um objeto listener MyListener listener = new MyListener(); //registra um listener mobility this.addMobilityListener((MobilityListener)listener); //registra um listener clone this.addCloneListener((CloneListener)listener); //registra um listener persistency this.addPersistencyListener((PersistencyListener)listener); } public void run () { System.out.println(&quot;Ola pessoal!&quot;); } }; //Fim da classe (Aglet) MyListenerTest Demonstração: Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet
  • 31.
  • 32. import com.ibm.aglet.*; import java.util.Enumeration; import java.util.Date; public class ProxyInfoExample extends Aglet { public void run () { print(&quot;STARTING --------------------&quot;); try { print(“Criando o child...&quot;); AgletProxy proxy = getAgletContext().createAglet(getCodeBase(), &quot;examples.ProxyInfoChild&quot;, null); print(“Finalizando a criacao do child.&quot;); pause(); print(“Usando o proxy diretamente: &quot;); print(&quot;Identificador: apos;&quot; + proxy. getAgletID () + &quot;apos;&quot;); print(&quot;Code Base: apos;&quot; + &quot;(Depreciated, using aglet.getCodeBase()) &quot; + getCodeBase () + &quot;apos;&quot;); print(“Nome da Classe: apos;&quot; + proxy. getAgletClassName () + &quot;apos;&quot;); pause(); print(&quot;... E agora, as informacoes do objeto: &quot;); AgletInfo info = proxy.getAgletInfo(); print(&quot;Identificador: apos;&quot; + info. getAgletID () + &quot;apos;&quot;); print(&quot;Code Base: apos;&quot; + info. getCodeBase () + &quot;apos;&quot;); print(“Nome da Classe: apos;&quot; + info. getAgletClassName () + &quot;apos;&quot;); print(&quot;Origem: apos;&quot; + info. getOrigin () + &quot;apos;&quot;); print(“Endereco: apos;&quot; + info. getAddress () + &quot;apos;&quot;); print(“Hora de Criacao: apos;&quot; + new Date(info. getCreationTime ()) + &quot;apos;&quot;); } //Continua no proximo slide.. Importar pacotes da API Herdar a classe Aglet Demonstração: Desenvolvendo um agente móvel com Aglets
  • 33.
  • 34.
  • 35.
  • 36. MALUTA, Líliam C. Gaiotto. Aplicação em Computação Móvel para Monitoramento de Pacientes em UTI. Disponível em: <http://www.wirelessbrasil.org/wirelessbr/colaboradores/liliam_maluta/monitor_uti_01. html>. Acesso em: 05 set. 2007. MENDES, Manuel de Jesus; SILVA, Flávio M. de Assis. Mobile Agents in Autonomous Decentralized Systems. IEEE Autonomous Decentralized Systems, 1999. Integration of Heterogeneous Systems. Proceedings. MODAK, Vishal D.; LANGAN, David D.; HAIN, Thomas F. A Pattern-based Development Tool for Mobile Agents. ACM SIGCSE Bulletin, Volume 37, p. 72-75, Fev. 2005. OBJECT Management Group. Agent Technology Green Paper. Agent Platform Special Interest Group, 2000. Disponível em: <http://www.objs.com/agent/agents_Green_Paper_v100.doc>. Acesso em: 06 set. 2007. OYAMADA, Márcio Seiji; ITO, Sérgio Akira. Aglets: agentes móveis em java. Disponível em: <http://www.inf.ufrgs.br/ procpar/disc/cmp134/trabs/T2/981/Aglets/aglets.html>. Acesso em: 05 set. 2007. PHAM, Vu Anh; KARMOUCH, Ahmed. Mobile Software Agents: an overview. IEEE, 1998. Disponível em: <http://www.comsoc.org/ci/private/1998/jul/Karmouch.html>. Acesso em: 05 set. 2007. UTO, Nelson. Segurança de Sistemas de Agentes Móveis. Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de Computação, Abril de 2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos-relacionados/NelsonUto.pdf>. Acesso: 06 set. 2007. Wayne A. Jansen. Countermeasures for Mobile Agent Security. Special Issue on Advanced Security Techniques for Network Protection, Elsevier Science BV, novembro de 2000. In: UTO, Nelson. Segurança de Sistemas de Agentes Móveis. Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de Computação, Abril de 2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos- relacionados/NelsonUto.pdf>. Acesso em: 06 set. 2007. WHITE, Jim. Mobile Agents White Paper. General Magic, 1996. Disponível em: <http://citeseer.ist.psu.edu/white96mobile.html>. Acesso em: 15 ago. 2007. WONG, David; PACIOREK, Noemi; MOORE, Dana. Java-based Mobile Agents. Communications Of The Acm, v. 42, n. 3, p. 92-102, mar. 1999. Referências
  • 37. Figura 5. Representação Places (WHITE, 1996) Figura 6. Representação Agents (WHITE, 1996) Figura 7. Representação Travel (WHITE, 1996)
  • 38.