Introducing the Microsoft Sync Framework for SharePoint
Applies to: SharePoint Foundation 2010
The Microsoft Sync Framework is a comprehensive synchronization platform that provides SharePoint Foundation with a unified, data-agnostic and bidirectional synchronization architecture. Because the Sync Framework is designed to provide cross-application synchronization, implementing the Microsoft Sync Framework allows other Microsoft and third-party applications to sync more easily with SharePoint Foundation 2010 deployments.
The Sync Framework provides three core building blocks:
Sync Runtime
Sync Metadata Services
Sync Provider
Sync Framework Overview
These three synchronization building blocks cooperate to abstract the implementation details of the data store, transfer mechanisms, and the schemas. The sync runtime drives the synchronization processes among the sync providers while the providers use metadata services to process and store the metadata.
Sync Runtime
The sync runtime drives synchronization by starting, hosting, and canceling synchronization sessions. It also reports informational items such as sync status, conflicts (should any develop), and errors.
The sync runtime uses a synchronization session object to make sync requests to the sync provider on behalf of the client application. Both managed and unmanaged interfaces provide access to the runtime. For further information about the Sync Runtime, see Implementing a Synchronization Application.
Sync Metadata Services
Metadata services manages synchronization metadata and thereby shields from both client applications and sync providers the specifics of the metadata, such as knowledge structures. Furthermore, metadata services provides a Metadata Storage Service, an optional metadata storage component for applications that do not have a logical location to store synchronization metadata.
Metadata Storage Service uses a lightweight data store and runs in the client process. Both managed and unmanaged interfaces provide access to the metadata services. For more information about metadata services, see Metadata Management.
Sync Provider
The Sync Framework provider is the main integration point into Microsoft Sync Framework. The provider implements an interface that abstracts the interactions with the runtime engine as well as the details of the data store.
Implementing a provider is the primary development task for synchronizing custom data. A provider can implement either a managed or an unmanaged version of the interface. For more information, see Synchronization Providers.