Microsoft Unveils Sync Framework to Improve Collaboration Technologies
New data synchronization components from Microsoft designed to ease the process of connecting applications across both computing devices and services.
Tue, November 06, 2007
CIO — Mobile computing is taking over. The superhero model for a typical IT worker is surely Batman, with a dozen gizmos hanging off his belt: smartphones, USB keys, MP3 players, cameras. However, Windows software developers who want their applications to synchronize data among those devices and with desktop clients, servers and web services... those developers often would prefer root canal surgery. Every Windows app that requires synchronization has had to be custom-crafted code; everything is built from scratch.
Microsoft's Sync Framework attempts to address that particular toothache. The Sync Framework, now in Community Technology Preview (CTP), extends Visual Studio 2008 to sync-enable applications and services. It will work with both online data (such as rich Internet applications and Web services) and peer-to-peer collaboration (such as file updating across USB keys or smartphone data and setting synchronization). "We now have a common reusable extensible framework to keep information synchronized, from back end servers to devices to peer-to-peer," explained Anthony Carrabino, Microsoft Senior Product Manager for SQL Server Marketing. Carrabino discussed the Sync Framework during the DevConnections conference held in Las Vegas this week.
With the Sync Framework, a developer enables a server or application to be sync-enabled using "sharing extensions" on Microsoft SQL Server 2008, Visual Studio 2008, Windows NTFS file systems and removable drives. Developers don't have to know the nitty-gritty of Internet protocols, as the framework takes care of the gory details, and the framework is also said to have a platform-agnostic architecture. A node that's set to be a willing participant in the sync architecture—such as that USB key or a smartphone—can be set to automatically update whenever a connection is possible. How it's controlled and the data that's exchanged is up to the developer, but the connection and data-swap process is smoothed.
After a developer creates the sync-enabled client, server or web service, endpoints (which may themselves be services, applications or devices) are —bam!—suddenly enabled to do synchronization. The Sync Framework has prebuilt components to make it easier for the programmer to work with particular types of devices or services. After an endpoint is defined as a participant and a network connection is found, they can all "talk" and synchronize the data, said Carrabino.
Ho-hum, yet another framework that keeps developers from having to drill down into protocols. But here's the cool thing for IT teams: once a server or application is set to participate in the synchronization network, other applications can use that predefined synchronization without additional custom development.