| By Ian Thain | Article Rating: |
|
| January 28, 2011 07:00 AM EST | Reads: |
5,363 |
Any Enterprise iOS application should feature some important features. Firstly Security, so encrypt your users application data on the device and that is in addition to any other Device Management & Security that you should be using. Check out Afaria which uses Apple's MDM. Secondly support for Mobile Working, that will work in both off-line and on-line modes, even though connectivity is getting better and better, there will always be the chance of a 'dead-zone'. Finally Integration with existing 'legacy' back office systems, extending existing Enterprise Applications into the Mobile world.
Last year I asked myself, What is available for iOS devices in the world of Enterprise Data Synchronization? So to investigate the issue I spoke to an expert friend of mine with years of iPhone development, and before that core Objective-C.
My scenario went like this... I want an app that uses SQLite on the device. I would want that device to get DB updates/records, securely over the air, specific to that user and I want the database to be secure. Those updates/records I want to come from a Server DB, that could be any of the Enterprise Database. I want the user to use the application, which could add, delete or create new records in the device database, then the application should send its changes back securely across the air to the Enterprise DB.
My friend thought on it for a while then said... Based on what you've written, then I would suggest some possibilities:
- Wrap any edits to the local database on the iPhone and store the rowId/pk of the changes (for any/all affected changes). Somehow you'll need to store this extra information to facilitate synchronization. This has its own set of issues since you'll probably need to rely on the user's clock being set correctly etc. Then you'll need a way to compare those changes to any incoming data as below.
- You describe "secure updates over the air" but you don't specify what you mean by that. So, will there be a button that the user presses to refresh the data on the phone? Or will this be some kind of background thread? How often will updates be synchronized? Does it only connect via Wi-fi or is cellular reliable enough to sync, etc. Will you use https with an XML payload or are you going to write some kind of custom socket level stuff to handle secure communication?]
- Since there are no native database client libraries for all practical purposes then maybe you'll need to invent a web service for updating modified records and downloading new updates. What do you do when there is a conflict between what the user has chosen and the updates coming in?
- At which point, depending on the size of these databases, you might have been better off implementing an intermediary web application/middle tier that handles the actual synchronization, since it is complicated...
The conversation paused, with my head spinning. Dude I don't want to do any of that, I thought to myself. You're right, it's hard and I just want to concentrate on my business problem. I know the Enterprise Database I want to synchronize with and I know the subset of tables, that I want on my iPhone. What you do not want to do is write a synchronization solution, but to reply on a technology leader & innovator that has immense experience. As you can see from the figure below, Sybase has been in this space since 1992 and introduced Mobile Computing Sync in 1995.

Step in the MEAP solution from Sybase, it uses SQLite and Message Based Synchronization (MBS) bi-directional and with a secure database. The changes for the database are continuously sent back and forth keeping the database on the device and the back-end databases in sync, even if the device has been offline/disconnected for a while. NOTE - from now on I will use the term Remote Database for that on the Device and Consolidated Database for the back-end.
- Pub-Sub model - SUP publishes MBS packages and mobile applications subscribe to them
- Valid credential is required for subscription and for all messages
- Once subscribed, server is responsible for maintaining the state of the subscriber via messages until un-subscription
- Publishers and subscribers are decoupled by reliable messaging
- Server maintains states of each subscription via timestamp based mechanism
If you already have experience of SQL Anywhere and Mobilink then check out SQL Anywhere 12 for Mac OS X includes UltraLite, a lightweight relational database and data synchronization client for the iPhone and iPad. iPhone SDK developers can use UltraLite to build robust mobile applications, extending enterprise data to mobile users. Check out a data sheet here
Please check back weekly on a Friday for the next article and please follow me on Twitter @ithain
Published January 28, 2011 Reads 5,363
Copyright © 2011 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ian Thain
As one of the Sybase Technical Evangelists, Ian regularly addresses technical audiences all over the world and his sessions are always very well attended. He also writes education classes, whitepapers, demos and articles for various Sybase products and publishes regularly in Journals such as SYS-CON's PBDJ and International Developer Magazine. He is also the Sybase Unwired Platform & PocketBuilder Evangelist and works closely with the team in Dublin, CA and Concord, MA on new features and demonstrations for the products. In his customer-facing Evangelist role, Ian is very involved with the design, production and testing of Enterprise class Unwired Solutions, that have been implemented using Sybase's Unwired tools for Sybase customers around the globe. In addition, Ian is a dedicated technical expert continually working with Sybase's key partners and clients to enhance the capabilities of the Unwired solutions that Sybase can offer to its customers. Ian can also be found on Twitter @ithain
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York Speaker Profile: Dave Linthicum – Cloud Technology Partners
- Windows Azure IaaS Reaches General Availability
- Enterasys Spotlights SDN's Impact on Traditional Networking in Upcoming Webinar
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- NASA's Twitter Account Wins Back-To-Back Shorty Awards
- Big Data Isn’t About the Database, It’s About the Application
- BEA Updates WebLogic SOA Portal for Web 2.0 Era
- Cloud Expo New York | Danger Ahead: Why File Sync Is NOT Endpoint Backup
- Symphony EYC Appoints New Account Manager to Drive Global Opportunities
- AWS Going into a New Line of Work
- Cloud Expo New York: Basics of SSD Technology and Its Use in Cloud
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York Speaker Profile: Dave Linthicum – Cloud Technology Partners
- Cloud Expo New York: How to Use Google Apps Script
- Windows Azure IaaS Reaches General Availability
- Enterasys Spotlights SDN's Impact on Traditional Networking in Upcoming Webinar
- Upcoming Domino's Pizza Investor Events
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Rackspace Hosting Named “Platinum Plus Sponsor” of Cloud Expo New York
- Scripps Networks Interactive’s Popular Lifestyle Shows from HGTV, DIY Network, Food Network, Cooking Channel and Travel Channel Coming to Prime Instant Video and Amazon Instant Video
- RetailMeNot Shoppers Trend Report: While Over 8 in 10 U.S. Residents Cite Affordability as Their Top Vacation Priority, a Majority (58%) Could Waste Hundreds of Dollars by Booking Travel a la Carte
- NASA's Twitter Account Wins Back-To-Back Shorty Awards
- Small Cancers, Big Data, and a Life Examined
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Personal Branding Checklist
- The Top 250 Players in the Cloud Computing Ecosystem
- i-Technology Viewpoint: Attack of the Blogs
- Exclusive Q&A with Jeff Haynie, Co-Founder & CEO, Appcelerator
- Web 2.0 News and Wrapping Up "Real-World AJAX" Seminar
- Passing Parameters to Flex That Works
- i-Technology Viewpoint: It's Time to Take the Quotation Marks Off "Web 2.0"



















