Hypermedia – Object-Oriented Concepts and Hypermedia
2 Object-Oriented Concepts and Hypermedia
Before we discuss the database requirements of hypermedia, let us try to understand the object-oriented paradigm and analyze its relevance to hypermedia. The advantages of using an OODBMS includes the ability to model complexity, to provide a unified representation of the problem domain, and to build complex objects.
There have been object-oriented approaches to systems analysis and design, programming languages, operating systems and database systems. Object-oriented systems provide many new features that are not present in conventional structured systems. The object-oriented paradigm more closely represents the problem domain by mapping abstractions of real world entities as objects/classes. It also focuses on the definition and inheritance of behavioral capabilities in the form of operations embedded within objects. The paradigm also supports simpler capabilities for structuring complex objects.
Object-oriented systems, including languages and database management systems support concepts such as objects, classes, methods, data abstraction, encapsulation, inheritance, schema evolution, reusability,concurrency control, correctness, polymorphism, composite objects, active objects, version control and direct manipulation [Cattell, 1991].
Many features from the world of object-oriented analysis, design and programming can be extended to the hypertext model.
- Simple nodes can be compared to atomic objects representing primitive data types such as integer, character, string, video frame and bitmap.
- Objects or nodes can be accessed using object identifiers or node identifiers.
- A link can be represented by a set of at least two object identifiers. Links can also be treated as objects with their own identifiers (link identifiers) which can be used to separate index information from content.
- A composite node in hypertext (made of webs of nodes and links) can be treated as a composite object or an aggregation of simple objects.
- The concepts of data abstraction and encapsulation can be applied by defining methods to create, delete, update and manipulate nodes and links, to traverse links, and to trigger events.
- Nodes and links can be grouped under different classes based on structural and behavioral patterns (semantics). Organizing nodes and links semantically helps manage the network better, eliminates ambiguity, clearly differentiating the purposes of these objects.
- Nodes and links of a particular class can also inherit properties from related superclasses. This feature can be used in the creation and management of hypermedia templates – when a user changes a parent template, these changes can be propagated to all its sub-classed templates.
- Whenever the properties of nodes and links have to be changed it should be easy to do so through schema evolution.
- Other object-oriented concepts that are pertinent to hypertext include concurrency control, versioning, and persistence.
In HyperBase, the basic class was a HB_Object
which had three subclasses:
HB_Node
, HB_Link
, and HB_Composite_Object
[Schutt & Streitz, 1990].
HB_Nodes
are HB_Objects
with content and history. HB_Links
are
HB_Objects
that connect two existing HB_Objects
. HB_Composite_Objects
are collections of references to existing HB_Objects
. The generic
operations of create, modify, copy, delete, retrieve an object (part of or
whole) were supported for nodes, links, composite objects, and attributes.
Since the data model was object-oriented, a natural choice to implement
HyperBase would have been an OODBMS. However, for reasons of availability,
a first prototype was implemented on Sybase, a RDBMS.