jWWWData: a World Wide Web JDBC Data Base Client

jWWWData is a general multi-purpose JDBC Data
Base Client that can be accessed via an HTML browser.
jWWWData interfaces with all the JDBC (or ODBC) compliant Data Base Management Systems. jWWW
Data is the combination of:
- a CGI application, the JDBC Client, interfacing the
actual JDBC compliant 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...).
jWWWData Components

jWWWData Architecture (the hardware point of view)
From an hardware perspective jWWWData is a JDBC Data Base Client
running on a particular machine (where the WWW server is located),
connected to the Web. All end users interact with WWW Data from other
machines, 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. The actual Data Base Management
System, the JDBC Server, is located on a third machine and is connected
to jWWWData via the JDBC connection on an internet/intranet communication
link.
To better understand how jWWWData works it is necessary to take into
account its software architecture.

jWWWData Architecture (the software point of view)
jWWWData is based on a three levels architecture:
- The HTML Client - implementing the Man Machine
Interface as seen by the end users.
- The Data Base Server - the JDBC (or
ODBC) compliant Data Base Management System actually containing the
data.
- The Middleware - the WWW Server and
jWWWData main application, a JDBC compliant CGI written in Java
establishing a communication path between the WWW server and the actual
Data Base system.
Requests from the end users travel from the Web Browser to the WWW
Server via the HTTP protocol. On the WWW server the users requets are
passed to jWWWData main application via the CGI protocol. Inside
jWWWData the user requests are translated into JDBC compliant (i.e. ANSI
SQL2 Entry Level) requests and passed via a JDBC compliant
internet/intranet connection to the Data Base Server. When needed the
JDBC requests can be translated by the JDBC-ODBC driver into ODBC
compliant requests and then passed on to an ODBC compliant Data Base
Server.
The results of the queries entered by the end users travel along the
same communiation path, only in the opposite direction.
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 jWWWData has been
designed to be used in a distributed environment, it can also be used on
a single machine. In this case the WWW Browser, the WWW Server and the Data
Base Server sites coincide.
With this background knowledge, it is now possible to examine in
details all the jWWWData Components.
The JDBC/ODBC Compliant Data Base System
jWWWData requires an external JDBC/ODBC compliant Data Base
Management System. A list of these databases can be found here. jWWWData has been tested with NCSA's
Decibel and Microsoft's
Access. Data publishers can select the Data Base Management they
prefer/use.
The CGI Application
The CGI Application (swwings.jWWWData.jDCGI) is the core of jWWWData.
This application receives the end user's requests, via the HTTP
connection and the WWW Server, translates them into JDBC compliant SQL
queries and sends them to the actual Data Base Management System.
Results from the Data Base server are collected by this CGI, organised
as HTML output and sent back, via the WWW Server, to the end users' WWW
Browser.
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 the swwings.jWWWData.jDCGI when needed.
jWWWData Tools Set
jWWWData Tools Set is a collection of applications used to define
the data base, create it and maintain it.
- swwings.jWWWData.jDComp - It takes the
data base schema written by the data base developer(s) and translates it
into a Java module. This Java module has in turn to be compiled, i.e.
translated into a class file, and made visible to the Java Virtual
Machine. A script (jdcomp.bat or jdcomp.sh) is provided to simplify the
invocation of the tool.
- swwings.jWWWData.jDInit - It creates /
(re)initialises the physical files/tables/etc... used by the actual Data
Base Management System. This tool requires that the Java class
containing the data base schema is made visible to the Java Virtual
machine. A script (xxx-init.bat or xxx-init.sh) is automatically
generated by swwings.jWWWData.jDComp to simplify the tool's
invocation.
- swwings.jWWWData.jDUnload - It allows to
"unload" a data base file/table/ect... into a physical text file.
Different formats are supported (e.g. EXCEL, 1-2-3, and so on...). This
tool requires that the Java class containing the data base schema is
made visible to the Java Virtual machine. A script (xxx-load.bat or
xxx-load.sh) is automatically generated by swwings.jWWWData.jDComp to
simplify the tool's invocation.
- swwings.jWWWData.jDLoad - It makes
possible to "populate" a data base file/table/etc... from a physical text file.
Different formats are supported (e.g. EXCEL, 1-2-3, and so on...).
This tool requires that the Java class containing the data base schema is
made visible to the Java Virtual machine. A script (xxx-unload.bat or
xxx-unload.sh) is automatically generated by swwings.jWWWData.jDComp to
simplify the tool's invocation.
- swwings.utils.Identify - It gives the
user a special unique identifier of the server machine. This
information will be required to register jWWWData.
- swwings.utils.Register - This tool
allows the user to promote jWWWData from an unregistered version to a
registered one.
jWWWData Features
jWWWData 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
- It is required no knowledge of the HTML
syntax, nor of the Java language, nor of the JDBC SQL API, etc...
- The jWWWData Compiler (swwings.jWWWData.jDComp) takes the data base
definition (the schema) written by the user and automatically generates
the starting HTML form as well as the Java module containing the schema
and all the scripts needed to start in a simple way the jWWWData CGI
application and its tools.
- Since jWWWData works with plenty of different
data base systems, no strong requirement is imposed on the users
regarding the tools they have to use - People who want to publish
their data can decide which data base they want to use, from an
inexpensive freeware system to a fully-fledged commercial system.
- jWWWData allows to specify which end users can
access the data and with which privileges - Although jWWWData
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.
- jWWWData 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 jWWWData 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. jWWWData Man Machine Interface uses menus,
buttons and so on, to allow the end users to enter their commands.
- jWWWData does not require a long and tiring
training to be operated - As soon as jWWWData 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 jWWWData
intuitive and simple commands. By interacting with the system, and
observing how it behaves, soon end users learn how to combine the
jWWWData basic commands to perform complex queries.
- jWWWData 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.