0% found this document useful (0 votes)
77 views9 pages

Local Storage and Synchronization

This document discusses using local storage on mobile devices and synchronizing data between local and server storage. It recommends caching data locally to optimize performance and allow for offline use, while limiting direct calls to backend systems. When synchronizing data, the document advises adopting the correct sync frequency and granularity, avoiding long transactions, and using incremental syncs with partial commits to handle retries gracefully.

Uploaded by

Astro Astro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views9 pages

Local Storage and Synchronization

This document discusses using local storage on mobile devices and synchronizing data between local and server storage. It recommends caching data locally to optimize performance and allow for offline use, while limiting direct calls to backend systems. When synchronizing data, the document advises adopting the correct sync frequency and granularity, avoiding long transactions, and using incremental syncs with partial commits to handle retries gracefully.

Uploaded by

Astro Astro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Local Storage & Synchronization

OutSystems Training

1
Topics

● Use Local Storage


○ Limit server side calls

● Synchronize Data
○ Frequency
○ Size of data
○ Transactions
○ Granularity

2
OutSystems in the Enterprise ecosystem

Intranet/
extranet users

OutSystems

External
Portals Microsites Applications

External APIs Services


Consumers Integration Plug-in
Services
NFRs Services

ESB

External Corporate Plug-in (GIT)


Producers Databases Repository
3
Mobile architecture - Use Local Storage
Central storage Local storage
(server side) (mobile device)
Mobile Mobile
Agent Banking
Accounts My account
Use the Local Storage
MA_Account MB_Account
• Optimize local storage and client
side logic for each end user app
Banking Customer Account
Core services • Cache data in Local Storage, for
better performance and offline
Integration Plugin ID Fingerprint use cases
NFRs Scanner reader
Services Services
• Map Server side static entities into
local entities
Backend
Plugin Repository (GIT)
systems

4
Mobile architecture - Limit server side calls

Mobile Mobile Server side calls


Agent Banking
Accounts My account 1. Limit Server side calls to online
MA_Account MB_Account transactions or Synchronization
2. No direct calls to backend systems
1
Banking Customer Account Security: don’t expose internal
Core services
2 services
X
Integration
NFRs
Plugin ID Fingerprint Performance: Cache information
Services Services Scanner reader at server side, optimize data to be
sent
Backend
Plugin Repository (GIT) Maintainability: JS code is harder
systems
to maintain
5
Synchronization tips - frequency & data

Mobile Don’t sync on every screen or online event


Banking
unts My account

unt MB_Account
Adopt the correct sync frequency:
1 1. At process start and online, sync to
Customer Account
2 local storage
2. At process/transaction end and
online, sync back to server
Plugin ID Fingerprint
Rs Scanner reader
Services
Sync data required per use case:
○ On Session start sync accounts’ summary
Plugin Repository (GIT)
○ On account selection, sync its details
6
Synchronization tips - transactions & granularity

Mobile
Banking Avoid long synchronizations in a
unts My account
single transaction:
unt MB_Account
● Impacts UX - App becomes unresponsive
● Not prepared for constant offline or device
Customer Account
standby

Plugin ID Fingerprint
Rs
Services Scanner reader Ensure sync granularity
● Incremental by entity with partial commit -
Plugin Repository (GIT) prepared for constant retries without
repeating
7
Review

● Use Local Storage


○ Limit server side calls

● Synchronize Data
○ Frequency
○ Size of data
○ Transactions
○ Granularity

8
Local Storage & Synchronization
Thank you!

You might also like