DB2 Everyplace's synchronization is managed using the centralized MDAC (Mobile Device Administration Center), which gives DB2 Everyplace a small client footprint. For development, IBM provides client libraries for supported OSs--including Linux, Palm OS, Windows CE/ Pocket PC, Win32, Symbian and Embedded Linux. The product's usefulness out of the box is limited: You'll need to write apps for the database to take advantage of the sync server.
Because only the necessary APIs are implemented for the target device, it's easy to develop apps for mobile devices. DES 56 or 128 is available for secure communications with the synchronization server, and table-level encryption--as opposed to the database-only encryption offered by some mobile-sync products--is used. For larger databases on the client, DB2 Everyplace supports microdrives and Flash memory.
Data synchronization to mobile devices is not restricted to IBM relational databases: DB2 Everyplace supports IBM DB2 UDB8 (Universal Database), Cloudscape, Informix, Lotus Domino, Microsoft SQL Server, Oracle and Sybase.
Wanted: Beefy Server
DB2 Everyplace 8.1.4 requires at least a Pentium III with 512 MB of RAM (1 GB is recommended if you're using WebSphere as the application server). Although the server appeared to run fine on a machine with only 256 MB of RAM in my tests at our Green Bay, Wis., labs, running the Java administrative tools was painful.
For a Linux installation, you'll need to do a little work, including manipulating kernel parameters. The changes, which can be made with sysctl, include increasing file-handle maximums, shared memory and thread maximums. You'll also need to export your display if you aren't running X on the server. I did the install locally within X and administration remotely on a laptop running Mandrake Linux 9.1. Both methods worked well.
DB2 Everyplace requires an instance of DB2 UDB. If there isn't one on the machine, the software will install an embedded version of DB2. Similarly, the product requires a J2EE-compliant app server that supports the Servlet 2.0 API. If one is not available, the software will load an embedded version of WebSphere. I like this: You get a self-contained version of the product that is configured correctly and requires no additional software installation.
Data can be queried and verified on the local database using a set of command-line tools included with the client distributables. I ran the DB2 Control Center and used it to change the data in the central database, then forced an update of the client and verified that the changes had been made.
New to this version of DB2 Everyplace is case-insensitive searching via SQL. This is a boon--case-sensitive searches require additional code to provide case-insensitivity.
Before you can fire up MDAC, the DB2 Applet Server must be running. This is one of the drawbacks of the product--you need to start it manually whenever the machine restarts, or create an init script to kick it off.
MDAC isn't pretty, but it does what's needed. Every aspect of synchronization, including user and group creation, subscription management and synchronization-schedule management--is controlled from this console. Groups are assigned subscription sets, consisting of one or more subscriptions. A subscription describes the data source (tables), operations allowed (delete, insert, select, update) and encryption settings. The source data can come from any supported database.
Users can have data filters applied to their subscriptions to limit the data synchronized. I specified synchronization based on the "CITY" field within a subscription for a user, so that he received contact records only for Green Bay. Such filters decrease the time and bandwidth necessary for data synchronization, and can help reduce the size of the local database. Filters also can be used as a security mechanism. They can be configured on a group or subscription basis, affecting all users assigned to that group or subscription.
You can view logs for replication and synchronization within MDAC, and filter them by time stamp, user name, subscription, database source or other value. MDAC can distribute files and apps to mobile devices automatically, as well as upgrade client-synchronization and DB2 database software without user intervention.
With its wide relational database and client OS support, DB2 Everyplace offers a single replication and synchronization solution that should be able to support most, if not all, of your mobile-client needs.
Lori MacVittie is a NETWORK COMPUTING senior technology editor working in our Green Bay, Wis., labs. Write to her at [email protected].