The University of Illinois Open Archives Initiative Metadata Harvesting Project


JSP OAI 2.0 Data Provider
Database -- ver. 1.3
Implemented to Store Metadata and Administrative Information
in a MySQL Database

Disclaimer: The following is 'quick and dirty' documentation to hopefully get you started. It assumes a fair amount of familiarity with configuring the Apache Tomcat server and other minutia such as manipulating MySQL databases, editing text files, etc. Hopefully, we will eventually have time for some better documentation. Thanks.

WHAT THIS IS:

This is an example of a metadata provider service as described in release 2.0 of the Open Archives Initiative Protocol for Metadata Harvesting.  It uses

This application was developed under Linux, and can be downloaded onto an appropriately configured system. As delivered it will serve MARC21 records in Simple Dublin Core format with minimal configuration changes, provided that you use the existing database structure.

Note: Related implementations for the Microsoft Windows 2000 platform, relying on ASP, are available. These other implementations are available for various metadata storage architectures (Database only, File System only, File System/Database hybrid). Source files for related Windows implementations available on the SourceForge UILIB-OAI project web.

INSTALLATION:

DATABASE TABLES:

ids
Table ids contains the following fields:
metadata
The primary data table, metadata does not have a primary key. It contains the following fields:
sets
If the repository supports sets, set information is stored in this table. If sets are not supported, this table should be present but contain no records. Table sets contains the following fields:
setmap
If the repository supports "Set", the many-to-many relation between metadata and sets is stored in this table. If the repository does not support sets, this table should be present but empty. Table setmap contains the following fields:
The fields marked with (*) are not currently used in the provider.

ARCHITECTURE:

Operating System / Platform:
Linux
 
Apache web server with Tomcat 4 or higher
 
Java Server Pages
 
MySQL database
 
MySQL JDBC Driver

OAI PROTOCOL CONFORMANCE & XML Schema Definition Documents for Validation:

As installed locally, this system has been validated using version 1.44 of the OAI Repository Explorer (available at http://oai.dlib.vt.edu/~oai/cgi-bin/Explorer/2.0b2-1.44/testoai).   The OAI Repository Explorer tests for conformance to OAI Protocol release 2.0. When you have you have completed installing this tool and believe everything is set up properly, go to this site and enter the URL for your data to validate your system.

INCLUDED FILES:

oai.jsp
The program file written in jsp. It reads the database named "oai" and OAI.ini, the program initializtion file.

OAI.ini
The configuration file for the OAI Data Provider.

directory WEB-INF containing file web.xml
This directory is a mailbox between your Tomcat and your application. Modify the file web.xml to record your project name and web adminsitrator. Also create a new subdirectory named lib. The JDBC driver for MySQL should be loaded in WEB-INF/lib.

README.html
This HTML file.

license.html
The Open Source license for this code.

DatabaseDescription.txt
A screen shot of MySQL "describe <tablename>" commands for each table.

MySqlDBCreateScript.txt
A Unix script file which can be submitted to MySQL to re-create the example database named "oai." The script file contains commands to create the database and all four tables. While loading data dumped with the mysqldump Unix command, this script illustrates the one method of loading data into tables. See also the MySQL LOAD DATA command at http://www.mysql.com/doc/en/index.html

All code provided in this illustrative implementation is being made available under OpenSource license.

AUTHORS:

Thomas G. Habing
Research Programmer, Digital Library Initiative
University of Illinois at Urbana-Champaign
052 Grainger Engineering Library, MC-274
thabing@uiuc.edu
Timothy W. Cole
Mathematics Librarian
University of Illinois at Urbana-Champaign
214 Altgeld Hall, MC-382
t-cole3@uiuc.edu
Ying-ping Chen
Graduate Assistant
University of Illinois at Urbana-Champaign
052 Grainger Engineering Library, MC-274
ychen21@uiuc.edu
John Lewis
Visiting Research Programmer
University of Illinois at Urbana-Champaign
052 Grainger Engineering Library, MC-274
jslewis@uiuc.edu
  University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign
Library Gateway Homepage
Comments to: Tom Habing
Updated on: 9/11/03 $--> Ychen21