Local Storage and Synchronization

Download as pdf or txt
Download as pdf or txt
You are on page 1of 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