Software & Schnittstellen

Dr. Jakob Voß

2014-05-19

Software

Beispiel: Smartphone-Betriebssystem & Apps

Software in (digitalen) Bibliotheken

Beispiele?!

Software in (digitalen) Bibliotheken

Software vs. Daten

Software oder Daten?

Schnittstellen

Alles, worüber Daten in ein Programm herein und/oder herauskommen

Allgemeine Arten von Schnittstellen

APIs

Eine API ist wie eine kleine, sehr spezielle Sprache

Kompatibilität

Kompatibilität durch genaue Einhaltung der Spezifikation

Spezifikation
durch Standards (“Grammatik & Vokabular”)
Implementation
durch Programme (“Aktiv- & Passive Sprachfähigkeit”)

Grundaufbau einer API

Einfaches Beispiel: HTTP-Anfrage/Antwort

Weniger einfaches Beispiel: OAI-PMH

OAI Protocol for Metadata Harvesting (OAI-PMH)

Data-Provider
z.B. Server für Wissenschaftliche Schriften der Hochschule Hannover (SerWisS)
Service-Provider
z.B. Bielefeld Academic Search Engine (BASE)

mehr siehe Veranstaltung am 24.3.2014

Mögliche Anfragen (verbs) per OAI-PMH

Identify
Was ist das hier für ein Repository?
GetRecord
Gib mit Metadatensatz!
ListRecords
Gib mir alle Metadatensätze!
ListIdentifiers
Welche Identifier gibt es?
ListMetadataFormats
Welche Metadatenformate gibt es?
ListSets
Welche Sets gibt es?

Einfacheres Beispiel: OpenSearch Suggest

siehe Live-Demo (Browser & Suggest-Dienste der VZG)…

Wo könnte sowas in digitalen Bibliotheken relevant sein?

Welche Dienste/Einrichtungen/… sollten OpenSearch Suggest anbieten?

Noch ein Beispiel: unAPI

Zweck
Bereitstellung einzeln identifizierter digitaler Objekte
Anfragesyntax

HTTP-Request mit zwei Parametern

  • id: Identifikator des Objektes
  • format: Gewünschtes Format
Antwortsyntax

Formatliste in XML oder digitales Objekt in einem gewünschten Format

Beispiel: unAPI

APIs und Datenformate

Wie entstehen APIs?

Beispiel: Entwicklung der Document Availability Information API (DAIA) für Beluga und GBV-Bibliotheken

Henne-Ei-Problem: ohne APIs keine neuen Anwendungen

Was tun ohne APIs?

Beispiel: Screen-Scraping

Übergangslösung: Wrapper

Verschiedene APIs für digitale Bibliotheken

Suchen
Z39.50, SRU/SRW, OpenSearch
Aggregation
OAI-PMH, ATOM, RSS, Sitemaps, ResourceSync
Statusabfragen
unAPI, SeeAlso, DAIA
Änderung
SRU Update
Benutzerkonto
PAIA

und viele (oder wenige) andere mehr

Arten von APIs

Zustandslose APIs

Gegenbeispiel: Formular ausfüllen in mehreren Schritten

Grundsätzliche best practices für APIs

Offene Schnittstellen

Mashups & Serviceorientierte Architektur (SOA)

Weiteres Beispiel: PAIA

Gut zu wissen


  1. don’t trust the eierlegende Wollmilchsau!

  2. oft als so genannte REST-APIs