the microsoft sync framework and sharepoint 2010 gustavo velez avanade 2010-01-19

14
The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

Upload: cameron-dean

Post on 23-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The Microsoft Sync Framework and SharePoint

2010

Gustavo VelezAvanade

2010-01-19

Page 2: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

Outline

Introduction: the Microsoft Sync Framework

Implementation of the Sync Framework in SharePoint 2010

The SharePoint ChangeLog

Page 3: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The Microsoft Sync Framework - 01

“synchronization platform enabling collaboration and offline for applications, services and devices” (Microsoft)

Created in 2007

Currently in version 2.1 (Redistributable http://www.microsoft.com/download/en/details.aspx?id=19502)

SDK: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14159

Page 4: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The Microsoft Sync Framework - 02

Architecture

Page 5: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The Microsoft Sync Framework - 03

Components Participants (Provider + associated replica + sync metadata) – Types:

Full, Partial and Simple

Provider – Supplied OOTB: for ADO.NET, File System and FeedSync (RSS & ATOM feeds)

Data Source

Metadata

Versions (essentially a tuple consisting of a sync endpoint Id which made a change and logical clock of the time when the change was made)

Knowledge (covers all changes [versions of all known items])

Tick Count (specific to a replica; combined with a replica key to make a version)

Replica ID (repository of information to be synchronized)

Tombstones (track dead [or deleted] items)

Conflict Resolution

Page 6: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The Microsoft Sync Framework - 04

Example SyncToy (http://www.microsoft.com/download/en/details.aspx?id=15155)

SyncToy and SharePoint

Page 7: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

SharePoint Implementation - 01

Sync Framework is one of the Installation Prerequisites of SharePoint 2010

SharePoint Workspace 2010 works with the Sync Framework

Sync Foundation implemented as a number of WebService Methods (new in 2010) Uses the SharePoint ChangeLog as SharePoint internal

synchronization mechanism

Page 8: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

SharePoint Implementation - 02

WebSvcList WebService (Lists.asmx) GetListItems

Returns all Items, no possibilities for sync

GetListItemChanges Parameter “since” plus custom filter (“contains”). No usable for Sync Foundation

GetListItemChangesSinceToken (Async + Completed Event Handler) Request without token returns list schema, full list contents, and a token

Changes in the list schema itself returns entire list schema, full list contents, and a token

GetListItemChangesWithKnowledge (Async + Completed Event Handler) Returns “Knowledge” metadata (has no Token, but it is implicit defined in the knowledge)

UpdateListItemsWithKnowledge Makes inserts, updates, and deletions to specified list items and provides the server with

current knowledge metadata

Example Using GetListItemChangesSinceToken and

GetListItemChangesWithKnowledge

Page 9: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

SharePoint Implementation - 03

Use Cases: Sync File Directory to SharePoint Library

SharePoint aggregators

Farm Replication (ex. Iora [http://www.iora.com/index.php], Syntergy

[http://www.syntergy.com/products/sharepoint/replicator/])

Issues (not only for SharePoint, btw...) Latency

Throughput

Bandwidth

Paging

Filtering and Ordering

Page 10: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The SharePoint ChangeLog - 01

Kernel functionality for the Sync Framework inside SharePoint

Used by other SharePoint components (Incremental Crawl for example)

Is table in each Content DataBase (EventCache)

Retention time (60 days default) configurable: Resource Throttling WebApp in UI

Object Model (ChangeLogRetentionPeriod, ChangeLogExpirationEnabled)

PowerShell

not security-trimmed

Page 11: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The SharePoint ChangeLog - 02

Scopes: List, SPWeb, SPSite, Content database

Objects: Items, files, folders, List metadata, SPWeb metadata,

Security policy, users, and groups

Web application configuration, Global administration settings, Binary deployment, Web Parts and safe controls; Web site, site collection, content database, or Web application configuration

Type Changes: Add, Update, Delete, Rename, Move away from a source list, Move into a destination list

Page 12: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

The SharePoint ChangeLog - 03

ChangeLog API: GetChanges method of SPList, SPWeb, SPSite, and

SPContentDatabase

SPChangeCollection (coll. of SPChange objects)

SPChangeQuery

SPChangeToken

Example

Page 13: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

Summary

Microsoft has a Sync Framework...

That is implemented in SharePoint 2010...

That relays on the SharePoint ChangeLog mechanism...

Page 14: The Microsoft Sync Framework and SharePoint 2010 Gustavo Velez Avanade 2010-01-19

Questions, Comments, Whatever...

Gustavo VelezAvanade Corp.

[email protected]

http://www.gavd.net