SlideShare ist ein Scribd-Unternehmen logo
Stand und Planungen im Bereich der
Schnittstellen in der VZG
Jakob Voß
28. August 2013, 17. Verbundkonferenz des GBV
Schnittstellen Allgemein
Patrons Account Information API (PAIA)
Strategie und Planungen
Section 1
Schnittstellen Allgemein
Schnittstellen
Wofür werden Schnittstellen benutzt?
▶ Daten rein (Katalogdaten ändern…)
▶ Daten raus (Titeldaten suchen, Status abfragen…)
▶ Aktion anstoßen (Medium vormerken…)
…und zwar automatisierbar (das Gegenteil von Geschäftsgang)!
Schnittstellen
Arten von Schnittstellen
▶ Nutzerschnittstellen / Benutzeroberflächen
▶ Interne Programmierschnittstellen
▶ Web-APIs / Web-Services
Technische Umsetzung
▶ Meist JSON oder XML über HTTP[S]
▶ Meist einfache URL-Anfragen (GET/POST):
http://example.org/etwas/damit?machen=los
Buzzwords: REST, Mashup, Web 2.0, SOA …
Serviceorientierter Architektur
Vorteile
▶ Grundfunktionen kombiniertbar (“Lego-Bausteine”)
▶ Unabhängig von Komponenten hinter der Schnittstelle
▶ z.B. RSS/Atom, SRU, OAI-PMH… aus beliebigen Systemen
▶ z.B. DAIA an LBS3, LBS4, Koha, aDIS/BMS…
Nachteile
▶ Schnittstellen müssen sauber spezifiziert werden
▶ Schnittstellen mussen sauber implementiert werden
Saubere Schnittstellen
▶ Einfach zugänglich: öffentlich und frei über HTTP(S)
▶ Gut dokumentiert: genaue Spezifikation
▶ Unabhängig voneinander: klar abgegrenzter Zweck
Saubere Schnittstellen
Technische Spezifikation
▶ Nicht zu komplex (überschaubar)
▶ Nicht zu ungenau (formal und exakt)
▶ Nicht zu abstrakt (wenige Freiheitsgrade)
▶ Nicht zu speziell (unabhängig von Software, Sprache…)
▶ Nicht zu allgemein (ein Anwendungsfall pro API)
Umsetzung
▶ Getestet (manuell und automatisch)
Bei PAIA: Spezifikation durch VZG, Implementierung jeweils durch
shiphrah GmbH und effective WEBWORK GmbH.
Section 2
Patrons Account Information API (PAIA)
Figure: Paia, Hawaii1
1
CC-BY-SA by Skier Dude, Wikimedia Commons
Motivation
Schnittstelle zum Nutzerkonto
▶ Anzeige von Ausleihen, Vormerkungen, Gebühren…
▶ Ausführen von Vormerkungen und Bestellungen
▶ Passwort ändern
Anwendung
▶ BibApp
▶ VuFind
▶ freie Verwendung
Benachrichtigungssysteme, Lernumgebungen, Skripte, Apps…
PAIA Spezifikation
Öffentlich unter http://gbv.github.io/paia/
Abstraktion von Ausleihsystemen (keine PICA-Besonderheiten)
PAIA besteht aus zwei Teilen:
▶ PAIA auth (Zugangsdaten)
z.B. https://paia.gbv.de/isil/DE-Hil2/auth/methode
▶ PAIA core (Nutzerkonto)
z.B. https://paia.gbv.de/isil/DE-Hil2/core/methode
JSON-Antwort auf Methode und Anfrage-Parameter
PAIA auth
HTTP POST login Zugriff gewähren (Nutzername und Passwort)
HTTP POST logout Zugriff entziehen
HTTP POST change Passwort ändern
▶ Mit jedem login ein neues access_token
▶ Token gilt für begrenzte Zeit, Nutzer und Aktionen (scopes)
z.B. nur Lesezugriff, nur ein bestimmter Nutzer …
▶ Kompatibel mit dem OAuth-Standard
PAIA auth
Keine Nutzernummern oder -Passwörter in PAIA core.
PAIA core
Zugriff auf das Benutzerkonto:
HTTP GET patron Nutzerinformationen (Name, Email, Status)
HTTP GET items Nutzerkonto (Ausleihen, Vormerkungen…)
HTTP GET fees Gebühren
HTTP POST request Vormerkung, Bestellung…
HTTP POST renew Verlängerung
HTTP POST cancel Stornierung
Aktuelle Umsetzung
▶ LBS-Screenscraping von effective WEBWORK GmbH
▶ Nativer Server (LBS3-Protokoll) von shiphrah GmbH
▶ Proxy http://paia.gbv.de/ für saubere URLs
▶ z.B. http://paia.gbv.de/isil/DE-Hil2/auth
Section 3
Strategie und Planungen
Schnittstellen-Übersicht
Schnittstellen im GBV-Wiki: http://ws.gbv.de/
SRU und Z39.50 für Suche und Abruf von Datensätzen
unAPI für den Abruf einzelner Datensätze
SeeAlso für den Abruf von Links und Empfehlungen
DAIA für den Abruf von Verfügbarkeitsinformationen
PAIA für Zugriff auf Benutzerkonten
Linked Data für Standortverwaltung und Datenbankinfos
Je Konfiguration, desto Aufwand.
Grundsätze
▶ Saubere Schnittstellen brauchen Zeit für Entwicklung,
Dokumentation und Tests
▶ Einheitliche Identifier (URIs) für Objekten in allen
Schnittstellen
z.B. basierend auf ISIL für Bibliotheken
▶ Wichtig zu klären:
▶ Was für Objekte haben wir eigentlich?
▶ Was für Grundfunktionen brauchen wir?
Nächste Schritte
▶ DAIA ausbauen und Konfiguration vereinfachen
▶ PAIA für LBS3 + LBS4 sowie in VuFind
▶ Mehr Clients für Schnittstellen programmieren
▶ Prioritäten für weitere Schnittstellen klären
▶ …
…5 Jahre zuvor
Jakob Voß (Mai 2008 in Frankfurt):
Mit Webservices zum Katalog 2.0. Warum Mashups und
Serviceorientierte Architektur mehr als Buzzwords sind
http://de.slideshare.net/nichtich/
mit-webservices-zum-katalog-20

Weitere ähnliche Inhalte

Andere mochten auch

Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
Jakob .
 
Einheitliche Normdatendienste der VZG
Einheitliche Normdatendienste der VZGEinheitliche Normdatendienste der VZG
Einheitliche Normdatendienste der VZG
Jakob .
 
The original hypertext system and Wikipedia
The original hypertext system and WikipediaThe original hypertext system and Wikipedia
The original hypertext system and Wikipedia
Jakob .
 
Linked Open Data in Bibliotheken, Archiven & Museen
Linked Open Data in Bibliotheken, Archiven & MuseenLinked Open Data in Bibliotheken, Archiven & Museen
Linked Open Data in Bibliotheken, Archiven & Museen
Jakob .
 
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-OntologienBeschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
Jakob .
 
Connections that work: Linked Open Data demystified
Connections that work: Linked Open Data demystifiedConnections that work: Linked Open Data demystified
Connections that work: Linked Open Data demystified
Jakob .
 
ET12 - EX2 - Snapchat
ET12 - EX2 - SnapchatET12 - EX2 - Snapchat

Andere mochten auch (7)

Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
Verwaltung dokumentenorientierter DTDs für den Dokument- und Publikationsserv...
 
Einheitliche Normdatendienste der VZG
Einheitliche Normdatendienste der VZGEinheitliche Normdatendienste der VZG
Einheitliche Normdatendienste der VZG
 
The original hypertext system and Wikipedia
The original hypertext system and WikipediaThe original hypertext system and Wikipedia
The original hypertext system and Wikipedia
 
Linked Open Data in Bibliotheken, Archiven & Museen
Linked Open Data in Bibliotheken, Archiven & MuseenLinked Open Data in Bibliotheken, Archiven & Museen
Linked Open Data in Bibliotheken, Archiven & Museen
 
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-OntologienBeschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
Beschreibung von Bibliotheks-Dienstleistungen mit Mikro-Ontologien
 
Connections that work: Linked Open Data demystified
Connections that work: Linked Open Data demystifiedConnections that work: Linked Open Data demystified
Connections that work: Linked Open Data demystified
 
ET12 - EX2 - Snapchat
ET12 - EX2 - SnapchatET12 - EX2 - Snapchat
ET12 - EX2 - Snapchat
 

Ähnlich wie Stand und Planungen im Bereich der Schnittstellen in der VZG

PHP im High End
PHP im High EndPHP im High End
PHP im High End
Stephan Schmidt
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
Jakob .
 
Personalisierung
PersonalisierungPersonalisierung
Personalisierung
Udo Ornik
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
Jürg Stuker
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS Programmierung
Markus Leutwyler
 
Web 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface LibraryWeb 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface Library
Stephan Schmidt
 
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen UmfeldBarrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
felixnagel
 
PDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für LangzeitarchivierungPDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für Langzeitarchivierung
Gaun IT-Solutions e.U.
 
Wicket Kurzübersicht
Wicket KurzübersichtWicket Kurzübersicht
Log Monitoring at eBay kleinanzeigen (April 2013)
Log Monitoring at eBay kleinanzeigen (April 2013)Log Monitoring at eBay kleinanzeigen (April 2013)
Log Monitoring at eBay kleinanzeigen (April 2013)
Manuel Aldana
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
Jürg Stuker
 
Ajax, Comet & Co.
Ajax, Comet & Co.Ajax, Comet & Co.
Ajax, Comet & Co.
Roman Roelofsen
 
Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020
📊 Markus Baersch
 
Webhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQLWebhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQL
Torben Brodt
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
adesso AG
 
Atom Publishing Protocol
Atom Publishing ProtocolAtom Publishing Protocol
Atom Publishing Protocol
Richard Metzler
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und ReflectionStefan Marr
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
Marc Müller
 

Ähnlich wie Stand und Planungen im Bereich der Schnittstellen in der VZG (20)

PHP im High End
PHP im High EndPHP im High End
PHP im High End
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
 
Personalisierung
PersonalisierungPersonalisierung
Personalisierung
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
GWT
GWTGWT
GWT
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS Programmierung
 
Fit Im Internet
Fit Im InternetFit Im Internet
Fit Im Internet
 
Web 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface LibraryWeb 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface Library
 
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen UmfeldBarrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
Barrierefreie, Java-Script gestützte Webapplikationen im praxisnahen Umfeld
 
PDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für LangzeitarchivierungPDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für Langzeitarchivierung
 
Wicket Kurzübersicht
Wicket KurzübersichtWicket Kurzübersicht
Wicket Kurzübersicht
 
Log Monitoring at eBay kleinanzeigen (April 2013)
Log Monitoring at eBay kleinanzeigen (April 2013)Log Monitoring at eBay kleinanzeigen (April 2013)
Log Monitoring at eBay kleinanzeigen (April 2013)
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
 
Ajax, Comet & Co.
Ajax, Comet & Co.Ajax, Comet & Co.
Ajax, Comet & Co.
 
Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020Tracking-Herausforderungen 2020
Tracking-Herausforderungen 2020
 
Webhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQLWebhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQL
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Atom Publishing Protocol
Atom Publishing ProtocolAtom Publishing Protocol
Atom Publishing Protocol
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und Reflection
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 

Mehr von Jakob .

Linking Folksonomies to Knowledge Organization Systems
Linking Folksonomies to Knowledge Organization SystemsLinking Folksonomies to Knowledge Organization Systems
Linking Folksonomies to Knowledge Organization Systems
Jakob .
 
Encoding Patron Information in RDF
Encoding Patron Information in RDFEncoding Patron Information in RDF
Encoding Patron Information in RDF
Jakob .
 
Libraries in a data-centered environment
Libraries in a data-centered environmentLibraries in a data-centered environment
Libraries in a data-centered environment
Jakob .
 
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...Jakob .
 
FRBR light with Simplified Ontology for Bibliographic Resource
FRBR light with Simplified Ontology for Bibliographic ResourceFRBR light with Simplified Ontology for Bibliographic Resource
FRBR light with Simplified Ontology for Bibliographic Resource
Jakob .
 
RDF-Daten in eigenen Anwendungen nutzen
RDF-Daten in eigenen Anwendungen nutzenRDF-Daten in eigenen Anwendungen nutzen
RDF-Daten in eigenen Anwendungen nutzen
Jakob .
 
Linked Data Light - Linkaggregation mit BEACON
Linked Data Light - Linkaggregation mit BEACONLinked Data Light - Linkaggregation mit BEACON
Linked Data Light - Linkaggregation mit BEACON
Jakob .
 
Revealing digital documents - concealed structures in data
Revealing digital documents - concealed structures in dataRevealing digital documents - concealed structures in data
Revealing digital documents - concealed structures in data
Jakob .
 
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
Jakob .
 
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Jakob .
 
Linked Data: Die Zukunft der Nutzung von Katalogdaten
Linked Data: Die Zukunft der Nutzung von KatalogdatenLinked Data: Die Zukunft der Nutzung von Katalogdaten
Linked Data: Die Zukunft der Nutzung von Katalogdaten
Jakob .
 
We were promised Xanadu
We were promised XanaduWe were promised Xanadu
We were promised Xanadu
Jakob .
 
Quick introduction to the Citation Style Language (CSL)
Quick introduction to the Citation Style Language (CSL)Quick introduction to the Citation Style Language (CSL)
Quick introduction to the Citation Style Language (CSL)
Jakob .
 
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische GeschichteSemantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Jakob .
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Jakob .
 
Einführung in das Semantic Web
Einführung in das Semantic WebEinführung in das Semantic Web
Einführung in das Semantic Web
Jakob .
 
Wikipedia as Knowledge Organization System
Wikipedia as Knowledge Organization SystemWikipedia as Knowledge Organization System
Wikipedia as Knowledge Organization System
Jakob .
 
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIAEinheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
Jakob .
 
Wikipedia as source of collaboratively created Knowledge Organization Systems
Wikipedia as source of collaboratively created Knowledge Organization SystemsWikipedia as source of collaboratively created Knowledge Organization Systems
Wikipedia as source of collaboratively created Knowledge Organization Systems
Jakob .
 
Defining Availability with the Document Availability Information API (DAIA)
Defining Availability with the Document Availability Information API (DAIA)Defining Availability with the Document Availability Information API (DAIA)
Defining Availability with the Document Availability Information API (DAIA)
Jakob .
 

Mehr von Jakob . (20)

Linking Folksonomies to Knowledge Organization Systems
Linking Folksonomies to Knowledge Organization SystemsLinking Folksonomies to Knowledge Organization Systems
Linking Folksonomies to Knowledge Organization Systems
 
Encoding Patron Information in RDF
Encoding Patron Information in RDFEncoding Patron Information in RDF
Encoding Patron Information in RDF
 
Libraries in a data-centered environment
Libraries in a data-centered environmentLibraries in a data-centered environment
Libraries in a data-centered environment
 
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...
Was gibt's wie und wo? Informationen zu Standorten, Exemplaren und Dienstleis...
 
FRBR light with Simplified Ontology for Bibliographic Resource
FRBR light with Simplified Ontology for Bibliographic ResourceFRBR light with Simplified Ontology for Bibliographic Resource
FRBR light with Simplified Ontology for Bibliographic Resource
 
RDF-Daten in eigenen Anwendungen nutzen
RDF-Daten in eigenen Anwendungen nutzenRDF-Daten in eigenen Anwendungen nutzen
RDF-Daten in eigenen Anwendungen nutzen
 
Linked Data Light - Linkaggregation mit BEACON
Linked Data Light - Linkaggregation mit BEACONLinked Data Light - Linkaggregation mit BEACON
Linked Data Light - Linkaggregation mit BEACON
 
Revealing digital documents - concealed structures in data
Revealing digital documents - concealed structures in dataRevealing digital documents - concealed structures in data
Revealing digital documents - concealed structures in data
 
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
Wie kommen unsere Sacherschließungsdaten ins Semantic Web? Vom lokalen Normda...
 
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
 
Linked Data: Die Zukunft der Nutzung von Katalogdaten
Linked Data: Die Zukunft der Nutzung von KatalogdatenLinked Data: Die Zukunft der Nutzung von Katalogdaten
Linked Data: Die Zukunft der Nutzung von Katalogdaten
 
We were promised Xanadu
We were promised XanaduWe were promised Xanadu
We were promised Xanadu
 
Quick introduction to the Citation Style Language (CSL)
Quick introduction to the Citation Style Language (CSL)Quick introduction to the Citation Style Language (CSL)
Quick introduction to the Citation Style Language (CSL)
 
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische GeschichteSemantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
 
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
Die Bibliographic Ontology als Nachfolger bibliographischer Datenformate?
 
Einführung in das Semantic Web
Einführung in das Semantic WebEinführung in das Semantic Web
Einführung in das Semantic Web
 
Wikipedia as Knowledge Organization System
Wikipedia as Knowledge Organization SystemWikipedia as Knowledge Organization System
Wikipedia as Knowledge Organization System
 
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIAEinheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
Einheitlichen Kodierung von Verfügbarkeitsinformationen mit DAIA
 
Wikipedia as source of collaboratively created Knowledge Organization Systems
Wikipedia as source of collaboratively created Knowledge Organization SystemsWikipedia as source of collaboratively created Knowledge Organization Systems
Wikipedia as source of collaboratively created Knowledge Organization Systems
 
Defining Availability with the Document Availability Information API (DAIA)
Defining Availability with the Document Availability Information API (DAIA)Defining Availability with the Document Availability Information API (DAIA)
Defining Availability with the Document Availability Information API (DAIA)
 

Stand und Planungen im Bereich der Schnittstellen in der VZG

  • 1. Stand und Planungen im Bereich der Schnittstellen in der VZG Jakob Voß 28. August 2013, 17. Verbundkonferenz des GBV
  • 2. Schnittstellen Allgemein Patrons Account Information API (PAIA) Strategie und Planungen
  • 4. Schnittstellen Wofür werden Schnittstellen benutzt? ▶ Daten rein (Katalogdaten ändern…) ▶ Daten raus (Titeldaten suchen, Status abfragen…) ▶ Aktion anstoßen (Medium vormerken…) …und zwar automatisierbar (das Gegenteil von Geschäftsgang)!
  • 5. Schnittstellen Arten von Schnittstellen ▶ Nutzerschnittstellen / Benutzeroberflächen ▶ Interne Programmierschnittstellen ▶ Web-APIs / Web-Services Technische Umsetzung ▶ Meist JSON oder XML über HTTP[S] ▶ Meist einfache URL-Anfragen (GET/POST): http://example.org/etwas/damit?machen=los Buzzwords: REST, Mashup, Web 2.0, SOA …
  • 6. Serviceorientierter Architektur Vorteile ▶ Grundfunktionen kombiniertbar (“Lego-Bausteine”) ▶ Unabhängig von Komponenten hinter der Schnittstelle ▶ z.B. RSS/Atom, SRU, OAI-PMH… aus beliebigen Systemen ▶ z.B. DAIA an LBS3, LBS4, Koha, aDIS/BMS… Nachteile ▶ Schnittstellen müssen sauber spezifiziert werden ▶ Schnittstellen mussen sauber implementiert werden
  • 7. Saubere Schnittstellen ▶ Einfach zugänglich: öffentlich und frei über HTTP(S) ▶ Gut dokumentiert: genaue Spezifikation ▶ Unabhängig voneinander: klar abgegrenzter Zweck
  • 8. Saubere Schnittstellen Technische Spezifikation ▶ Nicht zu komplex (überschaubar) ▶ Nicht zu ungenau (formal und exakt) ▶ Nicht zu abstrakt (wenige Freiheitsgrade) ▶ Nicht zu speziell (unabhängig von Software, Sprache…) ▶ Nicht zu allgemein (ein Anwendungsfall pro API) Umsetzung ▶ Getestet (manuell und automatisch) Bei PAIA: Spezifikation durch VZG, Implementierung jeweils durch shiphrah GmbH und effective WEBWORK GmbH.
  • 9. Section 2 Patrons Account Information API (PAIA)
  • 10. Figure: Paia, Hawaii1 1 CC-BY-SA by Skier Dude, Wikimedia Commons
  • 11. Motivation Schnittstelle zum Nutzerkonto ▶ Anzeige von Ausleihen, Vormerkungen, Gebühren… ▶ Ausführen von Vormerkungen und Bestellungen ▶ Passwort ändern Anwendung ▶ BibApp ▶ VuFind ▶ freie Verwendung Benachrichtigungssysteme, Lernumgebungen, Skripte, Apps…
  • 12. PAIA Spezifikation Öffentlich unter http://gbv.github.io/paia/ Abstraktion von Ausleihsystemen (keine PICA-Besonderheiten) PAIA besteht aus zwei Teilen: ▶ PAIA auth (Zugangsdaten) z.B. https://paia.gbv.de/isil/DE-Hil2/auth/methode ▶ PAIA core (Nutzerkonto) z.B. https://paia.gbv.de/isil/DE-Hil2/core/methode JSON-Antwort auf Methode und Anfrage-Parameter
  • 13. PAIA auth HTTP POST login Zugriff gewähren (Nutzername und Passwort) HTTP POST logout Zugriff entziehen HTTP POST change Passwort ändern ▶ Mit jedem login ein neues access_token ▶ Token gilt für begrenzte Zeit, Nutzer und Aktionen (scopes) z.B. nur Lesezugriff, nur ein bestimmter Nutzer … ▶ Kompatibel mit dem OAuth-Standard
  • 14. PAIA auth Keine Nutzernummern oder -Passwörter in PAIA core.
  • 15. PAIA core Zugriff auf das Benutzerkonto: HTTP GET patron Nutzerinformationen (Name, Email, Status) HTTP GET items Nutzerkonto (Ausleihen, Vormerkungen…) HTTP GET fees Gebühren HTTP POST request Vormerkung, Bestellung… HTTP POST renew Verlängerung HTTP POST cancel Stornierung
  • 16. Aktuelle Umsetzung ▶ LBS-Screenscraping von effective WEBWORK GmbH ▶ Nativer Server (LBS3-Protokoll) von shiphrah GmbH ▶ Proxy http://paia.gbv.de/ für saubere URLs ▶ z.B. http://paia.gbv.de/isil/DE-Hil2/auth
  • 18. Schnittstellen-Übersicht Schnittstellen im GBV-Wiki: http://ws.gbv.de/ SRU und Z39.50 für Suche und Abruf von Datensätzen unAPI für den Abruf einzelner Datensätze SeeAlso für den Abruf von Links und Empfehlungen DAIA für den Abruf von Verfügbarkeitsinformationen PAIA für Zugriff auf Benutzerkonten Linked Data für Standortverwaltung und Datenbankinfos Je Konfiguration, desto Aufwand.
  • 19. Grundsätze ▶ Saubere Schnittstellen brauchen Zeit für Entwicklung, Dokumentation und Tests ▶ Einheitliche Identifier (URIs) für Objekten in allen Schnittstellen z.B. basierend auf ISIL für Bibliotheken ▶ Wichtig zu klären: ▶ Was für Objekte haben wir eigentlich? ▶ Was für Grundfunktionen brauchen wir?
  • 20. Nächste Schritte ▶ DAIA ausbauen und Konfiguration vereinfachen ▶ PAIA für LBS3 + LBS4 sowie in VuFind ▶ Mehr Clients für Schnittstellen programmieren ▶ Prioritäten für weitere Schnittstellen klären ▶ …
  • 21. …5 Jahre zuvor Jakob Voß (Mai 2008 in Frankfurt): Mit Webservices zum Katalog 2.0. Warum Mashups und Serviceorientierte Architektur mehr als Buzzwords sind http://de.slideshare.net/nichtich/ mit-webservices-zum-katalog-20