DOPs Overview

History and Motivation

The motivation of the DOPs framework originates from a digital library development project we have implemented in the University of Athens. The result, Pergamos, constitutes a "real-life" example of the usage of an older version of DOPs. Pergamos is an integrated web-based DL system used for cataloging, ingesting, hosting and publishing the heterogeneous and diverse material of the University's Libraries.

Since the initial version of DOPs operated atop the FEDORA repository, you can find more details about the origins and motivation of DOPs in the following presentations: Introducing Pergamos: A FEDORA based Digital Library System utilizing Digital Object Prototypes (European FEDORA User's Meeting, Copenhagen, September 2005) and Digital Object Prototypes and Fedora Content Models (FEDORA Content Model Workshop, Karlsruhe, May 2006).

A big thanks goes to all my University of Athens colleagues and especially to George Pyrounakis, whose effort and ideas had played a significant role in the first realization of DOPs.

Digital Objects

A digital object is a network accessible, globally identifiable unit of information which is used to represent artifacts and/or intellectual work in the field of Digital Libraries (DLs). Examples of digital objects include but are not limited to articles, books, photographs, paintings, archives, documents, artifacts etc. Conceptually, a digital object is comprised of:

Digital Object Prototypes

A DOP provides the definitions of a class and/or type of digital objects, comprised of a set of digital object attribute specifications. A digital object is treated as an instance of its DOP, automatically conforming to the DOP's specifications by containing the same set of attributes. As a result, all digital objects that belong to the same class and/or type (all instances of a prototype):

From a technical point of view, the DOPs framework is a domain-specific realization of the notions of types and classes, tailored to the needs of digital object management and manipulation. Individual objects are guaranteed to conform to the structure and behavior definition entailed in their prototype automatically, releasing DL users1 from having to make each individual object conform to its specification manually.

DOPs supply high-level DL services with an effective means to manage and manipulate diverse and heterogeneous digital objects. In particular, DOPs enable services to handle the structural and behavioral variations of digital objects in a uniform manner, without resorting to custom developments for resolving individual object peculiarities and idiosyncrasies.

Architecture

Enlarge

Architecture Annotated

Enlarge

Features at a glance

Example

For example, consider a DL comprised of Books and Paintings collections:

Such a model of Books and Paintings is not universal, as it has been generated by a DL designer to meet the requirements of a specific DL development and deployment context. For more details, please consult the Guide to Creating DOPs and the Guide to Creating Collections.

Enlarge

As shown in the figure above, Books, Pages and Paintings are comprised of different structure and behavior and participate in different relationships. This diversity is inherent in the objects and does not depend on the format we use for storing them. For example, DL services need not be aware of the low-level syntactic details involved in storing the attributes of a Book. In contrast, such services should focus on providing a higher level, user-oriented view of the attributes that constitute a Book, including its title, author, table of contents and its pages, while at the same time be in position to handle and manipulate these attributes effectively, in the proper level of abstraction.

DOPs supply high-level DL services with type-consistent abstractions of stored digital objects (the digital object instances), allowing Books, Pages and Paintings to behave as such automatically. Thus, given a definition of a digital object class and/or type, the DOPs framework provide abstractions over stored digital objects that are effective both in terms of semantics and manipulation capabilities, allowing DL service implementations to achieve more functionality with less effort and code development.

Behavior of Digital Objects

DLs are essentially used to manage and manipulate digital material. DL operations can be broadly grouped into the following two categories:

In terms of behavior, DOPs express both DL-inherent and type-inherent behavior in a manner that allows them to be effectively composed. DOPs use Behavior Execution Contexts for encapsulating behavior composition in various service execution contexts and use type-inherent Behavior Schemes for giving access to the object's data in such contexts.

Example

Enlarge

The above figure illustrates the use of behavior schemes and execution contexts for composing the behavior of Painting-typed objects:

In order to execute behavior on objects, high-level services apply the appropriate behavior scheme in the behavior execution context of their choice. For example, the OAI-PMH service evaluates the "getDCMetadata" scheme in the OAI-PMH context and uses the result to generate the OAI-PMH response. The OAI-PMH execution context "knows" how to handle the metadata provided by the "getDCMetadata" scheme, i.e., it encodes such metatada in an appropriate manner. On the other hand, browsing and object display services apply the "shortView" and "detailView" behavior schemes in the HTML behavior execution context. The latter "knows" how to generate HTML representations of an object's attributes and it is used by the browsing and object display services to construct Painting short and detailed object views respectively.

Extensibility & Adaptiveness

By separating behavior composition concerns, DOPs advance modularity. The use of behavior schemes releases DL services from being conscious on which attributes constitute each type of material --only objects themselves hold the knowledge about their constituent elements. By directing all object-specific operations via its behavior schemes, services are abstracted from structural and storage-specific object details, as the acquisition of appropriate attributes is transparently performed by the instance. The use of behavior execution contexts bridges type-inherent and DL-inherent behavior effectively. Behavior execution contexts encapsulate the service environments in which behavior schemes --and hence, the attributes they provide-- are composed.

The use of behavior schemes and behavior execution contexts advances extensibility and adaptiveness:

DOP Inheritance

We introduce DOP inheritance to foster reuse of local and/or remote DOP definitions, while offering a means to generate digital object instances that have multiple types. The latter can assist in supplying services with guarantees about the existence of behavior schemes in the objects such services manage at runtime. Put in other terms, DOP inheritance can be used to generate type-compatible digital object instances from incompatible digital object classes.

  • 1 With the term DL users we either refer to humans such as designers, catalogers and developers or to services operating on a human's behalf.

Overview (last edited 2008-01-06 21:48:19 by Kostas Saidis)

© 2005 - 2008 Kostas Saidis