SlideShare a Scribd company logo
Building Offline Applications using Sync Framework, SQL Server and SQL AzureEduardo Castro Martinezhttp://ecastrom.blogspot.comhttp://comunidadwindows.orgtwitter: edocastro
Session Objectives and TakeawaysObjectives:Learn about the advantages of offline application architecture Learn how to build offline applications to synchronize data across different client platforms using Sync Framework Learn about developer choice and interoperability for 3rd party endpointsKey Takeaway:Offline applications have lots of benefits comparing to online applications, especially for mobile devices and cloud services Sync Framework, SQL Azure and Windows Azure provide a data platform that makes it very easy to build offline applications and sync services.Sync Framework caters for offline clients on any client platform, and provides better end-to-end support for Windows, Silverlight and Windows Phone 7 clients.
Why Build Offline Capable AppsServer / ServiceOffline/Cached mode apps enjoy lots of value Client apps get better UX through Lower latency – data access doesn’t require round tripsHigher availability – app still runs if server is unreachableReduced network utilization – most data access is localServers gain better ability to schedule work asynchronouslyBenefits of cached mode are magnified on the InternetServer/service is further awayNetwork is less tuned/reliableRemote StoreSyncOffline ClientClient AppQuery / UpdateLocal Data Cache
LinksSync Framework 4.0 Downloadhttp://bit.ly/syncfr40 Developer Centerhttp://bit.ly/syncdev Sync SQL Server http://bit.ly/syncsql
Windows- SQL Server Express- SQL CompactEasy to develop the sync endpointsSync smarts on server, not on clientClient Offline AppsSyncEndpointsSyncFxClient APIsupportClient APIsupportSilverlightIsolated Storage - Other stores - Auth / Mgmt / Bus LogicSync ServiceSQL ServerWindows Phone 7Isolated Storage
Other storesSimple protocol(OData& Sync)Windows Server / IISCloudSyncWindows MobileSQL Compact - On-PremisesSyncEndpointsSyncFxBrowser / HTML5- HTML5 storesAuth / Mgmt / Bus LogicSQL AzureMinimal client & store requirementsiPhone / Any ClientSQLite / Any store - WindowsAzureSync Framework v4 Overview
Introduction to Microsoft Sync FrameworkMicrosoft Sync Framework is a comprehensive synchronization platform enabling collaboration and offline for applications, services and devices. Developers can build synchronization ecosystems that integrate any application, any data from any store using any protocol over any network.
Introduction to Microsoft Sync FrameworkA key aspect of Sync Framework is the ability to create custom providers
Included ProvidersDatabase synchronization providers: Synchronization for ADO.NET-enabled data sourcesFile synchronization provider: Synchronization for files and foldersWeb synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds
Participant TypesFull participants are devices that allow developers to create applications and new data stores directly on the devicePartial participants are devices that have the ability to store data either in the existing data store or another data store on the device.
Participant TypesSimple participants are devices that are only capable of providing information when requested. These devices cannot store or manipulate new data and are unable to support the creation of new applications
Core ComponentsA provider built using Sync Framework communicates with a data source and retrieves state information from a metadata store
Core ComponentsData SourceThe data source is the location where all information which needs to be synchronized is stored. Could be a relational database, a file, a Web Service or even a custom data source included within a line of business application. As long as you can programmatically access the data, it can participate in synchronization.
Core ComponentsMetadataAbility to store information about the data store and the objects within that data store with respect to state and change informationThe metadata for a data store can be broken down into five key componentsVersions			KnowledgeTick count			Replica IDTombstones
Synchronization Flow
Conflicts are Detected and Resolved or DeferredSource Wins: Changes made by the local replica always win in the event of a conflict.Destination Wins: Remote replica always winsSpecified Replica ID Always Wins: No matter who changes an item, the replica with the designated ID always wins.Last-Writer Wins: Based on the assumption that all replicas are trusted to make changes and wall clocks are synchronized, allow the last writer to win.Merge: In the event of two duplicate items in conflict, merge the information from one into the other.Log Conflict: Choose to simply log or defer the conflict.
Sync Framework Database Synchronization
Always Connected major disadvantagesNetwork RequirementsData Access SpeedsSingle Point of FailureServer Scalability
Occasionally Connected Application (OCA)
Support data collaboration between databases
Database Synchronization and the Microsoft Sync FrameworkComprehensive synchronization platform that enables developers to add synchronization capabilities to applications, services, and devices. Sync Framework solves the problem of how to synchronize any type of data in any store using any protocol over any topology
Multiple Synchronization Topologies
Multiple Synchronization Topologies
HTML5iPhoneSyncSync ServiceSync+Windows Mobile 6.5  SyncWindows Phone 7SyncSummarySyncSilverlight
Offline applications on Silverlight desktop and Windows Phone 7
Offline Applications Architecture - ServerSilverlight Offline ApplicationSilverlight Offline ApplicationWindows Azure ApplicationCache ControllerOData Sync EndpointSyncOData Sync ProxyIsolated Storage ProviderBusiness LogicSQL AzureProviderSync LogicCollectionsIsolated StorageSQL Azure
Sync Service OverviewData StoreExpose data from SQL Azure or SQL Server HostHosted on Windows Azure or IIS/Windows ServerExposed using a WCF sync endpoint ProtocolExpose data for synchronization via a protocol and allow 3rd parties to build offline clientsFeaturesSupport business logic extensity Custom authentication / authorizationFiltering ToolingProvide a Tooling Wizard experience to configuring server and client
Offline Applications in Silverlight Silverlight Offline ClientSilverlight Offline ApplicationWindows Azure ApplicationCache ControllerOData Sync EndpointSyncBusiness LogicSQL AzureProviderSync LogicOData Sync ProxyCollectionsIsolated Storage ProviderIsolated StorageSQL AzureSync LogicSync Logic Moves to Server/Service
Enables Offline In Isolated Storage with Silverlight 3 & 4
Extensibility to allow 3rd party storage to be hooked in Offline Applications for all platformsOffline application on any platformSync ApplicationWindows Azure ApplicationOData Sync ServiceOData Sync ProxySyncBusiness LogicSQL AzureProviderSync LogicCollectionsStoreSQL AzureClient Needs To:Track changes on local store (samples for common stores).
Implement client side sync proxy (samples for common platforms)Offline Application on HTML5 across browsers
Offline Applications Architecture - Protocol Simple protocol (OData & Sync)Offline application on any platformSync ApplicationWindows Azure ApplicationOData Sync ServiceOData Sync ProxySyncBusiness LogicSQL AzureProviderSync LogicCollectionsStoreSQL Azure
OData Protocol & SyncApply the principals of OData to the problem of data-syncStandardize on protocol not on componentsMinimal client sync logic or algorithmsService manages sync keeping client simpleProvide samples to show how to consume protocol for any platformProvide components for richer experience in Silverlight& WP7Full interop details defined in SDK
SQL Azure Data Sync CTP1(Available now from http://azure.com)Sync End to End ScenariosOffline ApplicationsSyncSyncSyncSyncOn-Premises ApplicationsSyncSyncSyncSQL Azure DatabaseSyncSyncSyncMicrosoft Sync Framework 4.0 CTP available now! Retail & Remote OfficesSQL Azure Data Synchttp://azure.comSQL Azure Data Sync CTP2(Coming in near future)
Sync Framework – Offline SupportReleases and Roadmap
Sync Framework – Offline Support Call to ActionFor more information on Sync Framework 4.0 CTP MSDN Developer Center: http://msdn.com/sync/Try it outDownload “Sync Framework 4.0 October 2010 CTP” from Microsoft Download Center The sync service sample for Windows Azure or on-premises Client samples for Silverlight, WP7, WM6.5 & iPhone, HTML5Give feedbackScenarios to support, capabilities or feature requests, preview release problems, etc…
Building Offline Applications using Sync Framework, SQL Server and SQL AzureEduardo Castro MartinezArquitectohttp://ecastrom.blogspot.comhttp://comunidadwindows.orgtwitter: edocastro

More Related Content

What's hot (20)

PPTX
Share point 2013 and sql server 2012 what to choose
Alexander Meijers
 
PPTX
More Best Practices With Share Point Solutions
Alexander Meijers
 
PPTX
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
SharePoint Saturday NY
 
PPS
Web Component Development with Servlet and JSP Technologies Unit 01
Prashanth Shivakumar
 
PDF
Customer FX Technical Reference Sheet
GoodCustomers
 
PPTX
The New Efficiency
Craig Bailey
 
PDF
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
ukdpe
 
PPSX
Microsoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
ABTO Software
 
PPSX
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
ABTO Software
 
PPTX
Multiplatform
Prabhat gangwar
 
PPTX
Hell Froze Over, Pigs Flew, Microsoft Went Open
ukdpe
 
PPTX
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
PPTX
AIR - Framework ( Cairngorm and Parsley )
senthil0809
 
PPTX
Web changesandasp4 upload
READIFY
 
PPTX
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
READIFY
 
PPT
Flex And Ria
ravinxg
 
PPT
Silverlight
BiTWiSE
 
PPTX
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
READIFY
 
PPT
Dh2 Apps Training Part2
jamram82
 
KEY
Developing Commercial APEX Applications
Enkitec
 
Share point 2013 and sql server 2012 what to choose
Alexander Meijers
 
More Best Practices With Share Point Solutions
Alexander Meijers
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
SharePoint Saturday NY
 
Web Component Development with Servlet and JSP Technologies Unit 01
Prashanth Shivakumar
 
Customer FX Technical Reference Sheet
GoodCustomers
 
The New Efficiency
Craig Bailey
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
ukdpe
 
Microsoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
ABTO Software
 
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
ABTO Software
 
Multiplatform
Prabhat gangwar
 
Hell Froze Over, Pigs Flew, Microsoft Went Open
ukdpe
 
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
AIR - Framework ( Cairngorm and Parsley )
senthil0809
 
Web changesandasp4 upload
READIFY
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
READIFY
 
Flex And Ria
ravinxg
 
Silverlight
BiTWiSE
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
READIFY
 
Dh2 Apps Training Part2
jamram82
 
Developing Commercial APEX Applications
Enkitec
 

Similar to Syn framework 4.0 and sql server (20)

PPT
Microsoft Sync Framework
Hieu Le Trung
 
PPTX
MSF: Sync your Data On-Premises And To The Cloud - dotNetwork Gathering, Oct ...
sameh samir
 
PPTX
Occasionally Connected Systems
rsnarayanan
 
PPT
Defy Occassionally Connected Challenges With Smart Client Applications
Clint Edmonson
 
PPTX
Connected & Disconnected Apps with Azure Mobile Apps
Amal Dev
 
PPT
WP7 & Azure
Sam Basu
 
PPT
Windows Azure for .NET Developers
llangit
 
PPTX
Sql Azure Data Sync
Woodruff Solutions LLC
 
PPTX
Mobile Offline OData Framework for Azure
Peter O'Blenis
 
PDF
MongoDB World 2019: REST-less Mobile Apps: Why Offline-first and Sync Matters...
MongoDB
 
PPT
Live Framework
ukdpe
 
PPTX
AppSync.org: open-source patterns and code for data synchronization in mobile...
Niko Nelissen
 
PPT
ArcReady - Architecting For The Cloud
Microsoft ArcReady
 
PPTX
Forms + azure
Amal Dev
 
PPT
Planning for Synchronization with Browser-Local Databases
ZendCon
 
PDF
Building Universal Windows Apps for Smartphones and Tablets with XAML & C#
Nick Landry
 
PPTX
In the Clouds with Windows Phone 7
Danijel Malik
 
PDF
Sync or swim: the challenge of complex offline apps
OutSystems
 
PPT
Fanug - Pragmatic Windows Phone Developer
Sam Basu
 
PPT
Introduction To .Net Compact Framework and SQL Server CE Development
christopherfairbairn
 
Microsoft Sync Framework
Hieu Le Trung
 
MSF: Sync your Data On-Premises And To The Cloud - dotNetwork Gathering, Oct ...
sameh samir
 
Occasionally Connected Systems
rsnarayanan
 
Defy Occassionally Connected Challenges With Smart Client Applications
Clint Edmonson
 
Connected & Disconnected Apps with Azure Mobile Apps
Amal Dev
 
WP7 & Azure
Sam Basu
 
Windows Azure for .NET Developers
llangit
 
Sql Azure Data Sync
Woodruff Solutions LLC
 
Mobile Offline OData Framework for Azure
Peter O'Blenis
 
MongoDB World 2019: REST-less Mobile Apps: Why Offline-first and Sync Matters...
MongoDB
 
Live Framework
ukdpe
 
AppSync.org: open-source patterns and code for data synchronization in mobile...
Niko Nelissen
 
ArcReady - Architecting For The Cloud
Microsoft ArcReady
 
Forms + azure
Amal Dev
 
Planning for Synchronization with Browser-Local Databases
ZendCon
 
Building Universal Windows Apps for Smartphones and Tablets with XAML & C#
Nick Landry
 
In the Clouds with Windows Phone 7
Danijel Malik
 
Sync or swim: the challenge of complex offline apps
OutSystems
 
Fanug - Pragmatic Windows Phone Developer
Sam Basu
 
Introduction To .Net Compact Framework and SQL Server CE Development
christopherfairbairn
 
Ad

More from Eduardo Castro (20)

PPTX
Introducción a polybase en SQL Server
Eduardo Castro
 
PPTX
Creando tu primer ambiente de AI en Azure ML y SQL Server
Eduardo Castro
 
PPTX
Seguridad en SQL Azure
Eduardo Castro
 
PPTX
Azure Synapse Analytics MLflow
Eduardo Castro
 
PPTX
SQL Server 2019 con Windows Server 2022
Eduardo Castro
 
PPTX
Novedades en SQL Server 2022
Eduardo Castro
 
PPTX
Introduccion a SQL Server 2022
Eduardo Castro
 
PPTX
Machine Learning con Azure Managed Instance
Eduardo Castro
 
PPTX
Novedades en sql server 2022
Eduardo Castro
 
PDF
Sql server 2019 con windows server 2022
Eduardo Castro
 
PDF
Introduccion a databricks
Eduardo Castro
 
PDF
Pronosticos con sql server
Eduardo Castro
 
PDF
Data warehouse con azure synapse analytics
Eduardo Castro
 
PPTX
Que hay de nuevo en el Azure Data Lake Storage Gen2
Eduardo Castro
 
PPTX
Introduccion a Azure Synapse Analytics
Eduardo Castro
 
PPTX
Seguridad de SQL Database en Azure
Eduardo Castro
 
PPTX
Python dentro de SQL Server
Eduardo Castro
 
PDF
Servicios Cognitivos de de Microsoft
Eduardo Castro
 
TXT
Script de paso a paso de configuración de Secure Enclaves
Eduardo Castro
 
PDF
Introducción a conceptos de SQL Server Secure Enclaves
Eduardo Castro
 
Introducción a polybase en SQL Server
Eduardo Castro
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Eduardo Castro
 
Seguridad en SQL Azure
Eduardo Castro
 
Azure Synapse Analytics MLflow
Eduardo Castro
 
SQL Server 2019 con Windows Server 2022
Eduardo Castro
 
Novedades en SQL Server 2022
Eduardo Castro
 
Introduccion a SQL Server 2022
Eduardo Castro
 
Machine Learning con Azure Managed Instance
Eduardo Castro
 
Novedades en sql server 2022
Eduardo Castro
 
Sql server 2019 con windows server 2022
Eduardo Castro
 
Introduccion a databricks
Eduardo Castro
 
Pronosticos con sql server
Eduardo Castro
 
Data warehouse con azure synapse analytics
Eduardo Castro
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Eduardo Castro
 
Introduccion a Azure Synapse Analytics
Eduardo Castro
 
Seguridad de SQL Database en Azure
Eduardo Castro
 
Python dentro de SQL Server
Eduardo Castro
 
Servicios Cognitivos de de Microsoft
Eduardo Castro
 
Script de paso a paso de configuración de Secure Enclaves
Eduardo Castro
 
Introducción a conceptos de SQL Server Secure Enclaves
Eduardo Castro
 
Ad

Recently uploaded (20)

PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 

Syn framework 4.0 and sql server

  • 1. Building Offline Applications using Sync Framework, SQL Server and SQL AzureEduardo Castro Martinezhttp://ecastrom.blogspot.comhttp://comunidadwindows.orgtwitter: edocastro
  • 2. Session Objectives and TakeawaysObjectives:Learn about the advantages of offline application architecture Learn how to build offline applications to synchronize data across different client platforms using Sync Framework Learn about developer choice and interoperability for 3rd party endpointsKey Takeaway:Offline applications have lots of benefits comparing to online applications, especially for mobile devices and cloud services Sync Framework, SQL Azure and Windows Azure provide a data platform that makes it very easy to build offline applications and sync services.Sync Framework caters for offline clients on any client platform, and provides better end-to-end support for Windows, Silverlight and Windows Phone 7 clients.
  • 3. Why Build Offline Capable AppsServer / ServiceOffline/Cached mode apps enjoy lots of value Client apps get better UX through Lower latency – data access doesn’t require round tripsHigher availability – app still runs if server is unreachableReduced network utilization – most data access is localServers gain better ability to schedule work asynchronouslyBenefits of cached mode are magnified on the InternetServer/service is further awayNetwork is less tuned/reliableRemote StoreSyncOffline ClientClient AppQuery / UpdateLocal Data Cache
  • 4. LinksSync Framework 4.0 Downloadhttp://bit.ly/syncfr40 Developer Centerhttp://bit.ly/syncdev Sync SQL Server http://bit.ly/syncsql
  • 5. Windows- SQL Server Express- SQL CompactEasy to develop the sync endpointsSync smarts on server, not on clientClient Offline AppsSyncEndpointsSyncFxClient APIsupportClient APIsupportSilverlightIsolated Storage - Other stores - Auth / Mgmt / Bus LogicSync ServiceSQL ServerWindows Phone 7Isolated Storage
  • 6. Other storesSimple protocol(OData& Sync)Windows Server / IISCloudSyncWindows MobileSQL Compact - On-PremisesSyncEndpointsSyncFxBrowser / HTML5- HTML5 storesAuth / Mgmt / Bus LogicSQL AzureMinimal client & store requirementsiPhone / Any ClientSQLite / Any store - WindowsAzureSync Framework v4 Overview
  • 7. Introduction to Microsoft Sync FrameworkMicrosoft Sync Framework is a comprehensive synchronization platform enabling collaboration and offline for applications, services and devices. Developers can build synchronization ecosystems that integrate any application, any data from any store using any protocol over any network.
  • 8. Introduction to Microsoft Sync FrameworkA key aspect of Sync Framework is the ability to create custom providers
  • 9. Included ProvidersDatabase synchronization providers: Synchronization for ADO.NET-enabled data sourcesFile synchronization provider: Synchronization for files and foldersWeb synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds
  • 10. Participant TypesFull participants are devices that allow developers to create applications and new data stores directly on the devicePartial participants are devices that have the ability to store data either in the existing data store or another data store on the device.
  • 11. Participant TypesSimple participants are devices that are only capable of providing information when requested. These devices cannot store or manipulate new data and are unable to support the creation of new applications
  • 12. Core ComponentsA provider built using Sync Framework communicates with a data source and retrieves state information from a metadata store
  • 13. Core ComponentsData SourceThe data source is the location where all information which needs to be synchronized is stored. Could be a relational database, a file, a Web Service or even a custom data source included within a line of business application. As long as you can programmatically access the data, it can participate in synchronization.
  • 14. Core ComponentsMetadataAbility to store information about the data store and the objects within that data store with respect to state and change informationThe metadata for a data store can be broken down into five key componentsVersions KnowledgeTick count Replica IDTombstones
  • 16. Conflicts are Detected and Resolved or DeferredSource Wins: Changes made by the local replica always win in the event of a conflict.Destination Wins: Remote replica always winsSpecified Replica ID Always Wins: No matter who changes an item, the replica with the designated ID always wins.Last-Writer Wins: Based on the assumption that all replicas are trusted to make changes and wall clocks are synchronized, allow the last writer to win.Merge: In the event of two duplicate items in conflict, merge the information from one into the other.Log Conflict: Choose to simply log or defer the conflict.
  • 17. Sync Framework Database Synchronization
  • 18. Always Connected major disadvantagesNetwork RequirementsData Access SpeedsSingle Point of FailureServer Scalability
  • 20. Support data collaboration between databases
  • 21. Database Synchronization and the Microsoft Sync FrameworkComprehensive synchronization platform that enables developers to add synchronization capabilities to applications, services, and devices. Sync Framework solves the problem of how to synchronize any type of data in any store using any protocol over any topology
  • 24. HTML5iPhoneSyncSync ServiceSync+Windows Mobile 6.5 SyncWindows Phone 7SyncSummarySyncSilverlight
  • 25. Offline applications on Silverlight desktop and Windows Phone 7
  • 26. Offline Applications Architecture - ServerSilverlight Offline ApplicationSilverlight Offline ApplicationWindows Azure ApplicationCache ControllerOData Sync EndpointSyncOData Sync ProxyIsolated Storage ProviderBusiness LogicSQL AzureProviderSync LogicCollectionsIsolated StorageSQL Azure
  • 27. Sync Service OverviewData StoreExpose data from SQL Azure or SQL Server HostHosted on Windows Azure or IIS/Windows ServerExposed using a WCF sync endpoint ProtocolExpose data for synchronization via a protocol and allow 3rd parties to build offline clientsFeaturesSupport business logic extensity Custom authentication / authorizationFiltering ToolingProvide a Tooling Wizard experience to configuring server and client
  • 28. Offline Applications in Silverlight Silverlight Offline ClientSilverlight Offline ApplicationWindows Azure ApplicationCache ControllerOData Sync EndpointSyncBusiness LogicSQL AzureProviderSync LogicOData Sync ProxyCollectionsIsolated Storage ProviderIsolated StorageSQL AzureSync LogicSync Logic Moves to Server/Service
  • 29. Enables Offline In Isolated Storage with Silverlight 3 & 4
  • 30. Extensibility to allow 3rd party storage to be hooked in Offline Applications for all platformsOffline application on any platformSync ApplicationWindows Azure ApplicationOData Sync ServiceOData Sync ProxySyncBusiness LogicSQL AzureProviderSync LogicCollectionsStoreSQL AzureClient Needs To:Track changes on local store (samples for common stores).
  • 31. Implement client side sync proxy (samples for common platforms)Offline Application on HTML5 across browsers
  • 32. Offline Applications Architecture - Protocol Simple protocol (OData & Sync)Offline application on any platformSync ApplicationWindows Azure ApplicationOData Sync ServiceOData Sync ProxySyncBusiness LogicSQL AzureProviderSync LogicCollectionsStoreSQL Azure
  • 33. OData Protocol & SyncApply the principals of OData to the problem of data-syncStandardize on protocol not on componentsMinimal client sync logic or algorithmsService manages sync keeping client simpleProvide samples to show how to consume protocol for any platformProvide components for richer experience in Silverlight& WP7Full interop details defined in SDK
  • 34. SQL Azure Data Sync CTP1(Available now from http://azure.com)Sync End to End ScenariosOffline ApplicationsSyncSyncSyncSyncOn-Premises ApplicationsSyncSyncSyncSQL Azure DatabaseSyncSyncSyncMicrosoft Sync Framework 4.0 CTP available now! Retail & Remote OfficesSQL Azure Data Synchttp://azure.comSQL Azure Data Sync CTP2(Coming in near future)
  • 35. Sync Framework – Offline SupportReleases and Roadmap
  • 36. Sync Framework – Offline Support Call to ActionFor more information on Sync Framework 4.0 CTP MSDN Developer Center: http://msdn.com/sync/Try it outDownload “Sync Framework 4.0 October 2010 CTP” from Microsoft Download Center The sync service sample for Windows Azure or on-premises Client samples for Silverlight, WP7, WM6.5 & iPhone, HTML5Give feedbackScenarios to support, capabilities or feature requests, preview release problems, etc…
  • 37. Building Offline Applications using Sync Framework, SQL Server and SQL AzureEduardo Castro MartinezArquitectohttp://ecastrom.blogspot.comhttp://comunidadwindows.orgtwitter: edocastro
  • 39. © 2009 Microsoft Corporation. All rights reserved. Microsoft, MSDN, the MSDN logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.  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.