
JetConnect 2.03
By Kevin Reichard
DBMS, June 1997
- XDB Systems Inc., 9861 Broken Land Pkwy., Columbia, MD 21046; 800-488-4948, 410-312-9300; www.xdb.com.
- Pricing: Prices range from $795 for a 10-user license to $19,995 for a 500-user
license.
- Minimum Requirements: It runs on Windows NT, HP-UX, and Solaris operating systems. A single-user version can be downloaded for free from www.xdb.com.
JetConnect lets users write Java applications and Java applets that access ODBC-enabled databases.
The merger of Java, the World Wide Web, and the database world is still a transitional area, with more promises than workable tools on the market. However, the transition has been advanced with the release of JetConnect, a SQL connectivity tool for Java developers and database designers from XDB Systems.
JetConnect doesn't require that you make a choice between Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC) as a tool for connecting your Web applications to databases, and that is the product's greatest strength. Instead, you can use JetConnect to create ODBC, JDBC, disk-based, or downloadable applications to deliver your data, and the same code base can be used in more than one of these situations. And, because ODBC contains many advanced features not found in the relatively immature JDBC, you have access to a much wider range of tools than if you stayed only with the JavaSoft API.
JetConnect is actually a series of smaller tools and classes. These include jet.connect (the function calls), jet.controls (interface controls), jet.bridge (the JetConnect JDBC API), and jet.port (a JDBC manager that works in conjunction with a Web server).
I looked at JetConnect on a Windows NT environment. Installation and configuration was no problem; the appropriate files were automatically installed in the Java directories, and the appropriate environment variables were changed. Diving right in was no problem, either, thanks to some disk- and Web-based documentation.
jet.connect
ODBC functions are called in a series of JetConnect classes and methods called jet.connect. There's full ODBC functionality with these functions, including Level 2 conformity. Basically, ODBC handles (environment, connection, and statement) are contained in the following jet.
connect classes:
- dbEnv, which creates dbEnv objects, interrogates the set of available data sources and drivers, and creates dbDbc objects
- dbDbc, which connects and disconnects access to a data source, provides transaction commits and rollbacks, creates DbStmt objects, interrogates database features, and gets and sets connection options
- dbStmt, which submits SQL calls to the data source, provides parameter substitution, processes result sets, and gets and sets statement options
jet.connect also retrieves binary objects and large characters in the DBValue class and wrappers for SQL GetData and PutData functions.
Also present is an exception-handler class, dbException, for handing errors, including SQLError processing.
The following are explicitly supported in jet.connect:
- All three connection mechanisms: connect, driver connect, and browser connect
- All three execution models: direct execution, prepare/execute, and stored procedures
- Both synchronous and asynchronous execution
- Row- and column-wise binding
- All cursor types: static, keyset-driven, dynamic, and mixed
- Concurrency support
- Scrolling cursors
- Positioned update and delete
- All ODBC datatypes
- All information and convenience functions
- Data source interoperability
These classes are handy when you want to create an application quickly, without worrying if you're spending too much time on ODBC or JDBC environments. If you already know SQL, the use of jet.connect classes makes the most sense if you want to leap into the Java world. These controls are similar to embedded SQL and shouldn't cause the experienced SQL programmer too many problems.
Another added advantage is that these jet.connect classes are used in several other XDB products, including JetExpress (which features all the functionality of JetConnect and adds an XDB database gateway) and JetAssist (a graphical environment for database-application development). It is possible -- and probably desirable -- to use these other products for all of your database needs if you're working in a mixed-language environment.
jet.bridge
The jet.bridge component is the JetConnect JDBC API, designed to be a bridge between JavaSoft JDBC applications and ODBC-compliant databases. It's a well-designed component, converting JDBC functions to ODBC functions. It provides much of the flexibility inherent in the Java programming environment; if applets need JDBC support, they can download it separately on the fly.
One notable feature of jet.connect is the addition of classes for establishing persistent connections to SQL databases, cutting down on the need for connections for each database request.
And it does JDBC better than JavaSoft, adding these features that are missing from JDBC: scrolling cursors, block reads, binding program variables, and bookmarks.
jet.port
Once you've developed your applications, you can use the jet.port network daemon that lets your Java applets access a database on a remote server. (See Figure 1.) An application must call the DbStmnt class's SQLAllocEnv( ) method with a URL specified. It's a painless method of connectivity. jet.port can run on the supported Windows NT and Unix Web server environments, as long as JetConnect, Java, and ODBC drivers are installed on the server.
A monitor displays the activities of all JetConnect clients connected to the jet.
port network daemon. For each client, the monitor displays the following:
- Client's IP or DNS address
- Accessed data source
- Name (ID) of the user accessing the data source
- Time the connection started (and stopped, if applicable)
- ODBC function being executed
- Either the time the currently executing ODBC function started or the time the last ODBC function ended execution, whichever is applicable
jet.controls
The embedded SQL calls I mentioned earlier are part of the jet.controls package, which provides functionality equivalent to embedded SQL through special classes, methods, and embedded SQL statements. This functionality includes: a set of database-aware classes providing advanced GUI controls required for sophisticated database applications; an easy way to develop applications and applets ranging from a simple single-table query to complex combinations of master and detail queries; and query-by-form and update-by-form functionality. (See Figure 2.)
Some Caveats
You will need the Java Development Kit (JDK) installed separately in order to generate JDBC applications, as well as JavaSoft's java.sql package. In addition, you'll need 32-bit ODBC drivers for each data source to be accessed.
Perhaps the only real shortcoming in the package is the relatively slim (95-page) documentation. Although it's true that you'll need a hefty stack of documentation to create Java-based database applications, XDB could have fleshed out the manual with more information on the JetConnect classes, as well as some good examples. You need to go to the XDB Systems Web site in order to find the meatier information.
Worth A Look
JetConnect is a great tool for database management, especially in those shops where Java development is on the agenda. You can create your applications and then decide whether JDBC or ODBC is the way to go, or you can decide from the start to go with Java and have an out if you decide to go back to ODBC. With a free evaluation available at the XDB Systems Web site, JetConnect is definitely worth a look.
Figure 1.

--The jet.port monitor lets users set ports and other Web information.
Figure 2.

--This window provides both query-by-forms and update-by-forms.
Kevin Reichard has authored 17 books for MIS:Press/M&T Books. You can visit his Web site at www.kreichard.com.
Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
June 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 Friday, May 16, 1997