URN:NBN - elektronikus dokumentumok hosszútávú azonosítása

Aradi Bálint[i], Ittzés Péter, Horváth Ádám

Országos Széchényi Könyvtár, 1827 Budapest, Budavári Palota F. épület

Kivonat

Az URN (Universal Resource Name) egy olyan azonosító, amely az interneten található elektronikus dokumentumok hosszútávú azonosítására szolgál. Ennek egy altípusa az NBN (National Bibliography Number). Az URN azonosító típust azzal a céllal hozták létre, hogy kiküszöböljék az URL-ek használatából fakadó hátrányokat. Mivel az URL-ek gyakran változnak, a hivatkozások folyamatos karbantartása nagy erõfeszítést igényel. A problémát még tovább növeli, hogy a változást közölnünk kell mindazokkal, akik az általunk közzétett forrásra hivatkoznak. Az URN azonosítók (természetesen az URL-el együtt) ezekre a nehézségekre próbálnak megoldást nyújtani. Az Országos Széchényi Könyvtárban is éppen most zajlik az URN-NBN rendszer bevezetése egy nyílt projekt keretében, amely révén lehetõség nyílik a magyarországi könyvtárak és internetfelhasználók számára, hogy elektronikus dokumentumaikat egyedi hosszútávú azonosítóval láthassák el.

1.  Bevezetés

A világháló dinamikus fejlõdésének köszönhetõen rohamosan növekszik az elektronikusan (is) elérhetõ információk mennyisége. A papíralapú információközléssel szemben az elektronikus tartalomszolgáltatás egyik nagy elõnye az információk összekapcsolásában rejlik, vagyis hogy nem csak hivatkozni tudunk más (szintén elektronikus) forrásokra, de azok egy kattintással meg is tekinthetõek. Mindez azonban csak akkor mûködik hosszú távon, ha az azonosítók, amelyek alapján a dokumentumokra a hivatkozás történik, nem változnak az idõben, és mindig ugyanazt az objektumot jelölik.

Az elektronikus tartalom azonosítására az interneten egyelõre szinte kizárólag az URL-t (Universal Resource Locator) használják, amely minden egyes dokumentum esetében annak lelõhelyét adja meg. Elvileg URL-ek is lehetõvé teszik a dokumentumok hosszútávú azonosítását, ám az elterjedt gyakorlat alapján ezek tartósságára nem lehet számítani, mert igen sokszor elõfordul, hogy egy-egy dokumentum lelõhelye megváltozik. Sajnos, ezek nem csak olyankor fordulnak elõ, amikor valamilyen honlapot más szerverre (vagy más szolgáltató által üzemeltetett szerverre) telepítenek át, hanem igen gyakoriak az olyan változások is, amikor csupán a szerveren kialakított könyvtárstruktúrát alakítják át, ám ezáltal az érintett dokumentumok eredeti URL-je érvénytelenné válik [[1]]. Az átrendezés során érintett dokumentumok közötti koherenciát (a belsõ hivatkozásokat) az üzemeltetõk általában helyreállítják, ám a mások által kezelt (külsõ) hivatkozások frissítése sok esetben nem (vagy csak nagy késéssel) történik meg, így olyan hivatkozások maradnak hátra, amelyek nem létezõ dokumentumra mutatnak.

Erre a problémára jelentenek megoldást az elérési helytõl független egyedi azonosítók. Ezek az azonosítók nem tartalmaznak információt a dokumentum tényleges lelõhelyérõl, így alapját képezhetik egy hosszú távon is koherens hivatkozásrendszernek. Természetesen a dokumentum eléréséhez annak lelõhelyére (URL-jére) is szükség van, ám az adott azonosítóhoz tartozó tényleges lelõhelyet elegendõ csupán egy központi helyen megadni és frissíteni, ahonnan aztán az azonosító alapján  történõ kereséskor ez kiolvasható. Amennyiben a dokumentum gazdája a lelõhely megváltoztatásakor az azonosító és a lelõhely közti hozzárendelést ezen a központi helyen frissíti, az egyedi azonosítókon keresztül történõ külsõ és belsõ hivatkozások koherenciája adminisztrációs munka nélkül is automatikusan megmarad.

2.  Az URN

Az hosszútávú azonosítás elõzõ pontban leírt követelmények többek között az Országos Széchényi Könyvtár (OSZK) által is bevezetni kívánt URN (Universal Resource Name) is megfelel. Az URN egy olyan azonosító, amely kiadása szabályozott módon, erre felhatalmazott intézmények által történik. Szintakszisát az RFC 2141-es számú ajánlása rögzíti [[2]], amely alapján egy URN

urn:<nid>:<nss>

alakú, ahol a <nid> (name space identifier) az URN-ek típusát (névterét) jelöli, az <nss> pedig az adott típusú (adott névtérbe tartozó) URN-nek között már egyértelmû azonosítót ad meg.

A névtér szerinti megkülönböztetés (<nid>) szükségessége abból fakad, hogy több fajta rendszer is létezik, amely alapján egyértelmûen be lehet sorolni az elektronikus dokumentumokat. Ilyen jól ismert rendszer lehet például könyvek illetve folyóiratok esetén az ISBN ill. az ISSN szám, de képezheti egy, a nemzeti könyvtárak által adott szám (NBN -- national bibliography number) is az azonosítás alapját. Ez utóbbi elõnye, hogy tetszõleges könyvtári kategóriába esõ elektronikus dokumentumnak adható.

3.  Az URN:NBN

Az URN:NBN azonosítók az URN azonosítók egy olyan névterébe tartoznak, amely felett minden országban a nemzeti könyvtár rendelkezik. Maga az URN:NBN névterület a Finn Nemzeti Könyvtár kezdeményezésére került bejegyzésre, felügyeletét és adminisztrációját az Egyesült Államokbeli Library of Congress végzi. Minden nemzeti könyvtár igényelhet ezen a névtéren belül egy tartományt magának, amelyen belül azonosítókat adhat ki. Az URN:NBN szintakszisa

urn:nbn:<országkód>-<egyedi azonosító>

alakú, ahol az <országkód> a kérelmezõ ország kétbetûs (ISO 3166 szabvány szerinti) rövidítését, az <egyedi azonosító> pedig tetszõleges, az URN szintakszisán belül megengedett egyértelmû azonosítót jelent. Érvényes URN:NBN azonosítók lehetnek például az

urn:nbn:fi-fe20010312        és         urn:nbn:hu-11234

azonosítók, ahol az elõbbi a finn, az utóbbi pedig a magyar nemzeti könyvtár hatáskörébe tartozik.

4.  URN:NBN kezdeményezés az OSZK-ban

Az Országos Széchényi Könyvtár a közeljövõben a bevezetés végleges fázisába érõ URN:NBN rendszer segítségével lehetõséget kíván nyújtani a magyarországi könyvtárak és a hazai internetfelhasználók számára, hogy dokumentumaikat egyedi hosszútávú azonosítókkal láthassák el. Az azonosítók igénylése teljesen nyilvános, bárki számára elérhetõ szolgáltatás. A bevezetendõ rendszer kialakítása olyan, hogy az azonosítók igénylése, mind HTML-ûrlapokon, mind pedig automatikusan, program segítségével is történhet. URN:NBN azonosító csak nyilvános, mindenki számára hozzáférhetõ dokumentumnak igényelhetõ. A bevezetés elsõ fázisában az igénylés csak HTML (text/html) típusú dokumentumokhoz történhet, ez azonban késõbb egyéb dokumentumformátumokra (pl. pdf) is bõvülhet. Szintén csupán az elsõ idõszakot jellemzõ korlátozás, hogy egy dokumentumhoz csak egy URN:NBN azonosítót lehet igényelni, valamint, hogy egy URN:NBN azonosítóhoz csak egy URL rendelhetõ. (A késõbb bevezetendõ többes hozzárendelés azt a célt szolgálja, hogy ugyanazon dokumentum különbözõ helyeken megtalálható példányainak mindegyike nyilvántartható legyen a rendszerben.) A projekt során készülõ szerver, illetve az URN:NBN igénylést és karbantartást segítõ programok forráskódja nyílt, így az bárki számára hozzáférhetõ lesz.

4.1.  URN:NBN igénylése

Az URN:NBN azonosítók igénylése HTTP protokollon keresztül történik, amelyben az azonosítót elõállító (és HTTP GET metódussal meghívott) szervernek paraméterként át kell adni azt az URL-t, amelyen az azonosítóval ellátni kívánt dokumentum található, például

http://nbn.oszk.hu/GetNBN?url=http://igenylo.hu/dokumentum

alakban. (A példákban szereplõ szerver- és paraméternevek még nem véglegesek, ezért a nyilvános verzióban eltérhetnek az itt feltüntetettektõl.) A szerver ezután elvégzi az adott URL-lel rendelkezõ dokumentum ellenõrzését (html-formátumú dokumentum-e, nincs-e még azonosítója, stb.), majd sikeres ellenõrzés után egy URN:NBN azonosítót ad vissza válaszként. Ezt az azonosítót el kell helyezni a html formátumú dokumentum fejlécében (a <head> és </head> elemek között) egy <meta> elemben a következõ formában:

<meta name=''dc.identifier'' scheme=''urn'' content=''urn:nbn:hu-1234''>

(Feltételezve, hogy a szerver által szolgáltatott azonosító az ''urn:nbn:hu-1234'' volt.) Ezekután megerõsítésként másodszor is meg kell hívni a szervert az elsõ hívással teljesen megegyezõ módon. Ekkor a rendszer ellenõrzi, hogy a dokumentumba ténylegesen belekerült-e <meta> elem formájában az urn:nbn azonosító, és ha igen, akkor véglegesíti a bejegyzést. (Ellenkezõ esetben a bejegyzési kérelem érvénytelennek minõsül.) A bejegyzett URN:NBN - URL hozzárendelés késõbb természetesen módosítható, ennek részletei azonban itt hely hiányában  nem kerülnek ismertetésre.

4.2.  Az URN:NBN azonosítók feloldása

Az URN-nek automatikus feloldását, vagyis hogy egy kliensprogram (pl. egy böngészõ) csupán az URN alapján megtaláljon egy dokumentumot, a DDDS (Dynamic Delegation Discovery System) szolgálná, ám ez a rendszer egyelõre gyakorlatilag csak papíron létezik, és nem valószínû, hogy a közeljövõben kiépül az általános használatához szükséges infrastruktúra. Ugyanakkor az URN azonosítók értelmüket vesztik, amennyiben nem lehet automatikusan megtalálni az adott azonosítóhoz tartozó dokumentumot. Az OSZK ezért egy, több nemzeti könyvtár által is használt, meglehetõsen népszerû hibridmegoldást alkalmaz erre a célra, amelyben az URN:NBN feloldása egy fix URL-lel rendelkezõ feloldószerveren keresztül történik. A folyamat az ún. THTTP (Trivial convention for using HTTP in URN resolution) protokolon keresztül történik [[3]], amely egy erõsen leszûkített részhalmaza a HTTP-nek. A feloldás úgy jön létre, hogy az URN-t URL-lé átalakító, ún. N2L szolgáltatást nyújtó szervernek (egy GET hívás során) paraméterként át kell adni az elérni kívánt dokumentum URN azonosítóját

http://nbn.oszk.hu/N2L?urn:nbn:hu-1234

amire válaszul a szerver egy HTTP átirányítás ad az adott URN-hez tartozó URL-re, vagy hibaüzenetet amennyiben ilyen nem létezik. A felhasználónak tehát általában (pl. amennyiben egy böngészõvel kérdezi le a szervert) nem kell azzal törödnie, hogy a visszakapott URL-t még külön letöltse, ez ugyanis az átirányítás révén automatikusan megtörténik.

A THTTP protokollal történõ feloldás hátránya, hogy egy fix URL (az N2L szolgáltatást végzõ szerver URL-je) szükségeltetik hozzá. Ugyanakkor nagyon nagy elõnye, hogy ezen keresztül az URN-ek feloldása már a jelenlegi internetes infrastruktúrával is megvalósítható, így a DDDS rendszer bizonytalan jövõje nem hátráltatja az URN azonosítók bevezetését.

4.3.  Biztonsági kérdések

A bevezetendõ URN:NBN rendszer megtervezésénél fontos szempont volt, hogy használata a lehetõleg egyszerû legyen, de ugyanakkor biztosítsa azt, hogy csupán a dokumentum tulajdonosa igényelhessen azonosítót dokumentuma számára, valamint hogy csak õ módosíthassa a dokumentuma URN:NBN azonosítója és URL-je közötti leképezést. További szempont volt, hogy a folyamat nagymértékben automatizálható lehessen, hogy nagy mennyiségû dokumentum feldolgozásakor programból is történhessen az igénylés vagy a módosítás. Ez utóbbi kritérium gyakorlatilag kizárja a jelszavas azonosítást, ezért az URN:NBN-nel kapcsolatos mûveletek során mindig azt tekinti a rendszer a dokumentum gazdájának, aki bizonyítani tudja, hogy írásjoggal rendelkezik az adott dokumentum felett. Ezt szolgálja az igénylésnél leírt kétlépéses módszer, amely során a rendszer ellenõrzi, hogy belekerült-e (egy <meta> elem formájában) az URN:NBN azonosító a dokumentum fejlécébe, vagyis az igénylõ módosítani tudta-e azt a dokumentumot, amelyre az azonosítót igényelte. Amennyiben ez megtörtént, a rendszer elfogadja, hogy õ a dokumentum tulajdonosa, és véglegesíti a bejegyzést, míg ellenkezõ esetben a bejegyzés érvénytelen lesz.

4.4.  Kitekintés

Az URN:NBN szolgáltatást nyújtó infrastruktúra (programok) fejlesztése jelenleg is folyik az OSZK-ban. A nyilvános szerver üzembe helyezése, valamint a bejegyzést és karbantartást segítõ oldalak  elkészítése 2003. május közepére várhatóak.



[i]Email: aradi@oszk.hu



[1]Természetesen a webszerver segítségével megoldható lenne, hogy a kívülálló semmit se érzékeljen a könyvtárstruktúra megváltozásából, de a gyakorlat azt mutatja, hogy az oldalak üzemeltetõi sok esetben nincsenek erre figyelemmel.

[2]http://www.ietf.org/rfc/rfc2141.txt

[3]http://www.ietf.org/rfc/rfc2169.txt