Understanding the Microsoft Sync Framework
The Microsoft Sync Framework Can Integrate Applications into Offline or Collaboration-based Networks
By Joydip Kanjilal
Microsoft s answer to a synchronization platform for offline data accessibility is here. The Sync Framework, as it is called, is a comprehensive framework for synchronizing offline data with the online counterpart. Using this framework, you can build applications that can synchronize data from any data store using any protocol over the network. Hence, it is independent of the protocol used and the data store that contains the data to be synchronized.
This is what Microsoft has to say: Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. Using Microsoft Sync Framework, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network. This article outlines the features of this awesome synchronization platform from Microsoft.
Why the Microsoft Sync Framework?
The ability for the synchronization to support offline and online data is the greatest benefit that this framework offers. The major goal of the Microsoft Sync Framework is to enable any data source to be integrated in the data synchronization, irrespective of its type. Imagine a scenario where the sales data entered in offline mode by a sales person of a company needs to be in sync with the data available online. The sales person might be using a smart phone or a PDA and might connect to the remote corporate network to retrieve the latest data and information. It is critical for the company to ensure that the data and information that is available is consistent and in sync, irrespective of the modes in which they are looked at. This is where the Sync Framework comes into play.
These are some of the salient features of the Microsoft Sync Framework:
- A powerful synchronization model independent of the underlying data store, data type, or protocol in use
- Extensible provider model
- Built-in support for filters and data conflict resolution
- Sync support for file systems, databases, and SSEs
The Sync Framework comes with support for ADO.NET, File Systems, RSS, Atom Feeds, and even Custom Data Stores. Here is the list of the components that comprise the Microsoft Sync Framework:
- Synchronization Services for ADO.NET
- Synchronization Services for Simple Sharing Extensions (SSE)
- Synchronization Services for file systems
- Metadata Services
- Synchronization Providers
In the above list, the first three are synchronization providers. You can even create custom providers using the Microsoft Sync Framework Runtime to facilitate the support for data synchronization the way you want.
Who Are the Participants?
A discussion on the Sync Framework is incomplete without understanding the participants. A participant refers to the location from where the data to be synchronized is retrieved. Note that any one type of a participant can synchronize data from any other type of participant. Participants can be one of the following types:
- Simple Participants
- Partial Participants
- Full Participants
Refer to http://msdn.microsoft.com/sync for more information on the Microsoft Sync Framework.
The Microsoft Sync Framework documentation states, Microsoft Sync Services for ADO.NET lets you synchronize data from different sources over two-tier, N-tier, and service-based architectures. The Sync Services for ADO.NET API for client and server synchronization provides a set of components to synchronize data between data services and a local store, instead of only replicating a database and its schema.
This article has touched on some of the awesome features and benefits of the Microsoft Sync Framework. Please send me your comments. Happy reading!
Joydip Kanjilal is a Microsoft MVP in ASP.NET. He is the author of ASP.NET Data Presentation Controls Essentials (Packt Publishing; http://www.packtpub.com/asp-net-data-presentation-controls/book). He has more than 12 years of industry experience in IT with more than six years in Microsoft .NET and its related technologies. He has authored articles for some of the most reputable sites, like http://www.asptoday.com, http://www.devx.com, http://www.aspalliance.com, http://www.aspnetpro.com, http://www.sql-server-performance.com, http://www.sswug.com, etc. Many of these articles have been selected at http://www.asp.net (Microsoft s Official Site on ASP.NET). Joydip also was a community credit winner at http://www.community-credit.com a number of times. He is currently working as a Senior Consultant in a reputable company in Hyderabad, India. He has years of experience in designing and architecting solutions for various domains. His technical strengths include C, C++, VC++, Java, C#, Microsoft .NET, AJAX, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Joydip blogs at http://aspadvice.com/blogs/joydip and spends most of his time reading books, blogging, and writing books and articles. His hobbies include watching cricket and soccer, and playing chess. Contact Joydip via e-mail at mailto:[email protected] and view his MVP profile at https://mvp.support.microsoft.com/default.aspx/profile/joydip.