SlideShare a Scribd company logo
1 of 37
Building Offline Applications using Sync Framework, SQL Server and SQL Azure Eduardo Castro Martinez http://ecastrom.blogspot.com http://comunidadwindows.org twitter: edocastro
Session Objectives and Takeaways Objectives: 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 endpoints Key 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 Apps Server / Service Offline/Cached mode apps enjoy lots of value  Client apps get better UX through  Lower latency – data access doesn’t require round trips Higher availability – app still runs if server is unreachable Reduced network utilization – most data access is local Servers gain better ability to schedule work asynchronously Benefits of cached mode are magnified on the Internet Server/service is further away Network is less tuned/reliable Remote Store Sync Offline Client Client App Query / Update Local Data Cache
Links Sync Framework 4.0 Download http://bit.ly/syncfr40  Developer Center http://bit.ly/syncdev  Sync SQL Server  http://bit.ly/syncsql
Windows - SQL Server Express - SQL Compact Easy to develop the sync endpoints Sync smarts on server, not on client Client Offline Apps Sync Endpoints SyncFx Client API support Client API support Silverlight Isolated Storage -  Other stores -  Auth / Mgmt / Bus Logic Sync Service SQL Server Windows Phone 7 ,[object Object]
Other storesSimple protocol (OData& Sync) Windows Server / IIS Cloud Sync Windows Mobile SQL Compact -  On-Premises Sync Endpoints SyncFx Browser / HTML5 - HTML5 stores Auth / Mgmt / Bus Logic SQL Azure Minimal client & store requirements iPhone / Any Client SQLite / Any store -  WindowsAzure Sync Framework v4 Overview
Introduction to Microsoft Sync Framework Microsoft 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 Framework A key aspect of Sync Framework is the ability to create custom providers
Included Providers Database synchronization providers: Synchronization for ADO.NET-enabled data sources File synchronization provider: Synchronization for files and folders Web synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds
Participant Types Full participants are devices that allow developers to create applications and new data stores directly on the device Partial participants are devices that have the ability to store data either in the existing data store or another data store on the device.
Participant Types Simple 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 Components A provider built using Sync Framework communicates with a data source and retrieves state information from a metadata store
Core Components Data Source The 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 Components Metadata Ability to store information about the data store and the objects within that data store with respect to state and change information The metadata for a data store can be broken down into five key components Versions			Knowledge Tick count			Replica ID Tombstones
Synchronization Flow
Conflicts are Detected and Resolved or Deferred Source Wins: Changes made by the local replica always win in the event of a conflict. Destination Wins: Remote replica always wins Specified 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 disadvantages Network Requirements Data Access Speeds Single Point of Failure Server Scalability
Occasionally Connected Application (OCA)
Support data collaboration between databases
Database Synchronization and the Microsoft Sync Framework Comprehensive 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
HTML5 iPhone Sync Sync Service Sync + Windows Mobile 6.5   Sync Windows Phone 7 Sync Summary Sync Silverlight
Offline applications on Silverlight desktop and Windows Phone 7
Offline Applications Architecture - Server Silverlight Offline Application Silverlight Offline Application Windows Azure Application Cache Controller OData Sync Endpoint Sync OData Sync Proxy Isolated Storage Provider Business Logic SQL Azure Provider Sync Logic Collections Isolated Storage SQL Azure
Sync Service Overview Data Store Expose data from SQL Azure or SQL Server  Host Hosted on Windows Azure or IIS/Windows Server Exposed using a WCF sync endpoint  Protocol Expose data for synchronization via a protocol and allow 3rd parties to build offline clients Features Support business logic extensity  Custom authentication / authorization Filtering  Tooling Provide a Tooling Wizard experience to configuring server and client
Offline Applications in Silverlight  Silverlight Offline Client Silverlight Offline Application Windows Azure Application Cache Controller OData Sync Endpoint Sync Business Logic SQL Azure Provider Sync Logic OData Sync Proxy Collections Isolated Storage Provider Isolated Storage SQL Azure Sync Logic ,[object Object]
Enables Offline In Isolated Storage with Silverlight 3 & 4
Extensibility to allow 3rd party storage to be hooked in ,[object Object]
Implement client side sync proxy (samples for common platforms),[object Object]
Offline Applications Architecture - Protocol  Simple protocol (OData & Sync) Offline application on any platform Sync Application Windows Azure Application OData Sync Service OData Sync Proxy Sync Business Logic SQL Azure Provider Sync Logic Collections Store SQL Azure
OData Protocol & Sync Apply the principals of OData to the problem of data-sync Standardize on protocol not on components Minimal client sync logic or algorithms Service manages sync keeping client simple Provide samples to show how to consume protocol for any platform Provide components for richer experience in Silverlight& WP7 Full interop details defined in SDK
SQL Azure Data Sync CTP1 (Available now from  http://azure.com) Sync End to End Scenarios Offline  Applications Sync Sync Sync Sync On-Premises Applications Sync Sync Sync SQL Azure Database Sync Sync Sync Microsoft Sync Framework 4.0  CTP available now!  Retail & Remote Offices SQL Azure Data Sync http://azure.com SQL Azure Data Sync CTP2 (Coming in near future)
Sync Framework – Offline SupportReleases and Roadmap
Sync Framework – Offline Support Call to Action For more information on Sync Framework 4.0 CTP  MSDN Developer Center: http://msdn.com/sync/ Try it out Download “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, HTML5 Give feedback Scenarios to support, capabilities or feature requests, preview release problems, etc…
Building Offline Applications using Sync Framework, SQL Server and SQL Azure Eduardo Castro Martinez Arquitecto http://ecastrom.blogspot.com http://comunidadwindows.org twitter: edocastro

More Related Content

What's hot

Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to chooseAlexander Meijers
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsAlexander Meijers
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherSharePoint Saturday NY
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Prashanth Shivakumar
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference SheetGoodCustomers
 
The New Efficiency
The New EfficiencyThe New Efficiency
The New EfficiencyCraig Bailey
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPukdpe
 
Microsoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 2) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 2) ABTO Software Lecture GarntsarikABTO Software
 
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture GarntsarikABTO Software
 
Hell Froze Over, Pigs Flew, Microsoft Went Open
Hell Froze Over, Pigs Flew, Microsoft Went OpenHell Froze Over, Pigs Flew, Microsoft Went Open
Hell Froze Over, Pigs Flew, Microsoft Went Openukdpe
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetHaaron Gonzalez
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )senthil0809
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 uploadREADIFY
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyREADIFY
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
Silverlight
SilverlightSilverlight
SilverlightBiTWiSE
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyREADIFY
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2jamram82
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX ApplicationsEnkitec
 

What's hot (20)

Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to choose
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point Solutions
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference Sheet
 
The New Efficiency
The New EfficiencyThe New Efficiency
The New Efficiency
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
 
Microsoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 2) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 2) ABTO Software Lecture Garntsarik
 
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture GarntsarikMicrosoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
Microsoft Sync Framework (part 1) ABTO Software Lecture Garntsarik
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
 
Hell Froze Over, Pigs Flew, Microsoft Went Open
Hell Froze Over, Pigs Flew, Microsoft Went OpenHell Froze Over, Pigs Flew, Microsoft Went Open
Hell Froze Over, Pigs Flew, Microsoft Went Open
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 upload
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Silverlight
SilverlightSilverlight
Silverlight
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX Applications
 

Similar to Syn framework 4.0 and sql server

Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010DavidGristwood
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsClint Edmonson
 
Confluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with ReplyConfluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with Replyconfluent
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricSpiffy
 
Windows Azure(Pr-1).ppt.pptx
Windows Azure(Pr-1).ppt.pptxWindows Azure(Pr-1).ppt.pptx
Windows Azure(Pr-1).ppt.pptxPrincePatel272012
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedWes Yanaga
 
InTouch Machine Edition 2014 R2: What is New and Advanced Features
InTouch Machine Edition 2014 R2: What is New and Advanced FeaturesInTouch Machine Edition 2014 R2: What is New and Advanced Features
InTouch Machine Edition 2014 R2: What is New and Advanced FeaturesWonderware InTouch Machine Edition
 
.NET Intro & Dependency Injection Workshop
.NET Intro & Dependency Injection Workshop.NET Intro & Dependency Injection Workshop
.NET Intro & Dependency Injection WorkshopSerhii Kokhan
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxsaidbilgen
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureK.Mohamed Faizal
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 

Similar to Syn framework 4.0 and sql server (20)

Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010Understanding the Windows Azure Platform - Dec 2010
Understanding the Windows Azure Platform - Dec 2010
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client Applications
 
Confluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with ReplyConfluent Partner Tech Talk with Reply
Confluent Partner Tech Talk with Reply
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Windows Azure(Pr-1).ppt.pptx
Windows Azure(Pr-1).ppt.pptxWindows Azure(Pr-1).ppt.pptx
Windows Azure(Pr-1).ppt.pptx
 
Windows Azure Platform Overview
Windows Azure Platform OverviewWindows Azure Platform Overview
Windows Azure Platform Overview
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event Ned
 
InTouch Machine Edition 2014 R2: What is New and Advanced Features
InTouch Machine Edition 2014 R2: What is New and Advanced FeaturesInTouch Machine Edition 2014 R2: What is New and Advanced Features
InTouch Machine Edition 2014 R2: What is New and Advanced Features
 
.NET Intro & Dependency Injection Workshop
.NET Intro & Dependency Injection Workshop.NET Intro & Dependency Injection Workshop
.NET Intro & Dependency Injection Workshop
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 
Azure Microsoft
Azure MicrosoftAzure Microsoft
Azure Microsoft
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 

More from Eduardo Castro

Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL ServerEduardo Castro
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerCreando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerEduardo Castro
 
Seguridad en SQL Azure
Seguridad en SQL AzureSeguridad en SQL Azure
Seguridad en SQL AzureEduardo Castro
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflowEduardo Castro
 
SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022Eduardo Castro
 
Novedades en SQL Server 2022
Novedades en SQL Server 2022Novedades en SQL Server 2022
Novedades en SQL Server 2022Eduardo Castro
 
Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Eduardo Castro
 
Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceEduardo Castro
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022Eduardo Castro
 
Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Eduardo Castro
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricksEduardo Castro
 
Pronosticos con sql server
Pronosticos con sql serverPronosticos con sql server
Pronosticos con sql serverEduardo Castro
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsEduardo Castro
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Eduardo Castro
 
Introduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsIntroduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsEduardo Castro
 
Seguridad de SQL Database en Azure
Seguridad de SQL Database en AzureSeguridad de SQL Database en Azure
Seguridad de SQL Database en AzureEduardo Castro
 
Python dentro de SQL Server
Python dentro de SQL ServerPython dentro de SQL Server
Python dentro de SQL ServerEduardo Castro
 
Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Eduardo Castro
 
Script de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesScript de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesEduardo Castro
 
Introducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesIntroducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesEduardo Castro
 

More from Eduardo Castro (20)

Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL Server
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerCreando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL Server
 
Seguridad en SQL Azure
Seguridad en SQL AzureSeguridad en SQL Azure
Seguridad en SQL Azure
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflow
 
SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022
 
Novedades en SQL Server 2022
Novedades en SQL Server 2022Novedades en SQL Server 2022
Novedades en SQL Server 2022
 
Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Introduccion a SQL Server 2022
Introduccion a SQL Server 2022
 
Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed Instance
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022
 
Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricks
 
Pronosticos con sql server
Pronosticos con sql serverPronosticos con sql server
Pronosticos con sql server
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analytics
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2
 
Introduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsIntroduccion a Azure Synapse Analytics
Introduccion a Azure Synapse Analytics
 
Seguridad de SQL Database en Azure
Seguridad de SQL Database en AzureSeguridad de SQL Database en Azure
Seguridad de SQL Database en Azure
 
Python dentro de SQL Server
Python dentro de SQL ServerPython dentro de SQL Server
Python dentro de SQL Server
 
Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft
 
Script de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesScript de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure Enclaves
 
Introducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesIntroducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure Enclaves
 

Recently uploaded

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Recently uploaded (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

Syn framework 4.0 and sql server

  • 1. Building Offline Applications using Sync Framework, SQL Server and SQL Azure Eduardo Castro Martinez http://ecastrom.blogspot.com http://comunidadwindows.org twitter: edocastro
  • 2. Session Objectives and Takeaways Objectives: 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 endpoints Key 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 Apps Server / Service Offline/Cached mode apps enjoy lots of value Client apps get better UX through Lower latency – data access doesn’t require round trips Higher availability – app still runs if server is unreachable Reduced network utilization – most data access is local Servers gain better ability to schedule work asynchronously Benefits of cached mode are magnified on the Internet Server/service is further away Network is less tuned/reliable Remote Store Sync Offline Client Client App Query / Update Local Data Cache
  • 4. Links Sync Framework 4.0 Download http://bit.ly/syncfr40 Developer Center http://bit.ly/syncdev Sync SQL Server http://bit.ly/syncsql
  • 5.
  • 6. Other storesSimple protocol (OData& Sync) Windows Server / IIS Cloud Sync Windows Mobile SQL Compact - On-Premises Sync Endpoints SyncFx Browser / HTML5 - HTML5 stores Auth / Mgmt / Bus Logic SQL Azure Minimal client & store requirements iPhone / Any Client SQLite / Any store - WindowsAzure Sync Framework v4 Overview
  • 7. Introduction to Microsoft Sync Framework Microsoft 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 Framework A key aspect of Sync Framework is the ability to create custom providers
  • 9. Included Providers Database synchronization providers: Synchronization for ADO.NET-enabled data sources File synchronization provider: Synchronization for files and folders Web synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds
  • 10. Participant Types Full participants are devices that allow developers to create applications and new data stores directly on the device Partial 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 Types Simple 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 Components A provider built using Sync Framework communicates with a data source and retrieves state information from a metadata store
  • 13. Core Components Data Source The 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 Components Metadata Ability to store information about the data store and the objects within that data store with respect to state and change information The metadata for a data store can be broken down into five key components Versions Knowledge Tick count Replica ID Tombstones
  • 16. Conflicts are Detected and Resolved or Deferred Source Wins: Changes made by the local replica always win in the event of a conflict. Destination Wins: Remote replica always wins Specified 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 disadvantages Network Requirements Data Access Speeds Single Point of Failure Server Scalability
  • 20. Support data collaboration between databases
  • 21. Database Synchronization and the Microsoft Sync Framework Comprehensive 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. HTML5 iPhone Sync Sync Service Sync + Windows Mobile 6.5 Sync Windows Phone 7 Sync Summary Sync Silverlight
  • 25. Offline applications on Silverlight desktop and Windows Phone 7
  • 26. Offline Applications Architecture - Server Silverlight Offline Application Silverlight Offline Application Windows Azure Application Cache Controller OData Sync Endpoint Sync OData Sync Proxy Isolated Storage Provider Business Logic SQL Azure Provider Sync Logic Collections Isolated Storage SQL Azure
  • 27. Sync Service Overview Data Store Expose data from SQL Azure or SQL Server Host Hosted on Windows Azure or IIS/Windows Server Exposed using a WCF sync endpoint Protocol Expose data for synchronization via a protocol and allow 3rd parties to build offline clients Features Support business logic extensity Custom authentication / authorization Filtering Tooling Provide a Tooling Wizard experience to configuring server and client
  • 28.
  • 29. Enables Offline In Isolated Storage with Silverlight 3 & 4
  • 30.
  • 31.
  • 32. Offline Applications Architecture - Protocol Simple protocol (OData & Sync) Offline application on any platform Sync Application Windows Azure Application OData Sync Service OData Sync Proxy Sync Business Logic SQL Azure Provider Sync Logic Collections Store SQL Azure
  • 33. OData Protocol & Sync Apply the principals of OData to the problem of data-sync Standardize on protocol not on components Minimal client sync logic or algorithms Service manages sync keeping client simple Provide samples to show how to consume protocol for any platform Provide components for richer experience in Silverlight& WP7 Full interop details defined in SDK
  • 34. SQL Azure Data Sync CTP1 (Available now from http://azure.com) Sync End to End Scenarios Offline Applications Sync Sync Sync Sync On-Premises Applications Sync Sync Sync SQL Azure Database Sync Sync Sync Microsoft Sync Framework 4.0 CTP available now! Retail & Remote Offices SQL Azure Data Sync http://azure.com SQL Azure Data Sync CTP2 (Coming in near future)
  • 35. Sync Framework – Offline SupportReleases and Roadmap
  • 36. Sync Framework – Offline Support Call to Action For more information on Sync Framework 4.0 CTP MSDN Developer Center: http://msdn.com/sync/ Try it out Download “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, HTML5 Give feedback Scenarios to support, capabilities or feature requests, preview release problems, etc…
  • 37. Building Offline Applications using Sync Framework, SQL Server and SQL Azure Eduardo Castro Martinez Arquitecto http://ecastrom.blogspot.com http://comunidadwindows.org twitter: 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.