Esse artigo faz parte da revista .NET Magazine edição 60. Clique aqui para ler todos os artigos desta edição

 

te, sincronizar os dados locais com este repositório remoto.

Enquanto a conectividade não estiver presente em todos os lugares, ainda será necessário construirmos maneiras de manter os dados consistentes e, em algum momento, sincronizados. É factível que os programadores criem seus próprios métodos de sincronização utilizando recursos da linguagem e ferramentas de desenvolvimento, mas neste caso temos que tomar cuidado, pois existem várias características desse problema que tornam os algoritmos mais complexos: como será feita a coerência com o cache local? Como trabalhar com conflitos de sincronização? Como lidar com uma possível interrupção da conexão durante o processo de sincronização? Como garantir que o algoritmo de sincronização será eficiente?

 Para ajudar os desenvolvedores, retirando das suas costas a preocupação com a sincronização dos dados e liberando mais tempo para focar nas regras de negócios (o que é realmente importante), a Microsoft criou o Synchronization Framework.

O Synchronization Framework é uma plataforma de sincronização que habilita a colaboração entre aplicações, serviços e dispositivos, permitindo a troca de dados a partir de fontes distintas (e de formatos diferenciados), usando diferentes protocolos e topologias. Sendo uma plataforma extensível, podemos pensar na sincronização de arquivos (músicas, vídeos, documentos, imagens), registros de bancos de dados, informações vindas de serviços web e feeds (RSS/ATOM).

As características de sua arquitetura já oferecem aos desenvolvedores recursos para detecção e resolução de conflitos, armazenamento de dados, erros de conectividade em redes não confiáveis, além de um algoritmo performático e uma API de fácil uso. Nas próximas seções vamos entender como é organizada a arquitetura do Synchronization framework e como podemos criar uma aplicação que sincronize seus dados.

 

Nota: o synchronization framework não é disponibilizado diretamente através do .NET framework, mas sim através da instalação do SQL Server 2008 ou pelo download direto do framework, que pode ser encontrado na seção de downloads da Microsoft.

 

Arquitetura do Synchronization Framework

Um dos objetivos do Synchronization framework é manter uma arquitetura extensível, onde os mesmos algoritmos sejam utilizados para diferentes fontes de dados, seja um banco de dados, um arquivo XML ou um serviço web. Os principais componentes dessa arquitetura, descritos abaixo, podem ser observados na Figura 1.

 

Figura 1. Componentes do Synchronization Framework

 

·     Metadados: mantém informações sobre os dados que estão sendo manipulados pelo framework. Através dos metadados é possível saber quais são as versões dos registros, aqueles que foram manipulados e qual o “conhecimento” dos dados, informação vital para a o processo de sincronização;

...

Quer ler esse conteúdo completo? Tenha acesso completo