NBN:URN Generator and Resolver ERPANET Workshop on Persistent Identifiers Cork, 17-18 June, 2004. Ádám Horváth National Széchényi Library Hungary.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Harvesting and archiving the Web Nordunet2000, Juha Hakala Helsinki University Library.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
DT228/3 Web Development WWW and Client server model.
Languages for Dynamic Web Documents
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Technical Tips and Tricks for User Support Mike Gardner
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
The Application Layer Chapter 7. Electronic Mail Architecture and Services The User Agent Message Formats Message Transfer Final Delivery.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
Master’s course Bioinformatics Data Analysis and Tools Lecture 6: Internet Basics Centre for Integrative Bioinformatics.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
Topics in this presentation: The Web and how it works Difference between Web pages and web sites Web browsers and Web servers HTML purpose and structure.
Implementing Application Protocols. Overview An application protocol facilitates communication between applications. For example, an client uses.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
1 Homework / Exam Exam 3 –Solutions Posted –Questions? HW8 due next class Final Exam –See posted schedule Websites on UNIX systems Course Evaluations.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
HTTP; The World Wide Web Protocol
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
CSS/417 Introduction to Database Management Systems Workshop 5.
Student Learning Environment on the World Wide Web l CGI-programming in Perl for the connection of databases over the Internet. l Web authoring using Frontpage.
A Closer Look at HTTP HyperText Transfer Protocol.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Introduction to Internet Programming (Web Based Application)
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
1 3. Computing System Fundamentals 3.1 Language Translators.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
What does WWW stand for? And following abbreviations? HTTP: Hyper Text Transfer Protocol HTML: Hyper Text Mark-up Language URL: Uniform Resource Locator.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Web Client-Server Server Client Hypertext link TCP port 80.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
DSpace System Architecture 11 July 2002 DSpace System Architecture.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 21 Java Servlets Wed. 11/22/00 based on material.
Display Page (HTML/CSS)
1 CS 502: Computing Methods for Digital Libraries Guest Lecture William Y. Arms Identifiers: URNs, Handles, PURLs, DOIs and more.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
Web Services Essentials. What is a web service? web service: software functionality that can be invoked through the internet using common protocols like.
Introduction to Information Systems SSD1: Introduction to Information Systems Unit 1. The World Wide Web Unit 2. Introduction to Java and Object- Oriented.
PHP Assignment Help BookMyEssay. What is PHP PHP is a scripting language generally used on web servers. It is an open source language and embedded code.
4.01 How Web Pages Work.
Servlets.
Development of Web Applications - Introduction
Web Development Web Servers.
z/Ware 2.0 Technical Overview
PHP / MySQL Introduction
Web App vs Mobile App.
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
Introduction to Servlets
J2EE Lecture 1:Servlet and JSP
4.01 How Web Pages Work.
Web Application Development Using PHP
Presentation transcript:

NBN:URN Generator and Resolver ERPANET Workshop on Persistent Identifiers Cork, June, Ádám Horváth National Széchényi Library Hungary

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Contents PreparationProtocol Design principles NBN:URN generation NBN:URN resolution The web interface Technical background Intended users

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Preparation Studied the relevant standards Studied the relevant standards Studied the existing implementations –Finnish –Norwegian –German

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Protocol THTTP protocol (RFC 2169) THTTP protocol (RFC 2169) Implemented features Implemented features –N2L –N2LS –L2N

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Design principles Simplicity Simplicity –User friendly generation –Administration free Reliability Reliability –The uniqueness of URN is guaranteed –Only the owner of the document can request a URN

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth The owner of the document Who is the owner? Who is the owner? –Who has the right to write into the document Advantages Advantages –Simple –Can be automated –There is no problem with passwords

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Requesting URN - Step 1 HTTP request HTTP request – – olanum.oszk.hu/proba.html The server checks The server checks –Does the document exist? –Is it an HTML document? –Is there already a URN for this document? –Has anyone placed a transaction for it?

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Answer Answer –The server place the request – –OK:0:urn:nbn:hu-3006 tid:3291d4fcf5b5fce1d0 – –Error:-9: Error message Requesting URN - Step 1 (cont’d)

NBN: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 task – – Requesting URN - Step 2

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Finalizing the request Finalizing the request – – lanum.oszk.hu/proba.html &urn=urn:nbn:hu-3006 &tid=3291d4fcf5b5fce1d0 Requesting URN - Step 3

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth The server checks The server checks –Has the request already been placed –Does the document exist –Is it an HTML document –Does it contain the URN Answer Answer –OK –Error message Requesting URN - Step 3 (cont’d)

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth N2L (URN to URL) N2L (URN to URL) –HTTP request –HTTP coded answer 303 (SEE OTHER): redirects to the appropriate URL. 404 (NOT FOUND): if the URN does not exist Resolving URN

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth L2N (URL to URN) L2N (URL to URN) –HTTP request ml –HTTP coded answer Text (eg. urn:nbn:hu-3006). 404 ( FOUND): if it does not exist. Resolving URN (cont’d)

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth N2Ls (URN to URLs) N2Ls (URN to URLs) –HTTP request urn:nbn:hu-3006 –HTTP 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)

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Changing the URN - URL assignment Changing the URN - URL assignment –This is also a three step process The document must exist in both the old and the new URLThe document must exist in both the old and the new URL Deleting the URN - URL assignment Deleting the URN - URL assignment –This is also a three step process The document itself can only be deleted after the deletion of the URN - URL assignmentThe document itself can only be deleted after the deletion of the URN - URL assignment Other functions

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Request and modification for dynamic pages Request and modification for dynamic pages – – ?url= tml &nocheck=1 Server Server –Does not check the existence of the document Other functions (cont’d)

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Bulk generation of URN’s is also possible Bulk generation of URN’s is also possible –Sample scripts written in Python are provided for the users Other functions (cont’d)

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth The functions can be invoked from a web interface The functions can be invoked from a web interface –Test request is also possible –The interface is bilingual: Hungarian and English The web interface also contains background material: user guide, the source of the application, sample script etc. The web interface also contains background material: user guide, the source of the application, sample script etc. Web interface

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth PHP for the interface PHP for the interface Java servlets for the functions Java servlets for the functions PostgreSql is the database PostgreSql is the database It is an open source application It is an open source application Technical background

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Hungarians Hungarians –How can we ensure this Only the Hungarian interface works on the production databaseOnly the Hungarian interface works on the production database The English interface works on the development database. The purpose of the English interface is to make our results more widely available.The English interface works on the development database. The purpose of the English interface is to make our results more widely available. Intended users

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Copies of the same object should have the same URN Copies of the same object should have the same URN Different versions of the same object, e.g. in MS Word and HTML shall have different URNs. Different versions of the same object, e.g. in MS Word and HTML shall have different URNs. If an object is changed, a new URN only needs to be assigned if the intellectual content of the object changes. Editorial changes (e.g. changes to fonts etc.) do not necessitate a change of URN. If an object is changed, a new URN only needs to be assigned if the intellectual content of the object changes. Editorial changes (e.g. changes to fonts etc.) do not necessitate a change of URN. Guidelines for the request

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth We build a database on the THTTP resolvers. We build a database on the THTTP resolvers. –The OPAC display program consults with this database and sends the URN to the appropriate resolver. Resolving URN in the OPAC

NBN:URN Generator and Resolver - ERPANET Workshop, Cork - Ádám Horváth Thank you for your attention