Peterson's Ponderings

Technical findings, ideas, thoughts and news directly from me.
in

June 2008 - Posts

Microsoft Synchronization Framework - Worth a Look

At TechEd earlier this month I attended some sessions on the new Microsoft Sync Framework that was just released as CTP2.  Synchronizing data to a mobile device and between home office and remote locations has been a feature of several systems I've worked on in the past.  There were always challenges in this type of functionality and no real good 'fit' that you could easily implement out-of-the-box before.  In writing my own customized sync features for applications in the past, I can appreciate the complexities involved which is why at first glance I'm impressed by the range of features available in the Microsoft Sync Framework.  Here is a list of the primary features of the framework:

- Different sync topologies are supported including hub and spoke (central system sync to remote systems), one-way syncs, and peer to peer.

- Conflict detection and resolution

- Supports sync of database to database, database to SQL CE, file system, feed syncs (Mesh), and you can create your own synchronization custom provider to sync any other special forms of data you may have.

- Supports unreliable networks, interruptions and partial syncs

- Operates over arbitrary protocols

The functionality is pretty baked at this point as it has entered a CTP2 version and will be released in conjunction with SQL Server 2008 later this year.  With the proliferation of smart mobile devices I can only see good things for having this kind of tool in your coding tool kit to easily give LOB applications offline and remote capabilities that can easily sync up with a central system when they come back online.  For a download of the framework and detailed documentation on how the sync process works (the concept of "Knowledge" between the sync'ing systems) see the MSDN home site for the Microsoft Sync Framework.