11.04.2013 Views

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

108 CAPÍTULO 7. APRESENTAÇÃO DO SISTEMA MOBISNAP<br />

O sist<strong>em</strong>a Mobisnap apresenta uma aproximação evolutiva, permitindo aos clientes legados (legacy)<br />

continuar<strong>em</strong> a ace<strong>de</strong>r directamente à base <strong>de</strong> <strong>dados</strong> central. Como é óbvio, os clientes que acedam<br />

directamente à base <strong>de</strong> <strong>dados</strong> central não po<strong>de</strong>m utilizar as funcionalida<strong>de</strong>s do sist<strong>em</strong>a Mobisnap.<br />

7.2.1 Servidor<br />

O servidor Mobisnap é composto por um conjunto <strong>de</strong> subsist<strong>em</strong>as que interag<strong>em</strong> para executar as funci-<br />

onalida<strong>de</strong>s do sist<strong>em</strong>a Mobisnap.<br />

O sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> mantém o valor da base <strong>de</strong> <strong>dados</strong> manipulada pelas aplicações.<br />

Adicionalmente, armazena, <strong>de</strong> forma estável, toda a informação interna dos vários componentes do<br />

servidor.<br />

Qualquer sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> que impl<strong>em</strong>ente as seguintes funcionalida<strong>de</strong>s po<strong>de</strong><br />

ser usado num servidor Mobisnap. Primeiro, <strong>de</strong>ve fornecer uma interface que utilize a linguag<strong>em</strong><br />

SQL’92 [76]. Segundo, <strong>de</strong>ve impl<strong>em</strong>entar um mecanismo <strong>de</strong> gatilhos (triggers), usado pelo subsist<strong>em</strong>a<br />

<strong>de</strong> reservas. Terceiro, <strong>de</strong>ve impl<strong>em</strong>entar um mecanismo <strong>de</strong> transacções encaixadas (nested transacti-<br />

ons) ou gravação e reposição total do estado (checkpoint), usado pelo mecanismo <strong>de</strong> reconciliação. No<br />

protótipo do sist<strong>em</strong>a Mobisnap usou-se o sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> Oracle 8 [113].<br />

O subsist<strong>em</strong>a <strong>de</strong> reservas efectua a <strong>gestão</strong> completa das reservas, como se <strong>de</strong>talha no próximo ca-<br />

pítulo. No funcionamento <strong>de</strong>ste subsist<strong>em</strong>a po<strong>de</strong>m ser i<strong>de</strong>ntificadas três activida<strong>de</strong>s compl<strong>em</strong>entares.<br />

Primeiro, o processamento dos pedidos <strong>de</strong> obtenção <strong>de</strong> reservas. Segundo, o processamento das utiliza-<br />

ções das reservas. Terceiro, a <strong>gestão</strong> da valida<strong>de</strong> das reservas no t<strong>em</strong>po e dos recursos a elas associados.<br />

O subsist<strong>em</strong>a <strong>de</strong> replicação é responsável por gerir a interacção com os clientes no âmbito da <strong>gestão</strong><br />

das réplicas dos clientes. No protótipo do sist<strong>em</strong>a, o servidor limita-se a processar os pedidos <strong>de</strong> obtenção<br />

e actualização das cópias parciais secundárias submetidos pelos clientes. Estes pedidos são especificados<br />

através <strong>de</strong> uma instrução <strong>de</strong> interrogação baseada na instrução SQL select.<br />

Numa versão mais completa da <strong>gestão</strong> da replicação secundária, este subsist<strong>em</strong>a po<strong>de</strong> ser responsável<br />

pelas seguintes activida<strong>de</strong>s compl<strong>em</strong>entares. Primeiro, a inferência <strong>de</strong> regras <strong>de</strong> acesso aos <strong>dados</strong> a ser<strong>em</strong><br />

utilizadas pelo mecanismo <strong>de</strong> replicação antecipada (várias soluções foram propostas na literatura [87,<br />

91]). Segundo, o controlo da divergência entre a cópia principal e as cópias secundárias armazenadas<br />

nos clientes (várias soluções foram propostas na literatura [6, 146, 173]). Como se referiu anteriormente,<br />

estes probl<strong>em</strong>as, relativos à <strong>gestão</strong> da replicação secundária, estão fora do âmbito <strong>de</strong>sta dissertação.<br />

O subsist<strong>em</strong>a <strong>de</strong> controlo <strong>de</strong> execução é responsável por controlar a execução das transacções móveis<br />

recebidas do cliente. Este processo, <strong>de</strong>scrito na secção 7.3, é efectuado utilizando um interpretador <strong>de</strong><br />

PL/SQL <strong>em</strong> que os comandos SQL são executados directamente sobre a base <strong>de</strong> <strong>dados</strong> 2 .<br />

2 Esta aproximação permite que a base <strong>de</strong> <strong>dados</strong> utilizada não necessite <strong>de</strong> executar programas PL/SQL.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!