Benefits of Using Sync Framework
Synchronization is simple in theory: it is the process of copying the correct set of data between two or more participants (such as computers, devices, or services) at the appropriate time. It can be difficult in practice, however. Difficulties include the following: integrating different types of data; detecting and resolving conflicts; working with participants of different capabilities, or participants that require different subsets of data; and handling unreliable networks. Synchronization can be crucial to a company's success, but many developers do not know how to write a synchronization solution that addresses their company's needs. This is where Sync Framework can help.
Sync Framework benefits a wide variety of applications that require data synchronization. For example, personal information management (PIM) software can use Sync Framework to propagate PIM data updates to all participants. Business applications that share data such as documents can use Sync Framework to ensure that all team members receive document updates, and that any conflicts over concurrent updates are correctly handled. Media management software that runs on a personal computer and manages media on a mobile device can use Sync Framework to easily perform updates to the device.
Sync Framework meets the requirements of these applications by providing a set of components that developers can choose from. Some components synchronize specific types of data, while others enable you to create completely custom solutions. Sync Framework provides a powerful design and a flexible approach to synchronization. Benefits of the design include the following:
An extensible model that lets you integrate multiple data sources into a synchronization ecosystem.
A managed API for all components, and a native API for select components.
Conflict handling for automatic and custom resolution schemes.
Filters that let you synchronize a subset of data, such as only those files that contain images.
A compact and efficient metadata model that enables synchronization for virtually any participant, without significant changes to the data store:
Any data store
Add synchronization to a wide range of applications, services, and devices.
Any data type
Introduce new data types to synchronize. Take advantage of the unique metadata-based synchronization technology to synchronize any kind of data.
Any protocol
Use existing architectures and protocols to synchronize data. The transport-agnostic architecture allows integration of synchronization into a variety of protocols, including over-the-air and embedded devices.
Any network configuration
Enable synchronization for your applications, devices, and services in true peer-to-peer or hub-and-spoke configurations. Easily recover from network interruptions. Reduce network traffic by efficiently selecting changes to synchronize.
The next step is to review the architecture and available components by reading Selecting the Appropriate Sync Framework Components.