!! Conrado Carneiro Bicalho!!!!!



Documentos relacionados
Introdução ao Modelos de Duas Camadas Cliente Servidor

Arquitetura dos Sistemas de Informação Distribuídos

Sistemas Distribuídos

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Bancos de Dados Móveis

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Conceitos de Banco de Dados

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

5 Mecanismo de seleção de componentes

SISTEMA GERENCIADOR DE BANCO DE DADOS

ISO/IEC 12207: Gerência de Configuração

LINGUAGEM DE BANCO DE DADOS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

XDOC. Solução otimizada para armazenamento e recuperação de documentos

3 SCS: Sistema de Componentes de Software

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Desenvolvendo Websites com PHP

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

SISTEMAS DISTRIBUÍDOS

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Fundamentos de Banco de Dados

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Sistemas Operacionais

Aplicação Prática de Lua para Web

Um Driver NDIS Para Interceptação de Datagramas IP

Considerações a serem feitas antes da implantação.

GESTÃO DE SISTEMAS OPERACIONAIS II

3 Arquitetura do Sistema

PROJETO E IMPLANTAÇÃO DE INTRANETS

Gerenciamento de Incidentes

*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.

Sistemas Distribuídos

Disciplina de Banco de Dados Introdução

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Bancos de Dados III. Replicação de Dados. Rogério Costa Replicação

Considerações no Projeto de Sistemas Cliente/Servidor

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

IW10. Rev.: 02. Especificações Técnicas

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Entendendo como funciona o NAT

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Prof. Marcelo Machado Cunha

9. Quais as características a tecnologia de conexão à Internet denominada ADSL A) Conexão permanente, custo variável, linha telefônica liberada e

Manual Replicação Manual VPN

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Sistemas de Informação I

Curso de Aprendizado Industrial Desenvolvedor WEB

MODELO CLIENTE SERVIDOR

Noções de. Microsoft SQL Server. Microsoft SQL Server

Equipamentos de Redes. Professor Leonardo Larback

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Manual AGENDA DE BACKUP

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Manual do Visualizador NF e KEY BEST

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Apresentação. E&L ERP Sistema Gerencial de Informações. PostgreSQL 8.2/ 8.3. Domingos Martins ES. v. 1.0

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Comparativo de desempenho do Pervasive PSQL v11

Docente: Éberton da Silva Marinho

Relatorio do trabalho pratico 2

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Itinerários de Ônibus Relatório Final

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

PARANÁ GOVERNO DO ESTADO

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Agregador de feeds RSS para dispositivos móveis

SISTEMAS DISTRIBUIDOS

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

1

Manual AGENDA DE BACKUP

REDE DE COMPUTADORES

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

SISTEMAS DISTRIBUÍDOS

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Projeto Arquitetural do IEmbedded

Transcrição:

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Conrado Carneiro Bicalho Bancos de Dados em Dispositivos Móveis Ouro Preto 2014

SUMÁRIO 1 INTRODUÇÃO.. 3 2 COMPUTAÇÃO MÓVEL. 3 2.1 Dispositivos Móveis... 4 2.1.1 Recuperação de Falhas... 4 3 ARQUITETURA DO BANCO DE DADOS. 5 3.1 Cliente-Servidor.... 5 3.2 Cliente-Agente Servidor-Servidor... 5 3.3 Cliente-Agente Cliente-Servidor..... 6 3.4 Cliente-Agente Cliente-Agente Servidor-Servidor..... 7 4 SISTEMAS GERENCIADORES DE BANCO DE DADOS MÓVEIS.. 7 5 COMUNICAÇÃO................ 8 REFERÊNCIAS... 9

1 INTRODUÇÃO Com a popularização dos dispositivos móveis e o crescente uso nas mais diversas áreas, identificou-se uma necessidade que algumas tecnologias e conceitos tivessem que ser adaptados ou re estruturadas. Nesse trabalho, abordaremos as diferenças identificadas em um sistema de banco de dados para dispositivos móveis. Por se tratar de um ambiente sensível, onde perda de conexão com uma rede são esperadas, como exemplo, a perda de sinal telefônico, mudança de local físico que não tenha mais a disponibilidade de rede WiFi ou esgotamento da energia, é fundamental que o sistema de banco de dados utilizado nesse ambiente, disponha de mecanismos de recuperação de falhas específicos para essas situações.. Neste trabalho, abordaremos tópicos relacionados a banco de dados em dispositivos móveis, analisando aplicações, vantagens, desvantagens e um pouco do funcionamento. 2 COMPUTAÇÃO MÓVEL Consiste em um ambiente composto por estações em uma rede fixa, fornecendo a comunicação e conteúdo para dispositivos desconectados fisicamente, conhecidos como dispositivos móveis. A mobilidade apresentada por esses dispositivos é a base de todo conceito da computação móvel. Segundo Forman e Zahorjan, o ambiente de computação móvel é caracterizado por sua particularidade de comunicação, mobilidade e portabilidade. (FORMAN e ZAHORJAN, 1994). Sua arquitetura consiste da já conhecida infra-estrutura de comunicação fixa com computadores estáticos, ligada a uma parte móvel. Podemos definir essas parte móvel como uma área ou célula, onde exista a comunicação sem fio dos dispositivos móveis. Dentro dessas células ocorre a livre movimentação dos dispositivos, podendo ocorrer também a movimentação de uma célula para outra. É importante ressaltar que a computação móvel pode ser vista como uma variação da computação distribuída e as questões relativas à gerencia de dados distribuídos também podem ser aplicadas aos bancos de dados móveis. São os casos de distribuição

e replicação de dados, modelos de transações, processamento de consultas, recuperação e tolerância à falhas e projeto de banco de dados, casos estes que passam a ser avaliados com o intuito de atender os requisitos do ambiente da computação móvel. FIGURA 1: Rede estática associada a uma rede de dispositivos móveis 2.1 Dispositivos Móveis Conforme definido por Ozu e Valduriez, dispositivos móveis ou mobile stations são computadores portáteis interligados em rede através de conexões sem fio. Possibilita ao usuário um ambiente com alto grau de mobilidade, possibilitando a troca de informações enquanto se deslocam ou trabalham em locais diferentes do seu ambiente normal. (OZU e VALDURIEZ, 1999). Suas principais características são: Localização Dinâmica, mobilidade, desconexão e capacidade limitada das baterias. 2.1.1 Recuperação de Falhas Além dos métodos já conhecidos utilizados em ambientes de dispositivos físicos, há também métodos para falhas especificas em dispositivos móveis. Handoff, ocorrer em situações que o dispositivo móvel ultrapassa o limite de uma célula para outra. Esse processo envolve a atualização dos bancos de dados locais, utilizado nos dispositivos móveis. FIGURA 2: Situação onde ocorre handoff. 4

3 ARQUITETURA DO BANCO DE DADOS A utilização de banco de dados em ambientes de computação móvel torna-se particularmente interessante pela possibilidade da manipulação de dados tanto sob a forma conectada a um sistema externo, quanto sob a forma desconectada, ou seja, local. A mobilidade criada pelos dispositivos móveis trouxe um novo impulso na utilização dos banco de dados. A inserção de novas informações nos dispositivos, independente do local onde ele se encontre, sem a necessidade do estabelecimento de uma conexão com a rede estacionária, abre caminho para a criação de novas situações e com isso novos softwares. A seguir, algumas arquiteturas utilizadas em sistemas de banco de dados móvel. 3.1 Cliente-Servidor Arquitetura tradicional, em que uma aplicação é executada no cliente, no caso o dispositivo móvel, que emite solicitações de dados para o servidor principal. Para que o sistema de banco de dados móvel possa ser atendido na totalidade, atendendo situações como mobilidade e desconexão, é necessário que se façam adaptações na arquitetura. A camada servidor faz a maior parte do trabalho de gerenciamento de dados, enquanto a camada cliente é responsável pela interface e interação com o usuário, além de administrar uma memória local para a solicitação e armazenamento do resultado das consultas. FIGURA 3: Arquitetura Cliente - Servidor. 3.2 Cliente-Agente Servidor-Servidor Arquitetura cliente-servidor otimizada, onde um agente que represente o cliente é incluído no servidor. O cliente pode realizar requisições e caso fica fora antes de receber a resposta, o agente se encarrega de armazenar o resultado da requisição e entrega-lo ao cliente quando o mesmo retornar a rede. Este modelo é mais apropriado para clientes móveis com limitado poder computacional. Assim, diversas funções do cliente móvel, migram para o agente. Essa arquitetura não oferece suporte para o trabalho desconectado. Os agentes podem: - Processar os dados da consulta e enviar somente o resultado para o cliente; - Compactar os dados antes de enviar - Processar as buscas e enfileirar as respostas quando o cliente estiver desconectado; - Alterar a ordem da transmissão de dados para os clientes, de acordo com a prioridade. 5

FIGURA 4: Arquitetura Cliente - Agente Servidor - Servidor. É importante frisar que os clientes também podem acumular requisições para envia-las em blocos para o agente, pois isso economiza bateria. Após enviarem as requisições, os clientes podem entrar em modo de cochilo, economizando assim bateria. 3.3 Cliente-Agente Cliente-Servidor Embora pouco utilizada, essa arquitetura apresenta um agente ao lado do cliente ao invés de mante-lo no lado servidor. De certa forma, podemos dizer que esse agente amplia as funções do cliente, geralmente pobres em recursos computacionais. Podemos destacar algumas atividades como: - Administrar a memória cache disponível no cliente. - Disponibilizar memória progressivamente para o cliente móvel durante o trafego da rede (prefetching) - Copiar parte do banco de dados para a memória local do cliente (hoarding) - Otimizar a comunicação entre cliente e servidor. FIGURA 5: Arquitetura Cliente - Agente Cliente - Servidor. 6

3.4 Cliente-Agente Cliente-Agente Servidor-Servidor (Cliente-interceptador-servidor) Soluciona o problema do trabalho desconectado, citado na arquitetura anterior. A figura do agente foi replicada" para o lado do cliente, além da já disponível no servidor. Os agentes interceptam as requisições clientes e servidores trabalhando de forma cooperativa no atendimento de cada requisição. A possibilidade de trabalhar com desconexões é possível devido ao uso de um cache no agente do cliente. Durante o período de desconexão, as unidades móveis terão suas requisições atendidas através da utilização do cache mantido pelo agente. Caso a informação requerida não esteja disponível no cache local, uma requisição será enfileirada pelo agente-cliente e no momento da reconexão será entregue ao agente-servidor. A utilização de memória cache para a execução de consultas e operações de atualizações de itens de dados, contribui na diminuição da utilização dos recursos de processamento e comunicação da unidade móvel. O cliente, pode efetuar o armazenamento da informações necessárias para sua operação e trabalhar livremente sob a forma desconectada. Há na literatura diversas análises sobre qual informação deve ser colocada em cache e como categoriza-las, porém não irei entrar em detalhes, por se tratar de um assunto muito especifico. FIGURA 6: Arquitetura Cliente - Agente Cliente - Agente Servidor - Servidor. 4 SISTEMAS GERENCIADORES DE BANCO DE DADOS MÓVEIS (SGBDm) Com o crescimento da utilização da computação móvel para os mais diversos segmentos da sociedade, surgiu a preocupação de adaptar os SGBDs para situações encontradas apenas nesse ambiente, por isso desenvolvedores de banco de dados comerciais passaram a investir em produtos para esse novo ambiente. A principal característica desses softwares é que eles agem quando há uma desconexão do cliente, atuando assim como um banco de dados local, mas para isso é necessário que haja uma carga de dados antecipada. Podemos listar como exemplo, os seguintes SGBD móveis: - Oracle Lite - DB2 Everyplace - Microsoft SQL Server 2005 Mobile Edition - Sybase SQL Anywhere Afim de simplificar a vida dos desenvolvedores, foram criadas bibliotecas que funcionam como mini-sgbds e possibilitam criar um arquivo local no cliente móvel e são capazes de ler e escrever diretamente nesse arquivo. Como exemplo, temos o SQLite, onde é possível criar e manter 7

diversas tabelas, utilizando-se dos mesmo comandos do SQL. Os dados na tabela são manipulados através de comandos DML (INSERT, UPDATE e DELETE) e são consultados utilizando o SELECT. Algumas características do SQLite: - Todo o banco de dados é guardado localmente em um arquivo de extensão.db - Suporta a maior parte do SQL 92 - Não oferece integridade referencial (chaves estrangeiras) - Suporta o uso de transações (COMMIT, ROLLBACK) - Não deve ser utilizado nos seguintes casos: aplicações de alta concorrência e sistemas ou aplicações web de grande porte. 5 COMUNICAÇÃO Principal fator que diferencia o Banco de Dados de dispositivos móveis de um sistema normal. Devido a situações citadas anteriormente, onde ocorrem a desconexão, cria-se três estados distintos, descritos a seguir: - Hoarding (acumulação): nesse estado há um pré-carregamento de itens de dados no dispositivo móvel, podendo ser acessado pela aplicação local a qualquer momento e armazenado no cache. - Local operations (operações locais): nessa situação a unidade móvel encontra-se desconectada da rede fixa, portanto ela realiza operações apenas sobre os dados locais. É importante destacar, que ocorrem operações locais, apenas depois da acumulação. - Reconciliation (reconciliação): Após ocorrer a reconexão, os dados são atualizados, gerando uma situação de concorrência e garantindo a não existência de inconsistência nos dados atualizados. 5.1 Sistema de comunicação A comunicação entre o servidor e o cliente (dispositivo móvel) ocorre na maioria das vezes por requisições HTTP/HTTPs de POST e GET e as informações retornadas pelo servidor são na maioria dos casos em formato XML ou JSON. A seguir alguns exemplos da comunicação: 5.1.1 Verificando a existência do usuário no servidor Um GET é feito com as informações e-mail, senha e tipo de aplicação utilizada. Caso as informações sejam corretas, o servidor retornará por exemplo as informações completas do usuário em JSON, por exemplo: Caso contrário, uma mensagem de erro será retornada: 8

REFERÊNCIA BIBLIOGRÁFICA AMADO, Paulo G. F.; 2002. Bancos de Dados Móveis: visão geral, desafios e soluções atuais. Recife. CÔRTES, Sérgio da Costa; LIFSCHITZ, Sérgio. Sistema de gerência de banco de dados baseados em agentes para um ambiente de computação móvel. Pontifícia Universidade Católica de São Paulo, Junho de 2002. GALLIANO, Eduardo. Banco de dados móvel. Londrina, 2007. ITO, Giani C.; 2001. Bancos de dados móveis: uma análise de soluções propostas para gerenciamento de dados. MATEUS, G. R.; LOUREIRO, A. A. F. Introdução à computação móvel. Material didático do Departamento de ciências da computação da UFMG. 1998. SILVA, F.; ENDLER, M. Requisitos e Arquiteturas de Software para Computação Móvel. I Workshop SIDAM - Sistemas de Informação Distribuída de Agentes Móveis, 2000 9