Schnittstellen und Webservices

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Schnittstellen und Webservices - Presentation Transcript

    1. Digitale Bibliothek Jakob Voss Schnittstellen und Webservices Digitale Bibliothek WS 2007/2008 Fachhochschule Hannover Informationsmanagement (BA) 19. November 2007
    2. 3 Ebenen einer Webseite
      • Verhalten JavaScript
      • Darstellung CSS
      • Inhalt HTML
    3. 4 Ebenen einer Webseite
      • Verhalten JavaScript
      • Darstellung CSS
      • Inhalt HTML
      • Informationen APIs
    4. APIs
      • A pplication P rogramming I nterface
      • Daten rein, Daten raus
      • Nutzung von Dienstleistungen durch Programme
      • Anfrage und Rückgabe/Aktion (im Gegensatz zu Beispiel zu Microformats)
    5. APIs Informationssystem Programm
    6. Beispiel: unAPI
      • Ziel
        • Bereitstellung einzeln identifizierter Objekte
      • Anfragesyntax
        • HTTP-Request mit zwei Parametern
          • id: Identifikator des Objektes
          • format : Gewünschtes Format
      • Antwortsyntax
        • Formatliste in XML oder spezifisches Format
    7. Beispiel: unAPI
      • UNAPI (keine Parameter)
      • Liste von allgemeinen Formaten
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
      • <formats>
      • <format name=&quot;text&quot; type=&quot;text/plain&quot; />
      • <format name=&quot;marcxml&quot; type=&quot;application/xml&quot; docs=&quot;http://www.loc.gov/standards/marcxml/&quot;/>
      • </formats>
    8. Beispiel: unAPI
      • UNAPI?id= IDENTIFIER (kein Format)
      • Liste von Formaten für dieses Objekt
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
      • <formats id=&quot; IDENTIFIER &quot;>
      • <format name=&quot;text&quot; type=&quot;text/plain&quot; />
      • <format name=&quot;marcxml&quot; type=&quot;application/xml&quot; docs=&quot;http://www.loc.gov/standards/marcxml/&quot;/>
      • </formats>
    9. Beispiel: unAPI
      • UNAPI?id= IDENTIFIER &format= FORMAT
      • Formatspezifisch (z.B. MARCXML-Format)
    10. Weiteres Beispiel: SeeAlso
      • Basiert auf unAPI und OpenSearch Suggestions
      • Query-Format:
        • wie unAPI mit format=seealso&id=...
      • Response-Format:
        • OpenSearch Suggestions (JSON)
        • [&quot;..id..&quot;,[..titles..],[..descriptions..],[..urls..]]
    11.  
    12. ?
    13. SeeAlso Linkserver Links
    14. JavaScript SeeAlso Linkserver Links
    15. SeeAlso Linkserver ISBN Links JavaScript
    16. (OpenSearch Suggestions) SeeAlso Linkserver ISBN JSON Links JavaScript
    17. (OpenSearch Suggestions) SeeAlso Linkserver ISBN JSON Links
    18. Weitere Beispiele für APIs
      • Google API
      • Amazon API
      • thingISBN, ISBNdb ...
      • zeno API
      • OCLC Service Grid
      • ...
    19. Keine API da?
      • Selber machen! (Scraping, Wraping...)
      • Vorteil
        • Hacken macht Spaß und ist lehrreich
      • Nachteil
        • Keine Verlässlichkeit
        • Meist aufwändiger (aber nicht immer)
        • Jemand könnte sich beschweren
      • Oft die einzige Möglichkeit
      • Tip: Firefox DownloadHelper -Plugin
    20. Webservices
      • Informatiker-Buzzword
      • Einfach: API über HTTP
      • Komplex: SOAP, XML-RPC, WSDL...
      • Meist ist XML im Spiel
    21. Relevante Schnittstellen für Digitale Bibliotheken
      • Suchen: Z39.50, SRU/SRW, OpenSearch...
      • Einsammeln/Verteilen: OAI, ATOM, RSS...
      • Kopieren: unAPI
      • Verlinken: SeeAlso
      • ...
    22. APIs für Suchmaschinen Crawler, Harvester, Import... Anfrage Ergebnis Anfrage Ergebnis Suchmaschine Informationsquellen Metasuchmaschine Suchmaschine Suchmaschine Suchmaschine Informationsquellen
    23. APIs für Suchmaschinen
      • A) Suche
        • Z39.50, SRU/SRW
        • OpenSearch
        • ...
      • B) Crawling, Harvesting, Syndication
        • OAI-PMH, Sitemaps
        • Feeds (ATOM, RSS)
        • ...
      • Suchprotokolle ggf. auch fürs Harvesting!
    24. OAI-PMH
      • Open Archives Initiative (OAI)
      • Protocol for Metadata Harvesting (PMH)
      • REST-API
        • Anfrage: URL
        • Antwort: XML
    25. OAI-PMH
      • Repository als Data Provider
      • Harvester sammelt Metadaten-Records
      • Bereitstellung von Dienstleistungen durch Service-Provider
        • Beispiel: OAIster (http://www.oaister.org/)
    26. OAI-PMH
      • Anfrage-Parameter
        • verb (Identify, ListMetadataFormats, GetRecord, ListIdentifier, ListRecords)
        • identifier
        • metadataPrefix (oai_dc, ...)
        • from, until , set (Eingrenzung Datum/Menge)
        • resumptionToken (Ergebnisliste fortsetzen)
      • Ausprobieren: OAI Repository Explorer http://re.cs.uct.ac.za/
    27. Search/Retrieve via URL (SRU) Search/Retrieve Web Service (SRW)
      • Neuentwicklung der wichtigsten Z39.50-Funktionalität als Webservice
      • Suchabfrage von Datenbanken
      • verschiedene Operationen ( operation )
        • explain
        • searchRetrieve
        • scan
    28. SRU/SRW-searchRetrieve
      • Request aus mehreren optionalen Parametern
      • version ist notwendig, query enthält die Anfrage in Common Query Language (CQL)
    29. API-Programmbibliotheken
      • Zugriff auf APIs mittels Programmiersprache
      • Beispiele: Z39.50-Client in PHP:
      • $con = yaz_connect ( &quot;z3950.loc.gov:7090/voyager&quot; );
      • yaz_syntax ( $con, &quot;usmarc&quot; );
      • yaz_range ( $con, 1, 10 );
      • yaz_search ( $con, &quot;rpn&quot;, $query );
      • yaz_wait ();
      • $hits = yaz_hits ( $con );
      • for ($p = 1; $p <= 10; $p++) {
      • $rec = yaz_record ( $con, $p, &quot;string&quot; );
      • # ...
      • }
    30. Spezifikation durch Standards
      • Ohne etablierte Programmbibliothek: Standard genau lesen!
      • Vertrauen ist gut, Kontrolle ist besser.
        • Z39.50: > 100 Seiten nicht frei verfügbar
        • OAI-PMH: ~ 30 Seiten http://www.openarchives.org/OAI/openarchivesprotocol.html
        • unAPI: 1 (+3) Seiten http://unapi.info/specs/
    31. Serviceorientierte Architektur
      • Eine monolithische Anwendung
      • Geht nicht, unsere Software kann das nicht
      • Viele lose gekoppelte Bausteine
      • Probier' es selber, hier sind die APIs!
    32. Beispiele für kein SOA
      • Handy, auf dem keine eigenen Klingeltöne geladen werden können
      • iPod, mit dem keine Musik ausgetauscht werden kann
      • Webseite, die Neuigkeiten nicht als Feed anbietet
      • Tendenziell alle zu großen kommerziellen Systeme (Monopole)
    33. Herkömmliches Bibliothekssystem Suchindex Suchinterface Trefferanzeige Titelanzeige Katalogisierung Ausleihe Benachrichtigung Erwerbung Fernleihe u.v.a.m. Gespeicherte Suchen
    34. Modulares Bibliothekssystem Suchinterface Trefferanzeige Titelanzeige Katalogisierung Suchindex Ausleihe Fernleihe Gespeicherte Suchen Erwerbung Benachrichtigung
    35. Serviceorientiertes Bibliothekssystem Benachrichtigung Gespeicherte Suchen Katalogisierung Suchinterface Trefferanzeige Suchindex Erwerbung Ausleihe Fernleihe Titelanzeige Externe Anwendung Externe Anwendung Externe Anwendung
    36. Service-Beispiel: Katalogisierungsclient
    37. Bibliographische Daten ? Katalog
    38. Bibliographische Daten Katalogisierungs- Webservice Katalog
    39. Bibliographische Daten Katalogisierungs- Client Katalog Katalogisierungs- Webservice
    40. Bibliographische Daten Katalogisierungs- Client Katalog OpenURL und weitere Formate Katalogisierungs- Webservice
    41. Bibliographische Daten Katalogisierungs- Client Katalog COinS oder unAPI OpenURL und weitere Formate Katalogisierungs- Webservice
    42. Zusammenfassung
      • API: Klar spezifizierte Schnittstellen*
      • Webservices: APIs über HTTP (meist REST)
      • Verwendung von Programmbibliotheken
      • Relevant für digitale Bibliotheken
        • Suchen: Z39.50, SRU/SRW, OpenSearch...
        • Einsammeln/Verteilen: OAI, ATOM, RSS...
        • Kopieren: unAPI, Verlinken: SeeAlso
      * hoffentlich

    + nichtichnichtich, 2 years ago

    custom

    1473 views, 0 favs, 0 embeds more stats

    More Info

    CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

    Go to text version
    • Total Views 1473
      • 1473 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 16
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories