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

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

Descoberta de Serviços em Ambientes Móveis

Apresentações semelhantes


Apresentação em tema: "Descoberta de Serviços em Ambientes Móveis"— 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 Lopes
Conteúdo Introdução MNCRS SLP JINI Moca Bibliografia Lindonete Siqueira - Mauro Lopes

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

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

5 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

6 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

7 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

8 Lindonete Siqueira - Mauro Lopes
Especificação MNCRS Lindonete Siqueira - Mauro Lopes

9 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

10 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

11 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. Lindonete Siqueira - Mauro Lopes

12 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. Lindonete Siqueira - Mauro Lopes

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

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

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

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

17 Lindonete Siqueira - Mauro Lopes
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:<tipo>://<endereç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. Lindonete Siqueira - Mauro Lopes

18 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

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

20 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

21 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

22 Lindonete Siqueira - Mauro Lopes
Arquitetura Lindonete Siqueira - Mauro Lopes

23 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

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

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

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

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

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

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

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

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

32 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

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

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

35 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

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

37 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

38 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 Lindonete Siqueira - Mauro Lopes

39 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) Lindonete Siqueira - Mauro Lopes

40 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 Lindonete Siqueira - Mauro Lopes

41 Arquitetura dos Serviços
Lindonete Siqueira - Mauro Lopes

42 Lindonete Siqueira - Mauro Lopes
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) Lindonete Siqueira - Mauro Lopes

43 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

44 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

45 Lindonete Siqueira - Mauro Lopes
Serviços Essenciais Existem 3 Serviços Essenciais Cache de Arquivo Local Carregamento de Arquivos Gerenciamento de Aplicações 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 Lindonete Siqueira - Mauro Lopes

46 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

47 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

48 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

49 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

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

51 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 Lindonete Siqueira - Mauro Lopes

52 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 Lindonete Siqueira - Mauro Lopes

53 Serviços de Descoberta
Lindonete Siqueira - Mauro Lopes

54 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

55 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

56 Lindonete Siqueira - Mauro Lopes
Segurança Lindonete Siqueira - Mauro Lopes

57 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 Lindonete Siqueira - Mauro Lopes

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

59 Lindonete Siqueira - Mauro Lopes
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 Lindonete Siqueira - Mauro Lopes

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

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

62 Lindonete Siqueira - Mauro Lopes
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. Lindonete Siqueira - Mauro Lopes

63 Lindonete Siqueira - Mauro Lopes
Bibliografia Site The Jini Product Home Page, disponível na www em Sun Microsystems. Lindonete Siqueira - Mauro Lopes


Carregar ppt "Descoberta de Serviços em Ambientes Móveis"

Apresentações semelhantes


Anúncios Google