WWW Data: a World Wide Web Data
Base

WWW Data is not just another interface (gateway) to an existing
database system. On the contrary WWW Data is the combination of:
- a Web aware, simple to use and yet
powerful, relational data base system;
- a CGI application, interfacing the
actual WWW Data Base with the WWW Server;
- a set of tools to automatically generate the
required interfaces to the data base (HTML Forms, the CGI
Application, and so on...).
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:
- performances: it is faster and requires less resources;
- simplicity: on the server site WWW DATA requires only the
WWW Server and the CGI application (WDCGI) have to cooperate,
no other process is required.
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.
- WDCOMP (WWW Data Compiler, application)
- It takes the data base schema written by the data base
developer(s) and translates it into a C module. The C module has in turn
to be compiled and linked to the other objects and libraries distributed
with WWW Data.
- WDSIZE (Object file) - It computes the
amount of disk space required by the data base. Off course the user
needs to enter the maximum number of records expected for each file.
This tool is generated by linking the distributed object with the module
containing the data base schema and the data base engine library.
- WDINIT (Object file) - It creates /
(re)initialises the physical files used by the relational data base
engine (the data files have names like *.DAT, the index files *.Xnn).
The tool is generated by linking the distributed object with the module
containing the data base schema and the data base engine library.
- WDINDEX (Object file) - It restores
index files lost because of system crashes, power faults and so on. The
tool scans the available data files (whatever is left of them) and
rebuilds the index files. This tool is generated by linking the
distributed object with the module containing the data base schema and
the data base engine library.
- WDUNLOAD (Object file) - It allows to
"unload" a data base file into a physical text file. Different formats
are supported (e.g. EXCEL, 1-2-3, and so on...). The tool is generated
by linking the distributed object with the module containing the data
base schema and the data base engine library.
- WDLOAD (Object file) - It makes
possible to "populate" a data base file from a physical text file.
Different formats are supported (e.g. EXCEL, 1-2-3, and so on...). This
tool is generated by linking the distributed object with the module
containing the data base schema and the data base engine library.
- IDENTIFY (Application) - It
gives the user a special unique identifier of the server machine. This
information will be required to register WWW Data>How to get.
- REGISTR (Application) - This tool
allows the user to promote WWW Data from an unregistered version to a
registered one.
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
- No knowledge of the HTML syntax and/or of the
C language is required - The WWW Data Compiler (WDCOMP) takes the
data base definition (the schema) written by the user and automatically
generates the starting HTML form as well as the C module necessary to
transform all the tools distributed as object files into actual
applications.
- Since WWW Data has its own relational data
base to handle the data, no other external data base system will be
required - People who want to publish their data and cannot afford
big, expensive data base systems, once they have WWW Data, do not need
anything else. In case of organisations which already have a data
base system, they can still use it for their normal corporate/business
applications (where privacy and security are critical) and use WWW Data
to make available on the Web only the relevant portions of their data
bases. WWW Data is able to export/import data from almost all existing
systems.
- WWW Data has been specially designed to be
used on the Web - WWW Data is not just a gateway to an existing
data base; on the contrary it has been designed to properly interface
(via the CGI mechanism) with the WWW Server and WWW Browser. WWW Data is
by definition (or better, by design) integrated to the Web.
- WWW Data allows to specify which end users can
access the data and with which privileges - Although WWW Data
allows a data base to be connected to the Web, not everybody can access
(or handle) these data, but only the people who have been specified by
the data publisher(s). Different people can access the same data base
with different privileges.
- WWW Data uses only standard interfaces,
communication mechanisms - WWW Data does not require any specific
WWW server. It works with every server supporting the de facto standard
"Common Gateway Interface" (CGI).
The End User Point of View
- No knowledge of SQL (or the like) is
needed - The strong integration between WWW Data and the WWW
Browser allows WWW Data to present itself to the end users as a Windows
(or X-11) application which runs inside the WWW Browser and uses the WWW
Browser area as desktop. WWW Data Man Machine Interface uses menus,
buttons and so on, to allow the end users to enter their commands.
- WWW Data does not require a long and tiring
training to be operated - As soon as WWW Data starts it shows
some data to the end users. From the very beginning end users can
operate the system, navigate and manipulate the data, using WWW Data
intuitive and simple commands. By interacting with the system, and
observing how it behaves, soon end users learn how to combine the WWW
Data basic commands to perform complex queries.
- WWW Data uses only standard interfaces,
communication mechanisms - WWW Data does not require any specific
WWW Browser (i.e. it does not require special CCI interfaces, nor
special Plug-Ins). It works with every browser supporting HTML version
3.2 or higher.