Mobile Offline OData Framework for Azure

17
MOBILE OFFLINE FRAMEWORK FOR AZURE Paul Zhou

description

Flick Software's Paul Zhou discusses mobile data synchronization in the context of Azure and Flick's OData sync for Android platform.

Transcript of Mobile Offline OData Framework for Azure

Page 1: Mobile Offline OData Framework for Azure

MOBILE OFFLINE FRAMEWORK FOR AZUREPaul Zhou

Page 2: Mobile Offline OData Framework for Azure

AGENDA

Background Is Mobile Offline Feature the Niche? Framework to support Mobile Offline Apps

Page 3: Mobile Offline OData Framework for Azure

MOBILE APP OFFLINE PATTERNS

RDB synchronization File synchronization Message Queue RPC

Page 4: Mobile Offline OData Framework for Azure

Mobile Device Server

Handheld Application

DB Sync Engine

Publications & Subscriptons

RDBMS

Small FootprintRDBMS

DB Sync Engine

RDB SYNC

Page 5: Mobile Offline OData Framework for Azure

FILE SYNC

Page 6: Mobile Offline OData Framework for Azure

MESSAGE QUEUE

Page 7: Mobile Offline OData Framework for Azure

RPC AND CACHING

Page 8: Mobile Offline OData Framework for Azure

OLD DAYS

No(Expensive) Cellular Data Expensive Mobile Devices Business Data Exchange Scenario

Work start in office : sync Do the work during the day without syncing Back to office: sync

Offline Patterns: RDB Sync and File Sync Windows Solution(Merge and SyncFramework),

Sybase Ultralite solution

Page 9: Mobile Offline OData Framework for Azure

THINGS HAVE CHANGED

Cheap Cellular Data Cheap Mobile Devices Business Data Exchange Scenario

Any time Offline Patterns:

REST, SOAP and Caching iOS device, Android Device

Page 10: Mobile Offline OData Framework for Azure

IS OFFLINE STILL RELEVANT?

Availability: Some areas, locations have no connection

Performance Unstable connection drags performance

Reliability Losing data is evil

Page 11: Mobile Offline OData Framework for Azure

HOW OFFLINE ARE OUR RECENT CUSTOMER PROJECTS?

CP: 100% ALC: 100% PK: 100% SIT: 70% TF: 10% OCT: 10% GI: 10% SSI 10% CAUBO 10% OCDSB 0%

Page 12: Mobile Offline OData Framework for Azure

EXAMPLE1- SHORT MESSAGE(GPS COORDINATE)

DB and synchronization Store GPS coordinates in a table and do

background sync File and Synchronization

Store GPS coordinates in a file and do background sync

Message Queue Put coordinates in a local queue

RFC(REST/SOAP) and Caching Send coordinates when connection available Cache when fails: file, dictionary, sqlite Send caches when connection available again

Page 13: Mobile Offline OData Framework for Azure

EXAMPLE2- BIG FILES(PHOTO)

DB and synchronization Store file in a table and do background sync

File and Synchronization Store file locally and do background sync

Message Queue Not applicable

RFC(REST/SOAP) and Caching Send file when connection available Store locally when fail Send file again when connection available

Page 14: Mobile Offline OData Framework for Azure

EXAMPLE3: RECENT PROJECTS CP/ALC/….(Windows Mobile)

DB Sync OCT (iPhone)

REST+JSON and SQLite caching GI

REST+JSON and SQLite caching PC

REST+JSON and SQLite and files SSI/CAUBO

SOAP+XML and Dictionary serialization ShiftIT

REST+JSON and SQLite caching Touch Fleet

REST+JSON

Page 15: Mobile Offline OData Framework for Azure

ODATA SYNC FOR RDB

Page 16: Mobile Offline OData Framework for Azure

ODATA SYNC FOR FILES

Page 17: Mobile Offline OData Framework for Azure

OFFLINE MESSAGE QUEUE