Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Note

Tämä selvitys on toteutettu kirjallisuusselvityksenä ilman arvioitavien ohjelmistojen koekäyttöä tai lähdekoodin katselmointia. Ohjelmistojen dokumentaatio on osittain ristiriitaista ja jättää monilta osin tulkinnan varaa. Näiden seikkojen vuoksi vahvistuksen saaminen kaikkiin selvityksessä esille tulleisiin asioihin ja niiden perusteella tehtyihin tulkintoihin vaatisi perusteellisempaa lähdekoodin katselmointia sekä ohjelmistojen testaamista käytännössä.

...

Järjestelmän nimiKehittäjä
  1. julkinen versio
Tuorein Vertailtu versioKotisivuKoodiOhjelmointikieletTietokantaIndeksi/hakumoottoriLisenssi
KohaKoha Community20003.12 (03/2013)wwwGitPerlMySQLZebraGPL
EvergreenGergia Public Library Service (GPLS)20062.3.5 (03/2013)wwwGitPerl, JavaScript, Python, CPostgreSQLOmaGPL
Kuali OLEKuali Foundation20130.8 (06/2013)wwwSVNJava, JavaScriptMySQL / OracleOmaGPL
OpenBiblioOpenBiblio-kehitystiimi20020.7.1 (03/2012)wwwMercurialPHPMySQLOmaGPL
NewGenLibVerus Solutions20053.0.4u2 (03/2013)wwwSVNJavaPostgreSQLLucene, SolrGPL

...

JärjestelmäKäytön hallintaLuettelointiHankintaKausijulkaisujen hallintaAdminRaportoinit ja tilastointiStandardit ja rajapinnat

Koha

KylläKylläKylläKylläKylläKylläMarc21, UNIMARC, Marc export/import, Z39.50, SIP2, SRU, OAI-PMH, unAPI, OpenSearch, LDAP, Mozilla Persona, EDI, EZproxy, OpenURL
EvergreenKylläKylläKylläKylläKylläKylläMarc21, MODS, DC, SIP2, Z39.50, SRU, EDI, EZproxy, OpenURL, unAPI
Kuali OLEKyllä

Kyllä

Kyllä (tuotantokelpoinen luettelointiohjelma versiossa 1.0 Q4/2013)KylläV. 1.0 (Q4/2013)KylläOsittainOsittain

Marc21, MarcXML, DC

Tulossa: NCIP, SIP2, SRU/SRW, Z39.50, SUSHI, COUNTER, ONIX, EDI (V 1.0)

OpenBiblioKylläKylläEiEiKylläEiMarc21 & MarcXML export
NewGenLibKylläKylläKylläKylläKylläKylläMarc21 & MarcXML import/export, Z39.76, MODS 3.0, AGRIP AP, ISBD, OAI-PMH, SRU/W, Z39.50

...

Palveluita kutsuvissa asiakasohjelmissa sekä itse palveluiden toteutuksessa käytetään käytettävän ohjelmointikielen mukaisia tietotyyppejä, jotka OpenSRF-kehys muuntaa JSON-muotoon siirron ajaksi. Käytettäessä edellä listattuja perustietotyyppejä tapahtuu siirrettävien tietojen muuntaminen eri formaattien välillä OpenSRF:n toimesta automaattisesti. Käytettäessä monimutkaisempia tietorakenteita, kuten esimerkiksi Evergreenin omia luokkia edustavia olioita joudutaan muunnokset sen sijaan määrittelemään erillisessä konfiguraatiotiedostossa. Tiedosto määrittää kuinka Evergreenin luokkia edustavat oliot esitetään JSON-muodossa, jotta OpenSRF osaa tehdä tarvittavat muunnokset kyseisiä olioita sisältävien viestien välittämistä varten. Konfiguraatiotiedoston perusteella OpenSRF kykenee muuntamaan oliot JSON-muotoon sekä vastaavasti luomaan JSON-formaatista luettuja tietoja vastaavat oliot.

Kuali OLE

Note

...

Kuali OLE:n kartoitus on tehty version 0.8 perusteella. Tällä hetkellä tuorein versio on 1.5-M1 (25.2.2014). Tämän dokumentin sisältö ei anna oikeaa kuvaa järjestelmän tämän hetkisistä ominaisuuksista.

Kuali Open Library Environment (Kuali OLE) –kirjastojärjestelmä on yksi voittoa tavoittelemattoman Kuali-säätiön koordinoimista järjestelmistä. Säätiön tavoitteena on tuottaa korkeakoulujen tarpeita vastaavia avoimen lähdekoodin ) –kirjastojärjestelmä on yksi voittoa tavoittelemattoman Kuali-säätiön koordinoimista järjestelmistä. Säätiön tavoitteena on tuottaa korkeakoulujen tarpeita vastaavia avoimen lähdekoodin järjestelmiä yhteistyössä korkeakoulujen kanssa. Kirjastojärjestelmän lisäksi Kuali-järjestelmien perheeseen kuuluu mm. taloushallinto-ohjelmisto, tutkimuksenhallintaohjelmisto, henkilöstöhallintajärjestelmä sekä joukko erilaisia middleware-ohjelmistoja.

Kuali OLE –kirjastojärjestelmä on oma itsenäinen järjestelmänsä, mutta monien sen toimintojen toteuttamisessa hyödynnetään muita Kuali-perheen järjestelmiä. Hyödynnettäviä Kuali-järjestelmiä ovat mm. KFS (Kuali Financial System), KIM (Kuali Identity Management), KRAD (Kuali Rapid Application Development), KEW (Kuali Enterprise Workflow) ja KRMS (Kuali Rules Management System), joiden avulla toteutetaan mm. käyttäjätietojen hallinta sekä työprosessien ja toimintojen suorittamiseen liittyvien ehtojen määrittely ja hallinta. Eri sovellukset on liitetty toisiinsa Kuali Rice –middleware ohjelmistopakettiin kuuluvaa KSB (Kuali Service Bus) –sovellusta käyttäen, joka toimii palveluväylänä eri sovellusten välillä. Käytännössä tämä tarkoittaa sitä, että eri sovellukset kommunikoivat keskenään palveluväylän kautta lähetettävien viestien välityksellä.  KSB mahdollistaa eri Kuali-ohjelmistojen sekä myös muiden kuin Kuali-ohjelmistojen integroimisen järjestelmäkokonaisuuteen ilman ohjelmistoihin tehtäviä muutoksia. Käytännössä muiden kuin Kuali-ohjelmistojen liittämiseen KSB:hen kytketyt ohjelmistot voivat liittyy kuitenkin erinäisiä rajoituksia, jonka lisäksi vain pieni osa KSB:n tarjoamista palveluista on niiden käytettävissä. KSB:hen kytketyt ohjelmistot voivat sijaita samalla palvelimella tai ne voi olla hajautettu useille eri palvelimille. Taulukossa 3 on esitetty Kuali OLE:n toiminnassa hyödynnettäviä muita Kuali-perheen ohjelmistoja.

...

Kuali OLE:n käyttäjien ja käyttöoikeuksien hallinta on toteutettu Kuali-ohjelmistojen perheeseen kuuluvalla KIM-ohjelmistolla. Ohjelmisto sisältää mm. käyttäjien hallintaan, autentikointiin, käyttäjärooleihin ja käyttöoikeuksien hallinnointiin tarvittavan toiminallisuuden. Erityisen kiinnostavaksi ohjelman tekee se, että sen tarjoamia toimintoja on mahdollista käyttää myös vain osittain. Käytännössä tämä tarkoittaa sitä, että esimerkiksi käyttäjän tunnistaminen voidaan hoitaa jollakin ulkoisella järjestelmällä ja jättää roolien sekä käyttöoikeuksien hallinta KIM:n vastuulle.

Kuali OLE perustuu palvelukeskeiseen arkkitehtuuriin:n toteutukseen on haettu vaikutteita palvelukeskeisestä arkkitehtuurista. Järjestelmän moduulit on liitetty palveluväylään, jonka kautta niiden tarjoamat palvelut ovat kaikkien järjestelmän osien käytettävissä. Myös muut OLEn toiminnassa hyödynnettävät Kuali-perheen ohjelmistot on liitetty kokonaisuuteen palveluväylän välityksellä. Yhdessä eri osien tarjoamat palvelut muodostavat järjestelmän palvelurajapinnan, jota järjestelmän asiakasohjelmat sekä tarvittaessa myös ulkoiset järjestelmät käyttävät. Palveluväylään liitetyt ohjelmistot pääsevät käyttämään palveluita suoraan palveluväylän kautta ja ulkoiset ohjelmistot puolestaan jonka kautta ulkoiset järjestelmät pääsevät tarvittaessa käsiksi OLE:n tarjoamiin palveluihin. Käytännössä palveluiden kuluttaminen tapahtuu HTTP-protokollan avulla kuljetettavien SOAP-viestien tai REST-palveluiden kautta. Palveluväylään on mahdollista liittää suoraan vain Java-pohjaisia Kuali-perheeseen kuuluvia palveluita, mutta muilla tekniikoilla toteutettujen palveluiden liittäminen on mahdollista välikappaleiden (connector) avulla. Välikappaleet toimivat eräänlaisina konverttereina palveluväylän ja siihen liitettävien palveluiden välillä.

...

Kuali OLE:n Document Store -nimellä kulkeva tietovaranto on toteutettu avoimen lähdekoodin Apache Jackrabbit -dokumenttivaraston avulla, joka mahdollistaa tietojen tallentamisen useissa eri formaateissa, kuten esimerkiksi JSON- tai XML-formaateissatietokantaratkaisu on periaatteessa formaattiriippumaton, sillä OLE ei aseta rajoituksia tietokantaan tallennettavan datan formaatille. Myös binääri-muotoisen tiedon tallentaminen onnistuu, mutta tällöin hakujen kohdistaminen varsinaiseen tietosisältöön ei ole mahdollista. Document Storen tallennusalustana toimii joko Oracle- tai MySQL-tietokanta. Kuali OLE:n suunnittelussa on nimenomaan lähdetty siitä, että järjestelmä ei ole sidottu tiettyihin formaatteihin ja että uusien formaattien lisääminen on mahdollista. Tietokantaan tallennetun datan käyttäminen järjestelmässä kuitenkin edellyttää, että se on järjestelmän ymmärtämässä muodossa. Käytännössä tämä tarkoittaa sitä, että datan tallentaminen tietokantaan on kyllä mahdollista erilaisissa formaateissa, mutta datan käyttäminen järjestelmässä edellyttää uutta formaattia tukevien datan käsittelystä vastaavien osien toteuttamista järjestelmään. Ilman uusien osien toteuttamista järjestelmä ei osaa käsitellä uudessa formaatissa tallennettua dataa.

Kuali OLE:n käsittelemät tietokokonaisuudet, kuten esimerkiksi bibliografiset tietueet, asiakastiedot ja lisenssit, on tallennettu dokumenttivarastoon eri tyyppisinä dokumentteina, joiden rakenne sekä tallennusformaatti vaihtelee dokumenttityypeittäin. Lisäksi saman tyyppisten dokumenttien tallentaminen erilaisissa formaateissa on myös mahdollista. Tietojen tallennuksen yhteydessä ei suoriteta tietojen muuntamista eri formaattien välillä, vaan tiedot tallennetaan suoraan siinä muodossa, kun ne tallennuksen yhteydessä vastaanotetaan. Käytännössä tietojen tallentamisessa on kuitenkin käytettävä käsittelemät tietokokonaisuudet, kuten esimerkiksi bibliografiset tietueet, asiakastiedot ja lisenssit, on tallennettu dokumenttivarastoon eri tyyppisinä dokumentteina, joiden rakenne sekä tallennusformaatti vaihtelee dokumenttityypeittäin. Lisäksi saman tyyppisten dokumenttien tallentaminen erilaisissa formaateissa on myös mahdollista. Tietojen tallennuksen yhteydessä ei suoriteta tietojen muuntamista eri formaattien välillä, vaan tiedot tallennetaan suoraan siinä muodossa, kun ne tallennuksen yhteydessä vastaanotetaan. Käytännössä tietojen tallentamisessa on kuitenkin käytettävä tiettyjä ennalta määriteltyjä formaatteja, jotta tietojen haku ja käsittely järjestelmässä olisi mahdollista. Bibliografisten tietueiden tallennus on esimerkiksi mahdollista MarcXML-, Dublin Core sekä Simple (Unqualified) Dublin Core -formaateissa. Varastotietueiden tallennus on puolestaan mahdollista joko MarcXML- tai OLEML (OLE Markup Language) -formaateissa ja nidetietojen tallennus OLEML-formaatissa. Varasto- ja nidetiedot linkittyminen bibliografisiin tietueisiin on toteutettu OLE:ssa Instance-tyyppisten dokumenttien kautta, jotka tallennetaan OLEML-formaatissa. Uuden bibliografisen tietueen tallennuksen yhteydessä luodaan aina uusi Intansce-dokumentti, joka sisältää sekä varasto- että nidetietueen. Koko tietuehierarkia luodaan siis aina riippumatta siitä, tallennetaanko kaikille tasolle jotain tietoa.

...

Koha ja Evergreen ovat jo asemansa vakiinnuttaneita vuosia käytössä olleita järjestelmiä, joilla kummallakin on laaja kansainvälinen käyttäjäkunta. Kuali OLE on puolestaan uusi edelleen rakenteilla oleva järjestelmä, joka ei keskeneräisyytensä vuoksi ole vielä käytössä yhdessäkään kirjastossa. Chicagon yliopiston kirjasto on kuitenkin jo ilmoittanut ottavansa OLE:n tuotantokäyttöön vuoden 2014 aikana kesäkuussa ja käyttöönottoon liittyvät valmistelut ovat jo meneillään. Chicagon käyttöönottama versio tulee todennäköisesti olemaan versio 1.05, jonka arvioitu julkaisuaika on vuoden 2013 viimeisellä 2014 ensimmäisellä neljänneksellä. Asiakkaiden hakuliittymänä Chicagon yliopiston kirjastolla on tarkoituksena käyttä avoimen lähdekoodin VuFind-ohjelmistoa. Lisäksi myös Englantilainen Bloomsbury Colleges -konsortio on ilmoittanut valinneensa Kuali OLE:n uuden kirjastojärjestelmänsä pohjaksi. Tarkkaa aikataulua tuotantokäyttöön siirtymisestä ei toistaiseksi ole, mutta ensimmäisen konsortion käyttöön tarkoitetun testiversion pitäisi valmistua vuoden 2013 lopulla. Asiakkaiden Tavoitteena vaikuttaisi olevan yhden keskitetysti ylläpidetyn Kuali OLE -instanssin pystyttäminen kaikkien konsortion jäsenten käyttöön. Asiakkaiden hakuliittymänä konsortio aikoo Chicagon yliopiston kirjaston tapaan käyttöö käyttää VuFind-ohjelmistoa.

Koha, Evergreen ja Kuali OLE ovat kaikki rakenteeltaan modulaarisia ainakin siinä mielessä, että ne kaikki rakentuvat useista eri osista, jotka kommunikoivat keskenään erilaisten rajapintojen kautta. Kohan tapauksessa rajapinta on puhtaasti ohjelmallinen ja on näin ollen sidoksissa tiettyyn toteutustekniikkaan, Perl-ohjelmointikieleen. Evergreenin tapauksessa järjestelmän eri osat eivät ole suoraan yhteydessä toisiinsa ohjelmallisen rajapinnan kautta, vaan niiden välinen kommunikointi on toteutettu viestiväylän avulla. Tässäkin tapauksessa sekä palvelujen että asiakasohjelmien toteutus on kuitenkin sidottu tiettyihin tekniikoihin ja ohjelmointikieliin viestiväylän toteutustekniikasta johtuen. Kuali OLE on puolestaan rakennettu siten, että sen eri osien välillä ei ole periaatteessa pitäisi olla suoria riippuvuuksia, vaan osat kommunikoivat keskenään palveluväylän välityksellä. Ratkaisu mahdollistaa sen, että eri osien toteutustekniikkaa ei ole rajoitettu ja eri osat voivat olla toteutettu toisistaan täysin poikkeavilla tekniikoilla. Kuali Käytännössä järjestelmän eri osien välillä on kuitenkin riippuvuuksia, sillä OLE:n käyttämä KSB-palveluväylä on toteutettu siten, että siihen kytkettyjen järjestelmien on oltava toteutettu Java-ohjelmointikielellä , jonka seurauksena siihen toteutettavien välikappaleiden toteutus on myös sidottu Java:anja sisällettävä tiettyjä Kuali Rice -järjestelmän osia. OLE:n toteutuksessa on lisäksi käytetty myös KRAD-ohjelmistokehystä, jonka johdosta OLE on teknisesti sidoksissa sekä Riceen KRAD:iin. OLE:n sisäiset moduulit vaikuttavat kuitenkin sen sijaan dokumentaation perusteella itsenäisiltä kokonaisuuksilta, mutta täyden varmuuden saaminen edellyttäisi lähdekoodin katselmointia.

Koha ja Kuali OLE tarjoavat puhtaasti www-pohjaiset virkailijakäyttöliittymät eli työsasemakohtaisia asennuksia ei tarvita. Evergreenin virkailijakäyttöliittymät on sen sijaan asennettava työasemakohtaisesti. Kohan tapauksessa käyttöliittymä ja sen hyödyntämät palvelut ovat tiiviisti sidoksissa toisiinsa. Palvelut on suunniteltu tietyn käyttöliittymän tarpeisiin ja vaihtoehtoisen käyttöliittymän toteuttaminen edellyttäisi myös palvelujen tuplaamista ja mahdollisesti myös muokkaamista vaihtoehtoisen käyttöliittymän tarpeita vastaaviksi. Evergreenin ja Kuali OLE:n tapauksessa käyttöliittymä ja sen hyödyntämät palvelut on puolestaan erotettu toisistaan, jonka ansiosta useat vaihtoehtoiset käyttöliittymät voivat hyödyntää samoja järjestelmän tarjoamia palveluita. Koha ja Evergreen sisältävät virkailijaliittymien lisäksi myös asiakaskäyttöön tarkoitetut hakuliittymät, OPAC:it. Kuali OLE ei sen sijaan sisällä erillistä asiakaskäyttöön tarkoitettua hakuliittymää, vaan OLE tarjoaa tarvittavat rajapinnat, jotka mahdollistavat erillisen asiakasliittymä-ohjelmiston integroinnin sen kanssa. Ainakin avoimen lähdekoodin VuFind-ohjelmistoa ollaan rakentamassa yhteensopivaksi OLE:n kanssa ja OLE:n ensimmäisenä tuotantokäyttöön ottava Chicagon yliopiston kirjasto aikoo käyttää sitä asiakasliittymän toteuttamiseen. Myös Kualin OLE:n käyttöönottoa valmisteleva Englantilainen Bloomsbury Colleges -konsortio tulee käyttämään VuFindia asiakasliittymänään.

Vertailussa Vertailussa mukana olleista järjestelmistä sekä Kuali OLE:n että Evergreenin toteutustapa on palvelukeskeinen eli järjestelmät tajoavat palvelurajapinnan, jonka kautta asiakasohjelmat käyttävät niiden tarjoamia palveluita. Käytännön toteutuksien osalta järjestelmät kuitenkin eroavat toisistaan. Kuali OLE:n palvelurajapinnan toteutustapa on teknologianeutraali eli se ei ota kantaa sitä käyttävien järjestelmien tekniikoihin tai ohjelmointikieliin, vaan palveluiden käyttö on mahdollista :n palvelut ovat KSB:n kautta käytettävissä Java-ohjelmointikielellä toteutetuista järjestelmistä käsin sekä internetin kautta SOAP-protokollan tai ja mahdollisesti myös REST-palveluiden avulla. Evergreenin toteutustapa sen sijaan KSB:n kautta tarjolla olevien palveluiden täysimääräinen hyödyntäminen on kuitenkin mahdollista vain Java-ohjelmointikielellä toteutuista Ricen ohjelmistokirjastoja käyttävistä järjestelmistä käsin. Evergreenin toteutustapa sen sijaan sitoo sen palveluja käyttävät järjestelmät OpenSRF-kehyksen ja sitä tukevien ohjelmointikielten käyttöön. OpenSRF-kehys on avoimen lähdekoodin toteutus, mutta sen avulla toteutettujen palvelujen hyödyntäminen edellyttää asiakasohjelmille tarkoitetun OpenSRF-ohjelmistokirjaston käyttöä, joka on saatavilla tietyille ohjelmointikielille.

Kaiken kaikkiaan Kuali OLE:n palveluväylään perustuva toteutustapa on ehdottomasti periaatteessa joustavin ja tarjoaa parhaat edellytykset aidosti modulaarisen ohjelmistokokonaisuuden rakentamiseen. Toteutustapa mahdollistaa ohjelmistokonaisuuden koostamisen useista eri osista siten, että osien vaihdolla tai uusien lisäämisellä ei tarvitse olla vaikutusta muihin osiin. Kuali OLE hyödyntää muita Kuali-perheen ohjelmistoja sekä itse palveluväylän että varsinaisen toiminnallisuuden toteuttamisessa, mutta mikään ei ainakaan periaatteessa näyttäisi estävän korvaamasta näitä osia muilla vastaavilla ohjelmistoilla. Täyden varmuuden saaminen asiaan edellyttää kuitenkin tarkempaa tiettyyn korvattavaan osaan liittyvää erillistä selvitystä. Kuali OLE:n arkkitehtuurissa tehdyt ratkaisut mahdollistavat sekä avoimen lähdekoodin että kaupallisten järjestelmien käytön kokonaisuuden rakentamisessa. Olennaista on, että kokonaisuuteen liitettävä järjestelmä sisältää :n käytännön toteutus kuitenkin rajoittaa tämän joustavuuden Kuali-järjestelmien piiriin, sillä Ricen ohjelmistokirjastoja käyttämättömien järjestelmien saumaton integrointi KSB:hen ei ainakaan tällä hetkellä näyttäisi olevan mahdollista. Käytännössä OLE:n omien moduulien korvaaminen on siis mahdollista, kunhan korvaavassa toteutuksessa on käytetty Ricen ohjelmistokirjastoja. Toisena vaihtoehtona on ohjelmistojen liittäminen KSB:hen Ricen ohjelmistokirjatoihin perustuvien välikappaleiden avulla, jolloin liittäminen voidaan tehdä ilman liitettävään ohjelmistoon tehtäviä muutoksia. OLE:n moduulien hyödyntäminen muissa järjestelmissä pitäisi myös olla mahdollista, mutta tämä edellyttää moduuleihin tehtäviä muutoksia. Tarvittavien muutosten ja niistä aiheutuvan työn määrä on arvioitava erikseen moduulikohtaisesti.

Yksikään arvioiduista järjestelmistä ei täytä UKJ:lle asetettuja kriteereitä siinä määrin, että sitä voitaisiin käyttää UKJ:n toteutuksessa sellaisenaan. Kuali OLE:n palveluväylään perustuva arkkitehtuuri vastaa periaatteellisella tasolla UKJ:n vaatimuksia, mutta OLE:n käytännön toteutukseen liittyvät erilaiset teknologiavalinnat asettavat tiettyjä kysymyksiä liittyen OLE:n käyttämisen UKJ:n pohjana. UKJ:n kehityksen ja ylläpidon kannalta olisi joustavampaa käyttää erillistä palveluväyläratkaisua, joka ei aseta siihen liitettäville järjestelmille toteutustekniikkaan liittyviä rajoituksia KSB:n tapaan. Lisäksi monet erilliset palveluväyläohjelmistot ovat toiminnallisuudeltaan KSB:tä monipuolisempia, jonka lisäksi niillä on myös laajemmat käyttäjä- ja kehittäjäyhteisöt. Erillisen palveluväyläohjelmiston käyttäminen ei sulkisi pois mahdollisuutta hyödyntää OLE:n tai jonkun muun arvioidun järjestelmän moduuleita tai niiden sisältämää toiminnallisuutta UKJ:n toteutuksessa. Olennaista on, että kokonaisuuteen liitettävät järjestelmät sisältävät toimivat ja hyvin dokumentoidut rajapinnat palveluväylään liittämistä varten. Lisäksi palveluväylän toteuttamiseen käytettävän ohjelmiston on oltava riittävän monipuolinen ja konfiguroitava, jotta se pystyy toteuttamaan kaikki järjestelmään kohdistuvat vaatimukset.

Linkkejä:

http://opensourceils.com/ (Open Source tietoportaali kirjastonhoitajille. Enimmäkseen KOHAa ja EverGreeniä tuntuu käsittelevän)

...