persistent identifier und metadaten für digitalen...
TRANSCRIPT
Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen
Am Fassberg, 37077 Göttingen
Fon: 0551 201-1510 Fax: 0551 [email protected] www.gwdg.de
von
Anwendung und Programmierung im Grid
(Aufgabenblatt 10)
Persistent Identifier & Metadaten für digitalen Objekte
Tibor Kálmántibor [dot] kalman [at] gwdg [dot] de
Daniel Kurzawedaniel [dot] kurzawe [at] gwdg [dot] de
Agenda
Motivation Eindeutiger Identifikator
• PID-Service- RESTful Web Service
• Aufgabe 1 Metadaten von digitalen Objekten
• File Information Tool Set• Aufgabe 2
Beispiele
Motivation (1)
Grids und Clouds: können auch als Datenspeicher dienen Einheitliche Schnittstelle zum Speichersystem
• Technologieunabhängig gestaltet (s. letzte Übungen)
• Somit von der konkret eingesetzten Gridinfrastruktur abstrahiert
• Ein Austausch zu grundeliegenden Speichertechnologie ist ”jederzeit” möglich
Java Klasse, die Zugriff auf ein Datengrid liefert• mit Hilfe von JavaGAT und WebDAV• ermöglicht, dass auf die gespeicherten digitalen Objekte
auch mit gängigen Tools zugegri en werden kann (Web- ffund Dateisystem-browsern)
• Ein Uniform Resource Identifier (URI) wird dabei benutzt (URI: die Adresse unter der ein digitales Objekt abgelegt wurde)
Node Node NodeNode
Middleware 2 Middleware 3
Node Node
HDD HDD HDD HDD HDD HDD
Middleware 1
JavaGAT
WebDAV
Web-Browser Datei-Browser
Einheitliche Schnittstelle zum Speichersystem(Lösung des Aufgabenblattes 9)
Bei Änderung: neue Adresse
Node Node NodeNode
Middleware 2 Middleware 3
Node Node
HDD HDD HDD HDD HDD HDD
Middleware 1
JavaGAT
WebDAV
http://provider1/server1/path1/file1 http://providerX/serverX/pathX/fileX
Motivation (2)
Uniform Resource Identifier (URI): die Adresse unter der ein digitales Objekt abgelegt wurde• Die Adresse wird oft nicht dauerhaft erhalten (wegen
Datenmigration, usw.)• nach jeder Änderung ist das digitale Objekt unter einer
neuen Adresse erreichbar
Es ist nicht möglich, die digitalen Objekte langlebig mit URIs zu referenzieren!
Motivation (3)
Auffinden von gespeicherten Daten:• Bilder, Mediadatein, Pdf, usw.• Suche bei digitalen Objekten?
Es ist nicht möglich, die digitalen Objekte einfach aufzufinden!
Ziel des Aufgabenblattes 10
”Management” von Daten• Eindeutige und dauerhafte Erreichbarkeit von digitalen
Objekten (Zitierbarkeit von wissenschaftlichen Daten)→ Persistenter Identifikator
• Suche (Einfaches Auffinden von digitalen Objekten)→ Extrahieren von Metadaten und → Suche mit Hilfe von Metadaten
Neue Schicht: Persistent Identifier
Node Node NodeNode
Middleware 2 Middleware 3
Node Node
HDD HDD HDD HDD HDD HDD
Middleware 1
JavaGAT
WebDAV
http://pidservice/identifier1
http://providerX/serverX/pathX/fileX
Persistent Identifier with Metadata
Agenda
Motivation Eindeutiger Identifikator
• PID-Service- RESTful Web Service
• Aufgabe 1 Metadaten von digitalen Objekten
• File Information Tool Set• Aufgabe 2
Beispiele
Persistenter Identifikator
Strategie für eindeutige und dauerhafte Identifikatoren im WWW: Persistent IDentifier (PID)
• Digitale Objekte sind im Repositories registriert
• Mit einem Identifikator, der sich nie ändert (PID)
• Die unterliegende Systeme können sich ändern ("living organisms")
• Eine Migration ist auf verschiedenen Ebenen möglich
Für die Vergabe, Verwaltung und Auflösung von PIDs: • Ein allgemein vereinbarter Prozess ist nötig
• Handle System, ähnlich wie das Domain Name System (DNS)
Es ist möglich, die digitalen Objekte langlebig mit PIDs zu zitieren!
Vergabe und Auflösung
Vergabe, Verwaltung und Auflösung von einem persistenten Identifikator (Beispiel DOI):
http://dx.doi.org/10.1007/s10723-009-9134-3• http://www.springerlink.com/content/wm45432131n4v6g8/
http://pubman.mpdl.mpg.de/pubman/item/escidoc:218009:2 Identifiers
• eDoc: 442632- http://edoc.mpg.de/442632
• ISI: 000272244900005- http://gateway.isiknowledge.com/...
• ISSN: 1570-7873
• DOI: 10.1007/s10723-009-9134-3- http://dx.doi.org/10.1007/s1....
Source: www.doi.org
PID Service
Seit 2009 läuft bei der GWDG (für die Max Planck Gesellschaft) ein PID-service
Basierend auf dem Handle System (http://www.handle.net/)
Ziel: Erzeugen, Verwalten und Auflösen von Identifikatoren von Forschungsdaten (wissentschaftlichen digitalen Objekten)
Zusammen mit anderen europäischen Partnern wurde ein Konsortium gebildet, um diese Dienstleistungen der europäischen Wissenschaftlern anbieten zu können• European Persistent Identifier Consortium (EPIC)• http://www.pidconsortium.eu/
Syntax of the Handles
For the resolution of PIDs one needs a commonly agreed process• worldwide handle (PID) framework
GWDG uses the prefix the number 11858 http://handle.gwdg.de:8000/ This is integrated into the general and worldwide handle
framework and the central handle service delegates all requests for resolution concerning prefix 11858 to the GWDG
http://hdl.handle.net/11858/00-ZZZZ-0000-0001-40B9-9
Syntax of the Handles
11858/00-XXXX-0000-0000-0000-C prfix/fg-inst-num1-num2-num3-c
the meaning of these fields above is:• prfix is the handle prefix, which is fixed to 11858• fg is a uppercase hexadecimal flag, that can be used
for special purposes, to be defined later(derived handles etc)
• inst is a field with alphanumerical uppercase digits and describes the institution responsible for registration of the handle,
• num1-num2-num3 are 12 bytes, coded in uppercase hexadecimal digits with delimiters
Der GWDG PID-Service
Zugriff• Suchen, Auflösen von PIDs(=Handles): frei zugänglich
• Erzeugung von neuen PIDs und Verwaltung von existierenden PIDs: Authentifizierung und Authorisierung notwendig
• Passwd: Studiaccount + pbsuser-Passwort (wie im Grid)
Interfaces:• (Native) Handle Interface
- [RFC3652] Handle System Protocol
- [RFC3651] Handle System Namespace and Service Definition
• Webinterface:- REST-basiertes Web Services Interface
- http://hdl-test.gwdg.de:8080/pidservice/
Agenda
Motivation Eindeutiger Identifikator
• PID-Service- RESTful Web Service
• Aufgabe 1 Metadaten von digitalen Objekten
• File Information Tool Set• Aufgabe 2
Beispiele
RESTful Web Services
Representational State Transfer (REST) was first introduced by Roy Fielding• co-founder of the Apache HTTP Server project, was
the chair of the Apache Software Foundation, member of the interim OpenSolaris Boards, involved in the development of HTML and Uniform Resource Identifiers
"Architectural Styles and the Design of Network-based Software Architectures" (dissertation, 2000)• describes REST as a key architectural principle of the
World Wide Web• analyzes a set of software architecture principles that
use the Web as a platform for distributed computing
REST Design Principles
Basic design principles of REST:
1) Use standard HTTP methods2) Be stateless3) URIs should be intuitive4) Client chooses the data format (XML, JSON)
Design: (1) HTTP Methods
To create a PID (=resource) on the server• use POST
To resolve a PID (=retrieve a resource)• use GET
To modify a PID (=change the state of a resource or to update it)• use PUT
To remove a PID (=delete the resource)• use DELETE
Design: (1) HTTP Methods
PID-Service for the course: To create a PID (=resource) on the server
• use POST To resolve a PID (=retrieve a resource)
• use GET To modify a PID (=change the state of a resource or to
update it)• use PUT use POST
To remove a PID (=delete the resource)• use DELETE PID is persistent: cannot be removed!
Design: (2) Be Stateless
Services need to scale to meet increasing performance demands
To decrease the overall response time of a Web service• Special topology of servers: server clusters or
infrastructures for load-balancing and failover • Requests can be forwarded from one server to the other
- no state or context held locally → simplified design and implementation
• Web service clients have to send complete, independent requests - requests must include all data (parameters, context) needed by the server-
side component to generate a response
- within the HTTP headers and body of a request
Design: (2) Be Stateless
Service with state:Grid job submission
Service without state:PID-Service
Source: www.ibm.com
Design: (3) URIs should be intuitive
URI: addressing resources• describes the location of something anywhere in the
world from anywhere in the world URI should require little, if any, explanation to
understand what it points to URI should be straightforward, predictable, and easily
understood One way to achieve this usability is to define URIs like a
directory structure
Design: (3) URIs should be intuitive
World wide Handle system:• http://hdl.handle.net/11858/00-ZZZZ-0000-0001-40B9-9
PID-Service root• http://hdl-test.gwdg.de:8080/pidservice/
URIs like a directory structure:• http://hdl-test.gwdg.de:8080/pidservice/write/create
• http://hdl-test.gwdg.de:8080/pidservice/write/modify
• http://hdl-test.gwdg.de:8080/pidservice/read/view
• http://.../pidservice/read/view/pid/11858%2F00-ZZZZ-0000-0000-0229-F
Instead of this, use parameter 'pid=':
• http://hdl-test.gwdg.de:8080/pidservice/read/view?pid=11858%2F00-ZZZZ-0000-0000-0229-F
Design: (4) Client Chooses the Data Format
This allows a variety of clients written in different languages running on different platforms and devices
Using MIME types and the HTTP Accept header (content negotiation) lets clients choose which data format is right for them
minimizes data coupling between the service and the applications that use the service
XML or JavaScript Object Notation (JSON)
Design: (4) Client Chooses the Data Format
PID-Service: Request: XML, Response: XML Parameter in HTTP request: encoding='xml'
Aufgabe 1
Aufgabe 1
Ihr solltet für eure gespeicherten digitalen Objekte persistente Identifikatoren vergeben (create Methode)• Dazu könnt ihr die URIs (URI = die Adresse unter der
eure “Forschungsdaten“ abgelegt wurden) von eurer WebDAV-Lösung benutzen
Die Applikation soll die Metadaten eines persistenten Identifikators (PID) anzeigen können
Die Applikation soll durch Verwaltung der persistenten Identifikatoren die Änderung der Adresse eines Objektes umsetzen (modify Methode)
Beispiel: Listing 5
Backup slides zum PID-Service
Agenda
Motivation Eindeutiger Identifikator
• PID-Service- RESTful Web Service
• Aufgabe 1 Metadaten von digitalen Objekten
• File Information Tool Set• Aufgabe 2
Beispiele
"Metadaten sind maschinenlesbare Informationen über elektronische Ressourcen oder andere
Dinge"
Tim Berners-Lee, Erfinder des World Wide Web und Direktor des W3C
Metadaten
Daten über Daten Unterstützten bei der Organisation von Dokumenten und
Kollektionen Vereinheitlichen Zugriff auf Informationen Format ist Kontextabhängig Inhalt hängt vom Anwendungsbereich ab
Typisierung von Metadaten
Deskriptive Metadaten:• Beschreibt Informationsinhalte (z.B. Handle,
Bibliografische Attribute) Strukturelle Metadaten:
• Die Struktur des Dokuments (z.B. Kapitel, Inhaltsverzeichnis)
Administrative Metadaten:• Technische Daten (z.B. Auflösung, Bit-Tiefe)
Beispiel Musiksammlung (1)
Song_1.mp3
Hoho(2).mp3
Xyz.mp3
Gute Musik
● Dateinamen geben nur begrenzt Information über Inhalt● Dateiorganisation geben nur begrenzt Information über Strukturierung
Beispiel:● Musikdateien in einen Ordner kopieren● Inhalt? → Dateiname● Strukturierung? → Verzeichnisbaum
Interpret Album Genre
File 1
...
File n
Beispiel Musiksammlung (2)
Mehrere Sammlungen werden betrachtet (etwa mehrere Musikordner)
Strukturierung über den Inhalt ist mit Hilfe von Metadaten möglich
Informationen in der Tabelle werden aus der Metadaten generiert
Filtering: es können mehrere Eigenschaften betrachtet werden
Beispiel Musiksammlung (3)
Lösung: ID3-Tag (Identify an MP3-Tag)• Existiert nur bei einigen Formaten (mp3)
… was ist mit WMA, Ogg Vorbis, AAC?• TagLib Audio Meta-Data Library
Metadaten helfen bei Strukturierung Sie müssen aber standardisiert werden
Standards
Heterogene Landschaft
Umfrage unter 8 Instituten aus dem DARIAH-EU Projekt
Dublin Core (DC)
Es ist ein ”Minimalformat” beinhaltet nur Eigenschaften, die bei den meisten
Objekten vorkommen:• ID• Technische Daten• Beschreibung des Inhalts• Personen und Rechte• Vernetzung• Lebenszyklus
Dublin Core Beispiel (in XML)
Tools
Die wichtigsten Fragen, die JHOVE beantworten kann:• Identifikation des Formats
- In welchem Format liegt das Objekt x vor?• Format Validierung
- Liegt das Objekt x im Format f vor?- Erfüllt das Objekt x das Profil von Format f?- Passt f zum Objekt x zu dem externen
Metadatenschema s?• Format Charakterisierung
- Was sind die entscheidenden Merkmale von x? (z.B. beim Buch: Autor)
File Information Tool Set (FITS)
Beinhaltet 8 Tools:• Jhove• Exiftool• BLNZ• File Utility• DROID• FFIdent• File Info• XmlMetadata
FITS XML Ausgabe
Mapping
TEI in TextGrid
Aufgabe 2
Aufgabe 2
Ihr solltet die Applikation so erweitern, dass sie Metadaten von digitalen Objekten auslesen und verwalten kann:• Zum Auslesen der Metadaten stehen mehrere Tools
zur Verfügung, die FITS API vereint 8 dieser Programme
• Diese Metadaten sollen beim der Erzeugung und Verwaltung eines eindeutigen Identifikators angegeben werden (Metadatenverwaltung)
• Ein sehr einfaches Mapping (Autor, Title, Checksum) Beispiel: Listing 6