size=2>Clique aqui para ler este artigo em PDFimagem_pdf.jpg

.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 em nosso Desktop, e a base de dados instalada em um servidor de dados.

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 ...

Quer ler esse conteúdo completo? Tenha acesso completo