Rob Tiffany

Sync Framework v4 is now Open Source, and ready to Connect any Device to SQL Server and SQL Azure


Microsoft has brought the power to synchronize data with either SQL Server on-premise or SQL Azure in the cloud to the world of mobility.

The profound effects of the Consumerization of IT (CoIT) is blurring the lines between consumers and the enterprise.  The fact that virtually every type of mobile device is now a candidate to make employees productive means that cross-platform, enabling technologies are a must. If you’ve ever synched the music on your iPhone with iTunes, the calendar on your Android device with Gmail, or the Outlook email on your Windows Phone with Exchange, then you understand the importance of sync.  In my experience architecting and building enterprise mobile apps for the world’s largest organizations over the last decade, data sync has always been a critical ingredient.

The new Sync Framework Toolkit found on MSDN builds on the existing Sync Framework 2.1’s ability to create disconnected applications, making it easier to expose data for synchronization to apps running on any client platform.  Where Sync Framework 2.1 required clients to be based on Windows, this free toolkit allows other Microsoft platforms to be used for offline clients such as Silverlight, Windows Phone 7, Windows Mobile, Windows Embedded Handheld, and new Windows Slates.   Additionally, non-Microsoft platforms such as iPhones, iPads, Android phones and tablets, Blackberries and browsers supporting HTML5 are all first-class sync citizens.  The secret is that we no longer require the installation of the Sync Framework runtime on client devices.  When coupled with use of an open protocol like OData for data transport, no platform or programming language is prevented from synchronizing data with our on-premise and cloud databases.  When the data arrives on your device, you can serialize it as JSON, or insert it into SQL Server Compact or SQLite depending on your platform preferences.

The Sync Framework Toolkit provides all the features enabled by theSync Framework 4.0 October 2010 CTP.  We are releasing the toolkit as source code samples on MSDN with the source code utilizing Sync Framework 2.1.  Source code provides the flexibility to customize or extend the capabilities we have provided to suit your specific requirements. The client-side source code in the package is released under the Apache 2.0 license and the server-side source code under the MS-LPL license.  The Sync Framework 2.1 is fully supported by Microsoft and the mobile-enabling source code is yours to use, build upon, and support for the apps you create.





















Now some of you might be wondering why you would use a sync technology to move data rather than SOAP or REST web services.  The reason has to do with performance and bandwidth efficiency.  Using SOA, one would retrieve all the data needed to the device in order to see what has changed in SQL Server.  The same goes for uploading data.  Using the Sync Framework Toolkit, only the changes, or deltas, are transmitted over the air.  The boosts performance and reduces bandwidth usage which saves time and money in a world of congested mobile data networks with capped mobile data plans.  You also get a feature called batching, which breaks up the data sent over wireless networks into manageable pieces.  This not only prevents you from blowing out your limited bandwidth, but it also keeps you from using too much RAM memory both on the server and your memory-constrained mobile device.  When combined with conflict resolution and advanced filtering, I’m sold!

I think you’ll find the Sync Framework Toolkit to be an immensely valuable component of your MEAP solutions for the enterprise as well as the ones you build for consumers.

Keep Synching,


Sharing my knowledge and helping others never stops, so connect with me on my blog at , follow me on Twitter at and on LinkedIn at

Sign Up for my Newsletter and get a FREE Chapter of “Mobile Strategies for Business!”


  1. Pingback: Dew Drop – September 12, 2011 | Alvin Ashcraft's Morning Dew

  2. Pingback: My SQL Azure presentation « A fabric for .NET Architecture

  3. Pingback: Many New Windows Azure Platform Features – Part 1 « Michael S. Collier's Blog

  4. Roopesh Shenoy

    I did not understand – the title suggests that sync framework itself has been open sourced, but the article speaks only of the toolkit. Are these both the same things? Is the toolkit meant to be an alternative to installing and using the sync framework?

    1. Rob Tiffany (Post author)

      Hi Roopesh. The toolkit is the Sync Framework 4. It runs on top of Sync Framework 2.1 but doesn’t need client libraries to work with different devices.

      Best Regards,

      1. kiquenet kiquenet

        Any updates for VS 2013 – .NET 4.5.1 ? Which is the roadmap for Sync Framework ? will be dead in future ?

        1. Rob Tiffany (Post author)

          Nothing new with the Sync Framework.

          1. kiquenet

            No news neither roadmap about SyncFramework ?

          2. Rob Tiffany (Post author)

            Unaware of any roadmap for the Sync Framework.

  5. Pingback: Windows Azure and Cloud Computing Posts for 9/19/2011+ - Windows Azure Blog

  6. Pingback: Michel H. (MVP) » SyncFramework v4 : synchronize with the cloud !

  7. Pingback: Link Resource # 25: Sept 12–Sept 24 « Dactylonomy of Web Resource

  8. Andy

    I’m also confused by the release vehicle for the framework. Why not Codeplex and continued open source updates like MVC and Web API? This instead worries me that the Sync Framework is not going to get further updates.

    1. Rob Tiffany (Post author)

      Hi Andy. I’m not sure why the team didn’t put the code on Codeplex. At least now that it is completely open source, you can use and extend the code as you see fit.

      Best Regards,

  9. Larry

    I have played with the Sync toolkit in an effort to get it working with HTML5, but with only limited success. Are there consultants in this area that I might work with?

  10. Alex

    Take a look at this Oracle client. It provides SyncProvider classes, classes for provisioning and deprovisioning, and SyncDescriptionBuilder classes:


Leave a Reply