OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin...

43
OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum

Transcript of OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin...

Page 1: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

OAi-Protokoll: Data Provider, Service Provider

Uwe MüllerHumboldt-Universität zu Berlin

Rechenzentrum

Page 2: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-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

Page 3: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 4: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 5: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 6: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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!

Page 7: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

26.11.01 HU Berlin, Rechenzentrum, Uwe Müller

7

OAi-Protokoll: Aufbau

Data Provider

Data Provider

Data Provider

ServiceProvider

HTTPAnfrage

XML

Page 8: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 9: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 10: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 11: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 12: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 13: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 15: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 16: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

26.11.01 HU Berlin, Rechenzentrum, Uwe Müller

16

Data Provider: Voraussetzungen

Gespeicherte Metadaten– Dateisystem– Datenbank

Webserver– Apache, IIS

Programmiererweiterung– CGI, PHP, JavaServlets

Page 17: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 18: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 19: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 20: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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– ...

Page 21: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 22: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 23: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 24: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 25: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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)

Page 26: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 27: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 28: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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)

Page 29: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 30: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 32: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 33: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 34: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 35: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

26.11.01 HU Berlin, Rechenzentrum, Uwe Müller

35

Datenbanksystem– Sybase– einfaches Datenmodell

Programmiersprache– PHP4

Benutzerschnittstelle– Web-Formular

Service Provider: Realisierung

Page 36: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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)

Page 37: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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)

Page 38: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 39: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 40: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 41: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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

Page 43: OAi-Protokoll: Data Provider, Service Provider Uwe Müller Humboldt-Universität zu Berlin Rechenzentrum.

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