SlideShare a Scribd company logo
Sync Framework
Synchronize Your Data On-
Premises and to the Cloud
Sameh Samir
Senior Software Engineer
Architecture and Infrastructure Team
MedStreaming LLC
What Will Talk About
• Brief on Microsoft Sync Framework
• Why I’d Need Synchronization
• Synchronization Ecosystem: The Concert
• Framework Components
• Responsibilities
• Participants
• Application Scenarios: Offline
• Application Scenarios: Collaboration
• How It Works
• Change Tracking
• Conflict Resolution
• Concepts
• Sync Scenarios: On-Premises Two Tier Architecture
• Demo: Synchronizing Data - 2-Tier Architecture
• Sync Scenarios: In the cloud – N Tier Architecture
• Demo: Synchronizing Data : N-Tier Architecture
• Choosing Primary Keys
• Tracing
• Demo: Sync with SQL Azure
Brief on Microsoft Sync Framework
• Microsoft data synchronization platform
• Allow for Collaboration and OCA (Offline) Applications scenarios
• Announced in MIX 2008
• August 2008 – V1.0
• April 2009 – V2.0
• August 2010 – V2.1
• Q1 2011 – V3.0 (Expected)
Why I’d Need Synchronization?
• Offline Availability
• Lake of offline availability maybe frustrating for some users. But can be a disaster for
others (Retail Store POS, Medical system)
• Access to Full Client Capabilities
• H/W intensive applications (Imaging, Medical, 3D, Media Processing, POS Station,
etc…)
• User Experience
• Asynchronous processing improves usability, but you still have to wait
• Cache management will be a headache if you would cache everything
• Mobility
• Request for mobile accessibility increases
• Mobile accessibility is a must for some businesses
• Mobile internet still not cheap
Qualities of MSF
• Ease of use
• High Level of Customization
• Data and Transport Agnostic Sync Functionality
• Build - in Providers
• Extensibility
• Custom Providers Framework
Synchronization Ecosystem: The Concert
Sync
Provider
Sync Application
Sync
Provider
Sync Orchestrator
Data
Store
Data
Store
changes
changes
changes
changes
Metadata
Interpretation
Tools
Provider
Services
MD Store
Sync Runtime
Framework Components
Sync Runtime (Orchestration)
KnowledgeVersion
Change
Enumeration
Basic Building Blocks
Built-In Providers
Conflict
Detection
Metadata
Storage Service
Anchor based
Providers
Simple
Providers
SQL Sync
Provider
SQL CE Sync
Provider
File Sync
Provider
Feed Sync
Provider
End to End Solutions
IDE
Integration
Other MS & 3rd Party
Providers / Solutions
.…
ADO Sync
Services
Db Sync
Provider
Sync for
OData
Full Enumeration
Providers
Responsibilities
Developer:
• The application
• The data store
• The data transfer protocol
Sync Framework:
• Synchronization session, or manager
• The synchronization runtime
Sync Framework, or the Developer:
• The sync provider
• The metadata store
Participants
• Full Participants: Devices that allow
developers to create applications and new
data stores directly on the device. E.g.
Windows Phone, laptop
• Partial Participants: Devices that have the
ability to store data either in the existing data
store or another data store on the device but
do not have the ability to launch executables.
E.g. thumb drives or SD Cards.
• Simple Participants: Devices that are only
capable of providing information when
requested. These devices cannot store or
manipulate new data. E.g. RSS Feeds and
web services.
Application Scenarios: Offline
• All clients sync through a single hub (Server)
• Suitable for Occasionally Connected
Applications (OCA)
• Single point of failure
• The most common, and easier to implement
Application Scenarios: Collaboration
• Suitable for application where users needs to
share data (i.e notes, documents, calendars
, project info)
• Each client can sync with other clients or with a
central server
• Avoid single point of failure
• Offload the sync processing from
server to clients, and thus provide
more scalability
• Less common and more complex
to implement.
Is metadata up-to
date
How It Works
Enumeration
Sync Orchestrator
Provider
Framework
with Runtime
Sync
Provider
Data
Store Meta-data
Store
GetChangeBatch
Enumerate all objects
Here’s one:
Id=‘foo’, LMT=5pm
What was it last time?
New
Updated
Same
Update metadata
Bring
metadata
up-to-date
Enumerate
changes
Metadata is
up-to-date!
All done!
What’s missing?
Record deletes
…
How It Works (Cont.)
Applying Changes
Sync Orchestrator
Provider
Framework
with Runtime
Sync
Provider
Data
StoreMeta-data
Store
Enumerate all objects
Here’s one:
Id=‘foo’, LMT=5pm
What was it last time?
New
Updated
Same
Update metadata
Bring
metadata
up-to-date
Metadata is
up-to-date!
All done!
What’s missing?
Record deletes
…
ProcessChangeBatch
Get versions
Update item
id=‘foo’
LMT was 1pm
New data is ‘bar’New LMT=8pm
Check LMT
and write
Update
metadata
Change Tracking
• Change tracking provides a list of changes made from one point in time to
another.
• Commonly implemented using rowversions and triggers, plus a “deleted”
table
• The major disadvantages are:
• Changes are required to the schema to add columns and tables
• Triggers are fired for each change made, which has performance implications.
• SQL Server 2008 has built-in change tracking, implemented without
rowversions and triggers
• The Sync Framework database synch providers take advantage of SQL
Server 2008 change tracking and provide the following advantages :
• No schema changes are required
• Triggers are not required for tracking changes
• All of the logic for tracking changes is internal to the SQL Server engine
Conflict Resolution
• Conflicts occur when two or more databases make a change to
the same piece of data
• A variety of ways to resolve these conflicts.
• Last change to come in wins
• Highest priority user wins
• Manual selection
• Sync Framework provides conflict detection and resolution
capabilities out of the box
• SQL Server 2008 makes it easier to identify conflicts.
Concepts
• Sync Scope:
• Set of tables that will be available for synchronization
• Sync Group:
• Group of that must be synchronized as a single unit (transaction)
• Ensure data consistency
• Provisioning a Server
• Get the server ready for change tracking
• Add change tracking columns and triggers for SQL Server 2005
• Enable change tracking feature for a set of tables of a SQL Server 2008 database
• Can be done programmatically or through “Configure Data Synchronization” wizard
Sync Scenarios
On-Premises (Two-Tier Architecture)
Sync
Provider
Sync Application
Sync
Orchestrator
Data
Store
Sync
Provider
Data
Store
Data ServerClient
Synchronizing Data - 2-Tier Architecture
Sync Scenarios
In The Cloud (N-Tier Architecture)
Sync
Provider
Sync Application
Sync
Orchestrator
Data
Store
Sync
Provider
Data
Store
Data ServerClient
Proxy
Synchronizing Data - N-Tier Architecture
Table Key Selection
Take it seriously, or else
Table Key Selection : The Problem
Client 1 Client 2
1 Customer 1 …
100 Customer 100 …
1 Customer 1 …
100
Customer 100 …
101
Customer 101 …
1 Customer 1 …
100
Customer 100 …
101
Customer 101 …
101 Customer 101 …
Duplicate Key Conflict
Table Key Selection : Solutions
1. Use GUID instead of auto incremented IDs
• Solve primary key collisions possible with auto-increment columns
• Increased index size leads to increased query time
• Causes fragmented clustered index, which also affects query
processing time.
• Can be solved in SQL Server by using NEWSEQUENTIALID function
to generate ordered GUIDs
2. ID Ranges
• Split available IDs into segments
• Assign each client a unique segments
• Client can ask for more ID ranges
Table Key Selection : Solutions (Cont.)
3. Compound Keys
• Use compound key that includes a client identifier
4. Use Business Key as ID
• Use unique business keys (i.e National Number / SSN /
Barcode)
• May affect the query performance if key type is not numerical.
5. Online Insert
• Insert directly to the server
Enable Tracing
Sync To SQL Azure
Call To Action
Azure Table Sync Library (azuretablesynclib.codeplex.com)
Open source project aims to create custom data sync providers
to allow for the following sync sceanrios
1. Azure Table Storage <-> SQL Server / Express
2. Azure Table Storage <-> SQL CE
3. Azure Table Storage <-> SQL Azure
4. Azure Table Storage <-> Azure Table Storage
Keep in Touch
Email: sameh.sami@gmail.com
Blog: www.Cloudy-Ideas.net / www.sameh-samir.net
Twitter: twitter.com/sameh_samir
LinkedIn: linkedin/in/samehsamir

More Related Content

What's hot

Microsoft SharePoint Dashboards and Web Reporting
Microsoft SharePoint Dashboards and Web ReportingMicrosoft SharePoint Dashboards and Web Reporting
Microsoft SharePoint Dashboards and Web Reporting
Raffa Learning Community
 
(ATS4-PLAT10) Planning your deployment for a 64 bit world
(ATS4-PLAT10) Planning your deployment for a 64 bit world(ATS4-PLAT10) Planning your deployment for a 64 bit world
(ATS4-PLAT10) Planning your deployment for a 64 bit world
BIOVIA
 
Apache Apex Meetup at Cask
Apache Apex Meetup at CaskApache Apex Meetup at Cask
Apache Apex Meetup at Cask
Apache Apex
 
Controlling Delegation of Windows Servers and Active Directory
Controlling Delegation of Windows Servers and Active DirectoryControlling Delegation of Windows Servers and Active Directory
Controlling Delegation of Windows Servers and Active Directory
Zoho Corporation
 
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product Overview
WSO2
 
CloudStack Release 4.1 Retrospective
CloudStack Release 4.1 RetrospectiveCloudStack Release 4.1 Retrospective
CloudStack Release 4.1 Retrospective
Chip Childers
 
MCSA 70-412 Chapter 10
MCSA 70-412 Chapter 10MCSA 70-412 Chapter 10
MCSA 70-412 Chapter 10
Computer Networking
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
MSDEVMTL
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
Matsuo Sawahashi
 
Digital integration hub: Why, what and how?
Digital integration hub: Why, what and how?Digital integration hub: Why, what and how?
Digital integration hub: Why, what and how?
confluent
 
TrueSight Enterprise Edition
TrueSight Enterprise EditionTrueSight Enterprise Edition
TrueSight Enterprise Edition
michaelkmcdowell
 
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by FlinkFlink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward
 
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012   interesting tips & tricks when migrating to zarafaZararfa summer camp 2012   interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zarafa
 
DSD-INT 2021 TVA and MongoDb Archive - Miller
DSD-INT 2021 TVA and MongoDb Archive - MillerDSD-INT 2021 TVA and MongoDb Archive - Miller
DSD-INT 2021 TVA and MongoDb Archive - Miller
Deltares
 
Resume-SystemsDBA-Brian Wigton
Resume-SystemsDBA-Brian WigtonResume-SystemsDBA-Brian Wigton
Resume-SystemsDBA-Brian Wigton
Brian Wigton
 
Stream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache ApexStream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache Apex
Apache Apex
 
Schemas, streams, and grocery stores
Schemas, streams, and grocery storesSchemas, streams, and grocery stores
Schemas, streams, and grocery stores
confluent
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
WSO2
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Codit
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
WSO2
 

What's hot (20)

Microsoft SharePoint Dashboards and Web Reporting
Microsoft SharePoint Dashboards and Web ReportingMicrosoft SharePoint Dashboards and Web Reporting
Microsoft SharePoint Dashboards and Web Reporting
 
(ATS4-PLAT10) Planning your deployment for a 64 bit world
(ATS4-PLAT10) Planning your deployment for a 64 bit world(ATS4-PLAT10) Planning your deployment for a 64 bit world
(ATS4-PLAT10) Planning your deployment for a 64 bit world
 
Apache Apex Meetup at Cask
Apache Apex Meetup at CaskApache Apex Meetup at Cask
Apache Apex Meetup at Cask
 
Controlling Delegation of Windows Servers and Active Directory
Controlling Delegation of Windows Servers and Active DirectoryControlling Delegation of Windows Servers and Active Directory
Controlling Delegation of Windows Servers and Active Directory
 
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product Overview
 
CloudStack Release 4.1 Retrospective
CloudStack Release 4.1 RetrospectiveCloudStack Release 4.1 Retrospective
CloudStack Release 4.1 Retrospective
 
MCSA 70-412 Chapter 10
MCSA 70-412 Chapter 10MCSA 70-412 Chapter 10
MCSA 70-412 Chapter 10
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
Digital integration hub: Why, what and how?
Digital integration hub: Why, what and how?Digital integration hub: Why, what and how?
Digital integration hub: Why, what and how?
 
TrueSight Enterprise Edition
TrueSight Enterprise EditionTrueSight Enterprise Edition
TrueSight Enterprise Edition
 
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by FlinkFlink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
 
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012   interesting tips & tricks when migrating to zarafaZararfa summer camp 2012   interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
 
DSD-INT 2021 TVA and MongoDb Archive - Miller
DSD-INT 2021 TVA and MongoDb Archive - MillerDSD-INT 2021 TVA and MongoDb Archive - Miller
DSD-INT 2021 TVA and MongoDb Archive - Miller
 
Resume-SystemsDBA-Brian Wigton
Resume-SystemsDBA-Brian WigtonResume-SystemsDBA-Brian Wigton
Resume-SystemsDBA-Brian Wigton
 
Stream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache ApexStream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache Apex
 
Schemas, streams, and grocery stores
Schemas, streams, and grocery storesSchemas, streams, and grocery stores
Schemas, streams, and grocery stores
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
 

Similar to MSF: Sync your Data On-Premises And To The Cloud - dotNetwork Gathering, Oct 2010.

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
MahmoudZidan41
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
John D Almon
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
Shehap Elnagar
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Sam Palani
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
Gibraltar Software
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
Shehap Elnagar
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
Shehap Elnagar
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
Ching-Hwa Yu
 
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
ABTO Software
 
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 publicOjoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy
 
Tech Talk on Cloud Computing
Tech Talk on Cloud ComputingTech Talk on Cloud Computing
Tech Talk on Cloud Computing
ITviec
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
Comsysto Reply GmbH
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Amazon Web Services
 
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
ABTO Software
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Amazon Web Services
 
Syn framework 4.0 and sql server
Syn framework 4.0 and sql serverSyn framework 4.0 and sql server
Syn framework 4.0 and sql server
Eduardo Castro
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloud
NCCOMMS
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2
Sean Braymen
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
Vinod Wilson
 
SCORCH: Tying it All Together
SCORCH: Tying it All TogetherSCORCH: Tying it All Together
SCORCH: Tying it All Together
C/D/H Technology Consultants
 

Similar to MSF: Sync your Data On-Premises And To The Cloud - dotNetwork Gathering, Oct 2010. (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
 
T sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powersT sql performance guidelines for better db stress powers
T sql performance guidelines for better db stress powers
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
 
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
 
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 publicOjoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
 
Tech Talk on Cloud Computing
Tech Talk on Cloud ComputingTech Talk on Cloud Computing
Tech Talk on Cloud Computing
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
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
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
Syn framework 4.0 and sql server
Syn framework 4.0 and sql serverSyn framework 4.0 and sql server
Syn framework 4.0 and sql server
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloud
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
SCORCH: Tying it All Together
SCORCH: Tying it All TogetherSCORCH: Tying it All Together
SCORCH: Tying it All Together
 

Recently uploaded

53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
MarynaYurchenko2
 
EV Charging at Multifamily Properties by Kevin Donnelly
EV Charging at Multifamily Properties by Kevin DonnellyEV Charging at Multifamily Properties by Kevin Donnelly
EV Charging at Multifamily Properties by Kevin Donnelly
Forth
 
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
78tq3hi2
 
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa WarheitExpanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Forth
 
Catalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptxCatalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptx
Blue Star Brothers
 
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
utuvvas
 
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
utuvvas
 
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdfInfineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
maicuongdt21
 
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
pycfbo
 
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
cenaws
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
u2cz10zq
 
Charging Fueling & Infrastructure (CFI) Program by Kevin Miller
Charging Fueling & Infrastructure (CFI) Program  by Kevin MillerCharging Fueling & Infrastructure (CFI) Program  by Kevin Miller
Charging Fueling & Infrastructure (CFI) Program by Kevin Miller
Forth
 
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
g1inbfro
 
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User ManualKenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
derekmelino
 
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
asjpkomrxo
 
How driver behavior monitoring helps fleet managers?
How driver behavior monitoring helps fleet managers?How driver behavior monitoring helps fleet managers?
How driver behavior monitoring helps fleet managers?
jennifermiller8137
 
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
ggany
 
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
ahmedendrise81
 
car rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamascar rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamas
justinwilson0857
 
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
afkxen
 

Recently uploaded (20)

53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
 
EV Charging at Multifamily Properties by Kevin Donnelly
EV Charging at Multifamily Properties by Kevin DonnellyEV Charging at Multifamily Properties by Kevin Donnelly
EV Charging at Multifamily Properties by Kevin Donnelly
 
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
快速办理(napier毕业证书)英国龙比亚大学毕业证在读证明一模一样
 
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa WarheitExpanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
 
Catalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptxCatalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptx
 
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
定制(london学位证书)英国伦敦大学毕业证本科学历原版一模一样
 
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
 
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdfInfineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
 
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
 
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
 
Charging Fueling & Infrastructure (CFI) Program by Kevin Miller
Charging Fueling & Infrastructure (CFI) Program  by Kevin MillerCharging Fueling & Infrastructure (CFI) Program  by Kevin Miller
Charging Fueling & Infrastructure (CFI) Program by Kevin Miller
 
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
 
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User ManualKenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
 
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
 
How driver behavior monitoring helps fleet managers?
How driver behavior monitoring helps fleet managers?How driver behavior monitoring helps fleet managers?
How driver behavior monitoring helps fleet managers?
 
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
 
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
 
car rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamascar rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamas
 
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
一比一原版(Columbia文凭证书)哥伦比亚大学毕业证如何办理
 

MSF: Sync your Data On-Premises And To The Cloud - dotNetwork Gathering, Oct 2010.

  • 1. Sync Framework Synchronize Your Data On- Premises and to the Cloud Sameh Samir Senior Software Engineer Architecture and Infrastructure Team MedStreaming LLC
  • 2. What Will Talk About • Brief on Microsoft Sync Framework • Why I’d Need Synchronization • Synchronization Ecosystem: The Concert • Framework Components • Responsibilities • Participants • Application Scenarios: Offline • Application Scenarios: Collaboration • How It Works • Change Tracking • Conflict Resolution • Concepts • Sync Scenarios: On-Premises Two Tier Architecture • Demo: Synchronizing Data - 2-Tier Architecture • Sync Scenarios: In the cloud – N Tier Architecture • Demo: Synchronizing Data : N-Tier Architecture • Choosing Primary Keys • Tracing • Demo: Sync with SQL Azure
  • 3. Brief on Microsoft Sync Framework • Microsoft data synchronization platform • Allow for Collaboration and OCA (Offline) Applications scenarios • Announced in MIX 2008 • August 2008 – V1.0 • April 2009 – V2.0 • August 2010 – V2.1 • Q1 2011 – V3.0 (Expected)
  • 4. Why I’d Need Synchronization? • Offline Availability • Lake of offline availability maybe frustrating for some users. But can be a disaster for others (Retail Store POS, Medical system) • Access to Full Client Capabilities • H/W intensive applications (Imaging, Medical, 3D, Media Processing, POS Station, etc…) • User Experience • Asynchronous processing improves usability, but you still have to wait • Cache management will be a headache if you would cache everything • Mobility • Request for mobile accessibility increases • Mobile accessibility is a must for some businesses • Mobile internet still not cheap
  • 5. Qualities of MSF • Ease of use • High Level of Customization • Data and Transport Agnostic Sync Functionality • Build - in Providers • Extensibility • Custom Providers Framework
  • 6. Synchronization Ecosystem: The Concert Sync Provider Sync Application Sync Provider Sync Orchestrator Data Store Data Store changes changes changes changes Metadata Interpretation Tools Provider Services MD Store Sync Runtime
  • 7. Framework Components Sync Runtime (Orchestration) KnowledgeVersion Change Enumeration Basic Building Blocks Built-In Providers Conflict Detection Metadata Storage Service Anchor based Providers Simple Providers SQL Sync Provider SQL CE Sync Provider File Sync Provider Feed Sync Provider End to End Solutions IDE Integration Other MS & 3rd Party Providers / Solutions .… ADO Sync Services Db Sync Provider Sync for OData Full Enumeration Providers
  • 8. Responsibilities Developer: • The application • The data store • The data transfer protocol Sync Framework: • Synchronization session, or manager • The synchronization runtime Sync Framework, or the Developer: • The sync provider • The metadata store
  • 9. Participants • Full Participants: Devices that allow developers to create applications and new data stores directly on the device. E.g. Windows Phone, laptop • Partial Participants: Devices that have the ability to store data either in the existing data store or another data store on the device but do not have the ability to launch executables. E.g. thumb drives or SD Cards. • Simple Participants: Devices that are only capable of providing information when requested. These devices cannot store or manipulate new data. E.g. RSS Feeds and web services.
  • 10. Application Scenarios: Offline • All clients sync through a single hub (Server) • Suitable for Occasionally Connected Applications (OCA) • Single point of failure • The most common, and easier to implement
  • 11. Application Scenarios: Collaboration • Suitable for application where users needs to share data (i.e notes, documents, calendars , project info) • Each client can sync with other clients or with a central server • Avoid single point of failure • Offload the sync processing from server to clients, and thus provide more scalability • Less common and more complex to implement.
  • 12. Is metadata up-to date How It Works Enumeration Sync Orchestrator Provider Framework with Runtime Sync Provider Data Store Meta-data Store GetChangeBatch Enumerate all objects Here’s one: Id=‘foo’, LMT=5pm What was it last time? New Updated Same Update metadata Bring metadata up-to-date Enumerate changes Metadata is up-to-date! All done! What’s missing? Record deletes …
  • 13. How It Works (Cont.) Applying Changes Sync Orchestrator Provider Framework with Runtime Sync Provider Data StoreMeta-data Store Enumerate all objects Here’s one: Id=‘foo’, LMT=5pm What was it last time? New Updated Same Update metadata Bring metadata up-to-date Metadata is up-to-date! All done! What’s missing? Record deletes … ProcessChangeBatch Get versions Update item id=‘foo’ LMT was 1pm New data is ‘bar’New LMT=8pm Check LMT and write Update metadata
  • 14. Change Tracking • Change tracking provides a list of changes made from one point in time to another. • Commonly implemented using rowversions and triggers, plus a “deleted” table • The major disadvantages are: • Changes are required to the schema to add columns and tables • Triggers are fired for each change made, which has performance implications. • SQL Server 2008 has built-in change tracking, implemented without rowversions and triggers • The Sync Framework database synch providers take advantage of SQL Server 2008 change tracking and provide the following advantages : • No schema changes are required • Triggers are not required for tracking changes • All of the logic for tracking changes is internal to the SQL Server engine
  • 15. Conflict Resolution • Conflicts occur when two or more databases make a change to the same piece of data • A variety of ways to resolve these conflicts. • Last change to come in wins • Highest priority user wins • Manual selection • Sync Framework provides conflict detection and resolution capabilities out of the box • SQL Server 2008 makes it easier to identify conflicts.
  • 16. Concepts • Sync Scope: • Set of tables that will be available for synchronization • Sync Group: • Group of that must be synchronized as a single unit (transaction) • Ensure data consistency • Provisioning a Server • Get the server ready for change tracking • Add change tracking columns and triggers for SQL Server 2005 • Enable change tracking feature for a set of tables of a SQL Server 2008 database • Can be done programmatically or through “Configure Data Synchronization” wizard
  • 17. Sync Scenarios On-Premises (Two-Tier Architecture) Sync Provider Sync Application Sync Orchestrator Data Store Sync Provider Data Store Data ServerClient
  • 18. Synchronizing Data - 2-Tier Architecture
  • 19. Sync Scenarios In The Cloud (N-Tier Architecture) Sync Provider Sync Application Sync Orchestrator Data Store Sync Provider Data Store Data ServerClient Proxy
  • 20. Synchronizing Data - N-Tier Architecture
  • 21. Table Key Selection Take it seriously, or else
  • 22. Table Key Selection : The Problem Client 1 Client 2 1 Customer 1 … 100 Customer 100 … 1 Customer 1 … 100 Customer 100 … 101 Customer 101 … 1 Customer 1 … 100 Customer 100 … 101 Customer 101 … 101 Customer 101 … Duplicate Key Conflict
  • 23. Table Key Selection : Solutions 1. Use GUID instead of auto incremented IDs • Solve primary key collisions possible with auto-increment columns • Increased index size leads to increased query time • Causes fragmented clustered index, which also affects query processing time. • Can be solved in SQL Server by using NEWSEQUENTIALID function to generate ordered GUIDs 2. ID Ranges • Split available IDs into segments • Assign each client a unique segments • Client can ask for more ID ranges
  • 24. Table Key Selection : Solutions (Cont.) 3. Compound Keys • Use compound key that includes a client identifier 4. Use Business Key as ID • Use unique business keys (i.e National Number / SSN / Barcode) • May affect the query performance if key type is not numerical. 5. Online Insert • Insert directly to the server
  • 26. Sync To SQL Azure
  • 27.
  • 28. Call To Action Azure Table Sync Library (azuretablesynclib.codeplex.com) Open source project aims to create custom data sync providers to allow for the following sync sceanrios 1. Azure Table Storage <-> SQL Server / Express 2. Azure Table Storage <-> SQL CE 3. Azure Table Storage <-> SQL Azure 4. Azure Table Storage <-> Azure Table Storage
  • 29. Keep in Touch Email: sameh.sami@gmail.com Blog: www.Cloudy-Ideas.net / www.sameh-samir.net Twitter: twitter.com/sameh_samir LinkedIn: linkedin/in/samehsamir

Editor's Notes

  1. 3 – 5 Minutes
  2. 3 – 5 Minutes
  3. 7 min max Title Tech rush over the last 4 yrs (MSDN site) I can’t learn all Some tech are important, some for show, and others are mandatory Offline availability Centralized Data + Web Access do the trick Checking mail from the web VS checking from an offline client Read / write and interact offline, even you may not notice conn drop This is acceptable for normal users, but what for POS station, or Medical system H/W intensive applications (Imaging, Medical, 3D, Media Processing, POS Station, etc…) User Experience SL is a client technology that run inside the browser Async techs (Ajax) improves usability, but still you’ve to wait (Gmail as an example) Rich UI Mobility Day after day we can access more through mobile (email, messaging, social networks)
  4. 3 – 5 Minutes
  5. 7 min max Title Tech rush over the last 4 yrs (MSDN site) I can’t learn all Some tech are important, some for show, and others are mandatory Offline availability Centralized Data + Web Access do the trick Checking mail from the web VS checking from an offline client Read / write and interact offline, even you may not notice conn drop This is acceptable for normal users, but what for POS station, or Medical system H/W intensive applications (Imaging, Medical, 3D, Media Processing, POS Station, etc…) User Experience SL is a client technology that run inside the browser Async techs (Ajax) improves usability, but still you’ve to wait (Gmail as an example) Rich UI Mobility Day after day we can access more through mobile (email, messaging, social networks)
  6. 3 – 5 Minutes Version is what tells us the last modification time Sync Knowledge: typical solution would be sending of all sync versions from the destination to the source. very inefficient . single compact data structure which we call knowledge Metadata Store: Interact w/ md stores which can be inside the data store or in a separate data store
  7. Diff between anchor based enumeration and full enumeration
  8. 7 min max Title Tech rush over the last 4 yrs (MSDN site) I can’t learn all Some tech are important, some for show, and others are mandatory Offline availability Centralized Data + Web Access do the trick Checking mail from the web VS checking from an offline client Read / write and interact offline, even you may not notice conn drop This is acceptable for normal users, but what for POS station, or Medical system H/W intensive applications (Imaging, Medical, 3D, Media Processing, POS Station, etc…) User Experience SL is a client technology that run inside the browser Async techs (Ajax) improves usability, but still you’ve to wait (Gmail as an example) Rich UI Mobility Day after day we can access more through mobile (email, messaging, social networks)
  9. Scenarios VPN headeche Port Forwarding disadv Out of enterprise hosting and public clients
  10. Code executes on the server allow for dynamic filtering
  11. 3 – 5 Minutes
  12. 3 – 5 Minutes