1 |
4080
|
daigle
|
<!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> </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>Metacat is a flexible metadata database. It utilizes
|
36 |
|
|
<a href="http://www.w3.org/TR/REC-xml" target="offline">XML</a> as a
|
37 |
|
|
common syntax for representing the large number of metadata content
|
38 |
|
|
standards that are relevant to ecology. Thus, Metacat is a generic XML
|
39 |
|
|
database that allows storage, query, and retrieval of arbitrary XML
|
40 |
4522
|
daigle
|
documents without prior knowledge of the XML schema. For a user level
|
41 |
|
|
overview of Metacat, please visit the
|
42 |
|
|
<a href="../user/metacattour.html">Metacat Tour</a> documentation.
|
43 |
4080
|
daigle
|
</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 |
4522
|
daigle
|
At this point, only Oracle and PostgreSQL have been tested as a back end databases,
|
49 |
|
|
but we have avoided RDBMS specific features in order to maintain portability
|
50 |
4080
|
daigle
|
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 |
4522
|
daigle
|
<p><img src="../user/metacat.gif" /></p>
|
62 |
4080
|
daigle
|
</td>
|
63 |
|
|
</tr>
|
64 |
|
|
<tr><td> </td></tr>
|
65 |
|
|
|
66 |
|
|
<tr>
|
67 |
|
|
<td>The pages below provide more detailed descriptions of the
|
68 |
4522
|
daigle
|
various development and architecture subjects involved in Metacat.
|
69 |
4080
|
daigle
|
<ul>
|
70 |
4522
|
daigle
|
<li> Metacat developement hardware requirements </li>
|
71 |
|
|
<li> Metacat Architecture </li>
|
72 |
|
|
<li> Setting up a Metacat Eclipse project </li>
|
73 |
|
|
<li> <a href="./testmetacat.html">Testing Metacat</a></li>
|
74 |
4080
|
daigle
|
</ul>
|
75 |
|
|
</td>
|
76 |
|
|
</tr>
|
77 |
|
|
<tr><td> </td></tr>
|
78 |
|
|
|
79 |
|
|
</table>
|
80 |
|
|
|
81 |
|
|
<p class="contact">
|
82 |
|
|
Web Contact: <a href="mailto:jones@nceas.ucsb.edu">jones@nceas.ucsb.edu</A>
|
83 |
|
|
</p>
|
84 |
|
|
</body>
|
85 |
|
|
</html>
|