.NET Mobile
SQL Server Compact Edition e SQL Server 2005
Conheça os métodos disponíveis para sincronizar os dados entre um dispositivo cliente e um servidor
Neste artigo veremos
· O que é o SQL Server Compact Edition;
· O que é Remote Data Access (RDA);
· O que é Merge Replication.
Qual a finalidade
· Entender como uma aplicação embarcada (que possui uma versão da base de dados instalada junto com o aplicativo) pode ter dados sincronizados com o servidor.
Quais situações utilizam esses recursos?
Resumo do DevMan
Neste artigo conheceremos os métodos disponibilizados pelo SQL Server Compact Edition para sincronizar os dados provenientes de um dispositivo cliente e um servidor SQL Server.
Quando temos uma aplicação embarcada e precisamos sincronizar os dados armazenados no dispositivo cliente, com os dados disponíveis no servidor.
Com o .NET Compact Framework e o Visual Studio 2005, criar aplicações Mobile já não apresenta grandes dificuldades. Temos um ambiente completo e robusto para a criação de aplicativos para diversos fins e para uma série de dispositivos móveis como Palm’s, celulares, Pocket PC’s.
Quando criamos sistemas no padrão Client/Server, normalmente temos o executável de nosso sistema instalado
E quando criamos um sistema mobile? Onde nem sempre é possível conectar-se a internet, pois o usuário está espalhado em diversas regiões, e com isso fora do perímetro da rede wireless?
No caso onde o acesso às informações é difícil ou impossível. Uma boa alternativa é instalar no dispositivo do usuário uma versão do banco de dados. O usuário inclui os dados pertinentes em sua base local, e no final de um período pré-determinado ele os envia ao BD da empresa. Este envio de dados é chamado de Sincronização.
O processo de sincronização de dados pode ser definido como o ato de tornar duas bases de dados (localizadas em dispositivos distintos) iguais, ou seja, sincronizados. Para sincronizar os dados, normalmente o dispositivo móvel envia-os ao servidor. No servidor, as informações são incluídas e depois uma cópia dessa base é feita no dispositivo cliente.
Neste artigo falaremos sobre a sincronização e replicação de dados de um dispositivo móvel para um servidor.
O SQL Server Compact Edition
Como o próprio nome diz, é uma versão compacta da engine do SQL Server. Esta versão, embora seja focada para a instalação em dispositivos móveis, pode ser usada (sem nenhum problema) em Desktop’s.
Esta versão do SQL Server é gratuita podendo ser instalada em seu cliente sem problemas de licenciamento. Além disso, o SSCE (SQL Server Compact Edition) pode ser instalado em seu cliente (seja ele Desktop ou Mobile) de maneira embarcada, ou seja, junto com a sua aplicação.
O SSCE adota o mesmo modelo de programação das outras edições do SQL Server, permitindo aos desenvolvedores usar seus conhecimentos e competências adquiridas nas demais versões. O SSCE pode atingir um tamanho máximo de 4GB de dados, possui compatibilidade total com o ADO.NET, Transact-SQL e oferece grandes facilidade para a sincronização de dados entre o cliente e o servidor.
A performance do SSCE é otimizada, já que ele pode ser usado de forma embarcada em uma aplicação Mobile. Faz pouco uso de memória e processador, caso contrário geraria um gargalo em todos os sistemas que fizessem uso dele.
Mesmo sendo uma versão compacta do SQL Server os seguintes itens continuam sendo suportados:
· Total integridade referencial, com suporte a Deletes e Updates em cascata;
· Múltiplas conexões e operações em segundo plano (este item aplica-se principalmente quando SSCE é instalado em Desktop’s);
· Arquivos de dados protegidos com senha e protegidos com criptografia de 128 bits;
· Suporte a transações, permitindo Rollback e Commit delas;
· Diversos tipos de dados;
· Suporta bases de dados de até 4 GB;
· Oferece um grande número de funções, tais como: Sum, Avg, Count, Inner e Outer Join, SubSelect, cláusulas Group By e Having;
· Cursores de dados.
Escolhendo o método de sincronização
Quando criamos uma aplicação cliente que deve ser sincronizada com um servidor, devemos estar atentos a diversos fatores. Para que o trabalho de manutenção não seja exaustivo, e os dados provenientes de todas as bases de dados mantenham-se consistentes, é necessário elaborar uma estratégia de sincronização e garantir que os passos desta estratégia sejam cumpridos.
Após a decisão de criar uma aplicação que possui uma base de dados local, a segunda decisão é o modo como sincronizaremos os dados. Temos duas maneiras que devem ser analisadas:
· Merge Replication ...