DBMS, November 1997
DBMS Online: Server Side By Martin Rennhackkamp

Hit The Road

Keys to Setting Up A Mobile DBMS For Your Users.


In my previous two months' columns, I discussed mobile databases in general terms and elaborated on the requirements for replication in the context of mobile databases. This month, I'll review some of the products available to implement mobile database solutions. This includes the DBMSs themselves, as well as the connectivity and middleware products. The mobile database scenarios illustrated in the preceding columns required a DBMS on the mobile platform as well as in the corporate head office. Connectivity software is required for the interaction between mobile databases and the corporate database. This includes replication facilities or offline transaction processing (OFTP) middleware. Note that I am not considering stand-alone databases on mobile platforms, but only mobile databases fitting into the database architecture of a larger distributed enterprise.

Mobile DBMSs

Many DBMSs are suitable for running on a mobile platform. On Windows 95 you can use Borland International Inc.'s Interbase, Centura Software Corp.'s SQLBase, Sybase Inc.'s SQL Anywhere, Computer Associates International Inc.'s CA-OpenIngres/Desktop, Oracle Corp.'s Personal Oracle and Oracle Lite, Progress Software Corp.'s Progress, Microsoft Corp.'s Microsoft Access, and various xBase products. You can run most of the widely used DBMSs on Windows NT, such as Microsoft SQL Server, Informix, IBM DB2, Oracle, Sybase, CA-OpenIngres, and most of those listed for Windows 95. I consider four of these products noteworthy for mobile platforms, because they are available on Windows 95, they are easy to manage, they do not require excessive machine resources, they have sufficient functionality, and most of all, they have built-in replication facilities.

CA-OpenIngres/Desktop

CA-OpenIngres/Desktop is a descendant of Centura's SQLBase. CA sourced SQLBase from Centura Software Corp. (previously known as Gupta Corp.), added substantial functionality, and released it as CA-OpenIngres/Desktop 1.2.

CA-OpenIngres/Desktop 1.2 requires Windows 95 or NT, at least 4MB RAM (8MB recommended) above that required by the operating system, 12MB disk space for the DBMS software and at least 1.1MB per database. CA-OpenIngres/Desktop 1.2 has the same look and feel as CA-OpenIngres, but it includes some useful SQLBase utilities. All the CA-OpenIngres application development, interactive database management, query, and reporting tools can be used against the desktop database through the CA-OPINGDT gateway. The desktop database can also be accessed from GUI applications developed in CA-OpenROAD through the CA-OpenIngres/Desktop driver and from any other application through ODBC.

The CA-OpenIngres/Replicator provides fully bidirectional, transaction-based asynchronous replication between CA-OpenIngres/Desktop and CA-OpenIngres 1.2 databases and to other databases via the CA Enterprise Access Gateways. The CA-OpenIngres/Replicator has automatic conflict resolution mechanisms, and it supports cascaded replication, which is highly useful for mobile databases.

The International Mission Board, which was described in the case studies of my previous two columns, runs CA-OpenROAD applications against CA-OpenIngres/Desktop databases on its mobile platforms.

Personal Oracle

Personal Oracle7 (the current release is 7.3) is a desktop version of the Oracle7 database. It is available for Windows 3.11, 95, and NT; OS/2, MacOS, and Netware platforms. Personal Oracle7 requires 8 MB RAM (12 MB recommended) above that required by the operating system, and 50 MB disk space for a full installation.

Personal Oracle is a full-blown Oracle relational DBMS. It supports all the database objects that the Oracle 7.3 workgroup server supports, such as tables, indexes, views, synonyms, snapshots, triggers, and stored procedures. The only limitation is that Personal Oracle only allows single-user access. Applications developed against Personal Oracle7 can run with no reengineering on other Oracle7 platforms, which makes it an interesting option for mobile application developers. On Windows 95, Personal Oracle7 has a new look-and-feel Navigator, which is employed for database object management, data management, remote connection management, replication management, and project management. The data in a Personal Oracle7 database can be accessed through a variety of standard data access methods. These include OLE, ODBC, IDAPI, and the native Oracle drivers.

Personal Oracle7 supports a number of data replication techniques to and from Oracle workgroup servers, such as read-only and updateable snapshots, full and subset table replication, incremental refresh of snapshot copies, and event-based and demand-based refresh of copies.

Personal Oracle Lite

Personal Oracle Lite (currently in version 2.4) is a single-user object-relational database that requires a minimal platform on which to run. It only requires 1MB of memory and 5MB of disk space. Personal Oracle Lite is available for Windows 3.11, 95, and NT; and MacOS for both PowerPC and 68K Macintoshes. It is useful for lightweight, single-user database applications for deployment on small-footprint platforms.

Personal Oracle Lite is called object/relational because it combines the power of SQL's set-based relational features with the ability to represent complex data and allow direct navigational access from object-oriented languages such as C++. This fits with Oracle's Oracle8 Universal Server and related object-oriented tools, connectivity, and server products.

Personal Oracle Lite supports bidirectional data replication with a centralized workgroup or enterprise Oracle7.3 databases. This support is implemented through OLE automation facilities. The replication facility includes an "update anywhere" solution, with automatic conflict-resolution mechanisms. It is managed through a point-and-click interface.

A Personal Oracle Lite database can be accessed through a variety of standard data access methods such as OLE automation, ODBC, embedded SQL, and the native Oracle drivers. It can also be managed and accessed from Oracle Developer/2000, Oracle Designer/2000, Oracle Database Designer, Oracle Power Objects, Visual Basic, PowerBuilder, Delphi, and many other development tools.

Sybase SQL Anywhere Professional

Sybase SQL Anywhere Professional is also a descendant product. Sybase sourced the Watcom SQL 4.0 database from Watcom Inc., changed it to resemble Sybase, added replication facilities, Web enabled it with NetImpact Dynamo, and repackaged and re-released it as Sybase SQL Anywhere 5.5.

Sybase SQL Anywhere Professional runs on Windows 3.11, 95, and NT; Novell Netware, OS/2, and even on MS DOS 3.3 or higher. It requires between 1 and 8MB RAM, depending on the operating system. Sybase SQL Anywhere Professional supports tables, a very complete implementation of unnamed declarative integrity constraints, indexes, stored procedures, triggers, views, and synonyms. It supports external stored procedures, which are callable DLLs external to the database. It also supports BLOBs, updateable multiple-table views, and bidirectional updateable cursors. It is a full-blown multiuser DBMS, and it can accept connections from multiple clients simultaneously, with full transaction control.

You can access a Sybase SQL Anywhere Professional database using Transact-SQL or ANSI SQL, through ODBC, the native CT-LIB API, or the Sybase Open Server Gateways. Databases are managed through a very easy-to-use GUI management tool called SQL Central. SQL Central includes drag-and-drop facilities to manage replication, and it also contains wizards to help DBAs code SQL statements correctly.

Data can be replicated to and from Sybase SQL databases through SQL Remote, which is Sybase's bidirectional replication facility. SQL Remote uses conventional, message-based APIs, such as MAPI, Lotus VIM, and SMTP POP, to replicate changes to and from users. These asynchronous, message-based, replicate-anywhere communication facilities are ideal for mobile and occasionally connected users. By using NetImpact Dynamo (the Web server bundled with Sybase SQL Anywhere Professional), you can replicate entire Web sites in the background with the database's replication facilities. Database updates, Web site updates, and email are all communicated through the same mechanisms. Stolt Parcel Tankers, which I described in the case studies in my previous two columns, runs Visual Basic and Visual C++ applications against Sybase SQL Anywhere mobile databases on its ships.

Middleware

As I've mentioned already, you must have replication facilities or OFTP middleware for mobile databases and the head-office database to interact. I described replication facilities in detail in last month's column, so I will concentrate on OFTP middleware.

OFTP is focused primarily on long-lived transactions. In mobile databases, these transactions require resources that are often only intermittently available, therefore offline transactions can span minutes, hours, or even days. The traditional online transaction processing (OLTP) database systems' locking mechanisms cannot accommodate such time frames. OLTP databases lock the data and then process it, allowing for clean reads and writes. With OFTP, changes to disconnected databases can result in dirty reads and writes. With OFTP facilities, offline applications can process transactions as though they were online.

An OFTP system is typically built around an application server. The client applications communicate with the application server and it in turn makes sure that the communication is forwarded to the appropriate database server at the appropriate time. It also caches data from the database server for the client applications to collect when they connect to it.

There are a number of OFTP software products on the market, including Lotus Notes from IBM, Oracle Mobile Agents, Caprera from Tactica Corp., XcelleNet toolkit from XcelleNet, Synchrologic's Tool Kit from Synchrologic Inc., and Webshare from Radnet Inc. Of these, I will look at Oracle Mobile Agents and Caprera in more depth, because they represent opposite sides of the spectrum. Oracle's Mobile Agents provide low-level transport code, while Caprera provides high-level software building blocks residing on both the clients and the server.

Oracle Mobile Agents

Oracle's Mobile Agents is a low-level asynchronous store and forward messaging system that provides a basic foundation on which to build and deploy mobile applications. It is networking middleware used to deploy mobile applications over dial-up, LAN, and a large variety of wireless networks. Oracle Mobile Agents was especially designed for occasionally connected users; it operates asynchronously, with a guaranteed message-delivery mechanism. Oracle Mobile Agents is integrated into existing applications through a software developers' kit. It includes an easy-to-use, graphical status panel so that mobile workers can examine the status of their connections promptly and select the most appropriate network for their current situation and location.

Caprera

Caprera is an assemblage of middleware that was designed to extend existing two-tier LAN-based client/server applications to three-tier and multitier architectures for mobile platforms deployed over remote WAN infrastructures. It caters to telephone lines, cellular telephones, wireless networks, and the Internet. Caprera can integrate with existing databases and communications infrastructures. It manages transactions between remote or mobile clients and enterprise databases running on remote servers.

Caprera consists of a server component and a client component connected via a standard messaging infrastructure. The server component runs on an application server connected via a LAN to the enterprise database server. It includes a rule-based engine that can be programmed to manage transactions between the enterprise database and clients that are often disconnected from the corporate LAN. The Caprera server extracts only the relevant data from the database and packages it for pickup when the clients connect. The server can be programmed to implement a process-flow model that includes transactions and coordinates the activities of remote, mobile, and local participants. Caprera's client component runs on remote and mobile client platforms. It can cache the data received from the server locally so that the applications can operate on the data while disconnected from the enterprise database.

Caprera's architecture is implemented around the concept of an "activity." Caprera's application server is called an activity server. Activities are sent between the client and the activity server. An activity represents a transaction -- it is implemented as an object that contains data and may contain code to process the data. Caprera is developed in Smalltalk, so the activities are Smalltalk objects. The code part of an activity is a sequence of business rules, written in a Java-like scripting language. The business rules specify the data to be acted on, who performs the activity, when it is performed, and what is done. It synchronizes activities between the remote clients and the database. It manages rules, events, schedules, and it provides to-do lists to the clients. The activities include retrieval of database elements, delivery of tasks, acceptance of tasks, conflict detection and resolution, and replication services. The activity server detects database changes, analyzes their impact, mitigates the changes, and sends the correct updates to the appropriate database.

The Caprera server is available on Windows NT, OS/2, IBM RS/6000/AIX, HP/UX, and Sun Solaris, with MVS support expected by the time you read this. Client platforms include Windows 3.1, 95, and NT, with applications built in Visual Basic, PowerBuilder, and Visual C++; or browser applications using Java applets and ActiveX controls. It provides interfaces to products from RSA and Raptor for security; and it supports databases from CA, IBM, Information Builders Inc., Informix, Intersolv, Microsoft, Oracle, Raima Corp., Sybase, other ODBC data sources, and legacy MVS databases through gateways. It supports products from AT&T Wireless, ARDIS, IBM, Motorola, RAM Mobile Data, and Shiva for remote access and messaging technologies, such as TCP/IP, SLIP/PPP, and email including cc:Mail/VIM, Microsoft Exchange/MAPI, SMTP, MSMQ, and IBM MQ, as well as Oracle Mobile Agents.

Apples and Pears

The products described this month are like apples and pears -- similar yet different. You can pursue at least two alternative approaches to the problem of enabling mobile or disconnected end users to maintain corporate data. You should either use a vendor-specific solution, making use of the vendor's asynchronous replication facilities, or you should implement a solution using OFTP middleware.

Of the apples, each DBMS product has its own strong points and its niche markets. CA-OpenIngres/Desktop and Sybase SQL Anywhere Professional are very powerful DBMS servers, providing more functionality and manageability than many enterprise servers. CA-OpenIngres/Desktop's cascading replication is useful for propagating data between numerous mobile databases via the enterprise database. Sybase's message-based replication facilities are useful for propagating transactions and application components asynchronously to remote clients through standard messaging facilities. Coupled with NetImpact Dynamo, you can propagate dynamic Web-enabled database applications all over your enterprise. Personal Oracle Lite, on the other hand, requires so few resources that it probably would run on a solar-powered calculator. It is useful for deployment on inexpensive, small, and lightweight machines and robust platforms.

If you just consider the DBMS vendors' products, you storm headlong into two problem areas. First, you may lock yourself into a single vendor's solution. Because of the differences in implementations, you can usually only replicate data between the enterprise database and mobile databases of the same vendor (and possibly to a few others through gateway products). Second, most DBMS replication facilities can only be used to replicate SQL-based relational transactions. These mechanisms are not so flexible for replicating new user-defined datatypes and BLOBs, nor can they replicate application components (with the exception of Sybase SQL Anywhere Professional). However, DBMS vendors' replication mechanisms are much easier to implement and configure than the middleware-based solutions.

Of the pears, Caprera is by far the most advanced and open middleware product available for implementing mobile database solutions. You can use Caprera to deploy mobile applications in a simple three-tier architecture that can be scaled to a complex architecture over a multitude of platforms. One thing to consider is that middleware solutions are more difficult to implement than replication-based solutions. Although the middleware products' brochures often state that the middleware just plugs in as a middle layer in existing client/server systems, it is not so trivial. You must consider the overall architecture of the system, which components are located on which server, what data is located where, what data gets shipped to where, how simple transaction semantics are deployed in this distributed world, and finally, how all the components would function as a tightly integrated system. Take note too that even in the middleware world, you can still be locked into a single vendor's solution.


Martin Rennhackkamp is the owner and principal consultant of The Data Base Approach, a corporation specializing in relational and distributed databases, based in Cape Town, South Africa. You can reach Martin via the Internet at mr@dba.co.za.
What did you think of this article? Send a letter to the editor.


Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
November 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated October 2, 1997