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.

DB2 Everyplace Enterprise 8.1.4
IBM, ibm.com
|
Excellent 8.8 |
 |
| criteria |
score |
weight |
| Ease-of-use |
9 |
20% |
 |
| Implementation |
9 |
20% |
 |
| Interoperability |
9 |
20% |
 |
| Setup |
9 |
20% |
 |
| Performance |
8 |
10% |
 |
| Value |
8 |
10% |
 |
|
 |
Cost: Database Edition, $49; Express Edition, $79 per user plus $379 server license; Enterprise Edition, $15,000 per processor.
SDK available as a free download
Platforms: Mobile database: Palm OS, Windows CE, PocketPC, Symbian OS 6 and 7, QNX Neutrino, Linux and embedded Linux, Win32. Synchronization
server: Windows 2000, 2003, NT, XP; AIX, Solaris, Linux. SDK: Windows 2000, NT, XP
Bottom Line: DB2 Everyplace is easy to set up, and creating and managing users and subscriptions are equally straightforward. It’s an excellent
choice for an organizations that must get mobile database operations started quickly, but still want room to grow into more
elaborate, customized mobile database apps.
|
 |
About our Reviews and Scoring Methodology
|
|
|
|
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.