Thursday, July 15, 2010

Microsoft Sync Framework – an overview

We know Data synchronization refers to the process of ensuring synchronization of data at the source - destination and keep them in coherence with each other. So here Microsoft comes with a new set of framework which eases the process of sync and provides high level flexibility to the developers to build one.

Microsoft Sync Framework is a comprehensive synchronization platform enabling collaboration and offline for applications, services and devices. The main motto of the system is its ability to integrate any application, any data from any store using any protocol over any network.

They have provided a number of built in providers which support almost all the data sources participating in sync process. Here we have
• Database synchronization providers: Synchronization for ADO.NET-enabled data sources
• File synchronization provider: Synchronization for files and folders
• Web synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds

Also they have provided the flexibility for developers to create custom providers to meet their requirements.

Core components
Basically we have a Sync provider, Microsoft Sync Framework Runtime, Data Source and Meta data acting as the core components of the system. The data source is the location where all information which needs to be synchronized is stored. It can be a relational database, a file, a Web Service or even a custom data source. Meta data refers to the data about the data stored with reference to the state and change information.

Synchronization flow

Source is referred to as the replica where synchronization is initiated. The replica source connects to is known as destination. We have the following steps involved for single directional/bi directional sync process
• Synchronization Session Initiated with Destination
• Destination Prepares and Sends Knowledge
• Destination Knowledge used to Determine Changes to be sent
• Change Versions and Source Knowledge sent to Destination
• Local Version Retrieved for Change Items and Compared against Source Version and Knowledge
• Conflicts are Detected and Resolved or Deferred
• Destination Requests Item Data from Source
• Source Prepares and Sends Item Data
• Items are applied at Destination

Let’s have the following advantages for the Microsoft Sync Framework
• Sync support to new and existing applications
• Easy to build occasionally connected systems capable for synchronization.
• Collaboration and off line capabilities
• Independent of data store and protocols
• Leverages the power of change tracking in SQL Server 2008

You can expect more post on this topic in coming days. Meanwhile for a detailed reference please ping back Microsoft Sync Framework Developer Center

No comments:

Post a Comment

Installing ASP.NET MVC

Installing ASP.NET MVC Before we dive deep into the ASP.NET MVC, let’s install it our development machine. This is very straight forwa...