Download presentation
Presentation is loading. Please wait.
Published byAdrian Greene Modified over 9 years ago
1
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team mikecl@microsoft.com
2
Agenda Overview
3
Why Build Data Caching Apps Offline/Cached mode apps enjoy lots of value today on-prem – 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 Provides key aspects for Software+Services and 3-Screens & Cloud Remote Store Local Data Cache Rich client app 10X Operations X Messages
4
Offline / Cache Mode Apps End to End Other Platforms Sync HTML Windows Store Windows Azure Sync Reach Richer UX & Capabilities Sync Endpoints Sync Endpoints Auth / Mgmt / Bus Logic Sync FX Silverlight Sync smarts on server, not on client Simple sync protocol (OData-Sync) Minimal client & store requirements Easy to develop the sync endpoints.. Client API support Client API support
5
Demo 1 MIX Session Planning App
6
OData Protocol Standards based – Open web protocol for querying and updating data – Applies HTTP, AtomPub, & JSON to provide open access Services powering experiences – Lower costs through client tooling – Microsoft increases your reach by adding new clients – Empower your ecosystem building new mashups Services powering business – Enable your customers with open access – Zero-friction tooling like Excel as a client – Monetize or consume data from Microsoft “Dallas”
7
Open Data Protocol (OData) Data Sources ADO.NET SharePoint SQL Azure WCF Data & RIA Services SQL Server Excel PowerPivot.NET Client Silverlight Javascript PHP … … Analysis & Reporting Win Azure Open Data Protocol (AtomPub + EDM) Data Clients
8
Sync for OData Apply the principals of OData to the problem of data-sync Support two key client/server relationship patterns Symmetric client and service (Rich Clients) Asymmetric client and service (Thin Clients) Both client and service understand sync Client can handle conflicts, constraints, etc… Client can sync with service or other clients directly Built in support for Windows No client sync logic or algorithms Service manages sync keeping client simple Built in end to end support for Silverlight Easy to build clients for other platforms
9
Agenda Sync Application Architecture
10
Sync Framework Basic Overview Sync Provider A Sync Application Sync Provider B Sync Orchestrator Data Store A Data Store B changes Metadata Interpretation/ Manipulation Tools Provider Services Metadata Storage Sync Runtime Logic Metadata Interpretation/ Manipulation Tools Provider Services Metadata Storage Sync Runtime Logic Configure Sync()
11
Offline/Cached Mode Apps on Windows Windows Data Caching Client SQL Compact Sync Provider Cached Mode Application Cached Mode Application SQL Azure Proxy Provider Sync Orchestrator Sync Logic Client can sync with service or other clients Server-side business logic by processing provider events Client monitoring & management possible SQL Compact Symmetric OData-Sync Proxy Windows Azure Application SQL Azure Provider SQL Azure Provider Sync Logic WCF Sync Endpoint WCF Sync Endpoint Sync OData-Sync Endpoint Business Logic
12
Offline/Cached Mode Apps in Silverlight Collections Provider Silverlight Cached Mode Application Asymmetric OData-Sync Proxy Sync Orchestrator Sync Logic Moves to Server/Service Enables Offline In Isolated Storage with Silverlight 3 & 4 Plug in other stores by building providers Isolated Storage Sync Logic Collections Silverlight Data Caching Client Windows Azure Application SQL Azure Provider SQL Azure Provider Sync Logic Sync OData-Sync Endpoint Business Logic
13
Demo 2 3-Screens MIX Attendee Application on desktop Silverlight and Windows Phone 7 Series
14
Session Planner App Architecture Sync Components Silverlight Desktop Data Layer Isolated Storage Collections Desktop Presentation Layer Windows Phone 7 Series Data Layer Device Presentation Layer OData-Sync Sync Components Isolated Storage Collections SQL OData-Sync Endpoint OData-Sync Endpoint Sync FX ASP.NET OData Browser Clients Offline Clients OData Endpoint OData Endpoint HTML Online OData Clients Multiple clients access the same service Silverlight app for desktop and phone: Utilize OData-Sync protocol Cache data for offline operation Identical code base, except for UI
15
Offline/Cached Mode Apps On Any Platform Same basic conceptual model Capable of any storage available on the platform Simple code on the client required to plug in Cached Mode Application Custom Client Sync Controller and Asymmetric OData-Sync Proxy Custom Client Sync Controller and Asymmetric OData-Sync Proxy Storage Any Platform Data Caching Client Windows Azure Application SQL Azure Provider SQL Azure Provider Sync Logic Sync OData-Sync Endpoint Business Logic
16
Demo 3 MIX10 Client Code on IPhone
17
W3C HTML5 Storage Standard WebApps support in future browsers Microsoft participating to evolve standard Perfect place for any client sync support Possibility of having some end to end support
18
Agenda Moving Data Where You Need It
19
Sample End to End Scenario App On-Premises SQL Server Cloud North America Europe Asia SQL Azure Client Storage Cached Mode Clients App Client Storage App Client Storage North America Europe Asia
20
Getting Data Where You Need It On-premises to cloud continuum Sync Benefits Makes cloud extension rather than replacement Enables moving workload to cloud in stages New scenarios spanning enterprise and cloud Preserve investment in existing infrastructure Sync SQL Azure to SQL Azure Sync Benefits Scale-out read or read/write Geo replication of data Edge network data distribution Content delivery networks SQL Azure
21
Agenda Conclusions
22
H1’10 – SyncFX V2.1 Wave Sync Framework V2 with full support for Windows Azure Platform SQL Azure provider and SyncFX deployable to a web role Incremental DB provider improvements H2’10/H1’11 – SyncFX V3 Wave Extended client reach via sync protocol and server/service-side sync End 2 End support for Silverlight on desktop and phone Integrate offline with “online” frameworks VS tooling for client and server/service
23
Call To Action Use the demo attendee app Get the SQL Azure DataSync CTP Start building apps today Watch for invitation only CTP for Silverlight coming in next couple of months Give us your feedback
24
Resources Sync Framework MSDN Dev Center – http://msdn.com/sync http://msdn.com/sync Email – michael.r.clark@microsoft.com michael.r.clark@microsoft.com Team blog – http://blogs.msdn.com/sync http://blogs.msdn.com/sync Forums – http://social.msdn.microsoft.com/Forums/en- US/syncdevdiscussions/threads http://social.msdn.microsoft.com/Forums/en- US/syncdevdiscussions/threads
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.