Brief technical description if the individual parts of DOMS

The DOMS system

DOMS as a piece of server software is exposed as a webservice, and anything can communicate with DOMS through that. Furthermore, an object model that communicates with the webservice is available for java.

The DOMS server

The DOMS server interface includes methods to put, get and update data and metadata in the DOMS system. Furthermore, it includes an interface for indexing the DOMS system in a search system. Each request is delegated to the relevant backend services described below. Basically it delegates metadata to Fedora and ECM and files to the Bitstorage.

The included test bed

Included with DOMS is a test bed, that quickly sets up a locally running system for testing DOMS. This will set up a version of all backend services (see below), and optionally some test objects.

It can also start up some frontend services (see below), that will enable interacting with DOMS using these services.

The DOMS client

The DOMS client is a java object-oriented interface to DOMS. It can be utilized by java programs, by including a jar file with your code.

Front end services

DOMS can be used directly through the DOMS server or DOMS client, but a number of services communicating with DOMS are also available. This includes a GUI, a mass ingest system, OAI-PMH integration, and integration with the Summa search system.


The DOMS mass ingest system, is a system for ingesting quantities of files and metadata into DOMS without user intervention. A usecase could be a "hot dir", where digitized files are automaqtically uploaded and ingested into DOMS, and mass ingest of a collection from a legacy system.


The GUI is a user-oriented interface for adding or editing metadata in DOMS, and uploading and downloading files. The GUI is web based, and automatically adapts to the content models of the digital collection in DOMS.


OAI-PMH is a protocol for downloading metadata. DOMS can expose its digital collections using this protocol.

Summa Integration

DOMS can integrate with the Summa search engine, to provide a fast and flexible search, and optionally integration with other material.

Back end services

The DOMS system is based on some back end services, that must run on a server.

The back end services consist of a running Fedora; Enhanced Content Model services, a bit storage with interfaces, and an updates tracker.

Usage of Fedora

A running DOMS requires a Fedora installation, and some settings must be true of that Fedora system.

Fedora must handle authorization and authentication with an external mechanism, that must be set up correctly. The Fedora must be configured to use a resource index that handles semantic queries to the relations between metadata objects. And the Fedora must be set up to validate objects on ingest, using the Enhanced Content Model framework.

A DOMS systems contains scripts to set up the Fedora correctly.

Enhanced Content Models

Enhanced Content Models is a framework for describing content models in a machine readable way. This enables services to validate objects in Fedora, and to have services understand data models and act on them. For instance, the GUI provided with DOMS automatically generates a user interface for editing metadata for any data model defined in DOMS.

Furthermore, Enhanced Content Models provide a way to define views on objects, that consists of a bundle of objects viewed as a hole. For instance, if different data objects describe CD's and tracks on CD's, a view may define a CD with all its tracks.

Also, ECM provides a functionality for generating new objects, by cloning templates.


Enhanced content models come with a framework for validating data objects for conformance with their content models. This can be enabled on ingest, as well as being periodically checked.

Bitstorage Interface

DOMS is designed to work with a bitstorage that long-time preserves the bits. Files are delivered to a web service, that communicates with that bitstorage. Once a file is approved, it cannot be deleted, and the bits are duplicated and monitored never to change.

The bit storage itself is done outside DOMS, but you can plug in your own implementation under the DOMS bitstorage web service.

Update tracker

The concept of views designed in the ECM data models, gives a possibility to look at several Fedora objects as a whole. The update tracker maintains a current database of when any object in any given view has last changed. This is important, since sytems that index DOMS need a list of all views that have changed since last update. Services that use that include Summa integration and OAI-PMH.


For an overview of the DOMS system, see HighLevelDesignDocumentation

BriefTechnicalDescriptionOfDOMSparts (last edited 2010-03-17 13:09:23 by localhost)