A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Descoberta de Serviços em Ambientes Móveis Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva.

Apresentações semelhantes


Apresentação em tema: "Descoberta de Serviços em Ambientes Móveis Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva."— Transcrição da apresentação:

1 Descoberta de Serviços em Ambientes Móveis Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva

2 Lindonete Siqueira - Mauro Lopes2 Conteúdo  Introdução  MNCRS  SLP  JINI  Moca  Bibliografia

3 Lindonete Siqueira - Mauro Lopes3 Introdução  Aumento na utilização de dispositivos móveis redução de peso, consumo e volume. Portabilidade - > mobilidade.

4 Lindonete Siqueira - Mauro Lopes4 Introdução  Um dispositivo móvel necessita conhecer os serviços que estão disponíveis em uma rede.

5 Lindonete Siqueira - Mauro Lopes5 Introdução  Problema: necessidade de configurar o dispositivo e conhecer a localização dos respectivos recursos.  Solução: componente no sistema que realize esta tarefa. Conhecer os recursos existentes. Selecionar um recurso pretendido, abstraindo detalhes como localização  A este componente chamamos: Descoberta de Serviços.

6 Lindonete Siqueira - Mauro Lopes6 MNCRS  MNCRS Work Group - elaborou uma especificação denominada: Mobile Network Computer Reference Specification (MNCRS), onde é definido o que é um Mobile Network Computer e onde propõe um conjunto de padrões para interação entre aplicações, servidores e protocolos de rede.

7 Lindonete Siqueira - Mauro Lopes7 Especificação MNCRS  O modelo proposto divide-se em dois níveis: Nível superior, que consiste numa API, através da qual as aplicações interrogam a localização dos serviços. Nível inferior, que consiste num protocolo que recebe as interrogações do nível superior, envia a rede, processa-as e retorna ao nível superior, onde por sua vez são repassadas a aplicação.

8 Lindonete Siqueira - Mauro Lopes8 Especificação MNCRS

9 Lindonete Siqueira - Mauro Lopes9 Especificação MNCRS  Esta divisão garante: Os fabricantes de aplicações tem uma interface comum para seu desenvolvimento. Os fornecedores de serviços sabem que seus serviços disponibilizados podem ser usados por clientes móveis.

10 Lindonete Siqueira - Mauro Lopes10 Especificação MNCRS  Acesso à rede e suporte a mobilidade Acesso a rede através de um endereço IP válido para aquela rede. DHCP – permitindo aos dispositivos móveis obterem dinamicamente um endereço IP Problema: deslocamento entre sub-redes.  Protocolo Mobile IP.

11 Lindonete Siqueira - Mauro Lopes11 Service Location Protocol (SLP)  Protocolo padronizado para localização de serviços em ambiente de rede baseado em IP  Preconizado pelo IETF.  Processo automatizado.  SLP fornece mecanismos necessários para a descoberta de serviços na rede, sem a necessidade de conhecer a localização dos mesmos e de configuração manual.

12 Lindonete Siqueira - Mauro Lopes12 Service Location Protocol (SLP)  A arquitetura possui 3 entidades: UA (User Agent) – trabalham em função de um aplicação cliente que pretende localizar um serviço. SA (Server Agent) - trabalham em funçao de um serviço, anunciando sua disponibilidade. * DA (Directory Agent) – funciona como uma central que armazena informações referentes a localização e disponibilidade dos serviços.

13 Lindonete Siqueira - Mauro Lopes13 Interação entre os componentes do SLP

14 Lindonete Siqueira - Mauro Lopes14 Arquitetura do SLP  A comunicação entre os componentes é feita sobre TCP/IP e pode funcionar de duas formas: Ponto a ponto (unicast) Multicast

15 Lindonete Siqueira - Mauro Lopes15 Arquitetura do SLP  Localização de serviços

16 Lindonete Siqueira - Mauro Lopes16 Arquitetura do SLP  Anuncio de serviços

17 Lindonete Siqueira - Mauro Lopes17 Arquitetura do SLP  Anuncio de serviços AS envia uma mensagem – Registro de Serviço ao AD. Mensagem - > URL do serviço.  Sintaxe = serviço: ://. Se serviço deixa de ser disponível, o seu AS envia a mensagem – Fim de Registro de Serviço – ao AD que eliminam esse registro.

18 Lindonete Siqueira - Mauro Lopes18 Arquitetura do SLP  Localização de um DA. Redução de mensagens na rede. Como localizar um AD?  Configuração estática.  DHCP.  Localização ativa.  Localização passiva.

19 Lindonete Siqueira - Mauro Lopes19 Arquitetura do SLP  Localização de um DA.

20 Lindonete Siqueira - Mauro Lopes20 JINI  Sistema de localização de serviços, de propriedade da Sun Microsystems.  Baseado na arquitetura Java.  Funciona sob o mesmo paradigma do SLP.  Tira proveito da possibilidade de trafegar código executável pela rede utilizando RMI para acessar o serviço.

21 Lindonete Siqueira - Mauro Lopes21 JINI  Ao necessitar de um serviço o cliente efetua o download de um objeto proxy Java, um código executável pela JVM, capaz de invocar, remotamente, métodos na entidade que oferece o serviço, e ainda enviar dados necessários ao cumprimento da tarefa.

22 Lindonete Siqueira - Mauro Lopes22 Arquitetura

23 Lindonete Siqueira - Mauro Lopes23 Arquitetura  Cada serviço oferece uma funcionalidade que pode ser acessada através de interfaces definida pelo serviço.  Cada dispositivo pode agir como cliente ou servidor, dependendo se ele está requisitando ou providenciando serviço.

24 Lindonete Siqueira - Mauro Lopes24 Arquitetura  Lookup Service  Discovery Encontrar o Lookup Service  Join

25 Lindonete Siqueira - Mauro Lopes25 Arquitetura Registrando um Serviço - 1

26 Lindonete Siqueira - Mauro Lopes26 Arquitetura Registrando um Serviço - 2

27 Lindonete Siqueira - Mauro Lopes27 Arquitetura Registrando um Serviço - 3

28 Lindonete Siqueira - Mauro Lopes28 Arquitetura Registrando um Serviço - 4

29 Lindonete Siqueira - Mauro Lopes29 Arquitetura Buscando um serviço - 1

30 Lindonete Siqueira - Mauro Lopes30 Arquitetura Buscando um serviço - 2

31 Lindonete Siqueira - Mauro Lopes31 Arquitetura Buscando um serviço - 3

32 Lindonete Siqueira - Mauro Lopes32 Jini  Leasing Um serviço é alugado para um cliente por um quantidade de tempo fixa. Quando expira esse tempo o cliente renova o aluguel pra continuar acessando o serviço. O aluguel expira pra todos os usuários quando o serviço não está disponível.

33 Lindonete Siqueira - Mauro Lopes33 Exemplo: Sistema Infotronic do Chrysler Cruiser 2000 – EUA.

34 Lindonete Siqueira - Mauro Lopes34 Exemplo: Sistema Infotronic do Chrysler Cruiser 2000 – EUA.

35 Lindonete Siqueira - Mauro Lopes35 Exemplo:  Uma impressora pode se conectar a uma rede e divulgar seus serviços.  Pode ainda divulgar mudanças de estado.  Uma câmera digital nessa mesma rede pode achar a impressora e solicitar a impressão de fotos num determinado formato.

36 Lindonete Siqueira - Mauro Lopes36 SLP X JINI  JINI Interface de Serviços Java, RMI, mover objetos entre JVM  SLP Interface – brigde SLP/JINI Qualquer linguagem  Arquiteturas semelhantes

37 Lindonete Siqueira - Mauro Lopes37 MOCA  Ambiente de Programação e Run-time para dispositivos de computação móvel.  Um framework component baseado em componentes de software chamados Serviços  Devido a portabilidade este foi escrito em JAVA.

38 Lindonete Siqueira - Mauro Lopes38 Características do MOCA  100% JAVA  Permite a descoberta dinâmica e download de serviços publicados por dispositivos vizinhos  Pouco consumo de memória (lazy loading)  As aplicações podem residir localmente ou ser descarregadas da rede (software dinâmico)  Uso extensivo da JVM  Alto grau de transparência de localização

39 Lindonete Siqueira - Mauro Lopes39 Arquitetura dos Serviços  O MOCA fornece um serviço de framework que dá suporte ao desenvolvimento e execução de aplicações em dispositivos de computação móvel  Diferença entre Serviço e Aplicação  Serviços Componente de software que encapsula funções específicas e fornece uma interface para estas funcionalidades Podem ser acessados por Aplicações ou outros Serviços Podem ser locais (Cache de arquivos locais) ou remotos (serviço de impressão)

40 Lindonete Siqueira - Mauro Lopes40 Arquitetura dos Serviços  Aplicação Um programa escrito em Java que declara um método main e é distribuído em um ou mais arquivos de classe As aplicações usam serviços através das interfaces fornecidas Cada aplicação possui um único grupo de threads e um espaço de nome privado O acesso aos serviços podem ser limitados através de políticas de segurança

41 Lindonete Siqueira - Mauro Lopes41 Arquitetura dos Serviços

42 Lindonete Siqueira - Mauro Lopes42 Serviço de Registro  Elemento central da Arquitetura do MOCA  Realiza dois papeis Atua como uma central de repositório de serviços Encapsula as políticas de gerenciamento do ciclo de vida dos serviços  Realiza o registro, atualização, resolve e exclui serviços  Descritor de Serviço: Nome da Interface Nome da Implementação URL (opcional)

43 Lindonete Siqueira - Mauro Lopes43 Serviço de Registro  Para obter um Serviço Um objeto pede ao Serviço de Registro realizar um look- up A entrada mínima requerida é o nome da interface do serviço O Serviço de Registro retorna a referencia para uma implementação do objeto cujo a interface foi requerida O requerente pode acessar o Serviço via os métodos disponibilizados na interface  O Serviço de Registro não faz distinção entre serviços locais ou remotos  Lazy Loading  Período de Validade

44 Lindonete Siqueira - Mauro Lopes44 Serviços Essenciais  É um subconjunto dos serviços gerenciados pelo MOCA  Os Serviços Essenciais são usados por serviços customizados ou application class carregadas.  Sem os Serviços Essenciais o MOCA não tem como carregar serviços adicionais ou aplicações  São implementados como uma extensão da JVM  São carregados junto com o processo de carregamento das classes do JAVA e existe no espaço de nome da JVM

45 Lindonete Siqueira - Mauro Lopes45 Serviços Essenciais  Existem 3 Serviços Essenciais Cache de Arquivo Local Carregamento de Arquivos Gerenciamento de Aplicações  Cache de Arquivo Local Gerencia um repositório de arquivos.class do Java, associados aos serviços e aplicações correntemente carregados no dispositivo Implementado no topo do sistema de arquivos local do dispositivo O esquema de substituição do conteúdo da cache pode adotar ambas as políticas (implícita ou explicita) Sem o serviço de cache o MOCA não consegue carregar qualquer serviço ou aplicação

46 Lindonete Siqueira - Mauro Lopes46 Serviços Essenciais  Carregamento de Arquivos Usado para carregar arquivos da Rede É considerado um serviço pseudo-essencial Dispositivos em modo desconectado Inabilidade de descobrir e descarregar qualquer serviço ou aplicação  Gerenciamento da Aplicação Gerenciamento do ciclo de vida da aplicação Utilizado para para criar, suspender ou destruir aplicações Para cada aplicação o Gerente de Aplicações aloca e gerencia um grupo de threads Uso de um espaço de nome privado para isolar aplicações e limitar o conjunto de serviços visíveis pela Aplicação

47 Lindonete Siqueira - Mauro Lopes47 Serviços de Aquisição  Sem uma maneira conveniente de distribuir ou adquirir um componente, o Modelo de Componentes terá pouca chance de ser usado  Um Serviço é composto de duas partes Interface – arquivo de classe da interface Implementação – arquivos de classe da implementação  No MOCA o carregamento de serviços é realizado pelo Serviço de Carregamento de Classes  O carregamento de um Serviço é realizado em um processo de duas fases

48 Lindonete Siqueira - Mauro Lopes48 Serviços de Aquisição  Primeira Fase Ao Serviço de Carregamento de Classe é solicitado a carregar um arquivo de classe de interface do serviço requerido Uso do Repositório de Interfaces  Segunda Fase Os arquivos de classe da implementação do serviço requerido são carregados Localização dos arquivos de implementação URL – usado para serviços descobertos dinamicamente Serviço de Nomes para traduzir nomes de interfaces e implementações em URL

49 Lindonete Siqueira - Mauro Lopes49 Serviços de Aquisição  Arquivos de Classe de Implementação e Interfaces devem fazer parte pacotes Java específicos  Todas as interfaces estão em um pacote service.interfaces  Service.interface.MinhaInterface – arquivo de classe da interface  Service.MinhaInterface – arquivo de classe de implementação

50 Lindonete Siqueira - Mauro Lopes50 Serviços de Aquisição

51 Lindonete Siqueira - Mauro Lopes51 Serviços de Descoberta  MOCA fornece mecanismos que permitem a dispositivos móveis descobrir serviços em dispositivos vizinhos  Alto grau de transparência na localização de serviços  A descoberta de um serviço de impressão provido por uma impressora vizinha  Aplicações MOCA podem adaptar os dispositivos móveis ao ambiente  O Serviço de Descoberta no MOCA é baseado no Modelo Multicast  Serviços exportados são representados por um descritor de Serviço

52 Lindonete Siqueira - Mauro Lopes52 Serviços de Descoberta  Lazy Strategy – Ajuda a minimizar o consumo de memória e o overhead na rede  Período de Validade – semelhante ao Garbage Collection em uma JVM  O Serviço de descoberta no MOCA é implementado por dois serviços opcionais Broadcaster Listener  Broadcaster – lista de serviços exportados  Listener – monitora o broadcast

53 Lindonete Siqueira - Mauro Lopes53 Serviços de Descoberta

54 Lindonete Siqueira - Mauro Lopes54 Segurança  Devido a sua natureza portável e habilidade a dinamicamente descarregar código, dispositivos de computação móvel são particularmente suscetíveis a ataques  Modelo de segurança provido pelo Java é inadequado para controlar o acesso aos recursos em um dispositivo móvel  MOCA dividiu o código descarregado em duas categorias Serviços Aplicação

55 Lindonete Siqueira - Mauro Lopes55 Segurança  Serviços são confiáveis Usa Encriptação e Assinatura Digital Acesso aos recursos do dispositivo determinado por uma política que associa direitos com assinatura de código  Aplicações são não confiáveis Usa serviços para garantir acesso aos recursos Acesso a serviços é determinado por uma política que associa direitos com categorias de aplicações

56 Lindonete Siqueira - Mauro Lopes56 Segurança

57 Lindonete Siqueira - Mauro Lopes57 Serviços de Atualização  MOCA suporta atualização dinâmica da implementação dos serviços  Interface de Serviços devem ser imutáveis  Reescrever uma aplicação devido a mudança de uma interface  Implementação dos Serviços disponíveis podem ser atualizadas a qualquer momento  Adaptadores de Serviços são utilizados para suportar a atualização dinâmica  Para atualizar uma implementação, o Serviço de Registro simplesmente associa o Adaptador com a nova implementação

58 Lindonete Siqueira - Mauro Lopes58 Serviços de Atualização

59 Lindonete Siqueira - Mauro Lopes59 Cenário  Exemplo de como os dispositivos móveis podem descobrir serviços demonstrando de forma prática como esse processo ocorre  Neste cenário veremos como ocorre: A Descoberta de um serviço O Registro dos Serviços Lazy Loading Strategy Período de Validade

60 Lindonete Siqueira - Mauro Lopes60 Sumário de características

61 Lindonete Siqueira - Mauro Lopes61 Bibliografia  Artigos Marcus Amorim Leal, Jini e Redes Espontâneas, PUC- Rio, Introdução à Computação Móvel – Carlos Rodrigo Souza Santos, JINI: Uma arquitetura de computação distribuída baseada na plataforma Java, UFMA, Raul Gupta; Sumeet Talwar; Dharma P. Agrawal, Jini Home Networking: A Step toward Pervasive Computem, IEEE, 2002.

62 Lindonete Siqueira - Mauro Lopes62 Bibliografia  Artigos Bruno F. Souza, A vida, o Universo e Tudo Mais JINI 2.0 Segurança em Aplicações, Revista Java Magazine. Edição 11. Rui F. Pereira; Mário J. Silva, Descoberta de Serviços em Ambientes Móveis, Faculdade de Ciências da Universidade de Lisboa. Alexandre A. Pires; Otto Carlos M. B. Duarte, Segurança em Localização de Serviços.

63 Lindonete Siqueira - Mauro Lopes63 Bibliografia  Site The Jini Product Home Page, disponível na www em Sun Microsystems.http://java.sun.com/jini l l cpaper.pdf


Carregar ppt "Descoberta de Serviços em Ambientes Móveis Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva."

Apresentações semelhantes


Anúncios Google