Multilingual Inventory Technologies
The major goal of the MICHAEL project is to build a multilingual inventory of the cultural heritage in Europe. To achieve this data will be gathered from regional and national inventories using a standard software platform and a shared data model.
The MICHAEL software platform consists of two modules that work together to provide data management and publishing services.
- A production module allows users to create, modify, import and manage records that describe aspects of the digital cultural heritage. All of these functions are available using a standard Web browser. Data is stored using a powerful and flexible XML database, which is based on the MICHAEL data model.
- A publication module provides an intuitive interface to enable end-users to search for digital cultural heritage with their Web browser. This module uses a powerful XML search and display engine, which can be customized to allow institutions or countries to adapt the interface to meet their particular needs.
A MICHAEL national instance consists of both a production module and a publication module.
The two MICHAEL modules act as data repositories that are consistent with the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) making metadata available in both standard Dublin Core and MICHAEL format. Records from distributed sources can be gathered into a MICHAEL instance and published together. The MICHAEL European service will make use of these harvesting facilities to bring together the contents developed by the separate national instances.
The MICHAEL publication module includes a REST-based API for searching and retrieving records using simple HTTP requests and XML responses. These facilities will enable other cultural information service providers to incorporate MICHAEL search services within their websites.
Open source software
The MICHAEL platform is being distributed as open source software, and is built on top of other well-known open source components. The most important underlying components of the MICHAEL platform are:
MICHAEL Platform 2.0
MICHAEL Platform 1.0
- Apache Cocoon: an XML infrastructure for complex Web applications. It provides a flexible environment based on the separation of concerns between content, logic and style. For the MICHAEL platform, Cocoon provides services such as a robust catching mechanism, XSLT transformations, a server-side scripting environment and a flexible environment for building Web forms, used in the production module for data creation and modification.
- Apache Tomcat is a web container or application server. It implements the Java Servlet and the JavaServerPages (JSP) specifications providing an environment for Java code to run in cooperation with a web server. Tomcat includes its own internal HTTP server.
- Apache Lucene is an indexing and search library developed in Java. It is used in MICHAEL to provide full text indexing and searching.
- eXist: an XML database management system (http://sourceforge.net/projects/exist/ ). The database can be accessed by different standard protocols, such as WebDAV, XMLRPC and the xmldb protocol directly from a Cocoon environment. eXist provides a data storage facility, with user and permission management, but also XQuery and Xupdate services to easily manipulate data or to create complex reports.
- SDX: a search engine for large collections of XML documents (http://adnx.org/sdx/ and http://sourceforge.net/projects/sdx/ ). Based on the stable and largely used Apache Lucene search engine, SDX provides an easy tool to use API to build search and display services for XML documents, in a Cocoon environment. The MICHAEL publication module is based on HTML templates that make use of this API. SDX supports the OAI-PMH protocol both as repository and as a harvester.
- Xdepo: a Cocoon environment to manage data stored in an XML database using Web forms (http://sourceforge.net/projects/xdepo/ ). Xdepo provides the link between Cocoon, eXist and the Web browser for the MICHAEL platform production module. Xdepo makes it easy to build a Web application based on the powerful functionalities provided by the eXist database management system.
Using Java and Perl technologies, the MICHAEL platform can be deployed on wide variety of systems.