From mamou@o2tech.fr Thu Oct  6 09:13:16 1994
Article: 5801 of comp.infosystems.www.providers
From: mamou@nuri.inria.fr (mamou jean-claude -)
Subject: Re: ODBC and Mosaic
Date: Wed, 5 Oct 94 11:36:52 MET
Organization: O2 Technology, 7 Rue du Parc de Clagny, 78035 Versailles, France.

Hello,

There have been some traffic on comp.databases on how to connect
a OODBMS with Mosaic.

O2 Technology (vendor of the O2 OODBMS) has developped a connection 
between O2 and W3. 

This connection is based on a OQL server, querying by a standard 
W3 server (via a CGI script), that returns an HTML document.

I will reference many time the OQL language. It is the query language 
defined in the ODMG-93 standard and it can be considered as the SQL
for  OODBMS. The ODMG-93 standard book is edited by Rick Cattel (Sunsoft) 
and published by Morgan Kaufmann (ISBN 1-55860-302-6).


This O2-W3 connection can answer two kind of needs:

1) Browsing through a database
   ---------------------------
The major point of this functionality is that the database programmer
has nothing to do to allow W3 users to browse through a database.

In a O2, some names (known as persistent roots) are the entry points of
the database. They can be instances of classes or collection of objects. 
The entire database is accessible by navigating from these roots.

The O2-W3 connection allows someone to specifiy as an URL something like:

  http::/internet_address/o2_system_name/database_name/o2access?oql-query

That kind of URL will:
  a- run a CGI script that will connect to an O2 OQL server,
  b- runs the OQL query specified in the URL 
  c- generates automatically HTML for the result of the query.

Of course, the result of the query can be complex objects. So for each 
sub-object contained in the result of the query, a new HTML link is
generated as an URL that contains the OQL query that will return the 
sub-object. 

The first query given when one goes for the very first time to a database
is a persistent root. Suppose that a root named "Persons" exists in the
database, the very simple oql query "Persons" will engage the browsing.


2) Building an application
   -----------------------

Browsing through a database is a very special need and I think not the 
most important one.

Providing to web users acess to a  database application is much more exciting.
Think of an entire information system stored in one or several databases
available via W3 browsers such as Mosaic and where database programmers
can easily build and control the HTML screens provided to users.

The connection between O2 and W3 allows to do such applications. It is just
an extension of the browsing capability described above.

The mechanism is as follows:

When running an OQL query, you obtain as result an object or a collection 
of objects. Then you have to htmlize the result. This can be done by
adding in each class of objects of the database a method ("web-display")
that will be called to htmlize the objects of this class. 

The browsing capability described above is implemented by providing a generic
"web-display" method on the root class of the class hierarchy. This generic
method produces HTML for any object based on the structure of the object.

The application building capability can be reached by redefining in each
class of the class hierarchy "web-display" methods that produces the HTML
the programmer wants to produce for a particular class. 

For instance, database programmers can redefine the  "web-display" method 
to produce HTML forms, hide part of an object, add information retrieved 
from other objects, ..., and add HTML links to other objects of the database. 

It is important to note that updates of the database can be done as
OQL allows to call methods on objects.


You can contact me for more information about this product.


---------------------------------------------------------------------------
Jean-Claude Mamou                       |   tel : +33 (1) 30.84.77.63    
O2 Technology                           |   fax : +33 (1) 30.84.77.90
7 Rue du parc de Clagny                 |   email : mamou@o2tech.fr
78035 Versailles Cedex, FRANCE          |
---------------------------------------------------------------------------