WDB lets you provide access to your databases with out writing a single line of code ( - unless you really want to ). All you have to do is to install WDB as a CGI script on your HTTP server and write a set of 'Form Definition Files' (FDF's) each describing a different view on your database. WDB will then, when activated by a URL request from a client, produce an HTML form which allows the user to enter a database query. When the user has entered a query it is send back to your server, where WDB converts the users input to a query in your database, converts the output according to your specifications in the FDF and sends the result back to the user.
If the query results in more than one row, WDB will output the data in a tabular form containing a subset of the columns ( The user can choose exactly which columns should be displayed ). A hyper-text link in each row will then allow the user to select a row and WDB will produce a nicely formated page with all the data in this row.
To make the writing of the FDFs even easier WDB comes with a small tool which, given a name of a table and the unique key(s), extracts the information from the database and creates a working FDF. You probably still have to edit it by hand to make nice labels etc. but it makes it a lot easier to get started.
But the real power of WDB lies in the fact that you can specify actions, or computations to be made on any field in the FDF, either converting the users input before it is used in the database query, or converting the data from the database before it is presented to the user. These actions or computations are specified as Perl expressions, and can be virtually anything -- from simple computations on the data -- to complex functions which requests other network resources, includes images or sound, or constructs hyper-text links to other data in your database or anywhere else on the net.
Especially the ability to make hyper-text links between the data in the database makes this interface different from other more traditional form based database interfaces. Without the hyper-text capability you have to carefully think about what information the user might want to look at at the same time, and create forms that contains all the needed tables with the proper joins. With WDB you can simply make an FDF for each table and from each FDF make all the possible relations available as hyper-text links. This allows the users to enter anywhere in the database, and explore as much as they want, always being able to find any relevant data in the database -- plus of course any related documentation available elsewhere on the Web.
WDB was written in Perl, and used to provide access to a Sybase database (via the sybperl extension to Perl), but the database interface was written as a separate Perl package, and can easily be ported to other databases for which there exist a Perl interface (like Oracle, Informix, Ingres, etc.). An interface to Informix, and the public domain database mSQL is included with the standard WDB distribution. See the appendix for more on how to port WDB to other database systems.