Digital Object Prototypes
Digital Object Prototypes (DOPs or prototypes, for short) is a framework for the effective management and manipulation of diverse and heterogeneous digital objects.
DOPs are part of my research work carried out in the context of my PhD thesis. This website provides free, public releases of the DOPs framework, realized as two separate Java class libraries:
- The "core" software (the DOPs framework itself) is free but it is not open -- it will be available as Open Source software as soon as I have completed my thesis.
- The "modules" software (pieces of software that interact with the DOPs core and implement a specific need), is both free and open. DOPs modules are released under MPL version 1.1.
DOPs Overview
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):
- contain similar metadata and digital content
- participate in the same relationships
- expose uniform behavior
Features at a glance
The framework supports prototypes that represent user-defined types and/or classes of digital objects. The DOPs framework will then force individual objects to conform to their prototype automatically.
Collections / sub-collections are explicitly supported by the framework. Users of the framework are able to define their own collections / sub-collections hierarchies and each collection node in the hierarchy can contain different prototypes.
The DOPs framework is independent of the underlying digital object store. Digital object instances conform to their prototypes regardless of the underlying storage encoding or format used to represent stored digital objects.
Digital object behavior is defined once and in one place. All behavior is defined in the prototype, and it is dynamically attached to individual objects / instances of the prototype by the DOPs framework during instantiation.
Type-specific digital object behavior can be composed in various DL service execution contexts. The DOPs framework makes no assumptions about the "service machinery" (service provision environments) supported by the DL system and allows one to execute digital object behavior in any service execution contexts supported by the DL system at hand: web services, web-based UIs, etc.
The framework supports DOP inheritance, fostering reuse of existing DOP definitions while yielding type-polymorphic instances at runtime.
News
2008, January 5th: The section about DOP inheritance has been added.
2007, April 12th: A mailing list has been setup.
2007, March 7th: The first public release of the DOPs Framework (DOPs Core API and DOPs Modules) is available for download.