1 / 28

EM401 Overview of MobiLink Synchronization

EM401 Overview of MobiLink Synchronization. Jim Graham Director of Engineering iAnywhere Solutions jim.graham@ianywhere.com. What is MobiLink? How MobiLink works MobiLink scripting Scalability Deployment Issues Brief comparison to SQL Remote Futures. MobiLink Synchronization.

Download Presentation

EM401 Overview of MobiLink Synchronization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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 What is MobiLink?

  4. What is MobiLink?

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

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

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

  8. 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 How Synchronization Works

  9. ASA Synchronization

  10. UltraLite Synchronization

  11. 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 MobiLink Scripts

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

  13. 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: The upload_cursor Script SELECT emp_id, emp_fname, emp_lname FROM employee WHERE emp_id = ?

  14. 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 Applying the Upload Stream

  15. The download_cursor script is used to insert or update rows in the remote database Download Cursor Scripts 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. 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 Preparing the Download Stream

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

  18. MobiLink Synchronization

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

  20. 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 Deployment Scalability

  21. 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 Errors and Conflicts

  22. 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) Deploying New Versions

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

  24. 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 SQL Remote Comparison

  25. 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 SQL Remote Future

  26. 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 8.0 New Feature Highlights

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

  28. 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 Resources Available

More Related