Copyright ACM, 2000

How to Visit Data with OTHY

MAIF – Service Bureautique
200, Av. Salvador Allende
79038 Niort Cedex 9 – France

José Martinez
IRIN / CID – Université de Nantes – IRESTE
La Chantrerie – BP 60601
44306 Nantes Cedex 3 – France


Hypermedia design has received considerable attention and methodologies appeared to conceive hypertexts, especially to alleviate the well-known disorientation problem. The Object To HYpermedia (OTHY) approach that we propose takes into account object-orientation to balance page customisability ¾with respect to different types of objects¾ with uniformity ¾within a single class.  In this paper, we again take advantage of this trade-off to introduce a generalisation of the tour concept that is able to fit several needs, mostly directed to traditional and new database requirements, but also demanded by end-users to better visualise data. We developed a prototype with Java to implement these concepts.


Hypermedia Design, Frameworks, Web-based Application, Java, Heterogeneous Databases.

1.     Introduction and motivations

In many organisations, a single desktop computer has to access to a lot of independent sub-systems, located on different servers. A study of the users’ needs conducted at MAIF (Mutuelle Assurance des Instituteurs de France), a French insurance company with 4,500 employees and as many computers, highlighted three main requirements. Among them, the most important was the possibility to navigate easily among this mass of information, with the ease offered by the Web technology. In other words, users demand a single interface to the whole information system. In addition, users want to be given different and powerful ways to browse the very same data in order not to rely on querying, which is badly considered for casual uses. In a way, they want to be able to browse data much like a set of queries had already been issued on the database and they just have to visit the results.

OTHY is a framework [14] that implements major ideas from mature hypermedia methodologies. In addition, it is an open and extensible framework that is able to fit additional needs. This paper presents such an extension about the tour concept, i.e., how to extend the visiting capabilities, in order to fit the needs of MAIF’s users.

The paper is organised as follows: First in section 2, the general architecture of OTHY is sketched. Next, in section 3, we introduce the generalisation of the tour concept in order to deal with complex “queries.” Then, in section 4, we present the current state of our Java prototype.

2.     The OTHY Approach

Our proposal [3] offers (1) a customisable hypertextual view of object-oriented (as well as relational) databases, and (2) an extensible set of hypermedia tools and concepts. The basic aim of the work is to allow conventional database accesses with a hypermedia interface [4] [8] [20].

2.1     The Database Architecture

Our tool requires object orientation [21]. In contrast, the information sub-systems are heterogeneous and certainly not based on a single conceptual model. Database accesses are managed thanks to object wrappers, i. e., interfaces that make the underlying sub-system be viewed as an object-oriented database. Since relational database management systems (RDBMS) are widespread, it is an important issue to access to them with our tool. Fortunately, all of them conform to the JDBC/ODBC [25] standard. Therefore, any vendor-specific RDBMS is now accessible as a standard and unique model. Besides, object-orientation is achieved through a wrapper like ObjectDRIVER [15], under implementation. Currently, we access directly to an object-oriented database, namely O2 [2]. Consequently, OTHY is not limited to being a tool for just one database-powered Web-site, contrary to commercial products and even research tools, e.g., W3I3 [27].

Finally, the “Java applet”, i.e., the run-time intensive part of the whole architecture, is still a complex module. It consists of four sub-modules. First, the meta-schema is in charge of uploading the database meta-schemas, and to federate them in order to allow for inter-database navigation.

2.2     The Framework Architecture

Many application areas have already adopted hypertexts concepts. In the field of databases, methodologies such as RMM [13] and OOHDM [23] have emerged. Basically, RMM proposes to translate instances of class entities into pages, whereas relationships between entities correspond to guided or indexed tours. OOHDM takes into account the object-oriented approach and differentiates the visual presentation depending on the actual user. Some authors [24] recommend the use of an OODBMS as the more rational solution to store hypertext data. An underlying structure to the hypertext exists and it is usually clearly translated by the interface [22]. This decreases considerably the user concentration, and increases the freedom to move around the objects of the database, as with PESTO [6], HyperWave [19], Multicard [1], W3I3 [27], etc. However, these systems implement a limited number of alternatives. Furthermore, some of them require the data to be introduced into the database in a form that is suitable for forthcoming browsing.

OTHY, the core of our proposal, is a framework [9] [14] for translating objects into hyper-linked components. Its aim is to create a presentation “page” (with information and anchors to navigate) from a specific instance. The OTHY framework implements prominent points of the RMM and OOHDM methodologies: (1) the instance/page mapping, guided tours and indexed tours from RMM [13], and (2) the use of object orientation, and the concept of users’ views from OOHDM [23].

Also, OTHY does not demand the databases to be modified in order to browse them. In point of fact, the underlying databases are totally unaware that they can be browsed hypertextually.

In addition, OTHY takes advantage of its object-oriented modelling in order to extend its basic set of tools. This helps to support a methodology extension, as illustrated hereafter.

3.     Tours for Querying

The previous framework allows to display instance(s) by taking into account both the class to which it belongs and the user who is looking at it. Of special interest is the notion of tour in hypermedia design [22]. More precisely, literature generally differentiates guided tours from indexed tours. We based our implementation of these concepts on the RMM methodology [13].

Figure 1: Guided Tour.

Guided tours (Figure 1) look like linked lists of pages that can be accessed sequentially through a next button (and optionally a previous one too.)

Indexed tours (Figure 2) allow to access more rapidly to a set of pages through an intermediate page, the so-called index.

Both kinds of tours can be sorted. For instance, if an author is very prolific, it is wise to order his or her books according to some classifying criterion (dates of publication, alphabetical order of titles…).

Therefore, we can admit that the following definition is sufficient to characterise these tours.

Definition 1:  A tour is a way of browsing a (sorted) set of objects.

 Figure 2: Indexed Tour.

3.1     Generalised tours

To answer to the users’ needs, we propose a generalised definition.

Definition 2:  A tour is a way of browsing elements of a (implicit) structure (and possibly the structure itself.)

For the sake of the demonstration, we shall mix guided and indexed tours in two different ways: guided indexed tours, and indexed guided tours, and show how they relate to traditional database querying.

First, indexed guided tours (Figure 3) are an extension of guided tours with some kind of index for allowing fast accesses to parts of an ordered collection. For instance, if a writer has written a considerable number of books, and that they are presented in lexicographic order, then it would be appreciated by the user to reach a given book through a hierarchical index consisting of, say, two levels rather than scanning the tenths of preceding books.

Figure 3: Indexed Guided Tour.

Secondly, our guided indexed tours (Figure 4) are an extension of indexed tours that allow guided tours on subsets of a more important collection. A subset can be a partition, therefore corresponding to a group by clause in a query language like OQL (Object Query Language) [7]. But, subsets can also intersect one another (as illustrated in Figure 3-2 for light grey edges and the black edge), which translates a much complex query. Notice that in the latter case, objects have to be shared by the various guided tours, not duplicated.

Both extensions are more general than the index guided tours of RMM. Moreover, we can envisage an extensible and customisable set of tours thanks to our broad definition of what is a tour, and of its subsequent implementation in our OTHY framework. Some other kinds of tours that we thought of are:  an indexed guided tour variation, the index of which being a B-tree rather than a single criterion per level; an R-tree like guided indexed tour for accessing multi-dimensional data (MAIF owns a geographical database); a 2D matrix can answer simpler needs; a trellis traversal for conjunctive properties, e.g., searching papers through the inclusion trellis of the associated sets of keywords. In point of fact, a designer can provide any kind of traversal of a set of objects by taking advantage of various properties that these objects can exhibit.

Figure 4: Guided Indexed Tour.

4.     Our Java Prototype

The possibility for desktop computers in one organisation to access to different sources of information requires the use of a “universal client.” Therefore, we use a Java applet to obtain this uniqueness. Our Java prototype is one possible implementation of the OTHY framework. It realises all the steps from navigation to implementation without requiring any modification of the database, nor development of code in the framework, unless you want to address specific needs that have not yet been implemented.

4.1     About OTHY

Figure 5: The core of the OTHY framework.

The main OTHY function accepts an instance of any class and performs a mapping from classes to specific transducers. To execute this function, we introduce a Transducer hierarchy, a Tour hierarchy and an Anchor hierarchy as seen in Figure 5.

Figure 6: A publisher presentation with OTHY.

The class Transducer is the main support of the transformation function. This class is a generic class and allows transforming any object into a page. It is the root of a concrete and/or abstract class hierarchy. This is very useful for extensibility and adaptability; each class may own a specific transducer (Figure 6 and Figure 7). Thanks to reflexivity, a generic transducer is able to translate any object into a list of pairs name/value for each attribute. It can be parameterised in order to sort the names, whether to display it or not, or change default colours. To go ahead, the system is able to manage several specific transducers for each class, depending on the user’s needs. These transducers have to be programmed.

Figure 7: A book presentation with OTHY.

The relationship between the transducer and the application class is made via the Directory class, which manages an associative relationship between class types (or, more precisely, the names of the class instances in the meta-schema) and transducer instances. Each known class name in the meta-schema is linked to a transducer reference. Each (kind of) user is associated to a given directory, providing a different mapping from classes to transducers, thus achieving a customised presentation and/or navigation best fitting his or her needs. This is the way we implemented the well-known view and user profile database concepts.

4.2     Tour implementation

The Tour hierarchy (Figure 8) currently provides guided tours, indexed tours and mixed kind of tours: guided indexed tours and indexed guided tours. Both are designed to browse a collection of objects. They are used for multi-valued references between objects, e.g., the set of cars of a policyholder.

Figure 8: The Tour hierarchy.

This hierarchy of classes works in conjunction with the Anchor [16], [17] hierarchy presented in Figure 9. These two hierarchies are closely related.

Anchors are used for navigating from object to object. They form a sub-hierarchy of the JComponent hierarchy of the Java Swing library [26] because they are also graphical objects, mostly JButton. This hierarchy deals with various uses: last, first, previous, next, etc. Each page should incorporate anchors in addition to the own properties of the instance to be displayed. These anchors reference related instances of the current presented object. They inform users that there exist related objects to browse.

Figure 9: The Anchor hierarchy.

Clicking on an anchor generates a call to the main OTHY function to display the related instance or to present the tour (guided or indexed) composed of the related instances.

Figure 10: Guided Tour with OTHY.

Guided tours (Figure 10) present informations as if they were obtained from an OQL query with an order by clause (e.g., select a from a in Authors order by A parameter indicates on which attribute the tour is sorted and whether it is in ascending or descending order. The set of anchors associated to a guided tours are: First (to go to the first element of the tour), Previous (to go to the previous element), Next (to go to the next element of the tour), Last (to go to the last element of the tour), and Return (to go to the father element of the tour) to browse the tour.

Figure 11: Indexed Tour with OTHY.

Following the database analogy, indexed tours (Figure 11) manage information much like an OQL query with a group by clause (e.g.: select b from b in Books group by b.dateP.) They create an intermediate index page containing solely anchors. In turn, these anchors allow users to browse the related objects.

Objects are displayed with two kinds of anchors: Father (to go to the “father” object page of this object, neglecting the index page) and Summary (to go to the index page.) It is possible to have multiple index level, e.g.: a first level with elements grouped by date, a second level with elements grouped by name, etc.

In our prototype we mixed the basic guided and indexed tours to obtain indexed guided tours and guided indexed tours.

The former (indexed guided tours) (Figure 12) are mostly indexed tours with the possibility to browse the neighbourhood of a located member of the collection. When users have to browse a considerable number of objects, it would be better to reach the searched object through a hierarchical index rather than scanning the entire collection.

Figure 12: Indexed Guided Tour with OTHY.

The latter (guided indexed tours) (Figure 13) are mostly guided tours for which it is possible to use the index first in order to avoid a lengthy scan of the first objects in the collection.

Figure 13: Guided Indexed Tour with OTHY.

They allow guided tours on a subset of a more important collection; here objects have to be shared by the various guided tours, not duplicated. It is also possible to go up and down the index to move rapidly to distant parts of a large collection. When the index consists of a single node, our notion of guided indexed tour is identical to the RMM definition.

5.     Conclusion and Future Works

Offering several ways to browse sets of data is extremely important for end-users that are navigating into a large and complex database (or a set of loosely coupled heterogeneous databases.) Effectively, in addition to limiting the disorientation problem, this also diminishes the cognitive overhead of having to remember several paths that lead to parts of the final result. Also, this postpones the moment when the user will have to start querying the database rather than browsing it, something that is unfriendly for casual and/or naive end-users.

In this paper, we introduced our OTHY framework and detailed the design and implementation of one of its sub-hierarchies in order to deal with an extensible collection of tours. This has been illustrated through two combinations of the well-known guided and indexed tours. This proved relatively easy to develop thanks to the genericity and the reflexivity of our framework (transient objects can be managed like database objects from the point of view of the translation into a “page.”)

6.     References

[1]     Amann, Scholl; Querying Typed Hypertexts in Multicard/O2; Proc. of the ACM European Conf. On Hypermedia Technology (ECHT’ 94), Edinburgh, Scotland, September 1994

[2]     Bancilhon, Delobel, Kannelakis; Building an Object-Oriented Database System:  The Story of O2; Morgan-Kaufmann, 1992

[3]     Barbeau, Martinez; OTHY: Object To HYpermedia; Proc. of the 11th Conf. on Advanced Information Systems Engineering (CAiSE*99), Heidelberg, Germany, June 1999, pp. 349-363

[4]     Bieber, Vitali, Ashman, Balasubramanian, Oinas-Kukkonen; Some Hypermedia Ideas for the WWW; Proc. 30th HICSS Conf., Wailea (HA), January 1997, IEEE Computer Society Press, p. 309-319

[5]     Bouet, Djeraba; Powerful Image Organization in Visual Retrieval Systems; Proc. of the 6th ACM Int’l Multimedia Conf. (MM’98), Bristol (UK), 14-16 September 1998

[6]     Carey, Haas, Maganty, Williams; PESTO: An Integrated Query/Browser for Object Databases; Proc. of the 22nd Int’l Conf. On Very Large Data Bases (VLDB’96), Mumbai (Bombay), India, 1996, pp. 203-214

[7]     Cattel, Barry, Bartels, Berler, Eastman, Gamerman, Jordan, Springer, Strickland, Wade; The Object Database Standard: ODMG 2.0; Morgan Kaufmann Publishers, Inc., San Francisco, California, 1997, 270 p.

[8]     Conklin; Hypertext:  An Introduction and Survey; IEEE Computer, September 1987, pp. 17-41

[9]     Fayad, Schmidt, D. C.; Object-Oriented Application Frameworks; Com. of the ACM, October 1997, Vol. 40, No. 10, pp. 32-38

[10]  Garzotto, Paolini, Schwabe; HDM – A Model-Based Approach to Hypertext Application Design; ACM Transaction on Information Systems, Vol. 11, N° 1, January 1993, pp. 1-26

[11]  Halasz, Schwartz; The Dexter Hypertext Reference Model; Com. of the ACM, February 1994, Vol. 37, No. 2, pp. 30-39

[12]  Hardman, Bulterman, Van Rossum; The Amsterdam Hypermedia Model:  Adding Time and Context to the Dexter Model; Com. of the ACM, February 1994, Vol. 37, No. 2, pp. 50-62

[13]  Isakowitz, Stohr, Balasubramanian; RMM: A Methodology for Structured Hypermedia Design; Com. of the ACM, August 1995, Vol. 38, No. 8, pp. 34-44

[14]  Johnson; Frameworks = (Components + Patterns); Com. of the ACM, October 1997, Vol. 40, No. 10, pp. 39-42

[15]  Lebastard, Demphlous, Auiléra, Jautzy, ObjectDRIVER Reference Manual, CERMICS, Sophia Antipolis, 1999

[16]  Maioli, Vitali; Anchors and Paths in a Hypertext Publishing System; Technical Report UBLCS-93-3, February 1993

[17]  Maioli, Sola, Vitali; External Anchoring for Wide-Area Network Support: the RHYTHM project; Int’l Journal of Modern Physics C - Physics and Computers 5 (5), World Scientific, 1994, p. 769-783

[18]  Martinez, Marchand; Towards Intelligent Retrieval in Image Databases; Proc. Of the Int’l Workshop on Multi-Media DataBase Management Systems (MMDBMS’98), Dayton, Ohio, August 1998, pp. 38-45

[19]  Maurer; HyperG is now HyperWave: The Next Generation Web Solution; Addison-Wesley Publishing Company, 1996

[20]  Nielsen; HyperText and HyperMedia; Acade-mic Press, Inc., San Diego, California, USA, 268 p.

[21]  Rumbaugh, Blaha, Premerlani, Eddy, Lorensen; Object-Oriented Modeling and Design; Prentice Hall, 1991

[22]  Rutledge, Hardman, van Ossenbruggen, Bulterman; Structural Distinctions Between Hypermedia Storage and Presentation; Proc. of the 6th ACM Int’l Multimedia Conf. (MM’98), Bristol (UK), 14-16 September 1998, pp. 145-150

[23]  Schwabe, Rossi, Barbosa; Systematic Hypermedia Application Design with OOHDM; Proc. of The 7th ACM Conf. on Hypertext, Washington D.C., 16-20 March 1996, pp. 116-12

[24]  Smith, Zdonik; InterMedia:  A Case Study of the Differences between Relational and Object-Oriented Database Systems; Proc. of the Int’l Conf. on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’87), Orlando, Florida, October 1987

[25]  Sun Microsystems, Inc; Java Database Connectivity (JDBC) Documentation; available at

[26]  Sun Microsystems, Inc; JavaTM Development Kit Documentation; available at

[27]  Ceri, S.; Model and Tools for Design of Data-Intensive Web Applications; Proc. 15èmes Journées Bases de Données Avancées, (BDA’99), October 1999, pp. 1 (See htttp://

[28]  Paolini, P. Fraternali,  P.;  A Conceptual Model and a Tool Environment for Developing More Scalable, Dynamic, and Customizable Web Applications; Proc. EDBT’98, Valencia, Spain

Copyright 2000 ACM

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and or fee.
SAC 2000 March 19-21 Como, Italy
(c) 2000 ACM 1-58113-239-5/00/003>...>$5.00