Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems
Occasionally Connected Systems

Editor's Notes

  • #5 Sync frameworkFeatures technologies and tools that enable roaming, taking data offline & in certain scenariossharing of data between peersCore components / sync runtime responsible for orchestrating the sync processRuntime achieves sync via making calls to what we call as ‘Providers’Communicate status, conflicts & errors to the client application
  • #7 Provider for synchronizing ADO.net based data sourcesThe participating databases may be different productsIn case of windows mobile, provider is available for SQL Compact 3.5 SP1 Peer – peer topology Client – Server2 – tier – Client & the server provider reside on the same boxN – tier – web service based, client and server providers are distributedTooling supportTakes care of the plumbing codeGenerates client adapter & server provider codeTight integration with SQL 2008 change tracking featureAdapter builder – simillar to ADO.net command builder
  • #8 Configuration to sync data between Windows mobile running SQL Compact 3.5 & Server DatabaseADO.Net sync provider on the web serverSync services exposed via web serviceSyncAdapater – 1:1 mapping with tablesSQLCommand object sync download from server dbSQLCommand object for sync uploade from client dbData filtering implemented by customizing the SQLCommands of a syncAdapterClient Communicates with remote server via a ‘Proxy’Windows Forms application for a deviceLocal database SQL Compact 3.5SyncAgent – acts as a ‘Orchestrator’ for synchronizationSyncTable 1:1 mapping with the database tablesTransaction boundary - SyncGroups
  • #9 Separate binaries for desktop & devicesSQL Server 2008 change trackingChange tracking built into the database engineAPI to access the change information, CHANGETABLE(……)No need for plumbing code
  • #10 Client application - .Net CF 3.5 Windows Forms ApplicationServer application – WCF web application & web library local data cache is added to the WCF library Select server connection Add a list of tables Change the order – controls the order in which table data is synchedSyncDirection : Bidirectional,Download,Upload Apply XMLSerializerFormatattrribute to the contract - important Map the service to the implementation Add a service for exposing the sync service methodsGenerate WCF proxy using utility netcfsvcutil, apply the XMLSerializer attribute
  • #13 If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • #14 Same data getting changed by multiple users might result into conflictsConflicts are detected at a row levelBoth errors and conflicts are treated as conflicts
  • #15 If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.