NBN:URN Generator and NBN:URN Generator and ResolverResolver
ERPANET Workshop on Persistent ERPANET Workshop on Persistent IdentifiersIdentifiers
Cork, 17-18 June, 2004.Cork, 17-18 June, 2004.
Ádám HorváthÁdám Horváth
National Széchényi LibraryNational Széchényi Library
HungaryHungary
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
ContentsContents
PreparationPreparation
ProtocolProtocol
Design principlesDesign principles
NBN:URN generationNBN:URN generation
NBN:URN resolutionNBN:URN resolution
The web interfaceThe web interface
Technical backgroundTechnical background
Intended usersIntended users
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
PreparationPreparation
Studied the relevant standardsStudied the relevant standards
http://http://wwwwww..uriuri..netnet//
Studied the existing implementationsStudied the existing implementations– FinnishFinnish– NorwegianNorwegian– GermanGerman
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
ProtocolProtocol
THTTP protocol (RFC 2169)THTTP protocol (RFC 2169) Implemented featuresImplemented features– N2LN2L– N2LSN2LS– L2NL2N
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Design principlesDesign principles
SimplicitySimplicity– User friendly generationUser friendly generation– Administration freeAdministration free
ReliabilityReliability– The uniqueness of URN is guaranteedThe uniqueness of URN is guaranteed– Only the owner of the document can Only the owner of the document can
request a URNrequest a URN
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
The owner of the documentThe owner of the document
Who is the owner?Who is the owner?– Who has the right to write into the Who has the right to write into the
documentdocumentAdvantagesAdvantages– SimpleSimple– Can be automatedCan be automated– There is no problem with passwordsThere is no problem with passwords
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Requesting URN - Step 1 Requesting URN - Step 1
HTTP requestHTTP request– http://nbn.oszk.hu/GetNBN?url=http://solanum.oszk.hu/proba.html
The server checksThe server checks– Does the document exist?Does the document exist?– Is it an HTML document?Is it an HTML document?– Is there already a URN for this document?Is there already a URN for this document?– Has anyone placed a transaction for it?Has anyone placed a transaction for it?
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
AnswerAnswer– The server place the requestThe server place the request– OK:0:urn:nbn:hu-3006tid:3291d4fcf5b5fce1d0
– Error:-9: Error message
Requesting URN - Step 1 (cont’d) Requesting URN - Step 1 (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Writing the URN into the document Writing the URN into the document – It is the requester’s taskIt is the requester’s task– <head>
...<meta name="dc.identifier”
scheme="urn”content="urn:nbn:hu-3006">...
</head>
Requesting URN - Step 2Requesting URN - Step 2
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Finalizing the requestFinalizing the request– http://nbn.oszk.hu/GetNBN?url=http://solanum.oszk.hu/proba.html&urn=urn:nbn:hu-3006&tid=3291d4fcf5b5fce1d0
Requesting URN - Step 3Requesting URN - Step 3
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
The server checksThe server checks– Has the request already been placedHas the request already been placed– Does the document existDoes the document exist– Is it an HTML documentIs it an HTML document– Does it contain the URNDoes it contain the URN
AnswerAnswer– OKOK– Error messageError message
Requesting URN - Step 3 (cont’d)Requesting URN - Step 3 (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
N2L (URN to URL)N2L (URN to URL)– HTTP requestHTTP request
• http://nbn.oszk.hu/N2L?urn:nbn:hu-3006
– HTTP coded answerHTTP coded answer• 303 (SEE OTHER): redirects to the appropriate URL.
• 404 (NOT FOUND): if the URN does not exist
Resolving URNResolving URN
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
L2N (URL to URN)L2N (URL to URN)– HTTP requestHTTP request
• http://nbn.oszk.hu/L2N?http://solanum.oszk.hu/proba.html
– HTTP coded answerHTTP coded answer• Text (eg. urn:nbn:hu-3006).
• 404 ( FOUND): if it does not exist.
Resolving URN (cont’d)Resolving URN (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
N2Ls (URN to URLs)N2Ls (URN to URLs)– HTTP requestHTTP request
• http://nbn.oszk.hu/N2Ls? urn:nbn:hu-3006
– HTTP coded answerHTTP coded answer• HTML page with a list of URLs
• text/uri-list MIME type (if explicitly requested).
• 404 ( FOUND): if it does not exist.
Resolving URN (cont’d)Resolving URN (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Changing the URN - URL assignmentChanging the URN - URL assignment– This is also a three step processThis is also a three step process• The document must exist in both the old and the The document must exist in both the old and the
new URLnew URL
Deleting the URN - URL assignmentDeleting the URN - URL assignment– This is also a three step processThis is also a three step process• The document itself can only be deleted after the The document itself can only be deleted after the
deletion of the URN - URL assignmentdeletion of the URN - URL assignment
Other functionsOther functions
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Request and modification for dynamic Request and modification for dynamic pagespages– http://nbn.oszk.hu/GetNBN?url=http://solanum.oszk.hu/proba.html&nocheck=1
ServerServer– Does not check the existence of the Does not check the existence of the
documentdocument
Other functions (cont’d)Other functions (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Bulk generation of URN’s is also Bulk generation of URN’s is also possiblepossible– Sample scripts written in Python are Sample scripts written in Python are
provided for the usersprovided for the users
Other functions (cont’d)Other functions (cont’d)
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
The functions can be invoked from a The functions can be invoked from a web interfaceweb interface– Test request is also possibleTest request is also possible– The interface is bilingual: Hungarian and The interface is bilingual: Hungarian and
EnglishEnglishThe web interface also contains The web interface also contains
background material: user guide, the background material: user guide, the source of the application, sample script source of the application, sample script etc.etc.
Web interfaceWeb interface
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
PHP for the interfacePHP for the interfaceJava servlets for the functionsJava servlets for the functionsPostgreSql is the databasePostgreSql is the database It is an open source applicationIt is an open source application
Technical backgroundTechnical background
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
HungariansHungarians– How can we ensure thisHow can we ensure this• Only the Hungarian interface works on the Only the Hungarian interface works on the
production databaseproduction database• The English interface works on the development The English interface works on the development
database. The purpose of the English interface is database. The purpose of the English interface is to make our results more widely available.to make our results more widely available.
Intended usersIntended users
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
Copies of the same object should have the Copies of the same object should have the same URNsame URN
Different versions of the same object, e.g. Different versions of the same object, e.g. in MS Word and HTML shall have different in MS Word and HTML shall have different URNs.URNs.
If an object is changed, a new URN only If an object is changed, a new URN only needs to be assigned if the intellectual needs to be assigned if the intellectual content of the object changes. Editorial content of the object changes. Editorial changes (e.g. changes to fonts etc.) do changes (e.g. changes to fonts etc.) do not necessitate a change of URN.not necessitate a change of URN.
Guidelines for the requestGuidelines for the request
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
We build a database on the THTTP We build a database on the THTTP resolvers.resolvers.– The OPAC display program consults with The OPAC display program consults with
this database and sends the URN to the this database and sends the URN to the appropriate resolver.appropriate resolver.
Resolving URN in the OPACResolving URN in the OPAC
NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám HorváthNBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth
[email protected]@oszk.hu
Thank you for your attentionThank you for your attention
Top Related