MICHAEL projekti peamine eesmärk on luau mitmekeelne Euroopa kultuuripärandi loend. Selle saavutamiseks kogutakse andmeid regionaalsetest ja rahvuslikest loenditest, kasutades standardset tarkvara platvormi ja jagatud andmemudelit.
MICHAEL tarkvara platvorm koosneb kahest koos töötavast moodulist, pakkudes andmete haldust ja avalikku teenust.
- produktsiooni moodul võimaldab kasutajatel luau, muuta, importida ja hallata kultuuripärandit kirjeldavaid kirjeid. Kõik need funktsioonid on olemas kasutades standardset veebi sirvijat. Andmed salvestatakse kasutades võimsat ning paindlikku XML andmebaasi, mis põhineb MICHAEL andme mudelil.
- Avalik moodul pakub lõppkasutajale loogilist liidest, võimaldades teostada päringuid digitaalse kultuuripärandi kohta kasutades veebi sirvijat. See moodul kasutab võimsat XML otsingu- ja kuvamis-mootorit, mida saab kohandada vastavalt institutsioonide või riikide kasutajaliidese vajadustele.
MICHAEL rahvuslikes süsteemides on olemas nii produktsiooni kui ka avalik moodul.
Infoteenused
Kaks MICHAEL moodulit käituvad kui andmehoidlad, mis on vastavuses Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH http://www.openarchives.org/) tehes metaandmed kättesaadavaks nii Dublin Core standardis kui ka MICHAEL formaadis. Kirjeid jaotatud allikatest võib koguda kokku kesksesse MICHAEL süsteemi ja avalikustada koos. MICHAEL Euroopa teenus kasutab antud kogumislahendust.
MICHAEL avalik moodul sisaldab REST-põhinevat rakendusliidest (API) kirjete otsimiseks kasutades lihtsaid HTTP päringuid ja XML vastuseid. Need lahendused võimaldavad teistel kultuuri informatsiooni teenuste pakkujatel siduda ja teha kättesaadavaks MICHAEL otsing oma veebisaitidel
Avatud lähtekoodiga tarkvara
MICHAEL platvorm on loodud kui avatud lähtekoodiga tarkvara, mis on ülesse ehitatud kasutades hästi tuntud avatud lähtekoodiga komponente. Olulisemad MICHAEL platvormi komponendid on:
- Apache Cocoon: XML infrastruktuur komplekssetele veebi rakendustele, pakkudes paindlikku keskkonda, mis põhineb sisu, loogika ja stiili vahelisel sõltumatusel. MICHAEL platvormil pakub Cocoon teenuseid nagu robustset püüdemehhanismi, XSLT transformatsioone, serveri-poolset skripti keskkonda ja paindlikku keskkonda veebi vormide ehitamiseks, mis on kasutusel produktsiooni moodul andmete loomisel ja muutmisel.
- Apache TomcatApache Tomcat on veebi konteiner või rakendus-server. See on Java Servlet’I ja JavaServerPages (JSP) spetsifikatsioonide rakenduseks pakkudes keskkonda kus Java kood töötab koos veebi serveriga. Tomcat sisaldab oma enda sisemist HTTP serverit
- Apache Lucene Apache Lucene on indekseerimise- ja otsingupakett, mis on arendatud Javas. MICHAEL süsteemis on see kasutusel täis tekstide indekseerimisel ja otsingul.
- eXist: XML andmebaasi haldamis süsteem (http://sourceforge.net/projects/exist/ ). Andmebaasile pääseb ligi erinevate standard protokollide abil, nagu nt WebDAV, XMLRPC ja xmldb protokoll otseselt Cocoon keskkonnast. eXist võimaldab andme salvestus lahendust, koos kasutaja ja õiguste haldamisega, aga ka XQuery ja Xupdate teenuseid hõlpsamaks andmete töötlemiseks või keerukate raportite koostamiseks.
- SDX: suurte XML dokumentide kogumite otsingumootor (http://adnx.org/sdx/ ja http://sourceforge.net/projects/sdx/ ). Põhineb stabiilsel ja laialdaselt kasutusel oleval Apache Lucene otsingumootoril, SDX on lihtne töövahend rakendusliidese (API) kasutamiseks, et luua otsingu ja kuvamis-teenuseid XML dokumentidele, Cocoon keskkonnas. MICHAELi avalik moodul põhineb HTML-mallidel, mis teeb kasutatavaks rakendusliidese (API). SDX toetab OAI-PMH protokolli, nii hoidla kui ka koguja (harvester) puhul.
- Xdepo: Cocoon keskkonnas XML andmebbasi salvestatud andmete haldamiseks kasutades veebi vormingut (http://sourceforge.net/projects/xdepo/ ).Xdepo võimaldab ühendust Cocooni, eXist’i ja veebi sirrvija vahel MICHAEL platvormi produktsiooni moodulis. Xdepo kergendab veebirakenduste loomist põhinedes võimsal eXist’ andmebaasi haldus süsteemi funktsionaalsusel..
MICHAEL platvorm kasutab Java tehnoloogiaid, mis võimaldab seda kasutada paljudes erinevates süsteemides.
