Presentation is loading. Please wait.

Presentation is loading. Please wait.

EM401 Overview of MobiLink Synchronization Jim Graham Director of Engineering iAnywhere Solutions

Similar presentations


Presentation on theme: "EM401 Overview of MobiLink Synchronization Jim Graham Director of Engineering iAnywhere Solutions"— Presentation transcript:

1 EM401 Overview of MobiLink Synchronization Jim Graham Director of Engineering iAnywhere Solutions jim.graham@ianywhere.com

2 MobiLink Synchronization What is MobiLink? How MobiLink works MobiLink scripting Scalability Deployment Issues Brief comparison to SQL Remote Futures

3 What is MobiLink? A two-way synchronization technology for large scale mobile database deployment remote database (mobile, embedded, or workgroup server database) consolidated database (enterprise, workgroup, or desktop database) A server that processes synchronization requests from remote databases

4 What is MobiLink?

5 MobiLink Design Goals Heterogeneous consolidated database Scalable and robust (tens of thousands) Manageable in large deployments Support handheld and wireless devices Flexible

6 MobiLink Consolidated Databases Oracle8 Microsoft SQL Server IBM DB2 UDB Adaptive Server Enterprise (ASE) Adaptive Server Anywhere (ASA) ODBC

7 MobiLink Remote Databases Adaptive Server Anywhere (ASA) Windows 2000/NT/Me/98/95 Windows CE Linux and Unix UltraLite Palm Computing Platform Windows CE Java

8 How Synchronization Works 1. Upload ASA or UltraLite keep track of all changes since previous synchronization All changes are sent in a single upload stream MobiLink applies changes in a single transaction 2. Download Scripts in the consolidated database determine changes that need to be downloaded All changes are sent in a single download stream 3. Acknowledge download

9 ASA Synchronization

10 UltraLite Synchronization

11 MobiLink Scripts Scripts define actions performed in the consolidated database at each stage or event during synchronization Some scripts return result sets (cursor scripts) Some scripts are just procedural (event scripts) Native language of consolidated database Stored in tables in the consolidated database Defined using Sybase Central

12 MobiLink Scripts begin_connection for each synchronization: begin_synchronization receive and apply upload stream prepare and send download stream end_synchronization end_connection

13 The upload_cursor Script The upload_cursor script is used to insert, update, or delete rows in the consolidated database This is the primary script for uploading changes Example: SELECT emp_id, emp_fname, emp_lname FROM employee WHERE emp_id = ?

14 Applying the Upload Stream begin_upload for each table: begin_upload_rows process each insert or update using upload_cursor end_upload_rows for each table (reverse order): begin_upload_deletes process each delete using upload_cursor end_upload_deletes end_upload

15 Download Cursor Scripts The download_cursor script is used to insert or update rows in the remote database SELECT emp_id, emp_fname, emp_lname FROM employee WHERE last_modified > @LastDownload The download_deletes_cursor script is used to delete rows from the remote database SELECT emp_id FROM employee WHERE last_modified > @LastDownload AND status = ‘INACTIVE’

16 Preparing the Download Stream begin_download for each table: begin_download_deletes SELECT using download_deletes_cursor end_download_deletes begin_download_rows SELECT using download_cursor end_download_rows end_download

17 MobiLink Synchronization begin_connection for each synchronization: begin_synchronization receive and apply upload stream prepare and send download stream end_synchronization end_connection

18 MobiLink Synchronization

19 Performance Scalability Worker threads Connection pooling No contention in MobiLink Extensive testing White paper

20 Deployment Scalability Straight forward backup and recovery scenarios Multiple consolidated databases switch to warm backup of consolidated database roaming users can use “closest” consolidated database ASA or UltraLite database can be re-populated through normal synchronization Monitoring detection and reporting of potential problems measuring usage and response time

21 Errors and Conflicts Applying changes to consolidated database automated conflict detection and resolution (scripts) automated error handling and reporting (scripts) Applying changes to remote ASA or UltraLite downloaded rows are “UPSERTED” “enforce” referential integrity after a download

22 Deploying New Versions Remote sends a script version as part of its upload stream A script version is just a name eg. “SalesTrack” script version  set of synchronization scripts On upgrade, new remotes each use a new script version eg: “SalesTrack 2” The consolidated database can hold many different script versions One MobiLink server can use many different script versions (one per synchronization)

23 MobiLink Design Goals Heterogeneous consolidated database Scalable and robust (tens of thousands) Manageable in large deployments Support handheld and wireless devices Flexible

24 SQL Remote Comparison Heterogeneous consolidated database Scalability limited only by the enterprise database More manageable in larger deployments UltraLite remote databases More flexible (eg. different schemas) Session based

25 SQL Remote Future SQL Remote will continue to be important Easier to use in following situation ASE or ASA consolidated Remote schema is same as (or subset of) the consolidated schema Deployment issues are not a problem Message-based communication is sometimes more suitable than session-based SQL Remote is a more mature product with a proven track record for success SQL Remote replicates transactions in exact order

26 8.0 New Feature Highlights Performance and Usability Statement-based uploads Integrated last download timestamp Optional download ack Select uploads (priority synchronization) Java synchronization logic Better remote ASA terminology Improved reporting

27 MobiLink Futures Message-based communication Java synchronization logic to non-relational enterprise application servers MobiLink monitor console

28 Resources Available other TechWave sessions MySybase: Mobile & Wireless Developer newsgroups, white papers, technotes, FAQs samples, patches award winning technical support training and assistance during the initial phases of your synchronization projects


Download ppt "EM401 Overview of MobiLink Synchronization Jim Graham Director of Engineering iAnywhere Solutions"

Similar presentations


Ads by Google