1 / 63

Descoberta de Serviços em Ambientes Móveis

Descoberta de Serviços em Ambientes Móveis. Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva. Conteúdo. Introdução MNCRS SLP JINI Moca Bibliografia. Introdução. Aumento na utilização de dispositivos móveis redução de peso, consumo e volume. Portabilidade - > mobilidade.

hanzila
Download Presentation

Descoberta de Serviços em Ambientes Móveis

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. Descoberta de Serviços em Ambientes Móveis Lindonete Gonçalves Siqueira Mauro Carvalho Lopes Silva

  2. Conteúdo • Introdução • MNCRS • SLP • JINI • Moca • Bibliografia Lindonete Siqueira - Mauro Lopes

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

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

  5. 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. 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. 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. Especificação MNCRS Lindonete Siqueira - Mauro Lopes

  9. 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. 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 MobileIP. 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. 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. Arquitetura do SLP • Localização de serviços Lindonete Siqueira - Mauro Lopes

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

  17. 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. 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. Arquitetura do SLP • Localização de um DA. Lindonete Siqueira - Mauro Lopes

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

  23. 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. Arquitetura • Lookup Service • Discovery • Encontrar o Lookup Service • Join Lindonete Siqueira - Mauro Lopes

  25. ArquiteturaRegistrando um Serviço - 1 Lindonete Siqueira - Mauro Lopes

  26. ArquiteturaRegistrando um Serviço - 2 Lindonete Siqueira - Mauro Lopes

  27. ArquiteturaRegistrando um Serviço - 3 Lindonete Siqueira - Mauro Lopes

  28. ArquiteturaRegistrando um Serviço - 4 Lindonete Siqueira - Mauro Lopes

  29. ArquiteturaBuscando um serviço - 1 Lindonete Siqueira - Mauro Lopes

  30. ArquiteturaBuscando um serviço - 2 Lindonete Siqueira - Mauro Lopes

  31. ArquiteturaBuscando um serviço - 3 Lindonete Siqueira - Mauro Lopes

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

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

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

  46. 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. 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. 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. 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. Serviços de Aquisição Lindonete Siqueira - Mauro Lopes

More Related