Het hoofddoel van het MICHAEL-project is een meertalige database te bouwen over het culturele erfgoed in Europa. Om dit te bereiken worden uit regionale en nationale verzamelingen bijeen gebracht met behulp van een standaard softwareplatform en een gedeeld datamodel.
Het MICHAEL softwareplatform bestaat uit twee modules die samen voorzien in services voor databeheer en publicatie.
- Een productiemodule biedt gebruikers de mogelijkheid om records te creëren, muteren, importeren en te beheren, die diverse aspecten van het digitaal cultureel erfgoed beschrijven. Al deze functies zijn beschikbaar via een webbrowser. De data worden opgeslagen m.b.v. een krachtige en flexibele XML database, gebaseerd op het MICHAEL datamodel.
- Een publicatiemodule biedt gebruikers een intuïtieve interface om met een webbrowser naar digitaal cultureel erfgoed te zoeken. Deze module gebruikt een krachtige XML-zoekmachine, waarvan de interface door instellingen of landen aangepast kan worden aan de eigen behoefte.
Een nationale MICHAEL portal bestaat uit een productie- en publicatiemodule.
Informatiediensten
De twee MICHAEL modules functioneren als een data repository die consistent is met het Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH http://www.openarchives.org/) en waarmee de metadata zowel in Dublin Core als het MICHAEL format beschikbaar worden gesteld. Records uit gedistribueerde bronnen kunnen in de MICHAEL portal verzameld en gezamenlijk gepubliceerd worden. De Europese MICHAEL service maakt gebruik van deze harvesting faciliteiten om de door de verschillende nationale portals verzamelde inhoud bijeen te brengen.
De MICHAEL publicatiemodule omvat een op REST gebaseerde API voor het zoeken en ophalen van records dmv eenvoudige http requests en XML responses. Dit stelt aanbieders van culturele informatiediensten in staat de MICHAEL zoekdiensten in hun websites te incorporeren.
Open source software
Het MICHAEL-platform wordt gedistribueerd als open source software en is gebouwd bovenop andere bekende open source componenten. De belangrijkste onderliggende componenten van het MICHAEL platform zijn:
- Apache Cocoon is een XML-infrastructuur voor complexe webapplicaties. Het biedt een flexibele omgeving gebaseerd op het functioneel gescheiden houden van content, logica en vormgeving. Voor het MICHAEL-platform biedt Cocoon services zoals een robuust caching-mechanisme en XSLT-transformaties, een omgeving voor serverside scripting en een flexibele omgeving voor het bouwen van webformulieren voor datacreatie en –mutatie in de productiemodule.
- Apache Tomcat is een webcontainer of applicatieserver. Het implementeert de Java Servlet en JavaServerPages (JSP) specificaties, waarmee een omgeving geboden wordt om Java code samen met een webserver uit te voeren. Tomcat bevat een eigen interne http-server
- Apache Lucene is een indexeer en zoeklibrary ontwikkeld in Java. Het wordt in MICHAEL gebruikt voor Full text indexering en zoeken.
- eXist is een XML-database managementsysteem (http://sourceforge.net/projects/exist/ ). De database kan benaderd worden door verschillende standaard protocollen, zoals WebDAV, XMLRPC en het xmldb protocol uit de Cocoon-omgeving. eXist biedt data-opslagfaciliteiten met gebruikers- en permissiebeheer, maar ook XQuery en Xupdate services om eenvoudig data te manipuleren en complexe rapporten te genereren.
- SDX is een zoekmachine voor grote collecties XML-documenten (http://adnx.org/sdx/ en http://sourceforge.net/projects/sdx/ ). Gebaseerd op de stabiele en veelgebruikte Apache Lucene zoekmachine biedt SDX een eenvoudige API-tool voor het bouwen van zoek- en presenteerservices voor XML-documenten. SDX ondersteunt het OAI-PMH protocol als repository en als harvester.
- Xdepo is een Cocoon omgeving om in een XML-database opgeslagen data te manipuleren met gebruikmaking van webformulieren (http://sourceforge.net/projects/xdepo/ ). Xdepo vormt in het MICHAEL productiemodule de link tussen Cocoon, eXist en de webbrowser. Met Xdepo is het eenvoudig een webapplicatie te bouwen gebaseerd op krachtige functionaliteit die het eXist database managementsysteem bevat.
Door het gebruik van Java technologie kan het MICHAEL platform op een breed scala van systemen gebruikt worden.
