Tietolinja

Tietolinja
1/1998


PÄÄKIRJOITUS

ARTIKKELIT


UUTISIA,
AJANKOHTAISTA

ONE oli ykkönen

Juha Hakala


Yksi EU:n suurimmista - ja menestyksekkäimmistä - kirjastoatk-hankkeista kautta aikojen oli ONE eli OPAC Network in Europe -projekti. Se käynnistyi 1995 ja päättyi vuoden 1997 lopussa. Hankkeen tavoitteena oli helpottaa kirjastojen näyttöluetteloiden ja yhteisluetteloiden käyttöä tiedonhakuun ja luettelointitietojen kopiointiin. Tähän pyrittiin rakentamalla Internetin tiedonhakustandardiin eli Z39.50:een perustuvia sovelluksia sekä muita ohjelmia muun muassa formaatti- ja merkkikonversioihin. Projektissa oli mukana 15 partneria kahdeksasta maasta, joukossa esimerkiksi The British Library, Die Deutsche Bibliothek ja muita kansalliskirjastoja. Hankkeen vetäjä oli Liv Holm Norjasta. Livin yli 10 vuoden kokemus Z39.50:stä vaikutti oleellisesti hankkeen menestykseen.

Projektia pidennettiin puolella vuodella kesäkuussa 1997 käynnistyneen testauksen ja sen edellyttämien muutostöiden toteuttamiseksi. Projektista tuli menestys teknisesti: ONE:ssa rakennettuja ohjelmia on otettu käyttöön muissa hankkeissa, ja amerikkalaisista Z39.50-käyttäjistä esimerkiksi Kongressin kirjasto ja Kalifornian yliopisto harkitsevat ONE-käyttäjiksi ryhtymistä. Jos kirjastoatk:ssa amerikkalaiset ovat yleensä johdossa, ONE:n ansiosta Z39.50:n soveltamisrintamalla paras tietämys on siirtynyt vanhalle manterelle. Monet ONE-projektin avainhenkilöt - kuten esimerkiksi Liv Holm - osallistuvat aktiivisesti myös standardin kehittämiseen Z39.50 Implementor's Groupissa.

Lisätietoja projektista saa helpoimmin sen kotisivulta osoitteesta http://www.dbc.dk/ONE/oneweb/index.html.

Ohjelmakehityksestä

ONE oli organisoitu viiteen eri vaiheeseen, joista viimeinen oli käytännön testaus eli trial service. Projektin alkuvaiheessa käytettiin paljon resursseja sen määrittelemiseksi, mitä osia Z39.50:stä haluttiin toteuttaa ja millä tavoin. Standardihan on erittäin laaja, eikä yksikään ohjelmatoimittaja rakenna sovellusta joka sisältää kaikki sen piirteet. Toisaalta standardin palvelut voidaan toteuttaa eri järjestelmissä eri tavoin - itse asiassa on todennäköistä että näin käy, ellei koordinointia harjoiteta. ONE:n toteutusohje (profiili) oli alallaan ensimmäinen Euroopassa. Näillä näkymin siitä on tulossa hieman laajennettuna yleiseurooppalainen ohje Z39.50-sovellusten toteuttamistavasta (katso http://www.lib.helsinki.fi/z3950/cenl_profile.html).

Eurooppalaisen Z39.50-profiilin luonti on tärkeää, koska profiilin noudattaminen takaa eri sovellusten yhteismitallisuuden. Ohje helpottaa myös ulkomaisten, Z39.50-pohjaisten kirjastojärjestelmien sopeuttamista Euroopan oloihin. Yleinen ohje ei kuitenkaan ota huomioon kansallisia erikoispiirteitä kuten esimerkiksi formaatteja ja sisäistä merkkivalikoimaa tai käytettävissä olevien hakuelementtien koko kirjoa. Tästä syystä on tarpeen rakentaa myös kansallinen Z39.50-profiili, joka on Eurooppalaisen sovellusohjeen laajennus. Suomalaisen ohjeen ( http://www.lib.helsinki.fi/z3950/fin_profile.html) versio 1.0 valmistui helmikuussa 1998, ja se on otettu huomioon muun muassa laadittaessa RFP:tä seuraavan sukupolven LINNEA-ohjelmistolle.

Z39.50-sovellus

Määrittelyvaiheen jälkeen ONE-projektissa rakennettiin sovelluksia kahdessa vaiheessa. Jaottelun tarkoituksena oli helpottaa ohjelmistokehitystä ja testausta. Ensin luotiin Z39.50:n peruspalvelut sisältävä ohjelma (protocol machine), joka sitten asennettiin paikallisiin kirjastojärjestelmiin Z39.50-palvelinmoduliksi. Kirjastojärjestelmät testattiin huolellisesti, ensin tarkoitusta varten rakennetulla työkaluohjelmalla, sitten manuaalisesti. Manuaalitestauksen organisaattori oli HYK. Suomessa tämän vaiheen testaukseen osallistui viisi henkilöä, joille annettiin VTLS-94:n Z39.50-asiakasohjelma. Testaajille ei tarkoituksellisesti annettu tietoja etätietokantojen hakumahdollisuuksista. Tämän käyttäjäepäystävällisen menettelyn tarkoituksena oli paljastaa Z39.50-haussa heikkouksia joille standardin ja testattavan ohjelmiston tuntevat ovat sokeita. Tässä onnistuttiinkin hyvin, joskin hintana oli testaajaparkojen turhautuminen tyhjien tulosjoukkojen ja kryptisten virheilmoitusten äärellä.

Yleensä virhetilanteet aiheutuivat väärien hakuattribuuttien valinnasta. Hakuattribuutit ovat keskeinen osa Z39.50-standardia. Niiden avulla määritellään mitä hakutermejä jossakin tietokannassa voi käyttää. Erityyppiset tietokannat vaativat erilaiset hakutermit; bibliografiselle datalle on määritelty attribuuttijoukko Bib-1, jonka semantiikka on tarkoin määritelty (katso ftp://ftp.loc.gov/pub/z3950/defs/bib1.txt).

Z39.50-sovellusten rakentajien keskuudessa ei kuitenkaan ole ollut yksimielisyyttä siitä, miten Z39.50-hakutermit ja tietokannan indeksit linkataan toisiinsa. Kuvaavaa ongelman vakavuudelle on se, että ONE:n alkuvaiheessa oli vain yksi termi - nimekkeen yksittäiset sanat - joilla saattoi tehdä hakuja kaikista tietokannoista. Kaikissa kannoissa oli myös esimerkiksi "Tekijä", mutta se oli linkattu eri tietokannassa eri Bib-1 -attribuuttiin, joita on tekijälle valitettavan monta. Ongelma ei aina edes selvinnyt käyttäjille, koska Z39.50-asiakasohjelmien tarjoilemista virheilmoituksista ei aina saanut tolkkua ilman standardia. Z39.50 ja paljon siihen liittyvää aineistoa löytyy toki verkosta (katso http://lcweb.loc.gov/z3950/agency/), mutta sovellusten ei tietenkään pitäisi edellyttää standardin tuntemusta. ONE:n omaa Z39.50-asiakasohjelmaa on kehitetty saatujen kokemusten nojalla käyttäjäystävällisempään suuntaan. Suurempi ongelma on kuitenkin se, että vaikka hakija ymmärtäisikin valitsemansa hakuattribuutin olevan väärä, mistä hän tietää mitkä attribuutit ovat tuettuja? Tämän ongelman ratkaiseminen on hyvin vaikeaa ilman Z39.50:n opastetoimintoa (Explain), joka olikin yksi projektin seuraavassa kehitysvaiheessa toteutettavista palveluista.

Explainin ohella projektin kolmosvaiheessa, joka saatiin päätökseen alkuvuodesta 1997, rakennettiin ONE:n Z39.50-palvelimeen ja -asiakasohjelmaan valtaosa Z39.50:n versiossa kolme määritellyistä uusista piirteistä. Nykymuodossaan palvelin tukee perustoimintojen ja Explainin lisäksi esimerkiksi indeksien selausta (Scan) ja tulosjoukon lajittelua (Sort). Näiden palvelujen avulla käyttöliittymästä saadaan jo varsin hyvä.

Uusien palvelujen rakentamisessa oli omat ongelmansa. Etenkin Explain-palvelun parissa tehtiin maailmanlaajuisestikin pioneerityötä, koska muita yhtä kattavia Explain-toteutuksia ei ollut olemassa. Kehitystyö poiki siksi joukon parannusehdotuksia Z39.50-standardiin, josta löytyi yllättävän paljon epäjohdonmukaisuuksia ja muita pieniä puutteita. Lopputuloksena meillä on nyt paitsi virheettömämpi standardi, myös Z39.50-sovellusohjelmisto, joka on huomattavasti kattavampi kuin amerikkalaiset Z39.50-ohjelmat, ne kun ovat usein edelleen standardin vuonna 1992 valmistuneen version kaksi tasolla.

ONE:n Z39.50-palvelinsovelluksen rakensi englantilainen Crossnet Systems Limited (katso http://www.crxnet.com/crossnet.html), joka tunnettiin aiemmin nimellä SIL eli Satellites International Ltd. Crossnet vastasi aikanaan saksalaisen DBV-OSI II -projektin Z39.50-ohjelmiston rakentamisesta. Tämä sovellus otettiin pohjaksi myös ONE:n Z39.50-sovellukselle, jota siis käyttävät ONE-partnereiden lisäksi myös kaikki DBV-OSI II -hankkeessa mukana olevat organisaatiot.

Paikalliset järjestelmät

Pelkällä Z39.50-ohjelmistolla ei vielä ihmeitä tee. Z39.50-sovellus on kytkettävä osaksi omaa kirjastojärjestelmää. Tätä varten ONE:ssa on kehitetty ohjelmointirajapinta (API), joka määrittelee yksityiskohtaisella tasolla miten Z39.50-sovellus ja kirjastojärjestelmän hakumoduli kommunikoivat keskenään. Asennuksen suhteellisen yksinkertaisuuden vuoksi melkein kaikki ONE-partnerit ovat siirtyneet ONE:n Z39.50-sovelluksen käyttäjiksi; vain HYK käyttää edelleen VTLS-94:n Z39.50-palvelinta, jonka korvaaminen ONE:n palvelimella olisi VTLS-ohjelmointirajapinnan puuttuessa teknisesti hyvin vaikeaa.

Muutamat ONE-partnerit ovat ehtineet käyttää vuosien mittaan jo useitakin erilaisia Z39.50-palvelimia saman kirjastojärjestelmän kanssa. Palvelinohjelman vaihto voi olla varsin nopea operaatio. Esimerkiksi Bibsysissä homma hoitui parissa viikossa, kiitos selkeän ohjelmointirajapinnan sekä Bibsys-sovelluksen modulaarisuuden.

Muut ONE-ohjelmistot

Toisin kuin Yhdysvalloissa, Euroopan kirjastoissa käytetään joukkoa erilaisia MARC-formaatteja ja merkkivalikoimia. Järjestelmien yhteistoiminnan takaamiseksi pelkkä Z39.50:n käyttöönotto ei riitä kuin kansallisella tasolla. Tiedonhaku ja tietueiden kopiointi omaan järjestelmään on vaivatonta vain jos voimme tarjota myös toimivat formaatti- ja merkkikonversio-ohjelmat. ONE-hankkeessa on rakennettu luultavasti monipuolisin MARC-konvertteri mitä tähän mennessä on tehty: se pystyy muuntamaan tietueita usesista kansallisista formaateista USMARCiin tai UNIMARCiin ja takaisin. Sovellusta voi käyttää joko osana Z39.50-sovellusta tai itsenäisenä ohjelmana. Konversiotaulukot eivät ole osa ohjelmakoodia vaan Excel-taulukoita, jotka voidaan päivittää ja ladata konversio-ohjelmaan paikallisesti. FINMARC-muunnostaulukot on viimeistelty ajan tasalle HYK:ssa; aiomme pitää taulukoita yllä myös jatkossa.

ONE-hankkeen ei tarvinnut rakentaa merkkikonversio-ohjelmaa itse, vaan otimme käyttöön EU:n CHASE-projektissa rakennetun konvertterin, joka muuntaa muutamista lähdejärjestelmistä UNICODE-merkkivalikoimaan ja takaisin. Z39.50 Implementor's Group on laatinut suosituksen merkkikonversioiden tekemisestä (katso http://lcweb.loc.gov/z3950/agency/defs/oid/charsets.html), joka suosittaa UNICODEn käyttöä vaihtoformaattina. ONE-projekti muuten sai tässäkin kohden hyväksytetyksi korjauksen Z39.50-standardiin: alkuperäisversiossa merkkimuunnos koski vain hakulauseita, mutta nyt myös siirrettävät MARC-tietueet voidaan muuntaa.

Merkki- ja formaattikonvertterit ovat osa niin kutsuttua työkalupakkia, toolbox'ia, johon on koottu joukko Z39.50-sovelluksen rakentamista helpottavia välineitä. Ohjelmakehittäjille ja Z39.50-pohjaisia välineitä testaaville kirjastoille ja muille organisaatioille kenties arvokkain pakin välineistä on saksalaisen DANETin (katso http://www.danet.de/docs_e/index.htm) määrittelemä ja Crossnetin rakentama erittäin perusteellinen Z39.50-testausohjelma. Sillä voidaan varmistua minkä tahansa Z39.50-sovelluksen virheettömyydestä lähetetyn ja vastaanotetun datan rakenteen osalta. Mainittakoon että DANET-ohjelmalla testattiin myös joukko amerikkalaisia ohjelmia, joista löytyi protokollatason virheitä. Vastaava testiohjelma olisi ollut Yhdysvalloissakin tarpeen! Z39.50-ympäristössä virheet voivat olla kiusallisia paitsi asiakkaalle myös ohjelmakehittäjille, koska ilman kunnon työkaluja on vaikea selvittää, kenen ohjelmistossa virhe piileksii.

Vaikka ONE on jo periaatteessa päättynyt, Crossnet viimeistelee yhä ONE:n Z39.50-asiakasohjelmaa, joka on ristitty ICONE:ksi. Ohjelmasta on toistaiseksi saatavilla betaversiot Win 3.11 ja Win-95 & NT -käyttöjärjestelmille osoitteesta http://www.crxnet.com/projects/one/onec.html. ICONE kestää mielestäni jo nyt vertailun saatavilla olevien kaupallisten ja public domain -sovellusten kanssa. (Pieni varoitus: Windows NT:lle rakennetussa beta-versiossa 0.96 on puutteita; NT-käyttäjien on syytä odottaa valmista ohjelmaa.)

Käyttöoikeuksiltaan kaikki ONE-hankkeessa kehitetyt ohjelmat ovat täysin vapaita. Myös kaupalliset ohjelmatalot voivat käyttää niitä korvauksetta omien järjestelmiensä pohjana (jakeluun kuuluu myös lähdekoodi). Palvelinohjelman uusin versio työkalupakkeineen päivineen sekä kaikki muut ONE-ohjelmat ja julkiset dokumentit ovat aina poimittavissa projektin kotisivun kautta. Ohjelmistot on käännetty tavallisimmille UNIX-versioille. Sivumennen: muunnostyö ei ollut niin helppo kuin innokkaimmat UNIX-entusiastit helposti antavat ymmärtää - eritoten HP-UX -version tekeminen vei aikaa, siitä huolimatta että ohjelmakehityksessä oli vältetty tiettyyn UNIX-versioon sidottuja piirteitä. Kokonaisen kirjastojärjestelmän kääntäminen UNIX-ympäristöstä toiseen ei liene lainkaan triviaali työ.

Testauksesta

Toinen ja viimeinen testausvaihe käynnistyi kesäkuussa 1997. Tarkoituksena oli käyttää testaajina tiedonhaun ammattilaisia, eli kirjastonhoitajia. Testausohjelma oli ensisijaisesti ONE:n asiakasohjelmasovellus, Picassa ja Bibsysissä ohjelman sisään rakennettu asiakasohjelma. HYK:ssa tätä testausvaihetta ei toteutettu (lukuun ottamatta allekirjoittaneen testauspanosta), koska oma palvelimemme ei ollut kehittynyt, ja toisaalta emme saaneet Virtuan Z39.50-asiakasohjelmaa testattavaksi. Testaus kesti kolme kuukautta; tämän jälkeen seulottiin palaute ja raportoitiin tulokset.

Testaajille oli tällä kertaa tarjolla runsaasti informaatiota tietokantojen sisällöstä ja hakutermeistä dokumenteissa, jotka testaajat saivat ennen tositoimiin ryhtymistä.Lisäksi oli mahdollista hankkia opastetietoa Z39.50:n Explain-palvelun avulla. Kaikesta opastuksesta huolimatta oikeiden hakutermien valinta tuotti edelleen runsaasti ongelmia - yli kolmannes kaikista hauista tuotti nolla viitettä. Tämä johtui yleensä toisaalta siitä ettei valittu Z39.50-hakuattribuutti ole tuettu ao. kannassa, toisaalta auktorisoitujen nimenmuotojen vaihtelusta. Proosallinen esimerkki tästä on se että testauksessa käytettiin Tsaikovskia; Norjasta tuli pitkä lista testattavista nimimuodoista, mutta Suomessa auktorisoitu muoto ei ollut listalla. Tuntuu siltä, että ainakin ulkomaisia kantoja käytettäessä Virtuassa valittu käytäntö määritellä indeksien selaus oletushakumenetelmäksi on selvästi järkevin vaihtoehto.

Oikean hakutermin löytämisen jälkeen asiat sujuivat kohtuullisen hyvin, joskin merkkivalikoimat ja erilaiset MARC-formaatit aiheuttivat edelleen ongelmia joissakin järjestelmissä. Verkkoyhteydet toimivat yleensä varsin luotettavasti ja nopeasti, ja kirjastojärjestelmät olivat lähestulkoon aina käytettävissä. ONE:sta saadut kokemukset vahvistavat sitä näkemystä ettei palveluja tarvitse ylläpitää paikallisesti, vaan riittää että ne ovat tavoitettavissa verkon yli.

Elämää testauksen jälkeen?

ONE:n ansiosta Euroopassa on ensimmäistä kertaa mahdollista käyttää helposti ulkomaisia tietokantoja hakuun ja MARC-tietueiden kopiointiin. Valitettavasti tekniikka on edennyt nopeammin kuin sopimuskäytännöt. ONE-hankkeeseen osallistuvista organisaatioista vain Bibsys ja Libris ovat luvanneet, että niiden tietokantoja voi käyttää jatkossakin maksutta hakuun ja viitetietojen kopiointiin.

Hakua ja MARC-tietueiden kopiointia on Z39.50-ympäristössä vaikea erottaa toisistaan, koska palvelin lähettää MARC-tietueet asiakasohjelmalle vaihtomuodossa. Palvelimen ylläpitäjäorganisaatio ei voi palvelimesta koottavissa olevien tietojen avulla päätellä etätietokantaan kopioitujen tietueiden määrää. Jos tietueiden kopiointia halutaan erikseen veloittaa, käyttömaksujen pitää siksi perustua esimerkiksi käyttäjäkirjaston hankintojen määrään, kirjaston tai sen kehysorganisaation henkilökunnan määrään tai johonkin muuhun helposti mitattavissa olevaan piirteeseen. Voidaan myös solmia kansallisia sopimuksia keskeisimpien bibliografisten tietokantojen käytöstä.

Bibsys ja Libris ovat siis ainakin toistaiseksi ilmaisia. Muiden kantojen käyttöluvan Z39.50:n kautta saanee vain rahalla, ja toistaiseksi ei edes sillä, koska kopioluetteloinnin kattavia sopimuksia ei ole. Politiikka on siis jäänyt tekniikan jälkeen; toivoa sopii että sopimukset saadaan kuntoon, koska muuten eurooppalaisten on turvauduttava amerikkalaisiin yhteisluettelotietokantoihin. Nykyiset kopiointimahdollisuudet sekä kopioinnin tekniset edellytykset yleensä on kuvattu kirjoittamassani selvityksessä, joka löytyy HTML-muodossa osoitteesta http://www.lib.helsinki.fi/z3950/kopiointi.html. Tekstiä on tarkoitus ylläpitää sitä mukaa kun tietokantojen saatavuudessa tapahtuu muutoksia.

Maksullisuudelle on tietenkin olemassa vaihtoehtoja. Tietokantaisännät esimerkiksi Pohjoismaissa voisivat avata tietokantansa toistensa käyttäjille välttyäkseen ristiinlaskutukselta. Näin "omat" käyttäjät saisivat näennäisesti ilmaiseksi käyttöönsä kaikki muutkin keskeiset pohjoismaiset yhteisluettelot, mikä olisi merkittävä kilpailuetu jokaiselle yhteisluettelo-organisaatiolle. Sopivimman ratkaisun löytämiseksi pitäisi käynnistää ajoissa neuvottelut keskeisten kumppaneiden kanssa. Tekninen ympäristö pohjoismaisella tasolla on helposti organisoitavissa virtuaaliseksi yhteisluetteloksi, jossa käyttäjä avaa yhteyden samanaikaisesti kaikkiin pohjoismaisiin yhteisluettelotietokantoihin. Asiakasohjelman vastuulle jää eri tietokannoista saapuvien viitteiden lajittelu ja tuplien poisto. HYK on luonut alustavan suunnitelman tämäntyyppisen tietokannan teknisestä toteutuksesta.

ONE-2

ONE-hanke on onnistunut teknisesti erinomaisesti, ja sen tunnetaan "Z39.50-piireissä" erittäin hyvin. Ei siis ole ihme, että ONE-2 -hanke hyväksyttiin ongelmitta niiden projektien joukkoon, joiden toteutuksesta EU tätä kirjoitettaessa neuvottelee. Hankkeen oli tarkoitus käynnistyä huhtikuussa 1998, mutta tästä aikataulusta myöhästyttäneen jonkin verran.

ONE-2:n vetäjä on Poul Henrik Jörgensen Dansk BiblioteksCenteristä, joka oli yksi ONE-partnereista. Useimmat muut ONE-organisaatiot ovat mukana myös ONE-2:ssa; kyydistä jättäytynevät kuitenkin Pica ja Pica-sovellusta käyttävä Die Deutsche Bibliothek.

Jos ONE-1 rakensi jo varsin kattavan Z39.50-sovelluksen, mitä vielä jää tehtäväksi ONE-2:ssa. Paljonkin! Z39.50 Implementor's Group on lisännyt tai on juuri lisäämässä standardiin uusia piirteitä, joiden toteuttamisesta olisi runsaasti hyötyä. ONE-2:n kannalta kenties keskeinen uudistus on sen määrittely, miten varastotietoja voidaan siirtää palvelimesta asiakasohjelmalle. Pohjatekstejä tästä löytyy osoitteesta http://www.nlc-bnc.ca/iso/z3950/#holdings. Yksinkertaistaen voi sanoa että yhteisluetteloiden sisältämät tiivistetyt varastotiedot eivät ole ongelma, mutta yksityiskohtaisten varastotietojen siirto aiheuttaa runsaasti päänvaivaa. Muita hyödyllisiä uusia Z39.50-piirteitä ovat esimerkiksi tulosjoukkojen yhdistäminen ja tuplatietueiden poisto.

Z39.50-1995:ssä on myös vanhastaan hyviä ominaisuuksia joita ei vielä ONE-1:ssä toteutettu. Yksi niistä on yhteisluetteloiden päivitys (Extended Services Update), joka oli standardissa varsin puutteellisesti määritelty. Tämä puute on korjattu rakentamalla yhteisluetteloprofiili (katso http://www.nla.gov.au/ucp/), joka spesifioi hyvin täsmällisesti sen miten yhteisluettelon ylläpidossa tarvittavat toiminnot voidaan hoitaa Z39.50:n välityksellä. ZIG hyväksynee tämän profiilin vuoden 1998 keväällä. Profiiliin pohjautuva ohjelmakehitys on jo käynnissä: Amicus rakentaa yhteisluetteloprofiilin toteutuksen Australian kansalliskirjastolle.

ONE-2 -ryhmässä on keskusteltu myös kaukopalveluominaisuuksien lisäämisestä. Toistaiseksi ONE-sovellus tukee vain Extended Services Item Order -palvelua, joka vastaa vain yhtä ISO ILL -standardin monista palveluista. Toiminnallisuuden parantamiseksi olisi tarpeen rakentaa "oikea" ISO ILL -palvelinsovellus Z39.50-palvelimen oheen. Tämä kehitystyö vaatii kuitenkin paljon resursseja, eikä ole varmaa voidaanko tähän ryhtyä ONE-2:ssa. Mutta sen me tulemme näkemään!

Juha Hakala, atk-erikoissuunnittelija
Helsingin yliopiston kirjasto
Email: Juha.Hakala@helsinki.fi

Tietolinja 1/1998