OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin...
-
Upload
kristian-dressler -
Category
Documents
-
view
218 -
download
0
Transcript of OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin...
OAi-Protokoll: Data Provider, Service Provider
Uwe MüllerHumboldt-Universität zu Berlin
Rechenzentrum
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
2
Überblick
OAi-Protokoll Data Provider
– Voraussetzungen und Vorüberlegungen– Realisierung Humboldt-Universität zu Berlin– Spezielle Probleme
Service Provider– Vorüberlegungen– Realisierung– Problemfelder
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
3
OAi-Protokoll
Austauschprotokoll für Metadaten basiert auf offenen Standards
– HTTP, XML, Dublin Core Vernetzung heterogener Dokumenten-
Archive mit Service-Anbietern– Suchmaschinen
2 Klassen von Teilnehmern– Data-Provider, Service-Provider
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
4
OAi-Protokoll: Definitionen
Repository– über Netzwerk verfügbarer Server, der OAi-
Anfragen akzeptiert Record
– XML-codierte Antwort einer OAi-Anfrage nach einem Metadatensatz für ein Dokument („item“: Objekt)
Unique Identifier– eindeutiger Schlüssel, der den Metadatensatz
eines Objektes in einem Repository referenziert
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
5
OAi-Protokoll: Definitionen (2)
Datestamp– Zeitpunkt der letzten Änderung eines Objekts,
die sich auf die Metadaten ausgewirkt hat Set
– Konstrukt zum Gruppieren von Objekten in einem Repository
– Ermöglichen selektiver Anfragen– optional
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
6
OAi-Protokoll: Eigenschaften
leichte Implementierbarkeit– Aufwand Data-Provider << Service-Provider
geringe Anforderungen an Archiv– formale / inhaltliche Struktur (Hierarchie ...)– Metadaten
hohe Allgemeingültigkeit– kaum Vorgaben / Empfehlungen
Qualifizierte Recherche nur mit Zusatzvereinbarungen möglich!
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
7
OAi-Protokoll: Aufbau
Data Provider
Data Provider
Data Provider
ServiceProvider
HTTPAnfrage
XML
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
8
OAi-Protokoll: Anfragen
6 unterschiedliche Anfragetypen:(Argumente in Klammern, [optionale Argumente])
Identify ()– Informationen über Archiv
ListSets ()– Hierarchie des Archivs (Untermengen etc.)
ListIdentifiers ([until], [from], [set])– Liste der eindeutigen Bezeichner von
Datensätzen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
9
OAi-Protokoll: Anfragen (2)
ListMetadataFormats ([identifier])– Verfügbare Metadatenformate
ListRecords ([until], [from], [set], metadataPrefix)– Datensätze des Archivs
GetRecord (identifier, metadataPrefix)– ein Datensatz
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
10
OAi-Protokoll: Flusskontrolle
ResumptionToken– exklusives Argument für
ListSets, ListIdentifiers, ListRecords– ermöglicht begrenzte Antwort-Mengen– wird bei weiterer Anfrage als einziges
Argument verwendet
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
11
OAi-Protokoll: Flusskontrolle (2)
Beispiel:
ServiceProvider
Data Provider
ListRecords (from:2001-01-01)
100 Records, ResumptionToken:r86
ListRecords (ResToken:r86)
100 Records, ResumptionToken:q54
ListRecords (ResToken:q54)
77 Records
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
12
OAi-Protokoll: Sets
Gruppieren von Dokumenten / Objekten optional keine Empfehlungen weder erschöpfend noch streng hierarchisch
– Dokumente, die in keinem Set vorkommen– überlappende Sets
z.B. fachliche und formale Unterteilung
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
13
OAi-Protokoll: Metadaten
Mindestanforderung: – Dublin Core
beliebige andere Metadatensätze– OAi – MARC– RFC 1807
eigene Metadatensätze– fachspezifisch
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
14
OAi-Protokoll: Informationen
Offizielle Internet-Seiten– www.openarchives.org
Repository-Explorer bei Virginia Tech– oai.dlib.vt.edu/cgi-bin/Explorer/oai1.1/testoai
Mailing-Listen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
15
Archiv von Objekten stellt Metadaten über OAi zur Verfügung Policy! muss HTTP-Anfragen beantworten können liefert Antworten in XML-Syntax
Data Provider
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
16
Data Provider: Voraussetzungen
Gespeicherte Metadaten– Dateisystem– Datenbank
Webserver– Apache, IIS
Programmiererweiterung– CGI, PHP, JavaServlets
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
17
Data Provider: Vorüberlegungen
Metadaten– Welche Daten / Metadatensatz– Art der Speicherung (Datenmodell etc.)
Definitionen– Identifier für Archiv, offizieller Name– Eindeutige Dokumentbezeichner– Set-Benennungen– Basis-URL
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
18
Data Provider: Dokumente
Dokumentenserver der Humboldt-Universität– dochost.rz.hu-berlin.de
ca. 600 Dokumente im Volltext– Dissertationen, Habilschriften, Konferenzbände,
Öffentliche Vorlesungen, ... Metadaten
– werden im Geschäftsgang erfasst– Dublin Core
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
19
Data Provider: Identifier
Archiv-Identifier– HUBerlin (oai:HUBerlin)
eindeutige Bezeichner für Records– dokumenttyp:name-vorname-yyyy-mm-dd
Beispiel– oai:HUBerlin:dissertationen:dissertationen:kemps-christoph-2000-06-18
Bestrebungen der Vereinheitlichung– z.B. oai:de.hu-berlin.rz.dochost
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
20
Data Provider: Set-Definitionen formale Unterteilung nach Dokumenttyp
– Dissertationen– Konferenzbände– ...
fachliche Unterteilung nach der DNB– Medizin– Biologie– ...
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
21
Data Provider: Realisierung
Metadaten– in Datenbank gespeichert (Sybase)– sehr einfaches Datenmodell
Webserver– Apache unter Solaris
Programmiererweiterung– PHP4– Modulare Struktur
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
22
Data Provider: Realisierung (2)
PHP-Script verarbeitet HTTP-Anfrage Parsen des QueryStrings
– Anfragetyp (Identify, ListRecords ...)– Parameter (from, set, identifier ... )
Erzeugen einer DB-Anfrage Lieferung des Ergebnisses als XML evtl. Fehlermeldung
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
23
Data Provider: Datenmodell
MetadatenURL
DNBSpracheDatum
AbstractKeywords
TitelAutor
DNBNummer
Bezeichnung
vorhandene Datenbank sehr einfaches Datenmodell
– eine Tabelle muss evtl. erweitert werden
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
24
Data Provider: Architektur
DBS
HTTP-Server
PHP
Tabellen-zeilen
SQL-Anfrage
XML
HTTP-Anfrage
Browser /Service Provider
FS
Data-Provider
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
25
Data Provider: ResumptionToken
muss nicht implementiert werden keine offiziellen Empfehlungen für Größe
der Teillieferungen bei großen verfügbaren Datenmengen aber
sinnvoll (z.B. www.myarchiv.de/OAI?verb=List
Records&metdataPrefix=oai_dc liefert alle Metadaten des Archivs)
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
26
Data Provider: ResumptionToken (2)
serverseitige „Zwischenspeicherung“ von Anfragen bzw. Ergebnissen
eindeutige Zuordnung der Resumption-Token zu den gespeicherten Daten
1. Möglichkeit: – Anlegen einer Datenbanktabelle pro Anfrage
2. Möglichkeit: – Lokale Speicherung der Anfrage
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
27
Data Provider: ResumptionToken (3)
für Dokumentenserver der HU (noch) nicht erforderlich
trotzdem implementiert lokale Datei
– Parameter der Anfrage– Anzahl der schon gelieferten Datensätze
wird nach Anfrage mit ResumptionToken ausgewertet und gelöscht
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
28
Data Provider: ResumptionToken (4)
Lieferung umfasst maximal– 50 Datensätze (ca. 200kB) oder– 200 Identifier
automatisiertes Löschen der nicht „abgeholten“ ResumptionToken (Cron-Job)
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
29
Data Provider: Anpassung
Aufwand hängt ab von– Erfüllung der technischen Voraussetzungen
Programmiererweiterung– Datenmodell– Metadatensatz– Datenbank– Verwendete Identifier / URLs– Eigene Set-Definitionen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
30
Data Provider: Anpassung (2)
Datenbank– evtl. Tabelle erzeugen, Daten einstellen
DB-Schnittstelle– Zugriffsfunktionen anpassen (z B. mySQL)– Anfragen
Identifier, Set-Benennungen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
31
Data Provider: Informationen
Offizielle Seite– dochost.rz.hu-berlin.de/oai/
Beispiele– dochost.rz.hu-berlin.de/oai/test.html
Download des Scripts– dochost.rz.hu-berlin.de/oai/huberlin-script.tar.gz
Email– [email protected]
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
32
stellt Service nach „außen“ zur Verfügung muss HTTP-Anfragen an Data Provider
generieren und XML auswerten können muss Daten zwischenspeichern
– Online-Anfragen zu langsam eigene Datenstruktur! hält i.d.R. nur die Metadaten vor
Service Provider
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
33
Service Provider: Voraussetzungen
Datenbanksystem– Speicherung der Metadaten
Programmiersprache– Einbettung von HTTP-Anfragen– Parsen, Auswerten von XML-Code– Datenbankzugriff
Benutzerschnittstelle
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
34
Metadatenformate– Dublin Core– weitere
Erfassen von Metadaten– nur Veränderungen – jedes mal alles neu abholen
Sets der abgefragten Data-Provider
Service Provider: Vorüberlegungen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
35
Datenbanksystem– Sybase– einfaches Datenmodell
Programmiersprache– PHP4
Benutzerschnittstelle– Web-Formular
Service Provider: Realisierung
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
36
Erfassen von Archivnamen (Basis-URL)– Benutzereingabe an Web-Formular (Administrator)
Speichern von Metadaten eines Archivs– durch Benutzerinteraktion ausgelöst (Administrator)– PHP-Script sendet HTTP-Anfragen
ListSets, ListIdentifiers, ListRecords– Auswertung: Nur DC-Datensätze– eingebauter XML-Parser– Vorverarbeitung der Daten– speichert Daten in DB (vorheriges Löschen)
Service Provider: Realisierung (2)
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
37
Vorverarbeitung der Daten– Normalisierung– Zusammenfassen von Multi-Value-Elementen
Suche– Web-Schnittstelle– Kriterien: DC-Elemente
Service Provider: Realisierung (3)
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
38
Service Provider: DatenmodellMetadaten
title
formaturl
publisherdescription
datecreator
OAi-Servername
countryemail
url
OAi-Setserver-id
setnamesetspec
Setmemberrecord-id
set-id
Languagerecord-id
name
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
39
Service Provider: Architektur
DBS
HTTP-Server
PHP
SQL
„Metadatenspeichern“
Admin
Data-Provider
HTTP-Anfrage
XML-Antwort Vorver-
arbeitung
Service-Provider
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
40
Normalisierung– Sprache (ger, de, deutsch, german, ...)– Datum (2001-11-26, 2001, 2001-xx-xx, Nov-11-2001)
Multi-Value-Attribute– Autor, URL, ...– XML-Datenbank?
Set-Definitionen– unterschiedliche Semantik
Scheduler Error 503 Flow Control
Service Provider: Probleme
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
41
Service Provider: Anpassung
Aufwand hängt von gleichen Faktoren ab wie bei Data-Provider, außerdem:– Art der Archive– Einheitlichkeit der Set-Benennungen– Berücksichtigung von Metadatensätzen
Hinzufügen neuer Archive– sehr geringer Anpassungsaufwand
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
42
Suchmaschine– www.dini.de/dinioai/dinioai.php3
Email– [email protected]
Service Provider: Informationen
26.11.01 HU Berlin, Rechenzentrum, Uwe Müller
43
Vielen Dank ...
Fragen?
Weitere Informationen:– Uwe Müller
[email protected].: 0 30 / 20 93 - 25 46http://dochost.rz.hu-berlin.de