
Resting On Their Shoulders
Relational databases power most enterprise applications and new management systems are commercially available to help
by bryan morgan
July/August 2001
From the success of groupware to client/server to the World Wide Web, it could be argued that the most critical component to these technologies’ astounding acceleration was the relational database. The relational database model was created by IBM’s E. F. Codd in 1969 but didn’t achieve widespread success until the modern marvels of local area networks, mass storage and powerful microprocessors converged in the late 1980s and early ’90s. This convergence led to the widespread deployment of two-tier client/server systems, commonly built around a popular relational database management system, or RDBMS, such as IBM’s DB/2, Microsoft/Sybase SQL Server or Oracle. Relational databases allow information to be grouped into related tables and sorted using one or more indices. The power of relational databases can be realized when related data is joined using key columns across multiple tables. For instance, examine the fictional PERSON and ADDRESS tables:

Each table is composed of both columns identified by the column names and data types, not shown here, and rows containing the actual data. Each person in the PERSON table is identified by a unique ID field known as a primary key. The ADDRESS table contains the PID field to point back to the specific person in the PERSON table, known as a foreign key. Breaking this data up into two tables allows us to properly model our real-world data, a process known as normalization, since a single person could have one or more addresses. Storing the address information with the person data within a single table would result in the unnecessary duplication of data and a subsequently poor database design. The programming language known as SQL, or structured query language, is used to query databases and is supported by all database vendors. Database-neutral APIs such as ODBC and JDBC allow developers to build applications in the language of their choice while submitting SQL calls to remote databases.
Powering Enterprise
Relational databases are the unquestioned engines behind the vast majority of corporate applications and e-commerce sites. They have moved rapidly beyond the relatively simple concepts of tables, keys and indices to encompass transaction management, message queuing, coded logic using stored procedures and triggers, and in-database support for newer technologies such as Java and XML. RDBMSs are so widely used that it’s virtually unheard of to begin working on an enterprise project without one. Yet, until recently, that’s exactly what mobile application developers were forced to do. Mobile platforms such as Palm OS and Windows CE include support for a system database that essentially works like a record-based file system. However, these file systems cannot be queried using SQL nor do they support bidirectional synchronization with a back-end database.
Thus a market opportunity exists for vendors that can deliver the reliability, management and performance benefits of an RDBMS to the popular mobile platforms. And they’ve done so. Each has released mobile versions of their enterprise products seeking to increase licensing revenues while also increasing the return on investment for enterprise RDBMS purchases. Let’s examine the strengths and weaknesses of three popular mobile database products available for a variety of operating platforms: Oracle 9i Lite, Sybase Ultralite and PointBase.
Oracle’s 9i Lite
The Oracle 9i Lite product aims to offer the feature-set and reliability of the popular Oracle 9i database server, while delivering a small footprint and synchronization for mobile clients. The 9i Lite product replaces the confusing mish-mash of products that comprised the older product (e.g., Web-To-Go, Mobile Agents, Consolidator, iConnect) with a streamlined installation divided into Mobile Client and Mobile Server tools. 9i Lite is available for Win98/NT/2000, Palm OS, Windows CE/Pocket PC and Symbian EPOC. Database APIs via JDBC, ODBC and OLEDB are supported on Win32 and Windows CE, as are popular development languages such as C, C++, Visual Basic and Java.
The Oracle Mobile Server is unique among database vendors’ mobile solutions in that it handles both data and application synchronization. While one would expect a database solution to handle data synchronization with a back-end server, 9i Lite’s integrated Web-To-Go product also supports application management and deployment for mobile clients (e.g., Windows98/NT/2000 laptops). This means that not only can your data be kept up to date but that a user could receive the latest version of the client application at the click of a mouse. Other vendors offer similar solutions but it’s handy to have this capability included with the database product. Unfortunately, application deployment management is only available for Win32 clients.
9i Lite data, users and applications can be managed through an intuitive Web interface. “Wizard” applications also are provided to support the definition of new data repositories and replication definitions.
Oracle 9i Lite actually lies somewhere between a truly “light” client and a full-blown database product. Client installations still are fairly complex and contain a host of runtime files used by the database and synchronization engines. In addition, Oracle’s popular PL/SQL database language is not fully supported in the 9i Lite database, making it impossible to directly port logic–in the form of procedures and triggers–from the enterprise database. If you’re looking for a higher-powered mobile database that supports advanced database, synchronization and replication capabilities, however, 9i Lite should be on your short list.
Pros
• Web-based interface provides an intuitive management console for application and user maintenance.
• Windows98/NT/2000 clients support mobile Web applications and features such as Java servlets and Java procedures.
• Mobile Client (comprised of synchronization engine, a Web server with Java servlet engine, and an Oracle Lite database) allows data/app synchronization to be performed through user-friendly, one-click Web interface.
• Replication Wizard supports flexible definition of synchronization rules.
Cons
• Unlike other mobile database solutions, the 9i Lite product does not support synchronization through JDBC or ODBC, meaning that the product only works with back-end Oracle databases. Unless Oracle is the only database used in your organization, this could be a drawback.
• Mobile Client syncs use Net 9 for communications; no information on protocol provided but it appears to be “chatty” and not optimized for limited wireless communications bandwidth.
• Sync solutions and database capabilities differ from platform to platform.
• Client installations require a large amount of software to be installed. (Windows CE installation approaches 5 MB, not counting the database itself.)
• Mobile Server product is relatively difficult to install and setup.
Sybase SQL Anywhere Studio
Sybase SQL Anywhere Studio products currently are the mobile database market-share leader, with more than 60 percent share. This lead over the competition stems both from the company’s longtime commitment to mobile databases as well as the product’s excellent architecture and its Adaptive Server Anywhere and Ultralite database technologies. Adaptive Server Anywhere, or ASA, is a powerful mobile database that supports advanced synchronization as well as procedures, triggers, transaction management, record locking and database replication. ASA is available on Win32, NetWare, Solaris, HP-UX, AIX and Linux.
Ultralite is the name of Sybase’ analyzer technology that supports the creation and usage of a minimal database on client platforms. An Ultralite database can be as small as 50KB in size. If you’re writing in C/C++, Ultralite applications can be deployed by simply distributing your application’s executable file. The database itself is created automatically when your app starts. Ultralite is supported on Win32, Palm OS, Windows CE, RIM pagers, MS-DOS, QNX Neutrino, VxWorks and EPOC. Application development is supported through C/C++, Java, Visual Basic and PenRight’s MobileBuilder tool.
A strong point of SQL Anywhere Studio’s offering is its MobiLink synchronization technology and uniform operation across a variety of platforms. To set up a MobiLink server, a developer makes use of a “reference” and a “consolidated” database. The reference database, which must be an ASA database, is used to define the database installed on the mobile client. The consolidated database, which can be any RDBMS with a valid JDBC driver, represents your enterprise database that serves as the data engine. Synchronization rules are defined using the Sybase Central tool. Syncs are handled through a series of events managed through the MobiLink server and handled SQL event code you write yourself. This three-tier architecture based on SQL supports an almost unlimited degree of customization.
Pros
• Wide platform support.
• MobiLink architecture is both elegant and flexible.
• Mature product in wide use across a large number of vertical and horizontal business applications.
• ASA and Ultralite options allow product to present different capabilities depending on application requirements.
• Broad synchronization support, including TCP/IP, HTTP, HotSync and ScoutSync.
Cons
• Sybase Central management tool could use some user interface improvements, such as support for cut-and-paste and drag-and-drop.
• No ActiveSync synchronization support for Windows CE clients.
• Ultralite not currently available for J2ME clients.
PointBase
PointBase is an upstart in the database world, offering a Java-only database for any platform with an accompanying Java Virtual Machine. While new to the RDBMS scene, PointBase isn’t comprised of Johnny-come-latelies. The PointBase founder, Bruce Scott, also co-founded Oracle (for Oracle aficionados: yes, he’s Scott/Tiger) as well as Gupta Technology and Inquiry.com. While other Java products have been known to limit themselves to Win32 or Solaris–thereby losing the language’s purported platform independence– PointBase is a Sun-certified “100% Pure Java” product, meaning that it is certified to run flawlessly on any platform with a certified JVM.
The PointBase database product comes in three versions: Server, Embedded and Micro. The Server database is a multi-threaded enterprise database that includes support for transaction management, record-locking and user security. The Embedded product is intended for mobile clients that require multiple database connections from within the same JVM. The Micro product works in both J2SE and J2ME environments that require a single database connection within a JVM. Micro has been successfully tested under a wide variety of JVMs including the Kada VM (for Palm OS), Insignia’s Jeode (for Windows CE), Symbian EPOC and Motorola’s J2ME phones.
Client installation is straightforward. Simply include the accompanying PointBase Java Archive, or JAR file, your application classes and a database file on a mobile client and you’re ready to roll. Because of its Java architecture, PointBase is easy to install and administer. In fact, new technologies from Sun, such as JNLP, offer to provide an easy-to-use deployment solution for application management. PointBase databases synchronize through a middle-tier product known as UniSync and can be synchronized with any enterprise database with a valid JDBC database driver.
Pros
• All Java, All The Time; 100% Pure Java certification offers reliability.
• Extremely small footprint of less than 45 KB for the Micro J2ME product. Easy to install, administer.
• Excellent configuration and management tools.
Cons
• All Java, All The Time. While Java on desktop/server platforms is well developed, it’s still in its infancy on handheld clients, leaving much to be desired in the areas of performance and stability.
• Bidirectional “Point” (fractional) updates are only supported between PointBase clients and a PointBase Server database. Snapshot updates are supported across all major RDBMSs.
• No support for other popular programming languages.
All the products reviewed here will exceed the needs of straightforward forms-based applications that use a minimal amount of data. Other capable database products from vendors such as Cloudscape and IBM also are popular choices for mobile application developers.
Which database best meets your needs is dependent on which programming language you use and which platforms you need to support. If you need to fine-tune data synchronization, the Oracle and Sybase products are clear leaders. If J2ME and J2SE support is important, PointBase makes an excellent choice.
Bryan Morgan is a software developer for a major corporation and a regular DevBiz contributor. Contact him at
bryanmorgan@home.com.
|