Upload
clint-edmonson
View
1.524
Download
2
Embed Size (px)
DESCRIPTION
Overview of the Microsoft Synchronization Framework for Smart Clients
Citation preview
Clint EdmonsonArchitect EvangelistMicrosoft Corporationwww.notsotrivial.net
WEB 2.0
ASP.NET
AJAX
WinForms
WPF
Silverlight
ClickOnce
XBAP
InfoPath
MOSS
Support
Manage
Sell
Manufacture
Specify
“Finished” Services
Microsoft Dynamics™ CRM LiveLive Meeting ServiceHosted Exchange, SharePoint®,Office Communication Server
“Attached” Services
Exchange Hosted Services (Forefront, filtering)Windows UpdateWindows OneCare
“Building Block” Services
Virtual Earth™BizTalk Services® (relay, authentication)Live ID and online services
Software DevelopersToday Are
Expected To MaximizeThe Web
Even whenit is not
available
Line of businessLine of business
Field force applicationField force application
Point of salePoint of sale
Branch officeBranch office
Home EntertainmentHome Entertainment
Media Center/TIVOMedia Center/TIVO
Media playersMedia players
Home AppliancesHome Appliances
Leverage both the local and remote resourcesEnabling user productivity anytime, anyplace, regardless of network reliabilityEnabling data to move freely between various endpoints with varying types of data in a collaborative model
Optimize Online,Optimize Online,Enable OfflineEnable Offline
for:for:
I need an application that works when I am not connected
ChallengeChallenge
Visual Studio 2008 provides a local database cache wizard that provides turn-key offline capabilities for your application
SolutionSolution
Offloads detailed questions to the clientEnables local processing, closer to the user
Enables offline scenarios
Microsoft Sync Framework
Common Sync Metadata and Runtime
“Make-it-simple” Services
Protocol and Store Providers
3rd Party Providers
OCS Framework API
“Better-together”
Applications
Knowledge VersionsChange
EnumerationConflict
Detection
Metadata Store
Anchor Providers
“Simple” Providers
RSS/ATOMFile
ProviderRelational Provider
SQL Change Tracking
Sync for ADO.NET
1st Party API
Astoria Provider
3rd Party API
SyncAgentSyncAgent
SyncTableSyncTable
SyncAdapterSyncAdapter
ServerServerSyncProviderSyncProvider
SQL Server SQL Server CompactCompact
3.53.5
ClientClientSyncProviderSyncProvider
SyncGroupSyncGroup Server DBServer DB
Data AccessData Access
Data FormsData Forms
SyncAgent SyncAgent Overall OrchestrationOverall Orchestration
ClientSyncProvider ClientSyncProvider Local Store ImplementationLocal Store Implementation
ServerSyncProvider ServerSyncProvider Aggregates SyncAdaptersAggregates SyncAdapters
SyncTables SyncTables Clients interest in what the server has Clients interest in what the server has to offerto offer
SyncGroup SyncGroup Transaction Boundary for SyncTablesTransaction Boundary for SyncTables
Server Schema ChangesServer Schema Changes Saves as scripts for later executionSaves as scripts for later execution
Conflicts can occur during synchronization
ChallengeChallenge
Enabled by extending the Sync Designer
Client and Server Providers have conflict events
Business rules must be re-run(Not really any different than a connected system)
SolutionSolution
How do we get this to work in a distributed, services based environment?
ChallengeChallenge
The Sync framework includes a transport layer to bridge the client and server providers together through a WCF sync adapter
SolutionSolution
SyncTableSyncTable
SQL Server SQL Server CompactCompact
3.53.5
ClientClientSyncProviderSyncProvider
SyncGroupSyncGroup Server DBServer DB
Data AccessData Access
Data FormsData Forms
Move the server components to another dll, hosted on a remote serverShim in a service (WCF) and a matching proxy
SyncAdapterSyncAdapter
ServerSyncProviderServerSyncProvider
TransportTransport
ServiceServiceServiceServiceProxyProxy
SyncAgentSyncAgent
SELECT CT.ProductID, CT.SYS_CHANGE_OPERATION, CT.SYS_CHANGE_COLUMNS, CT.SYS_CHANGE_CONTEXTFROM CHANGETABLE(CHANGES SalesLT.Product,@last_synchronization_version) AS CT
VS 2005 SP1VS 2005 SP1 Visual Studio 2008Visual Studio 2008 SQL Server 2008SQL Server 2008
Building resilient applications is the future, not a stop gap
It’s how all important resources are managed
Design your apps to cache from the beginning
When things are connected, they work greatWhen “stuff” happens, your business continues to function
Install Visual Studio 2008Trial version available http://msdn.microsoft.com/vstudioVisit the .NET Framework Developer Centerhttp://msdn.microsoft.com/netframeworkVisit the Sync Framework Developer Centerhttp://msdn.microsoft.com/syncClint Edmonson’s Bloghttp://www.notsotrivial.net Simon Guest’s UX IQhttp://simonguest.com
© 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.