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
102 CAPÍTULO 6. NÚCLEO DO SISTEMA DOORS Ao permitir que os clientes propaguem entre si versões modificadas dos coobjectos/subobjectos, per- mite-se que os utilizadores observem imediatamente as operações executadas provisoriamente por ou- tros utilizadores. Apesar de a execução dessas operações ser provisória, os utilizadores podem (devem) evitar operações que entrem em conflito com as operações executadas pelos outros utilizadores. Adicio- nalmente, é necessário ter em atenção que, em geral, para as operações executadas posteriormente num cliente não é registada a dependência relativa às operações provisórias executadas nos outros clientes (embora seja possível manter essa informação). Este problema foi discutido na secção 4.1. 6.3.6 Serviço de awareness De forma semelhante ao que acontece no servidor, cada cliente do sistema DOORS tem associado um serviço de awareness. O objectivo deste serviço é permitir aos utilizadores terem conhecimento das actividades que os outros utilizadores estão a executar concorrentemente. No cliente, este serviço apenas permite a propagação de informação utilizando o sistema de disseminação de eventos Deeds [45]. 6.4 Sumário Neste capítulo descreveu-se o núcleo do sistema DOORS e a sua implementação no protótipo criado. O núcleo do sistema fornece os serviços básicos necessários para suportar o modelo do sistema DOORS. O protótipo do sistema comprova a exequibilidade do modelo proposto. O modelo de funcionamento do sistema DOORS, incluindo as suas principais características e técni- cas usadas para a gestão de dados partilhados num ambiente de computação móvel foram apresentadas nos capítulos 3 e 4. A utilização do modelo proposto para suportar aplicações cooperativas tipicamente assíncronas foi descrito no capítulo 5. Nos próximos capítulos apresenta-se um sistema de gestão de bases de dados relacionais para am- bientes de computação móvel. Apesar desse sistema partilhar com o sistema DOORS um conjunto de princípios básicos, as técnicas usadas para colocar esses princípios em prática são distintas.
Capítulo 7 Apresentação do sistema Mobisnap Nos próximos capítulos descreve-se um sistema de gestão de bases de dados para ambientes de com- putação móvel: o sistema Mobisnap [126, 33, 128]. Este sistema tem por objectivo permitir que múlti- plos utilizadores acedam e modifiquem uma base de dados relacional, a partir de computadores móveis, mesmo durante os períodos de desconexão. Na secção 2.2 foram apresentadas algumas das aplicações típicas que se pretendem suportar com este sistema: um sistema de suporte a uma força de vendas móvel, um sistema de reserva de lugares e uma agenda partilhada. O sistema Mobisnap é construído como uma camada intermédia de sistema (middleware) e baseia-se numa arquitectura cliente estendido/servidor [78]. O servidor mantém a cópia principal dos dados. Os clientes mantêm cópias parciais para fornecer uma elevada disponibilidade de acesso. As aplicações modificam o estado da base de dados através da submissão de pequenos programas escritos na linguagem PL/SQL [112]. Este programas, designados transacções móveis, são executados de forma provisória no cliente e, mais tarde, de forma definitiva, no servidor. Para permitir garantir os resultados das transacções móveis nos clientes, os utilizadores podem obter reservas sobre os dados. Este mecanismo de reservas, detalhado no capítulo 8, permite garantir que não surgirá nenhum conflito quando uma transacção é executada no servidor. No capítulo 9 apresenta-se uma avaliação do modelo do sistema Mobisnap, incluindo o sistema de reservas. No capítulo 10 descreve-se um mecanismo de reconciliação que permite optimizar o conjunto de transacções móveis que podem ser executadas. Até ao final deste capítulo descreve-se o modelo geral, a arquitectura do sistema e detalham-se as transacções móveis. 7.1 Modelo geral O sistema Mobisnap é um sistema de gestão de bases de dados para ambientes de computação móvel baseado numa arquitectura cliente estendido/servidor. O servidor mantém a cópia principal da base 103
- Page 69 and 70: Capítulo 4 Descrição das funcion
- Page 71 and 72: 4.1. RECONCILIAÇÃO 53 Segundo, um
- Page 73 and 74: 4.1. RECONCILIAÇÃO 55 4.1.3 Ordem
- Page 75 and 76: 4.1. RECONCILIAÇÃO 57 4.1.4.2 Ver
- Page 77 and 78: 4.1. RECONCILIAÇÃO 59 No decurso
- Page 79 and 80: 4.3. INVOCAÇÃO CEGA 61 4.3 Invoca
- Page 81 and 82: 4.4. INTEGRAÇÃO DE SESSÕES SÍNC
- Page 83 and 84: 4.4. INTEGRAÇÃO DE SESSÕES SÍNC
- Page 85 and 86: 4.4. INTEGRAÇÃO DE SESSÕES SÍNC
- Page 87 and 88: Capítulo 5 Avaliação do modelo d
- Page 89 and 90: 5.1. EDITOR MULTI-SÍNCRONO DE DOCU
- Page 91 and 92: 5.1. EDITOR MULTI-SÍNCRONO DE DOCU
- Page 93 and 94: 5.1. EDITOR MULTI-SÍNCRONO DE DOCU
- Page 95 and 96: 5.2. AGENDA PARTILHADA 77 Figura 5.
- Page 97 and 98: 5.2. AGENDA PARTILHADA 79 de awaren
- Page 99 and 100: Capítulo 6 Núcleo do sistema DOOR
- Page 101 and 102: 6.1. COOBJECTOS 83 o mesmo estado i
- Page 103 and 104: 6.2. SERVIDORES 85 global a associa
- Page 105 and 106: 6.2. SERVIDORES 87 segundo servidor
- Page 107 and 108: 6.2. SERVIDORES 89 6.2.2 Sincroniza
- Page 109 and 110: 6.2. SERVIDORES 91 6.2.3 Serviço d
- Page 111 and 112: 6.2. SERVIDORES 93 ao cliente compl
- Page 113 and 114: 6.2. SERVIDORES 95 • Emulação d
- Page 115 and 116: 6.3. CLIENTES 97 do coobjecto consi
- Page 117 and 118: 6.3. CLIENTES 99 seguinte informaç
- Page 119: 6.3. CLIENTES 101 A propagação as
- Page 123 and 124: 7.1. MODELO GERAL 105 encomenda de
- Page 125 and 126: 7.2. ARQUITECTURA 107 BD réplica C
- Page 127 and 128: 7.2. ARQUITECTURA 109 O subsistema
- Page 129 and 130: 7.3. TRANSACÇÕES MÓVEIS 111 7.3
- Page 131 and 132: 7.3. TRANSACÇÕES MÓVEIS 113 abor
- Page 133 and 134: Capítulo 8 Reservas Neste capítul
- Page 135 and 136: 8.1. TIPOS DE RESERVAS 117 8.1.4 Re
- Page 137 and 138: 8.2. CONCESSÃO E GARANTIA DE RESPE
- Page 139 and 140: 8.2. CONCESSÃO E GARANTIA DE RESPE
- Page 141 and 142: 8.3. PROCESSAMENTO DAS TRANSACÇÕE
- Page 143 and 144: 8.4. PROCESSAMENTO DAS TRANSACÇÕE
- Page 145 and 146: 8.5. EXEMPLOS 127 id tipo tabela co
- Page 147 and 148: 8.5. EXEMPLOS 129 1 ------ COMPRA 1
- Page 149 and 150: Capítulo 9 Avaliação do modelo b
- Page 151 and 152: 9.1. APLICAÇÕES 133 1 ------ REMO
- Page 153 and 154: 9.2. RESERVAS 135 dentemente em dif
- Page 155 and 156: 9.2. RESERVAS 137 seguinte forma. P
- Page 157 and 158: 9.2. RESERVAS 139 Commit (% total)
- Page 159 and 160: 9.2. RESERVAS 141 Commit (% total)
- Page 161 and 162: 9.2. RESERVAS 143 Commit (% total)
- Page 163 and 164: 9.2. RESERVAS 145 Commit (% total)
- Page 165 and 166: 9.2. RESERVAS 147 Por exemplo, no c
- Page 167 and 168: Capítulo 10 Sistema de reconcilia
- Page 169 and 170: 10.2. RELAÇÕES ESTÁTICAS 151 10.
102 CAPÍTULO 6. NÚCLEO DO SISTEMA DOORS<br />
Ao permitir que os clientes propagu<strong>em</strong> entre si versões modificadas dos coobjectos/subobjectos, per-<br />
mite-se que os utilizadores observ<strong>em</strong> imediatamente as operações executadas provisoriamente por ou-<br />
tros utilizadores. Apesar <strong>de</strong> a execução <strong>de</strong>ssas operações ser provisória, os utilizadores po<strong>de</strong>m (<strong>de</strong>v<strong>em</strong>)<br />
evitar operações que entr<strong>em</strong> <strong>em</strong> conflito com as operações executadas pelos outros utilizadores. Adicio-<br />
nalmente, é necessário ter <strong>em</strong> atenção que, <strong>em</strong> geral, para as operações executadas posteriormente num<br />
cliente não é registada a <strong>de</strong>pendência relativa às operações provisórias executadas nos outros clientes<br />
(<strong>em</strong>bora seja possível manter essa informação). Este probl<strong>em</strong>a foi discutido na secção 4.1.<br />
6.3.6 Serviço <strong>de</strong> awareness<br />
De forma s<strong>em</strong>elhante ao que acontece no servidor, cada cliente do sist<strong>em</strong>a DOORS t<strong>em</strong> associado um<br />
serviço <strong>de</strong> awareness. O objectivo <strong>de</strong>ste serviço é permitir aos utilizadores ter<strong>em</strong> conhecimento das<br />
activida<strong>de</strong>s que os outros utilizadores estão a executar concorrent<strong>em</strong>ente. No cliente, este serviço apenas<br />
permite a propagação <strong>de</strong> informação utilizando o sist<strong>em</strong>a <strong>de</strong> diss<strong>em</strong>inação <strong>de</strong> eventos Deeds [45].<br />
6.4 Sumário<br />
Neste capítulo <strong>de</strong>screveu-se o núcleo do sist<strong>em</strong>a DOORS e a sua impl<strong>em</strong>entação no protótipo criado. O<br />
núcleo do sist<strong>em</strong>a fornece os serviços básicos necessários para suportar o mo<strong>de</strong>lo do sist<strong>em</strong>a DOORS.<br />
O protótipo do sist<strong>em</strong>a comprova a exequibilida<strong>de</strong> do mo<strong>de</strong>lo proposto.<br />
O mo<strong>de</strong>lo <strong>de</strong> funcionamento do sist<strong>em</strong>a DOORS, incluindo as suas principais características e técni-<br />
cas usadas para a <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> <strong>partilhados</strong> num ambiente <strong>de</strong> <strong>computação</strong> <strong>móvel</strong> foram apresentadas<br />
nos capítulos 3 e 4. A utilização do mo<strong>de</strong>lo proposto para suportar aplicações cooperativas tipicamente<br />
assíncronas foi <strong>de</strong>scrito no capítulo 5.<br />
Nos próximos capítulos apresenta-se um sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> relacionais para am-<br />
bientes <strong>de</strong> <strong>computação</strong> <strong>móvel</strong>. Apesar <strong>de</strong>sse sist<strong>em</strong>a partilhar com o sist<strong>em</strong>a DOORS um conjunto <strong>de</strong><br />
princípios básicos, as técnicas usadas para colocar esses princípios <strong>em</strong> prática são distintas.