Partilhar via


Visão geral da sincronização entre cliente e servidor

O Sync Framework permite sincronizar dados de origens diferentes por meio de arquiteturas de duas camadas, de N camadas e baseadas em serviços. A API do Sync Framework para sincronização entre cliente e servidor fornece um conjunto de componentes para sincronizar os dados entre os serviços de dados e um repositório local, em vez de somente replicar um banco de dados e seu esquema. Cada vez mais os aplicativos estão sendo usados em clientes móveis, como computadores e dispositivos portáteis. Como esses clientes móveis não têm uma conexão de rede consistente nem confiável com um servidor central, é importante para esses aplicativos trabalharem com uma cópia local de dados no cliente. Igualmente importante é a necessidade de sincronizar a cópia local de dados com um servidor central quando uma conexão de rede está disponível. Modelada de acordo com as APIs de acesso a dados do ADO.NET, a API de sincronização de banco de dados do Sync Framework fornece uma maneira intuitiva de sincronizar dados. O Sync Framework transforma os aplicativos gerados para ambientes ocasionalmente conectados em uma extensão lógica de aplicativos gerados nos quais você pode depender de uma conexão de rede consistente. Para obter mais informações sobre a arquitetura da API, consulte Arquitetura e classes para sincronização entre cliente e servidor.

Comparando o Sync Framework com outras tecnologias

A Microsoft oferece várias tecnologias projetadas para aplicativos que são executados ocasionalmente em ambientes conectados. As tecnologias mais significativas são:

  • RDA (Remote Data Access) É usado para sincronizar um banco de dados do SQL Server Compact com um banco de dados em outra edição do SQL Server.

  • Replicação de mesclagem É usada para sincronizar diferentes edições do SQL Server e inclui o SQL Server Compact.

Use a tabela a seguir para ajudar a determinar qual tecnologia é adequada para os aplicativos que você deseja criar.

Recurso principal RDA Replicação de mesclagem Sync Framework

Sincronizar usando serviços

Não

Não

Sim

Oferece suporte a bancos de dados heterogêneos

Não

Não

Sim

Controle de alterações incrementais

Não1

Sim

Sim

Detecção e resolução de conflitos

Não

Sim2

Sim

Criar facilmente exibições de dados no cliente3

Não

Não

Sim

Inicializar automaticamente o esquema e os dados

Sim

Sim

Sim

Oferece suporte a grandes conjuntos de dados

Sim

Sim

Sim

Propagar automaticamente alterações no esquema

Não

Sim

Não

Repartir dados automaticamente

Não

Sim

Não

Usar em dispositivos

Sim

Sim

Sim

1 O RDA oferece suporte a carregamentos incrementais, mas os downloads são sempre um instantâneo que atualiza todos os dados no cliente.

2 A replicação de mesclagem fornece resolução de conflitos internos. O Sync Framework fornece uma estrutura para criar o esquema de resolução de conflitos. Para obter mais informações, consulte Como tratar conflitos de dados e erros.

3 Para obter mais informações, consulte Como criar exibições de dados em um cliente.

O Sync Framework oferece a flexibilidade de um modelo de programação, como conjuntos de dados offline e um conjunto de recursos de sincronização mais rico, como aquele encontrado na replicação de mesclagem. A funcionalidade do Sync Framework é superior a do RDA. A replicação de mesclagem é destinada a administradores de banco de dados e foi projetada para sincronizar bancos de dados do SQL Server. A replicação de mesclagem fornece funcionalidade significativa com configuração disponível por meio de assistentes, procedimentos armazenados e sua própria API. O Sync Framework é destinado a desenvolvedores e permite que um desenvolvedor crie facilmente exibições de dados no cliente com base em um banco de dados de servidor ou outra fonte de dados. O Sync Framework oferece suporte a bancos de dados heterogêneos e à sincronização sobre serviços, como o WCF (Windows Communication Foundation). Se o aplicativo envolver a sincronização com bancos de dados não SQL Server ou se o aplicativo precisar ter componentes separados para habilitar a sincronização por transportes ou serviços diferentes, use o Sync Framework.

Para alguns aplicativos, a decisão de usar uma tecnologia é fácil: se for necessário sincronizar uma fonte de dados diferente de um banco de dados do SQL Server, o Sync Framework será a solução. Se você for um administrador de banco de dados que deseja configurar a sincronização sem muita programação, a replicação de mesclagem pode ser a melhor opção. Essencialmente, você deve considerar com atenção os requisitos do aplicativo e determinar se a API Sync Framework é a tecnologia adequada a ser usada. Se quiser ir além da replicação de um esquema e de seus dados de um banco de dados para outro, é recomendável usar o Sync Framework.

Dica

Nem o RDA nem a replicação de mesclagem podem ser usados com o Sync Framework na mesma tabela do banco de dados do cliente.

Usando a documentação do Sync Framework

Os tópicos da documentação do Sync Framework fornecem uma introdução detalhada à API de sincronização de banco de dados do Sync Framework, código de exemplo e uma referência à API. É possível encontrar a referência à API para sincronização entre cliente e servidor em Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServerCe e Microsoft.Synchronization.Data.Server.

Para obter mais informações, é recomendável ler a documentação na seguinte ordem:

  1. Obtenha informações sobre a arquitetura da API e as classes mais importantes em Arquitetura e classes para sincronização entre cliente e servidor.

  2. Analise o código de um aplicativo básico em Guia de introdução: sincronização entre cliente e servidor.

  3. Obtenha informações sobre as ferramentas que podem ser usadas para ajudar a desenvolver um aplicativo em Ferramentas para ajudar no desenvolvimento de aplicativos.

  4. Para aprender a executar tarefas comuns, navegue pelos tópicos em Programando tarefas comuns de sincronização do cliente e do servidor. Estes tópicos contêm código de exemplo. Exemplos adicionais estão disponíveis no SDK do Sync Framework e na Galeria de Códigos.

  5. Depois de ler essas seções, você poderá avaliar a orientação de design fornecida em Considerações sobre implantação e design de aplicativos. À medida que você se familiarizar com a API, recomendamos que inicie a codificação: você verá como é fácil adicionar sincronização a um aplicativo.

Consulte também

Conceitos

Cenários offline
Arquitetura e classes para sincronização entre cliente e servidor