Visão geral do Sync Framework

O Microsoft Estrutura de sincronização é uma plataforma de sincronização abrangente que permite a colaboração e o acesso offline para aplicativos, serviços e dispositivos. O Estrutura de sincronização apresenta tecnologias e ferramentas que permitem o acesso a dados de locais diferentes, o compartilhamento de dados e a colocação de dados offline. Ao usar o Estrutura de sincronização, os desenvolvedores podem criar ecossistemas de sincronização que integram qualquer aplicativo com dados de qualquer armazenamento usando qualquer protocolo em qualquer rede. Por exemplo, o software de PIM (gerenciamento de informações pessoais) pode usar o Estrutura de sincronização para propagar atualizações de dados de PIM para todos os participantes. Os aplicativos de negócios que compartilham dados, como documentos, podem usar o Estrutura de sincronização para garantir que todos os membros da equipe recebam atualizações de documentos e que todos os conflitos em atualizações simultâneas sejam tratados corretamente. Um software de gerenciamento de mídia executado em um computador pessoal que gerencia mídia em um dispositivo móvel pode usar o Estrutura de sincronização para to executar com facilidade atualizações para o dispositivo.

Tecnologias do Sync Framework

As seguintes tecnologias compõem o Estrutura de sincronização:

  • Componentes principais do Sync Framework, usados para criar provedores de sincronização para qualquer tipo de armazenamento de dados.

  • Microsoft Sync Services for ADO.NET, usado para sincronizar bancos de dados para cenários offline e de colaboração.

  • Metadata Storage Service, usado para armazenar metadados de sincronização em um armazenamento de dados superficiais.

  • Sync Services for File Systems, usado para sincronizar arquivos e pastas em um sistema de arquivos.

  • Sync Services for FeedSync, usado para sincronizar RSS e Atom feeds com dados em um armazenamento local.

Benefícios do uso de metadados

O Estrutura de sincronização usa metadados que incluem todas as informações necessárias para executar a sincronização. Os metadados são pequenos e eficientes e o Estrutura de sincronização fornece componentes que tratam várias tarefas que envolvem metadados. O uso de metadados mantém o tipo de dados de sincronização agnóstico e ajuda manter o equilíbrio entre liberdade, interoperabilidade e simplicidade. A tabela a seguir lista e descreve alguns benefícios de metadados que o Estrutura de sincronização fornece.

Benefício Descrição

Concisão

Os metadados são concisos, pois não têm vetores de versão por item e ainda são suficientes para sincronização com um ou vários mestres.

Eficiência

Os metadados são eficientes, pois usam enumeração de alteração mínima, mesmo em loops.

Exatidão

O Estrutura de sincronização usa detecção de conflito precisa, que não ocasiona a subdetecção ou a superdetecção bem como o envio excessivo de alterações. Isso se aplica a dados não estruturados, como arquivos, e a dados estruturados, como o rastreamento de alterações detalhado.

Flexibilidade

Os usuários podem usar qualquer armazenamento e técnica para armazenar metadados, adicionar verbos aos seus protocolos e usar técnicas próprias para otimizar as operações de sincronização.

Interoperabilidade

Os metadados são estabelecidos. Portanto, é possível ter suporte a topologias arbitrárias.

Facilidade

O Estrutura de sincronização fornece um kit de ferramentas padrão. Ele trata muitas das complexidades inerentes à sincronização de vários mestres. O kit de ferramentas também pode ser personalizado para permitir que usuários façam alterações para obter melhor desempenho.

Útil

Estrutura de sincronização gerencia tantos metadados quantos forem necessários. Por exemplo, um aplicativo pode decidir tratar somente carimbos de data/hora e deixar o Estrutura de sincronização tratar as versões, o conhecimento e o armazenamento de metadados. O aplicativo não precisa rastrear exclusões, pois o Estrutura de sincronização as calcula de uma lista. E o aplicativo não precisa rastrear as alterações, pois o Estrutura de sincronização as calcula dos hashes. Se for necessário, o Estrutura de sincronização também pode fornecer suporte completo a vários mestres para armazenamentos herdados.

Arquitetura de alto nível

A arquitetura Estrutura de sincronização permite o fluxo de dados entre qualquer quantidade de réplicas de dispositivo, serviço e aplicativo extraindo o armazenamento de dados, o mecanismo de transferência e os esquemas para um conjunto de blocos de construção. Os blocos de construção do Estrutura de sincronização são o tempo de execução, os serviços de metadados e o provedor. O tempo de execução realiza a sincronização entre os provedores. Os provedores usam os serviços de metadados para processar e armazenar metadados.

A ilustração a seguir mostra a arquitetura de alto nível do Estrutura de sincronização. Observe que a sincronização é obtida pela exposição das interfaces do provedor de um armazenamento de dados ao objeto de sessão de sincronização. Por exemplo, um armazenamento de dados de catálogo de endereços e um armazenamento de dados de dispositivo desejam sincronizar Contatos públicos. A sessão de sincronização conecta os dois provedores e faz chamadas de API para determinar o que foi alterado e o que deve ser aplicado usando os serviços de metadados.

Tempo de execução

O tempo de execução realiza a sincronização ao iniciar, hospedar e cancelar a sessão de sincronização. Ele também comunica o status, os conflitos e os erros ao aplicativo cliente. O tempo de execução obtém a sincronização em nome do aplicativo cliente fazendo solicitações aos provedores por meio de um objeto de sessão de sincronização. As interfaces gerenciadas e não gerenciadas dão acesso ao tempo de execução. Para obter mais informações, consulte Aplicativos de sincronização.

Serviços de metadados

Este componente ajuda os aplicativos a trabalhar com os metadados de sincronização. Ele libera os aplicativos e os provedores de terem que entender o funcionamento interno e os detalhes dos metadados, por exemplo, estruturas de conhecimento. Ele também fornece o Metadata Storage Service, um componente de armazenamento de metadados opcional para aplicativos que não têm um local lógico para armazenar os metadados de sincronização. O Metadata Storage Service usa um armazenamento de dados leve e é executado no processo de cliente. As interfaces gerenciadas e não gerenciadas dão acesso aos serviços de metadados. Para obter mais informações, consulte Gerenciamento de metadados.

Provedor

Um provedor usa uma camada de interface para ocultar as complexidades do seu armazenamento de dados do tempo de execução. O provedor é o ponto de integração principal com o Estrutura de sincronização. A implementação de um provedor é a principal tarefa de desenvolvimento para sincronizar dados personalizados. Um provedor pode implementar uma versão gerenciada ou não gerenciada da interface. Para obter mais informações, consulte Provedores de sincronização.

Consulte também

Referência

Microsoft.Synchronization

Conceitos

Referência não gerenciada do Sync Framework
Aplicativos de sincronização
Gerenciamento de metadados
Provedores de sincronização

Outros recursos

Microsoft Sync Framework