Project

General

Profile

1
<!DOCTYPE html PUBliC "-//W3C//DTD html 4.0//EN">
2
<html>
3

    
4
<head>
5
  <title>KNB Software Development Guide: Metacat</title>
6
  <link rel="stylesheet" type="text/css" href="./default.css">
7
</head>
8

    
9
<body>
10

    
11
<table class="tabledefault" width="100%">
12
<tr>
13
  <td rowspan="2"><img src="./images/KNBLogo.gif"></td>
14
  <td colspan="7"><div class="title">KNB Software Development Guide: Metacat</div></td>
15
</tr>
16
<tr>
17
  <td><a href="/" class="toollink"> KNB Home </a></td>
18
  <td><a href="/data.html" class="toollink"> Data </a></td>
19
  <td><a href="/people.html" class="toollink"> People </a></td>
20
  <td><a href="/informatics" class="toollink"> Informatics </a></td>
21
  <td><a href="/biodiversity" class="toollink"> Biocomplexity </a></td>
22
  <td><a href="/education" class="toollink"> Education </a></td>
23
  <td><a href="/software" class="toollink"> Software </a></td>
24
</tr>
25
</table>
26
<hr>
27

    
28
<p>&nbsp;</p>
29
<table class="tabledefault" width="100%">
30
<tr>
31
  <td class="tablehead" colspan="2"><p class="label">Metacat Development Guide</p></td>
32
</tr>
33
<tr>
34
  <td>
35
  <p><a href="/software/download.html">Download Metacat</a></p>
36
  <p><a href="./metacatinstall.html">Metacat Installation Instructions</a></p>
37
  <p>Metacat is a flexible metadata database. It utilizes 
38
     <a href="http://www.w3.org/TR/REC-xml" target="offline">XML</a> as a 
39
     common syntax for representing the large number of metadata content
40
     standards that are relevant to ecology.  Thus, Metacat is a generic XML
41
     database that allows storage, query, and retrieval of arbitrary XML 
42
     documents without prior knowledge of the XML schema.
43
  </p>
44
  <p>
45
     The Metacat database models XML documents as a DOM tree, basically 
46
     decomposing the nodes of the XML document and storing the node data
47
     as a series of records in a relational database via a JDBC connection.
48
     At this point, only Oracle and PostgreSQL have been tested as a backend databases, but
49
     we have avoided RDBMS specific features in order to maintain portability
50
     to other relational databases.
51
  </p>
52
  <p>
53
     Metacat is implemented as a Java Servlet, and so communicates using basic
54
     HTTP protocol semantics.  The figure below shows the basic structure of
55
     the Metacat architecture. A well defined interface for inserting, 
56
     updating, deleting, querying, and transforming (using XSL) XML documents
57
     is presented.  We would like to add the DOM API as an alternative 
58
     supported mechanism for interacting with Metacat, but have not yet
59
     implemented this functionality.
60
  </p>
61
  <p><img src="./metacat.gif" /></p>
62
  </td>
63
</tr>
64
<tr><td>&nbsp;</td></tr>
65

    
66
<tr>
67
  <td>The pages below provide more detailed descriptions of the 
68
      various components of the Metacat Servlet. Take the Metacat Tour for 
69
      a detailed look at the algorithms and implementation of Metacat.
70

    
71
    <ul>
72
      <li> <a href="./metacattour.html">A Tour of Metacat</a></li>
73
      <li> <a href="./dev/api/index.html" target="offline">Javadoc API 
74
           Documentation</a></li>
75
    </ul>
76
  </td>
77
</tr>
78
<tr><td>&nbsp;</td></tr>
79

    
80
</table>
81

    
82
<p class="contact">
83
Web Contact: <a href="mailto:jones@nceas.ucsb.edu">jones@nceas.ucsb.edu</A>
84
</p>
85
</body>
86
</html>
(4-4/26)