Access data anywhere with Everyplace

Mobile version of IBM’s DB2 database is a smooth operator

A typical PDA’s limited memory, storage, and computing power might tempt one to conclude that such devices can’t accommodate databases beyond elementary phone and to-do lists.

But as PDA power improves, higher mobile-database-tools will evolve. One recent and welcome entry is IBM’s DB2 Everyplace, which brings IBM’s seasoned DB2 database to mobile devices.

DB2 Everyplace has three primary run-time components: a small-footprint database engine that runs on a PDA, a synchronization server, and a host database that runs on a desktop or enterprise system. The DB2 Everyplace SDK consists of the MDAC (Mobile Device Administration Center) and the MAB (Mobile Application Builder) for development and administration. I tested DB2 Everyplace Enterprise Edition Version 8.1.4 on a Palm.

Architecting Groups

DB2 Everyplace allows users to install subsets of host databases onto their mobile devices and to intermittently synchronize these subset databases with their hosts. Rather than run a full-fledged DB2 system, the mobile databases run a small-footprint database engine. For example, on the Palm, the database engine is just under 200KB.

To support this arrangement, DB2 Everyplace establishes users, groups, subscriptions, and subscription sets. A subscription defines the mapping between the host and client by identifying the portion of the host database that will be replicated on the PDA. In turn, a subscription set usually includes all the subscriptions required by a given mobile application.

A user is considered a specific mobile client, and the database administrator assigns these users to groups, associating each group with one or more subscription sets. When a particular user synchronizes with the host, DB2 Everyplace looks up its identification, locates the user’s group memberships, identifies the subscription sets mapped to those groups, and synchronizes the subscriptions within all those sets.

All of the associations -- users to groups, groups to subscription sets, and subscription sets to subscriptions -- are created and edited using the simple but powerful MDAC tool. The MDAC also allows the database administrator to create specialized filters for custom associations, such as allowing a single user in a group to access additional data that other group members do not have access to.

Build and Synchronize

You can quickly construct mobile database apps using DB2 Everyplace’s MAB -- one of those visual app construction tools that promises development without “writing a single line of code.”

In this case, it comes close. Applications created by the MAB consist of forms, each of which is a screen’s worth of fields and controls. A form can be manipulated by simply dragging an element from a toolbar and dropping it onto the form’s window.

Behaviors are defined by specifying which actions should occur in response to which events. DB2 Everyplace’s strong coupling on the host side with a well-known RDBMS (aka DB2), makes this much easier than with some other mobile databases.

The MAB’s armory of events and actions is comfortably full, with an overabundance of database-manipulating actions. You can also create customized behavior with scripts, but the scripting capabilities are somewhat limited. Even the documentation admits that elaborate scripting requires you to edit the source code generated when you build an app.

The MAB emits both native and Java applications. The Java apps are J2SE-compliant and will run on Windows CE, PocketPC, Symbian, and Windows. In my testing on the Palm, the DB2 Everyplace applications were typically native.

DB2 Everplace’s synchronization server is actually a servlet that runs in a compatible servlet container, which can be anything from Tomcat to the WebSphere application server. The server communicates with a synchronization client on the mobile device, either a provided stand-alone app or one that is integrated into a mobile database application.

In the current version of DB2 Everyplace, the synchronization server and client communicate via HTTP exchanges, ensuring coverage of a wide array of mobile clients with little or no device customization. However, the choice is mildly inconvenient on the Palm because it means that synchronization is not performed via HotSync and therefore requires two steps to synchronize data. IBM promises that an upcoming DB2 Everyplace release will support HotSync.

In Sync

DB2 Everyplace gets high points for ease of installation: I had a handheld database ready and synchronized not more than an hour or so after I’d installed the product. All the tools and their controls were arranged so that it was easy to figure out what to do and in what order.

At first, I thought the MDAC’s interface was too sparse, but as I worked with it, I realized that it had no more and no less than exactly what was needed to work with the database apps. The same is true of the query tool that runs on the Palm; the SQL subset it supports was limited, but it provides just the tools you need to create, drop, and query tables.

Finally, there’s enough language support to keep just about anyone happy. DB2 Everyplace’s array of tools and libraries will suit a C/C++, Java, Visual Basic, or .Net developer comfortably.

DB2 Everyplace is easy to install and administer. Its use of membership abstractions (user, group, and subscription) easily accommodates just about every data-distribution contingency one can think of. Plus, it puts the venerable DB2 name at both ends of the synchronization cable -- and that counts for a lot.

InfoWorld Scorecard
Performance (10.0%)
Ease of use (20.0%)
Value (10.0%)
Implementation (20.0%)
Interoperability (20.0%)
Setup (20.0%)
Overall Score (100%)
DB2 Everyplace Enterprise 8.1.4 8.0 9.0 8.0 9.0 9.0 9.0 8.8
Mobile Security Insider: iOS vs. Android vs. BlackBerry vs. Windows Phone
Recommended
Join the discussion
Be the first to comment on this article. Our Commenting Policies