Search this site with Bing

Thursday, June 4, 2009

Download Microsoft Sync Framework 2.0 CTP2

Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline scenarios for applications, services, and devices. Using Microsoft Sync Framework, developers can build applications that synchronize data from any source using any protocol over any network.

Sync Framework Overview
Microsoft Sync Framework provides a synchronization platform that caters to the following scenarios, in which data needs to be synchronized between multiple data sources:

  • A number of users are collaborating and need to be able to access and update a set of data.
  • A user wants to access and update his or her data in multiple locations – on a desktop, on a device, using a Web browser, etc.
  • A user wants to download data from a server or service and take that data offline to a client store. The data can then be accessed and updated by the user even when not connected to the server or service.

Microsoft Sync Framework makes no assumptions about how data is stored or transmitted. Sync Framework places no restrictions on the type of data sources that can be synchronized, the protocol and network that are used to communicate with each data source , or the type of synchronization topology that is used. A data source can be synchronized with any other data source in any order; full peer-to-peer synchronization topologies are supported.
In order to cater to any data source, Sync Framework uses a provider model, with each sync provider being responsible for synchronizing a particular type of data source (or replica). Sync Framework is used to author providers and is used to perform the actual synchronization between the providers.
As well as enabling providers to be authored, Sync Framework includes several built-in providers:
  • Database synchronization providers (referred to as Sync Services for ADO.NET in previous releases) are used to synchronize databases for offline and collaborative scenarios.
  • File synchronization provider (referred to as Sync Services for File Systems in previous releases) is used to synchronize files and folders in an NTFS or FAT file system.
  • Web feed synchronization components (referred to as Sync Services for FeedSync in previous releases) are used to synchronize RSS and Atom feeds with data in a local store.

Sync Framework 2.0
Sync Framework 2.0 expands on the capabilities offered by Sync Framework 1.0:
  • Adds features that cater to new scenarios or scenarios that were difficult to support.
  • Reduces the amount of work required to develop providers.
  • Supports more data sources with new built-in providers.

The major new features included in this CTP (CTP2) are:
  • New database providers (SqlSyncProvider and SqlCeSyncProvider): Enable hub-and-spoke and peer-to-peer synchronization for SQL Server, SQL Server Express, and SQL Server Compact. Sync Framework automatically creates all of the commands that are required to communicate with each database. You do not have to write synchronization queries as you do with other providers. The providers support: flexible initialization options; batching of changes based on data size; and maintenance tasks, such as metadata cleanup and server database restore.
  • Custom filters: Enable a filtered replica to store item data only for items that are in the filter, such as a media storage replica that stores only songs that are rated as three stars or better. As the rating on a song changes, an item might move in or out of the filter. A filter-tracking replica is another replica in the community that can identify which items are in the filter and which have moved in or out of the filter recently. A filter-tracking replica may store item data for items that are not in the filter. Sync Framework supports efficient synchronization between filtered replicas and filter-tracking replicas, and maintains all of the necessary metadata.
  • Improved conflict handling: Sync Framework added several features in this release that make it easier to handle conflicts.
    • Constraint conflict handling: Sync Framework now supports constraint conflicts, which are conflicts that violate constraints that are put on items or change units, such as the relationship of folders or the location of identically named data within a file system. A destination provider can report a constraint conflict to Sync Framework, and use Sync Framework components to resolve the conflict and determine how to apply the resolution to the destination replica.
    • Conflict logging: Sync Framework defines a set of conflict log interfaces and provides components that help manage conflicts in the log. Sync Framework also provides an in-memory implementation of the conflict log interfaces for replicas that do not contain a conflict log. It can be useful to save conflicts in a log so that they can be processed separately from the synchronization session, such as when a user needs to review conflicts and decide how to resolve them.
    • Last-writer-wins conflict resolution: An application might want to resolve concurrency conflicts (in which an item is updated by more than one replica) by keeping the most recently made change, regardless of where the change was made. Sync Framework supports this resolution option by enabling an application to retrieve the time a change was made on the source and destination replicas. The application can then compare the two times and apply the last change.
    • Improved simple provider conflict handling: Simple providers include a new set of conflict handling interfaces that make it easier to specify resolution actions for concurrency and constraint conflicts.
  • Data conversion between providers: In some scenarios, synchronization providers synchronize the same type of data (such as sales data), but the data format that each provider requires is different. To address this scenario, Sync Framework enables you to implement interfaces that convert data to the format that each provider requires. In addition to data conversion APIs that can be used for any type of custom provider, Sync Framework also includes conversion APIs specifically for the file synchronization provider.
  • Change application service: Sync Framework includes a change applier implementation that most applications use to apply changes to a replica. In this CTP, Sync Framework introduces the change application service, which performs the same actions as the change applier, but in a more granular way. A destination provider that requires greater flexibility than the standard change applier can use the change application service to perform only the set of actions that are required.

Source: Microsoft Downloads Center

Technorati Tags: ,