 Lev Novik Architect Microsoft Corporation TL30.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Feature: Identity Management - Login © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Taylor Brown Test Lead Microsoft Corporation ES09.
Building Scalable Web Apps with Windows Azure Name Title Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Steve Marx Windows Azure Microsoft Corporation ES01.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
 Dustin Campbell VB IDE Program Manager Microsoft Corporation.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
 Phil Haack Senior Program Manager Microsoft Corporation PC21.
Microsoft Sync Framework Advances
 Nishant Gupta Program Manager Live Services Microsoft Corporation BB51.
Co- location Mass Market Managed Hosting ISV Hosting.
 Jason Roberts Program Manager Microsoft Corporation PC44.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Pablo Castro Software Architect Microsoft Corporation TL08.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Chaitanya Sareen Senior Program Manager Microsoft Corporation PC24.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
NEXT: Overview – Sharing skills & code.
FonePlus Hugh Teegan Architect Mobile Devices Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Paul Vick Principal Architect Microsoft Corporation  Lucian Wischik Software Engineer Microsoft Corporation.
Ian Ellison-Taylor General Manager Microsoft Corporation PC27.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
public class Foo { Bar _bar; public Foo() { this._bar = new Bar(); } public class Foo { IBar _bar; public Foo(IBar barDependency) {

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Workflow Orchestration with Adobe I/O
Возможности Excel 2010, о которых следует знать
FeedSync And Live Mesh Sync Services
Title of Presentation 11/22/2018 3:34 PM
Title of Presentation 12/2/2018 3:48 PM
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
SharePoint 2013 Authentication with Azure – Part 1
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
Title of Presentation 7/24/2019 8:53 PM
WCL425 App Compat for Nerds Chris Jackson.
Presentation transcript:

 Lev Novik Architect Microsoft Corporation TL30

Service Thin Client Rich Client Rich Client Sync!

Service Sync! Client App Sync!

Live Mesh SmugMug Sync Store Syncable

Sync Provider Sync Application Sync Provider Sync Orchestrator Data Store changes

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!

Live Services Synchronizing Life Partnership Cloud LOE Client LOE App App Store ? Live Framework Provider Sync Framework App Sync Runtime Sync Provider

Live Services Synchronizing Life Partnership Cloud LOE Client LOE App App Store ? Sync Framework Web App Sync Runtime Browser Sync Provider Live Framework Provider

Writing Providers Responsibilties

Introducing Provider Framework The easiest way to write simple providers

How Provider Framework works Under the covers: Enumeration Sync Orchestrator Provider Framework with Runtime Simple Sync Provider Data Store Meta-data Store GetChangeBatch Enumerate all objects Here’s one: Id=‘foo’, LMT=5pm What was it last time? New Updated Same Update metadata Bring metadata up- to-date Enumerate changes Metadata is up-to-date! All done! What’s missing? Record deletes …

How Provider Framework works Under the covers: Applying changes Sync Orchestrator Provider Framework with Runtime Simple Sync Provider Data Store Meta-data Store Enumerate all objects Here’s one: Id=‘foo’, LMT=5pm What was it last time? New Updated Same Update metadata Bring metadata up- to-date Metadata is up-to-date! All done! What’s missing? Record deletes … ProcessChangeBatch Get versions Update item id=‘foo’ LMT was 1pm New data is ‘bar’ New LMT=8pm Check LMT and write Update metadata

 Presenter Name Title Group

Provider Framework: Summary Easy!

Writing better providers

Filtering Support for column filtering Filter negotiation “Forgetting” and “remembering” items Performance improvements Conflicts Constraint conflict resolution Improved conflict logging support New capabilities in Sync Framework v2

Why Filter Objects Or "I don't want all of these!"

Why Filter Columns? Or "my device cannot store this property!" First: John Last: Doe Phone: Spouse: Jane First: John Last: Doe Phone: First: John Last: Doe Phone: Spouse: ??? Sync PC #1PC #2 Sync? Phone Spouse: Jane

Review: Change Units Granularity at minimal cost Contact First Name Last Name Street Address City Phone Number Area code item.Add(new ItemField(1, typeof(UInt32), name.Hash); item.Add(new ItemField(2, typeof(UInt32), address.Hash); item.Add(new ItemField(3, typeof(UInt32), phone.Hash); items.Add(item);

Provider responsibilities Implement ISupportFilteredSync to indicate ability to project Implement IRequestFilteredSync to indicate desire to project Enumerate according to the filter Sync Framework takes care of Recording correct knowledge Not re-sending the same changes, but yes getting the remaining ones! A glimpse into some of the tricky bits Deleting a partial object: is it a conflict? Using Column Filtering

Contact IDGuid1 CreationA15 UpdateA15 NameJohn Doe Phone Machine AMachine B Contact IDGuid2 CreationB10 UpdateB10 NameJohn Doe Phone Contact IDGuid1 CreationA15 UpdateA15 NameJohn Doe Phone ProcessChangeBatch Conflict Resolution None Keep Both Merge John A Doe B25 Contact IDGuid2 CreationB10 UpdateB25 NameJohn A Doe Phone

Contact IDGuid1 CreationA15 UpdateA15 NameJohn Doe Phone Machine AMachine B Contact IDGuid2 CreationB10 UpdateB10 NameJohn Doe Phone Contact IDGuid1 CreationA15 UpdateA15 NameJohn Doe Phone ProcessChangeBatch Conflict Resolution Keep Both Merge B Tombstone IDGuid1 CreationA15 DeletionB27 None

Contact IDGuid1 CreationA15 UpdateA15 NameJohn Doe Phone Machine AMachine B Contact IDGuid2 CreationB10 UpdateB10 NameJohn Doe Phone ProcessChangeBatch B25 Tombstone IDGuid1 CreationA15 DeletionB27 Contact IDGuid2 CreationB10 UpdateB25 NameJohn Doe Phone Tombstone IDGuid1 CreationA15 DeletionB27

 Presenter Name Title Group

Summary

Please fill out your evaluation for this session at: This session will be available as a recording at:

© 2008 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.