20
Microsoft Sync Framework Advances Rahul Gangwar Partner Technical Consultant| Microsoft http://blogs.msdn.com/rahul/ | [email protected]

Rahul Gangwar Partner Technical Consultant| Microsoft | [email protected]

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Microsoft Sync Framework Advances

Rahul GangwarPartner Technical Consultant| Microsofthttp://blogs.msdn.com/rahul/ | [email protected]

Page 2: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Agenda

Introduction to Sync FrameworkNew features in Sync Framework 2.0Sync Services for ADO.NETDemo of Sync Services on Windows Mobile client

Page 3: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Why Sync

Service

Thin Client RichClient

Sync!

Page 4: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Why Sync

Service

Client App

Client App

Page 5: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

All stores are differentSome are very capable, most are not

Conflicts are difficult to detectAnd even harder to manage afterwards

Misidentification of conflicts bad experienceDuplicates, over-prompting, data loss

Inefficient change enumeration makes sync too expensive

Sync loops are a fact of lifeFew people set out to get into one, many end up in one

80% solution much simpler than 100%Corner cases are everywhere!

Why use a Framework?Sync is hard

Home PC

SmartPhone

Server

Settings

Files

Settings

Files

Page 6: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

We strike for the balance of power and flexibility

Powerful: solve hard sync problemsConflict detection and resolutionUnreliable networks, i.e. interruptions/partial syncsLoops, metadata loss, etcEasy-to-use and performant

FlexibleArbitrary storesArbitrary protocolsArbitrary data typesArbitrary topologies

Why Microsoft Sync Framework?Solving hard problems exactly once

Page 7: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Using Microsoft Sync FrameworkHow synchronization happens

Sync Provider

Sync Application

Sync Provider

Sync Orchestrator

DataStore

Data Store

changes

changes changes

changes

Page 8: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Writing a Sync Application

SyncOrchestrator orch = new SyncOrchestrator();

orch.LocalProvider = new FileSyncProvider(guid1, “c:\\temp\\

myfolder”);

orch.RemoteProvider =

new LiveMeshProvider(guid2,

new NetworkCreditial(username, password),

“MyMeshFolder”);

orch.Synchronize();

Not too hard!

Page 9: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Sync Services for FileSystems

DEMO

Page 10: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Change Unit Filtering

NameemailPhone

Address

Photograph

Contact on Notebook

NameemailPhone

Contact on Small Device

Page 11: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Provider Negotiated Filters

File System

Interested Party

*.txt

*.jpg

*.wmv

*.txtProvider

Provider

Orchestrator

filter filter

Page 12: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Makes it easy for you to sync participating endpoints

Makes it easy for your endpoint to participate

Comes with built-in endpoints:V1: File System, Relational DatabasesV2: SQL Data Services, Live Mesh, ADO.NET Data Services and more

Provides integrated tools and user experiencesSync Services for ADO.NETSyncToy Project Codename “Anchorage”

What does Microsoft Sync Framework do? Live

MeshSmugMu

gSync

StoreSyncable

Page 13: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Synching ADO.NET Data ServiceOR “Taking ADO.NET Data Service offline”

ADO.NET Data Service exposes data source over cloud.Sync Framework brings offline capability to data source.Combining these two will expose data source over cloud with offline capability.

Astoria

ClientSync

Framework

Page 14: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Sync Services for ADO.NET

Application SQL ServerFetch

Update

Local Storage Fetc

h

Synchronize

Page 15: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Sync Services for ADO.NET

Using “n” tier ArchitectureSynchronization done via web services

DEMO

Page 16: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Sync Framework v2 is the easiest and most efficient way to synchronize your data with

Live Mesh, File systems, Databases, ADO.NET Data Services, SQL Data Services, and more.

Summary

Page 17: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Resources

Sync Developer Centerhttp://msdn.microsoft.com/sync

SDK (including documentation)WhitepapersSamples (including several end-to-end)

Sync Bloghttp://blogs.msdn.com/sync

AnnouncementsTips and Tricks

SQL Labswww.sqlserviceslabs.com

Cutting edge prototypes and pre-release functionality

Page 18: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Feedback / QnA

Your Feedback is Important!Please take a few moments to fill out our

online feedback form.

Use the Question Manager on LiveMeeting to ask your questions now!

Page 19: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

Contact

Blog Addresshttp://blogs.msdn.com/rahul/

Email [email protected]

Page 20: Rahul Gangwar Partner Technical Consultant| Microsoft  | rahul.gangwar@microsoft.com

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.