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!
|