next up previous contents
Next: 1.3 History Up: 1 Introduction Previous: 1.1 Overview

1.2 Software structure

Qddb is built in several levels, as described in Figure 1.1. At the bottom is libQddb.a, the Qddb library, containing such routines as Qddb_ChangeEntry. Built on those routines are some fairly simple programs such as qedit and qadd that provide interactive access to a Qddb relation.

  figure54
Figure 1.1: Levels of software in Qddb

Tcl is an extensible programming language developed by John Ousterhout at Berkeley. The Qddb package includes an extension to Tcl in the library libTclQddb.a. One result is an interactive interpreter, qtclsh, in which a programmer may execute not only Tcl commands but also Qddb extensions such as qddb_search.

Tk is another extension to Tcl that provides a graphical user interface for the X-windows package. Qwish is an interactive Tcl interpreter that understands both the Qddb and the Tk extensions. The xqddb program is written in this extended language; it provides a graphical interface to a Qddb relation.

To allow programmers to customize applications, the Qddb package includes the Fx toolkit of routines written in Tcl extended by Qddb, Tk, Itcl, Tktable (spreadsheet), Xpm (color button bitmaps and logos), and Blt (the last three are optional). This library provides routines such as Fx_Entry that can be used to build custom graphical interfaces to specific databases. The nxqddb program is written using this library; it has much the same function as xqddb but is much shorter, because it rests on more powerful machinery.



Herrin Software Development, Inc.