SlideShare uma empresa Scribd logo
1 de 9
Designing
offline online sync system
How to design and implement a (partial) offline–online sync system
Why we need offline support?
Connection is bound to fail, sometimes
Common Ideas
• Database : built-in support
• Couchbase
• PouchDB
• Firestore
• Cloud vendors
• Database replication
• Handle the replication by managing master and slave model
• Database is inside of the browser
• Use local-storage and PWA
Problems
• CouchDB is not traditional database, so hard to use it in traditional
business scenarios
• Same issue goes with any other built-in sync supported databases
• Database replication has
• Security issue
• Conflict issue
• Business logic handling issue
• Browser based system
• Not possible if the dropdowns have too many items.
• Browser has storage limitation.
• SQLite can be shared with anyone
• New browser needs to load all required data
• Background processing in the browser can hamper performance
Plan
• Try to find which features are actually needed in offline
• Sale entry
• Follow the git style
• Pull
• Then push
• Try to leverage the infrastructure and user base
• Azure cloud messaging (Queue)
• Visit outlets and setup necessary software. Teach the user to run the
command
Code
Database
Queue
Code
Database
Queue
Client
Timer
service
Local machine in a branch
Cloud components
Trigger
Azure
Cloud
Branch 1
Branch 2
Branch 3
Branch 4
Branch 5
Branch 6
Codes
Pseudo demo
Find me
• Facebook: https://www.facebook.com/foyzulsacademy
• Blog: https://dev.to/foyzulkarim
• Twitter: https://twitter.com/foyzul_karim
• GitHub: https://github.com/foyzulkarim
• LinkedIn: https://www.linkedin.com/in/foyzul
• Email: foyzulkarim@gmail.com

Mais conteúdo relacionado

Mais procurados

sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++Sandy Suherman
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajo
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajoTarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajo
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajoJesus Sanchez Valdez
 
Refactorización de Aplicaciones Orientadas a Objetos a Aspectos
Refactorización de Aplicaciones Orientadas a Objetos a AspectosRefactorización de Aplicaciones Orientadas a Objetos a Aspectos
Refactorización de Aplicaciones Orientadas a Objetos a AspectosJuan Carlos Olivares Rojas
 
Dbms mini project on Appraisal tracker
Dbms mini project on Appraisal trackerDbms mini project on Appraisal tracker
Dbms mini project on Appraisal trackerAarav Singh
 
4. perancangan tampilan
4. perancangan tampilan4. perancangan tampilan
4. perancangan tampilanNafiz Curtuby
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft AzureGuy Barrette
 
University Event Management System
University Event Management SystemUniversity Event Management System
University Event Management SystemSadia Ijaz
 
Profesi di Bidang Teknologi Informasi
Profesi di Bidang Teknologi InformasiProfesi di Bidang Teknologi Informasi
Profesi di Bidang Teknologi InformasiMuhammad Biaggi
 
Cloud migration
Cloud migrationCloud migration
Cloud migrationRaj Raj
 
Covid-19 Hospital management system_project_report
Covid-19 Hospital management system_project_reportCovid-19 Hospital management system_project_report
Covid-19 Hospital management system_project_reportRajeshPandey215
 
Analisis kebutuhan perangkat lunak
Analisis kebutuhan perangkat lunakAnalisis kebutuhan perangkat lunak
Analisis kebutuhan perangkat lunakHanum Dinda
 
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)Adam Mukharil Bachtiar
 
Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan RMuhammad Rifqi
 

Mais procurados (20)

sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
CDMS-PPT-fzq94g.pptx
CDMS-PPT-fzq94g.pptxCDMS-PPT-fzq94g.pptx
CDMS-PPT-fzq94g.pptx
 
Project Charter
Project CharterProject Charter
Project Charter
 
Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
 
Cloud service providers
Cloud service providersCloud service providers
Cloud service providers
 
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajo
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajoTarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajo
Tarea formativa 5 : Propuesta sobre la conformacion de equipos de trabajo
 
Refactorización de Aplicaciones Orientadas a Objetos a Aspectos
Refactorización de Aplicaciones Orientadas a Objetos a AspectosRefactorización de Aplicaciones Orientadas a Objetos a Aspectos
Refactorización de Aplicaciones Orientadas a Objetos a Aspectos
 
Cloud migration
Cloud migrationCloud migration
Cloud migration
 
Dbms mini project on Appraisal tracker
Dbms mini project on Appraisal trackerDbms mini project on Appraisal tracker
Dbms mini project on Appraisal tracker
 
4. perancangan tampilan
4. perancangan tampilan4. perancangan tampilan
4. perancangan tampilan
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft Azure
 
Software reuse
Software reuseSoftware reuse
Software reuse
 
University Event Management System
University Event Management SystemUniversity Event Management System
University Event Management System
 
Profesi di Bidang Teknologi Informasi
Profesi di Bidang Teknologi InformasiProfesi di Bidang Teknologi Informasi
Profesi di Bidang Teknologi Informasi
 
Cloud migration
Cloud migrationCloud migration
Cloud migration
 
Covid-19 Hospital management system_project_report
Covid-19 Hospital management system_project_reportCovid-19 Hospital management system_project_report
Covid-19 Hospital management system_project_report
 
Analisis kebutuhan perangkat lunak
Analisis kebutuhan perangkat lunakAnalisis kebutuhan perangkat lunak
Analisis kebutuhan perangkat lunak
 
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)
RPL 1 (Lama) - Analisis Kebutuhan Perangkat Lunak (1)
 
Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan R
 

Semelhante a A practical approach on - How to design offline-online synchronization system

5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton UniversityTaswar Bhatti
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architecturesPanagiotis Kefalidis
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtNick Santamaria
 
Cloud and Windows Azure
Cloud and Windows AzureCloud and Windows Azure
Cloud and Windows AzureRadu Vunvulea
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmNigel Price
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the CloudRightScale
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterpriseBert Poller
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo SanchezGoDataDriven
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18BIWUG
 
Cloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong CodeaholicsCloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong CodeaholicsTaswar Bhatti
 
When small problems become big problems
When small problems become big problemsWhen small problems become big problems
When small problems become big problemsAdrian Cole
 
Power BI vs Tableau
Power BI vs TableauPower BI vs Tableau
Power BI vs TableauDon Hyun
 
Building Real World Application with Azure
Building Real World Application with AzureBuilding Real World Application with Azure
Building Real World Application with Azuredivyapisces
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design PatternsTaswar Bhatti
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018Rachit Arora
 

Semelhante a A practical approach on - How to design offline-online synchronization system (20)

5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton University
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
Cloud and Windows Azure
Cloud and Windows AzureCloud and Windows Azure
Cloud and Windows Azure
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18
 
Cloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong CodeaholicsCloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong Codeaholics
 
Intro to Big Data
Intro to Big DataIntro to Big Data
Intro to Big Data
 
When small problems become big problems
When small problems become big problemsWhen small problems become big problems
When small problems become big problems
 
Introduction to datomic
Introduction to datomicIntroduction to datomic
Introduction to datomic
 
Power BI vs Tableau
Power BI vs TableauPower BI vs Tableau
Power BI vs Tableau
 
Power bi vs tableau
Power bi vs tableauPower bi vs tableau
Power bi vs tableau
 
Building Real World Application with Azure
Building Real World Application with AzureBuilding Real World Application with Azure
Building Real World Application with Azure
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018
 

Mais de Foyzul Karim

Software architecture : From project management to deployment
Software architecture : From project management to deploymentSoftware architecture : From project management to deployment
Software architecture : From project management to deploymentFoyzul Karim
 
SDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementSDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementFoyzul Karim
 
Software architecture
Software architectureSoftware architecture
Software architectureFoyzul Karim
 
BizBook365 : A microservice approach
BizBook365 : A microservice approachBizBook365 : A microservice approach
BizBook365 : A microservice approachFoyzul Karim
 
Microservices: A developer's approach
Microservices: A developer's approachMicroservices: A developer's approach
Microservices: A developer's approachFoyzul Karim
 
Software design principles SOLID
Software design principles SOLIDSoftware design principles SOLID
Software design principles SOLIDFoyzul Karim
 
BizBook365.com 16Feb2018 Demo
BizBook365.com 16Feb2018 DemoBizBook365.com 16Feb2018 Demo
BizBook365.com 16Feb2018 DemoFoyzul Karim
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstartFoyzul Karim
 
BizBook365 - Modern Inventory System for Shops
BizBook365 - Modern Inventory System for ShopsBizBook365 - Modern Inventory System for Shops
BizBook365 - Modern Inventory System for ShopsFoyzul Karim
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarinFoyzul Karim
 
Windows store app development using javascript
Windows store app development using javascriptWindows store app development using javascript
Windows store app development using javascriptFoyzul Karim
 
Unit testing (workshop)
Unit testing (workshop)Unit testing (workshop)
Unit testing (workshop)Foyzul Karim
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1Foyzul Karim
 

Mais de Foyzul Karim (15)

Software architecture : From project management to deployment
Software architecture : From project management to deploymentSoftware architecture : From project management to deployment
Software architecture : From project management to deployment
 
SDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementSDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product management
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
BizBook365 : A microservice approach
BizBook365 : A microservice approachBizBook365 : A microservice approach
BizBook365 : A microservice approach
 
Microservices: A developer's approach
Microservices: A developer's approachMicroservices: A developer's approach
Microservices: A developer's approach
 
Software design principles SOLID
Software design principles SOLIDSoftware design principles SOLID
Software design principles SOLID
 
BizBook365.com 16Feb2018 Demo
BizBook365.com 16Feb2018 DemoBizBook365.com 16Feb2018 Demo
BizBook365.com 16Feb2018 Demo
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
 
BizBook365 - Modern Inventory System for Shops
BizBook365 - Modern Inventory System for ShopsBizBook365 - Modern Inventory System for Shops
BizBook365 - Modern Inventory System for Shops
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarin
 
Windows store app development using javascript
Windows store app development using javascriptWindows store app development using javascript
Windows store app development using javascript
 
Unit testing (workshop)
Unit testing (workshop)Unit testing (workshop)
Unit testing (workshop)
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1
 
Data types
Data typesData types
Data types
 
Linq
LinqLinq
Linq
 

Último

CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfFurqanuddin10
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersEmilyJiang23
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionMohammed Fazuluddin
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationWave PLM
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 

Último (20)

CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 

A practical approach on - How to design offline-online synchronization system

  • 1. Designing offline online sync system How to design and implement a (partial) offline–online sync system
  • 2. Why we need offline support? Connection is bound to fail, sometimes
  • 3. Common Ideas • Database : built-in support • Couchbase • PouchDB • Firestore • Cloud vendors • Database replication • Handle the replication by managing master and slave model • Database is inside of the browser • Use local-storage and PWA
  • 4. Problems • CouchDB is not traditional database, so hard to use it in traditional business scenarios • Same issue goes with any other built-in sync supported databases • Database replication has • Security issue • Conflict issue • Business logic handling issue • Browser based system • Not possible if the dropdowns have too many items. • Browser has storage limitation. • SQLite can be shared with anyone • New browser needs to load all required data • Background processing in the browser can hamper performance
  • 5. Plan • Try to find which features are actually needed in offline • Sale entry • Follow the git style • Pull • Then push • Try to leverage the infrastructure and user base • Azure cloud messaging (Queue) • Visit outlets and setup necessary software. Teach the user to run the command
  • 7. Azure Cloud Branch 1 Branch 2 Branch 3 Branch 4 Branch 5 Branch 6
  • 9. Find me • Facebook: https://www.facebook.com/foyzulsacademy • Blog: https://dev.to/foyzulkarim • Twitter: https://twitter.com/foyzul_karim • GitHub: https://github.com/foyzulkarim • LinkedIn: https://www.linkedin.com/in/foyzul • Email: foyzulkarim@gmail.com