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.

6.2. SERVIDORES 93<br />

ao cliente completar a sua cópia parcial, como se <strong>de</strong>screve na secção 6.3.1.<br />

submitChanges Permite, ao cliente, enviar uma sequência <strong>de</strong> operações executadas num coobjecto.<br />

Uma sequência <strong>de</strong> operações contém o i<strong>de</strong>ntificador da versão à qual as operações foram executa-<br />

das <strong>de</strong> forma a permitir traçar as <strong>de</strong>pendências causais das operações. Quando este i<strong>de</strong>ntificador<br />

<strong>de</strong> versão correspon<strong>de</strong>r a uma vista diferente da vista actualmente instalada, o i<strong>de</strong>ntificador é actu-<br />

alizado recorrendo a uma função <strong>de</strong>finida no coobjecto <strong>de</strong> filiação. O servidor entrega a sequência<br />

<strong>de</strong> operações recebida à cópia local do coobjecto através duma operação <strong>de</strong>finida na interface do<br />

coobjecto.<br />

submitNewCoObject Permite, ao cliente, enviar para o servidor o estado <strong>de</strong> um novo coobjecto criado<br />

no cliente. Como anteriormente, este estado contém os atributos do sist<strong>em</strong>a e uma sequência<br />

opaca <strong>de</strong> bytes obtida no cliente através da interface do coobjecto. Um método <strong>de</strong>finido na fábrica<br />

do coobjecto é responsável por criar, usando a sequência <strong>de</strong> bytes recebida do cliente, a cópia<br />

inicial do coobjecto (incluindo todos os subobjectos <strong>de</strong>finidos inicialmente) no servidor. Para criar<br />

um coobjecto <strong>de</strong> um novo tipo, é necessário criar primeiro o coobjecto que armazena o código<br />

necessário para o instanciar.<br />

submitSyncQuery Permite, a um cliente, enviar uma operação <strong>de</strong> leitura para execução imediata no ser-<br />

vidor. O servidor executa imediatamente a operação na cópia local do coobjecto usando a interface<br />

do coobjecto. O servidor <strong>de</strong>volve ao cliente, não apenas o resultado da operação executada, mas<br />

também, a versão do coobjecto à qual foi executada. Esta operação permite especificar condições<br />

para a execução da operação — por ex<strong>em</strong>plo, po<strong>de</strong> indicar-se que apenas se preten<strong>de</strong> executar<br />

a operação numa dada versão do coobjecto (ver <strong>de</strong>talhes na secção 6.3.3). Se o servidor não se<br />

encontra nas condições indicadas, a operação não é executada, <strong>de</strong>volvendo um erro ao cliente.<br />

submitSyncOperation Permite, a um cliente, submeter uma sequência <strong>de</strong> operações <strong>de</strong> modificação<br />

para execução imediata. Como anteriormente, o servidor entrega imediatamente a operação à<br />

cópia local do coobjecto para execução. O servidor <strong>de</strong>volve ao cliente a versão da cópia local do<br />

coobjecto após as operações ter<strong>em</strong> sido entregues (a execução imediata <strong>de</strong>stas operações na cópia<br />

local do servidor não é garantida, pois <strong>de</strong>pen<strong>de</strong> da estratégia <strong>de</strong> reconciliação usada no coobjecto).<br />

De forma s<strong>em</strong>elhante à operação anterior, é possível especificar condições para a execução da<br />

operação.<br />

Como se observa pelas <strong>de</strong>scrições anteriores, o núcleo do sist<strong>em</strong>a <strong>de</strong>lega nos coobjectos a maioria<br />

das acções que <strong>de</strong>v<strong>em</strong> ser executadas. Esta aproximação permite manter o núcleo do sist<strong>em</strong>a simples, ao<br />

mesmo t<strong>em</strong>po que permite a impl<strong>em</strong>entação <strong>de</strong> diferentes soluções <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> <strong>partilhados</strong>.

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

Saved successfully!

Ooh no, something went wrong!