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 | ---------------------------------------------------------------------------