Esse artigo faz parte da revista WebMobile edição 18. Clique aqui para ler todos os artigos desta edição

p>

Aprenda a manipular bancos de dados em dispositivos móveis

 

Nos últimos anos, a tecnologia móvel vem passando por profundas mudanças, impulsionadas principalmente pela crescente exigência do mercado em oferecer melhores produtos e serviços aos seus consumidores. Esta exigência obriga as empresas a primarem pela produtividade e eficiência das suas operações, onde quer que seus funcionários e colaboradores estejam. Como resultado, estamos presenciando uma explosão de dispositivos móveis, cada vez mais presentes no nosso dia-a-dia e que permitem estender as fronteiras do negócio, através da utilização de soluções voltadas para esta plataforma.

Aplicações móveis trazem grandes benefícios para as empresas, pois permitem a aproximação com os clientes, onde eles estiverem. Entretanto, ao tornar uma aplicação móvel, surge um dos maiores desafios desta plataforma: a disponibilidade dos dados. Na grande maioria dos casos, os usuários de soluções móveis estão desconectados da empresa, não tendo acesso aos dados que tanto precisam para realizar suas operações. Logo, o acesso aos dados é uma necessidade essencial para o bom funcionamento do negócio, independente da conectividade ou não com a empresa.

Para atender esta necessidade e superar os problemas causados pela mobilidade, a Microsoft possui uma engine de banco de dados gratuita voltada para clientes móveis: o SQL Server Compact Edition. Atualmente na versão 3.5, o SSCE possibilita a manipulação de dados no próprio cliente, sem a necessidade de conexão com o servidor de dados da empresa. Em um momento posterior, o usuário pode se conectar a este servidor e atualizar os dados a partir das operações realizadas e armazenadas no dispositivo móvel, garantindo assim a integridade e a atualização dos dados da solução. Desta forma, os dados continuam acessíveis para o usuário e a aplicação se mantém disponível, onde quer que estejam.

Neste artigo, apresentaremos o SQL Server Compact e a sua importância no desenvolvimento de aplicações para desktop e dispositivos móveis. Veremos suas principais características, funcionalidades e aplicações, além dos requisitos necessários para a sua instalação. Também vamos mostrar como criar e gerenciar bancos de dados armazenados. No final, mostraremos como funciona o processo de replicação de dados entre um servidor SQL Server e um dispositivo móvel.

Visão Geral

O SQL Server Compact Edition é uma engine embarcada de bando de dados gratuita, voltada para o desenvolvimento de aplicações desktop e móveis na plataforma Windows (XP, Vista, Pocket PC e Smartphones).

Atualmente na versão 3.5, é possível a criação e manipulação de bancos de dados compactos utilizados por aplicações monousuárias. Neste tipo de aplicação, o banco de dados é distribuído junto com o programa, de forma embarcada, e ambos são instalados no mesmo dispositivo. Logo, a conexão da aplicação com o banco e todas as operações de manipulação dos dados é efetuada localmente. Desta forma, o SSCE pode ser utilizado em diversos cenários, que vão desde pequenas aplicações até soluções empresariais com módulos móveis.

Outra característica interessante desta edição é a eficiência na utilização dos recursos. Como o SQL Server Compact Edition é voltado para dispositivos móveis, onde processador e outros recursos são escassos, a sua engine ocupa apenas 2MB de espaço e utiliza 5MB de memória para suas operações. Esta otimização torna a execução do serviço de dados praticamente imperceptível e permite que uma mesma solução possa ser distribuída em diferentes ambientes.

Falando em desempenho, os bancos de dados nesta edição suportam índices, recurso que aumenta a velocidade e a eficiência das consultas. Também, de forma semelhante a um servidor de dados SQL Server, o processamento das consultas utiliza as estatísticas criadas pelo otimizador (Query Optimizer), resultando na utilização inteligente dos recursos do sistema.

Em relação aos dados, a arquitetura de armazenamento é voltada para dispositivos móveis, utilizando o espaço necessário de forma eficiente. Além disso, todas as transações efetuadas no banco de dados utilizam as propriedades de atomicidade, consistência, isolamento e durabilidade (ACID) para garantir a confiabilidade dos dados.

Além disso, o SQL Server Compact compartilha a mesma estrutura de programação das outras edições do SQL Server, além de trabalhar com vários comandos e recursos das linguagens Transact-SQL e ADO.NET, o que facilita o seu aprendizado por desenvolvedores e administradores de bancos de dados.

Recursos importantes, como a integridade referencial com suporte a atualizações e remoções em cascata, a utilização de um arquivo único de dados protegido com senha e criptografia de 128-bits, o suporte as consultas aninhadas na cláusula FROM, e o suporte as algumas cláusulas importantes (Top, Cast, Inner Join, Outer Join, Group By e Having), permitem a criação de aplicações robustas de forma simples e rápida.

Outra facilidade para os profissionais que administram servidores SQL Server é a utilização do SQL Server Management Studio como gerenciador de bancos de dados do SQL Server Compact Edition. O Management Studio é o software de gerenciamento de instâncias do SQL Server, e permite a manipulação e a integração entre bases de dados de todas as edições do SQL Server, concentrando as tarefas realizadas pelos administradores de dados em um único ambiente. Outro software importante para administradores e desenvolvedores é o SQL Server Compact 3.5 Query Analyzer, um gerenciador de bancos de dados especial, voltado para ambientes móveis.

Ainda falando de gerenciamento, os desenvolvedores podem criar e gerenciar o SSCE a partir do Visual Studio, facilitando a distribuição de aplicações desenvolvidas em .NET Framework e .NET Compact Framework.

Por fim, o recurso mais importante do SQL Server Compact é a sincronização dos dados entre cliente e servidor. Este recurso permite a atualização de dados entre o cliente (dispositivo móvel) e o servidor de dados, de forma a garantir a confiabilidade e a atualização da solução, independente da existência de conectividade entre as partes.

Um cenário prático de utilização do recurso de sincronismo é o de aplicações corporativas móveis. Em muitos momentos, os usuários destas aplicações não estão conectados ao servidor de dados, mas precisam realizar diversas operações relacionadas ao seu trabalho, tais como consultas e atualizações. Nestes casos, o SQL Server Compact Edition permite ao usuário armazenar e manipular dados no banco instalado localmente, através da aplicação móvel. Estes dados podem ser sincronizados em um momento posterior, quando o cliente restabelecer a conexão com o servidor de dados, possibilitando aos funcionários executar diversas tarefas quando estão fora da empresa.

Aplicações do SSCE

Um dos processos mais importantes durante o planejamento de uma instalação do SQL Server é a escolha da edição. O SQL Server possui seis edições: Enterprise, Developer, Standard, Workgroup, Express e Compact. Cada uma destas edições atende ambientes de porte definido, de forma que o SQL Server suporta soluções de todos os tamanhos, desde sistemas para microempresas até soluções corporativas. A Figura 1 apresenta um diagrama que auxilia os profissionais na escolha da edição correta do SQL Server.

 

Figura 1. Diagrama de escolha da edição do SQL Server

Como o SQL Server Compact trabalha com bancos de dados armazenados localmente, ele é a solução recomendada para ambientes móveis, como a plataforma Windows Mobile. Mas, quando o cenário em questão é o Desktop, o diagrama mostra que o administrador pode optar pelas edições Express ou Compact do SQL Server para atender aos requisitos da aplicação.

A edição Express é uma das mais conhecidas pelos profissionais, pois possibilita o desenvolvimento de bancos de dados para pequenos sistemas com até 10 conexões simultâneas, além da sua utilização e distribuição ser totalmente gratuita. Entretanto, o que poucos profissionais sabem é que a edição Compact também pode ser utilizada como provedora de dados para aplicações Desktop. Além disso, assim como a edição Express, a edição Compact é gratuita e também pode ser distribuída livremente.

Logo, para definir qual edição escolher no caso de aplicações locais, o profissional precisa conhecer as características e restrições destas duas edições do SQL Server. A Tabela 1 mostra um breve comparativo entre as edições Compact e Express.

 

Recursos e Características

Compact Edition

Express Edition

Espaço em Disco

1.7MB (Download)

1.8MB (Instalado)

53.8MB (Download)

197MB (Instalado) ...

Quer ler esse conteúdo completo? Tenha acesso completo