SlideShare a Scribd company logo
1 of 25
@rbaconsultingwww.rbaconsulting.com blog.rbaconsulting.com
Mobile Sync with Couchbase and
Azure Mobile Services
Joe Koletar
A Digital and Technology Consultancy
Agenda
• Sync background
• Azure Mobile Services Sync
• Couchbase Sync
A Digital and Technology Consultancy
Mobile DataAlwaysConnected
• Store data
remotely
• Access via REST
• Requires
connection
• Can be slow NeverConnected
• Store data
locally
• Access via
SQLite
• Connection not
required
• Always available
SometimesConnected
• Store data
locally and
remotely
• Access via
SQLite and
REST
• Connection not
required
• Always available
A Digital and Technology Consultancy
What is Sync
• Supports occasionally connected mobile access.
• Provides a rich user experience
• Retrieves updates when connected
• Store offline updates until connected
A Digital and Technology Consultancy
Sync Challenges
• Managing changes
• Server
• Adds
• Deletes
• Updates
• Client
• Adds
• Deletes
• Updates
• Need to resolve conflicts
A Digital and Technology Consultancy
Approaches to manage sync
• Timestamp
• Id hell
• Guids
• Compete replacement
A Digital and Technology Consultancy
Azure Mobile Services
A Digital and Technology Consultancy
Azure Portal
A Digital and Technology Consultancy
Azure Mobile Services
• Can dynamically define tables
• GUID Ids required
• Must create a SyncContext
• Tracks PendingOperations
• Merges updates that haven’t been synced
A Digital and Technology Consultancy
Push/Pull/Purge
• PushAsync
• Must push all tables
• Maintains referential integrity
• PullAsync
• Works per table
• Can specify tables to pull via LINQ query
• Executes Push first to empty PendingOperations
• PurgeAsync
• Clears items from the local store
• Executes Push first to empty PendingOperations
A Digital and Technology Consultancy
Conflict resolution
• Throws MobileServicePushFailedException
• Can provide sync handler on client in InitializeAsync
public interface IMobileServiceSyncHandler
{
Task OnPushCompleteAsync
(MobileServicePushCompletionResult result);
Task<JObject> ExecuteTableOperationAsync
(IMobileServiceTableOperation operation);
}
A Digital and Technology Consultancy
Couchbase
• Awesome demo at Evolve
• Near instantaneous synchronization between devices
A Digital and Technology Consultancy
Couchbase
A Digital and Technology Consultancy
Couchbase
A Digital and Technology Consultancy
Sync Gateway
• Traffic cop of the configuration
• Bidirectional, multi-master sync
• Manages and authenticates users
• Authorizes document access
• Routes documents to users
A Digital and Technology Consultancy
Sync Gateway
• Two APIs
• Sync REST API – port 4984
• Admin REST API – port 4985
• Sync Function
• Conflict resolution pushed to device
A Digital and Technology Consultancy
Couchbase Server
• Must have sync_gateway data bucket
• Stores synced data and corresponding metadata
A Digital and Technology Consultancy
Couchbase Client
• Database.CreatePullReplication
• Database.CreatePushReplication
A Digital and Technology Consultancy
Sync Function
• JavaScript Function
• Enforce validity or schema
• Enforce role membership
• Tag document with channels
• Grant users access to channels
A Digital and Technology Consultancy
Sync Gateway
• Configuration
• Command line
• JSON Configuration file
{ "log": ["CRUD+", "REST+", "Changes+", "Attach+"],
"databases": {
"sync_demo": {
"server":"http://localhost:8091",
"bucket":"sync_gateway",
"sync":`function(doc) channel(doc.channels);}`,
"users": {"GUEST": {"disabled": false,
"admin_channels": ["*"]}
}
}
}
}
A Digital and Technology Consultancy
Sync Gateway Users
• Sync Gateway manages mobile user accounts
• Authentication mechanisms
• HTTP Basic
• Session cookie
• Facebook
• Custom
A Digital and Technology Consultancy
Channels
• Tags attached to documents
• Used to link users to documents
• Users mapped to channels
A Digital and Technology Consultancy
Channels
A Digital and Technology Consultancy
References
• Azure Mobile Services
• http://channel9.msdn.com/Series/Windows-Azure-Mobile-Services/Build-
offline-apps-Azure-Mobile-Services
• http://blogs.msdn.com/b/azuremobile/archive/2014/04/07/deep-dive-on-
the-offline-support-in-the-managed-client-sdk.aspx
• Couchbase
• Evolve presentation: https://www.youtube.com/watch?v=g7WlnfvOvhI
• https://www.youtube.com/watch?v=g1EVj9B5Z6g
A Digital and Technology Consultancy

More Related Content

What's hot

Keynote speech
Keynote speechKeynote speech
Keynote speechBizTalk360
 
Extending Openstack Horizon for multi cloud management
Extending Openstack Horizon for multi cloud managementExtending Openstack Horizon for multi cloud management
Extending Openstack Horizon for multi cloud managementCoreStack
 
WSO2Con USA 2017: Building an Effective API Architecture
WSO2Con USA 2017: Building an Effective API ArchitectureWSO2Con USA 2017: Building an Effective API Architecture
WSO2Con USA 2017: Building an Effective API ArchitectureWSO2
 
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...Lucas Jellema
 
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices developmentChavdar Baikov
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootChavdar Baikov
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataAutodesk
 
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service APIForge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service APIAutodesk
 
Webinar with iBiz Solutions & Microsoft
Webinar with iBiz Solutions & MicrosoftWebinar with iBiz Solutions & Microsoft
Webinar with iBiz Solutions & MicrosoftAdam Wahlund
 
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...WSO2
 
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...Tyler Nguyen
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsPuneet Ghanshani
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSPC Adriatics
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic AppsBizTalk360
 
Concept to reality: An advanced agile integration blueprint
Concept to reality: An advanced agile integration blueprintConcept to reality: An advanced agile integration blueprint
Concept to reality: An advanced agile integration blueprintEric D. Schabell
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceRaveendra Babu Darsi
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineDavid Schneider
 

What's hot (20)

Keynote speech
Keynote speechKeynote speech
Keynote speech
 
Extending Openstack Horizon for multi cloud management
Extending Openstack Horizon for multi cloud managementExtending Openstack Horizon for multi cloud management
Extending Openstack Horizon for multi cloud management
 
WSO2Con USA 2017: Building an Effective API Architecture
WSO2Con USA 2017: Building an Effective API ArchitectureWSO2Con USA 2017: Building an Effective API Architecture
WSO2Con USA 2017: Building an Effective API Architecture
 
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...
50 Shades of Data - how, when and why Big,Relational,NoSQL,Elastic,Event,CQRS...
 
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
WSO2Con USA 2017: Implementing a Modern API Management Solution that Benefits...
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices development
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring Boot
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM data
 
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service APIForge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
 
Webinar with iBiz Solutions & Microsoft
Webinar with iBiz Solutions & MicrosoftWebinar with iBiz Solutions & Microsoft
Webinar with iBiz Solutions & Microsoft
 
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery Channel
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...
Deep Dive Into Elasticsearch: Establish A Powerful Log Analysis System With E...
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija Blagus
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 
BizTalk Server 2016: What’s new
BizTalk Server 2016: What’s newBizTalk Server 2016: What’s new
BizTalk Server 2016: What’s new
 
Concept to reality: An advanced agile integration blueprint
Concept to reality: An advanced agile integration blueprintConcept to reality: An advanced agile integration blueprint
Concept to reality: An advanced agile integration blueprint
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergence
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
 

Viewers also liked

Best books
Best booksBest books
Best books0mkee
 
Leveraging technology to boost employee engagement
Leveraging technology to boost employee engagementLeveraging technology to boost employee engagement
Leveraging technology to boost employee engagementRBA
 
How Constant Change is Affecting Today's Marketers
How Constant Change is Affecting Today's MarketersHow Constant Change is Affecting Today's Marketers
How Constant Change is Affecting Today's MarketersRBA
 
UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...RBA
 
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3francisca romero caballero
 
Group20 tatanano
Group20 tatananoGroup20 tatanano
Group20 tatananoSumit Arora
 
7 Deadly Sins of Digital Transformation
7 Deadly Sins of Digital Transformation7 Deadly Sins of Digital Transformation
7 Deadly Sins of Digital TransformationRBA
 
Casa de los Sueños - Culinary Delights
Casa de los Sueños - Culinary DelightsCasa de los Sueños - Culinary Delights
Casa de los Sueños - Culinary DelightsJade Zahreddine
 
Improving customer insight through digital intelligence
Improving customer insight through digital intelligenceImproving customer insight through digital intelligence
Improving customer insight through digital intelligenceRBA
 
How to Understand Your Customer Better with the Right Data and Tools
How to Understand Your Customer Better with the Right Data and ToolsHow to Understand Your Customer Better with the Right Data and Tools
How to Understand Your Customer Better with the Right Data and ToolsRBA
 
Group20 tatanano
Group20 tatananoGroup20 tatanano
Group20 tatananoSumit Arora
 
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBA
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBADigital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBA
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBARBA
 

Viewers also liked (15)

Best books
Best booksBest books
Best books
 
Leveraging technology to boost employee engagement
Leveraging technology to boost employee engagementLeveraging technology to boost employee engagement
Leveraging technology to boost employee engagement
 
Group20 nano
Group20 nanoGroup20 nano
Group20 nano
 
How Constant Change is Affecting Today's Marketers
How Constant Change is Affecting Today's MarketersHow Constant Change is Affecting Today's Marketers
How Constant Change is Affecting Today's Marketers
 
UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...
 
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3
Gp3 mahy margaret-el-secuestro-de-la-bibliotecaria3
 
Group20 tatanano
Group20 tatananoGroup20 tatanano
Group20 tatanano
 
7 Deadly Sins of Digital Transformation
7 Deadly Sins of Digital Transformation7 Deadly Sins of Digital Transformation
7 Deadly Sins of Digital Transformation
 
Casa de los Sueños - Culinary Delights
Casa de los Sueños - Culinary DelightsCasa de los Sueños - Culinary Delights
Casa de los Sueños - Culinary Delights
 
Improving customer insight through digital intelligence
Improving customer insight through digital intelligenceImproving customer insight through digital intelligence
Improving customer insight through digital intelligence
 
How to Understand Your Customer Better with the Right Data and Tools
How to Understand Your Customer Better with the Right Data and ToolsHow to Understand Your Customer Better with the Right Data and Tools
How to Understand Your Customer Better with the Right Data and Tools
 
Group20 tatanano
Group20 tatananoGroup20 tatanano
Group20 tatanano
 
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBA
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBADigital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBA
Digital Summit Denver 2015: Enterprise User Experience | Margaret Bossen, RBA
 
Evaluation Question 1
Evaluation Question 1Evaluation Question 1
Evaluation Question 1
 
Evaluation Question 4
Evaluation Question 4Evaluation Question 4
Evaluation Question 4
 

Similar to MN Enterprise Mobile User Group April 2015 Meeting

Skype for business mobility
Skype for business mobilitySkype for business mobility
Skype for business mobilityFabrizio Volpe
 
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft AzureKevin Grossnicklaus
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisVMware Tanzu
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
 
The Evolving Data Center – Past, Present and Future
The Evolving Data Center – Past, Present and FutureThe Evolving Data Center – Past, Present and Future
The Evolving Data Center – Past, Present and FutureCisco Canada
 
Hybrid Integration with BizTalk Server - ACSUG
Hybrid Integration with BizTalk Server - ACSUGHybrid Integration with BizTalk Server - ACSUG
Hybrid Integration with BizTalk Server - ACSUGWagner Silveira
 
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)Sam Vanhoutte
 
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...Codit
 
API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisisChristian Posta
 
Talking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteTalking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteDataNext Solutions
 
Microservices: Architecting for Innovation - Level 300
Microservices: Architecting for Innovation - Level 300Microservices: Architecting for Innovation - Level 300
Microservices: Architecting for Innovation - Level 300Amazon Web Services
 
Monolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudMonolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudzeynelkocak
 
High Level Overview of Windows Azure - EPC Group
High Level Overview of Windows Azure - EPC GroupHigh Level Overview of Windows Azure - EPC Group
High Level Overview of Windows Azure - EPC GroupEPC Group
 
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMonolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMustafa Can Tekir
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKJitendra Soni
 
The Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityThe Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityBizTalk360
 

Similar to MN Enterprise Mobile User Group April 2015 Meeting (20)

Skype for business mobility
Skype for business mobilitySkype for business mobility
Skype for business mobility
 
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
The Evolving Data Center – Past, Present and Future
The Evolving Data Center – Past, Present and FutureThe Evolving Data Center – Past, Present and Future
The Evolving Data Center – Past, Present and Future
 
Hybrid Integration with BizTalk Server - ACSUG
Hybrid Integration with BizTalk Server - ACSUGHybrid Integration with BizTalk Server - ACSUG
Hybrid Integration with BizTalk Server - ACSUG
 
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
 
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
Cloud integration: what's in it for you? (Toon Vanhoutte & Massimo Crippa at ...
 
Power BI
Power BIPower BI
Power BI
 
API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisis
 
Talking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA SuiteTalking Services with Oracle ADF and Oracle SOA Suite
Talking Services with Oracle ADF and Oracle SOA Suite
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Microservices: Architecting for Innovation - Level 300
Microservices: Architecting for Innovation - Level 300Microservices: Architecting for Innovation - Level 300
Microservices: Architecting for Innovation - Level 300
 
Monolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudMonolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloud
 
High Level Overview of Windows Azure - EPC Group
High Level Overview of Windows Azure - EPC GroupHigh Level Overview of Windows Azure - EPC Group
High Level Overview of Windows Azure - EPC Group
 
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMonolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
 
Cabot Technology Solutions Inc
Cabot Technology Solutions IncCabot Technology Solutions Inc
Cabot Technology Solutions Inc
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
 
The Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityThe Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid Connectivity
 

Recently uploaded

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝soniya singh
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 

Recently uploaded (7)

哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 

MN Enterprise Mobile User Group April 2015 Meeting

  • 1. @rbaconsultingwww.rbaconsulting.com blog.rbaconsulting.com Mobile Sync with Couchbase and Azure Mobile Services Joe Koletar
  • 2. A Digital and Technology Consultancy Agenda • Sync background • Azure Mobile Services Sync • Couchbase Sync
  • 3. A Digital and Technology Consultancy Mobile DataAlwaysConnected • Store data remotely • Access via REST • Requires connection • Can be slow NeverConnected • Store data locally • Access via SQLite • Connection not required • Always available SometimesConnected • Store data locally and remotely • Access via SQLite and REST • Connection not required • Always available
  • 4. A Digital and Technology Consultancy What is Sync • Supports occasionally connected mobile access. • Provides a rich user experience • Retrieves updates when connected • Store offline updates until connected
  • 5. A Digital and Technology Consultancy Sync Challenges • Managing changes • Server • Adds • Deletes • Updates • Client • Adds • Deletes • Updates • Need to resolve conflicts
  • 6. A Digital and Technology Consultancy Approaches to manage sync • Timestamp • Id hell • Guids • Compete replacement
  • 7. A Digital and Technology Consultancy Azure Mobile Services
  • 8. A Digital and Technology Consultancy Azure Portal
  • 9. A Digital and Technology Consultancy Azure Mobile Services • Can dynamically define tables • GUID Ids required • Must create a SyncContext • Tracks PendingOperations • Merges updates that haven’t been synced
  • 10. A Digital and Technology Consultancy Push/Pull/Purge • PushAsync • Must push all tables • Maintains referential integrity • PullAsync • Works per table • Can specify tables to pull via LINQ query • Executes Push first to empty PendingOperations • PurgeAsync • Clears items from the local store • Executes Push first to empty PendingOperations
  • 11. A Digital and Technology Consultancy Conflict resolution • Throws MobileServicePushFailedException • Can provide sync handler on client in InitializeAsync public interface IMobileServiceSyncHandler { Task OnPushCompleteAsync (MobileServicePushCompletionResult result); Task<JObject> ExecuteTableOperationAsync (IMobileServiceTableOperation operation); }
  • 12. A Digital and Technology Consultancy Couchbase • Awesome demo at Evolve • Near instantaneous synchronization between devices
  • 13. A Digital and Technology Consultancy Couchbase
  • 14. A Digital and Technology Consultancy Couchbase
  • 15. A Digital and Technology Consultancy Sync Gateway • Traffic cop of the configuration • Bidirectional, multi-master sync • Manages and authenticates users • Authorizes document access • Routes documents to users
  • 16. A Digital and Technology Consultancy Sync Gateway • Two APIs • Sync REST API – port 4984 • Admin REST API – port 4985 • Sync Function • Conflict resolution pushed to device
  • 17. A Digital and Technology Consultancy Couchbase Server • Must have sync_gateway data bucket • Stores synced data and corresponding metadata
  • 18. A Digital and Technology Consultancy Couchbase Client • Database.CreatePullReplication • Database.CreatePushReplication
  • 19. A Digital and Technology Consultancy Sync Function • JavaScript Function • Enforce validity or schema • Enforce role membership • Tag document with channels • Grant users access to channels
  • 20. A Digital and Technology Consultancy Sync Gateway • Configuration • Command line • JSON Configuration file { "log": ["CRUD+", "REST+", "Changes+", "Attach+"], "databases": { "sync_demo": { "server":"http://localhost:8091", "bucket":"sync_gateway", "sync":`function(doc) channel(doc.channels);}`, "users": {"GUEST": {"disabled": false, "admin_channels": ["*"]} } } } }
  • 21. A Digital and Technology Consultancy Sync Gateway Users • Sync Gateway manages mobile user accounts • Authentication mechanisms • HTTP Basic • Session cookie • Facebook • Custom
  • 22. A Digital and Technology Consultancy Channels • Tags attached to documents • Used to link users to documents • Users mapped to channels
  • 23. A Digital and Technology Consultancy Channels
  • 24. A Digital and Technology Consultancy References • Azure Mobile Services • http://channel9.msdn.com/Series/Windows-Azure-Mobile-Services/Build- offline-apps-Azure-Mobile-Services • http://blogs.msdn.com/b/azuremobile/archive/2014/04/07/deep-dive-on- the-offline-support-in-the-managed-client-sdk.aspx • Couchbase • Evolve presentation: https://www.youtube.com/watch?v=g7WlnfvOvhI • https://www.youtube.com/watch?v=g1EVj9B5Z6g
  • 25. A Digital and Technology Consultancy

Editor's Notes

  1. Why Sync Need preso for April Sync is challenging element of mobile development Wanted to investigate new functionality
  2. Cloud backend for mobile apps SSO with Active Directory, Facebook, Twitter, and Google Push notifications Sync feature added late 2014
  3. Show InitializeStoreAsync method
  4. Couchbase Lite Lightweight NoSQL database Couchbase Server NoSQL Database Server Built to scale Sync Gateway Replication Authentication Validation