KNB Software Development Guide: Metacat
KNB Home Data People Informatics Biocomplexity Education Software

 

Metacat Development Guide

Metacat is a flexible metadata database. It utilizes XML as a common syntax for representing the large number of metadata content standards that are relevant to ecology. Thus, Metacat is a generic XML database that allows storage, query, and retrieval of arbitrary XML documents without prior knowledge of the XML schema. For a user level overview of Metacat, please visit the Metacat Tour documentation.

The Metacat database models XML documents as a DOM tree, basically decomposing the nodes of the XML document and storing the node data as a series of records in a relational database via a JDBC connection. At this point, only Oracle and PostgreSQL have been tested as a back end databases, but we have avoided RDBMS specific features in order to maintain portability to other relational databases.

Metacat is implemented as a Java Servlet, and so communicates using basic HTTP protocol semantics. The figure below shows the basic structure of the Metacat architecture. A well defined interface for inserting, updating, deleting, querying, and transforming (using XSL) XML documents is presented. We would like to add the DOM API as an alternative supported mechanism for interacting with Metacat, but have not yet implemented this functionality.

 
The pages below provide more detailed descriptions of the various development and architecture subjects involved in Metacat.
 

Web Contact: jones@nceas.ucsb.edu