WWW Data: a World Wide Web Data Base


Overview

WWW Data is not just another interface (gateway) to an existing database system. On the contrary WWW Data is the combination of:

The WWW Data relational data base engine derives from CDATA: The Cheap Data Base Management System, described in the book:

"C Data Base Development",
Al Stevens,
Management Information Source,
1107 N.W. 14th Avenue,
Portland, Oregon 97209,
ISBN 0-943518-33-4

CDATA is a stand-alone, local, single user data base management system; WWW Data is Web aware, remotely accessible and multi user.

WWW Data Components

WWW Data Architecture (the hardware point of view)

From an hardware perspective WWW Data is a data base system running on a particular machine (the server), connected to the Web. All end users interact with WWW Data from other machines (the clients), also connected to the Web. The WWW Data Man Machine Interface runs on these second machines and gives the end users the feeling they are operating a local application.

To better understand how WWW Data works it is necessary to take into account its architecture.

WWW Data Architecture (the software point of view)

WWW Data does not use a proprietary protocol to exchange data between the server and the client machines; on the contrary it relies on the "standard" HTTP protocol used by the WWW Servers (e.g. NCSA Server) and WWW Browsers (e.g. Netscape Navigator) to interoperate. This way the combination WWW Server - WWW Browser constitutes a sort of communication infrastructure which is exploited by WWW Data.

The WWW Data main application (called WWW Data CGI, in short WDCGI) actually contains the relational data base engine. It is this application which receives from the remote end user (via the WWW communication infrastructure) his queries, process the data and sends back the results.

On the end user's side there is no particular WWW Data application. The standard WWW Browser is used to handle the Man Machine Interface.

NOTE: although WWW Data has been designed to be used in a distributed environment, it can also be used on a single machine. In this case the server and client sites coincide.

With this background knowledge, it is now possible to examine in details all the WWW Data Components.

The Relational Data Base Engine

WWW Data Relational Data Engine is a library of C routines/functions (WDLIB) which supports the relational data model via inverted indexes stored into data files. The handling of these indexes uses B-tree algorithms.

The implementation of data base engine as a library (and not as independent process) derives from the following considerations:

The data base schema is not contained in a set of tables or data files; on the contrary it is embedded in a C module, automatically generated by the WWW Data schema compiler (WDCOMP).

The CGI Application

The CGI Application (WDCGI) is the core of the WWW Data system. This application receives the end user's requests, via the HTTP connection and the WWW server, processes them using the relational data base engine, and sends back the results.

The Man Machine Interface at the end user's site is generated by this application; i.e. all the forms, tables that the end users see do not exist as static files in some remote location, but are dynamically generated by WDCGI when needed.

WDCGI is distributed as an object file. To generate the application it is necessary to link to this object file the module containing the data base schema and the data base engine library.

The WWW Data Tools Set

The WWW Data Tools Set is a collection of applications used to define the data base, create it and maintain it.

WWW Data Features

WWW Data features are listed below following the perspectives of the two different users types (the data publishers and the end users).

The Data Base Publisher Point of View

The End User Point of View