Proseminar Web Engineering PS07: Retrieving data from social networks: APIs and protocols
Wir wollen Daten aus Quelle: sozialen Netzwerken.
Wir brauchen Schnittstellen. Quelle:
(1993) "Application program interface "Schnittstelle für Anwendungsprogramme". Die Nutzung von APIs erlaubt es Softwareentwicklern, Anwendungen zu schreiben und dabei bereits vorhandene, standardisierte Bibliotheksroutinen zu nutzen. APIs Quelle:
APIs sind Designprobleme Quelle:
SOAP vs REST
Seife? Quelle: Simple Object Access Protocol
SOAP Protokoll mit Regeln für Nachrichtendesign Konvention für entfernte Prozeduraufrufe Nutzt Netzwerkprotokolle auf Transport- und Anwendungsschicht (HTTP(S), SMTP) Nutzt XML zur Repräsentation Unterstützung von z.B. IBM, Microsoft
SOAP – Aufbau Request <s:Envelope xmlns:s=" meinUsername
SOAP – Aufbau Response <m:RequestID xmlns:m=" a3f5c109b
SOAP vs REST
to rest = ausruhen? Quelle: Representational State Transfer
REST Web-Paradigma, aber keine Norm Interaktionen sind zustandslos Caching möglich Repräsentation von Ressourcen Baut auf HTTP auf
HTTP POST GET PUT DELETE CRUD CREATE READ UPDATE DELETE SQL INSERT SELECT UPDATE DELETE
Status – GET, POST, DELETE User – GET, POST, PUT, DELETE Like – GET, POST, DELETE
Quelle:
Alexa-Rank: Mio. aktive Nutzer
Alexa-Rank: Mio. aktive Nutzer
Alexa-Rank: 13 Mehr als 135 Mio. Nutzer
50 Mio. Nutzer
Zugriff auf Daten per… Graph API (Facebooks REST API) REST API (, Streaming API, Search API) REST API REST API (noch in Entwicklung)
Wo SOAP genutzt wird: Flickr (neben REST-API) eBay Powerseller Amazon (neben REST-API) Google Search API bis 2009 (eingestellt)
GET /{userid}/ GET /{userid}/feed GET /{statusid} GET /{statusid}/likes POST /{statusid}/likes DELETE /{statusid}/likes Beispiele
GET /users/lookup.json?screen_name={name} GET /statuses/public_timeline.xml POST /statuses/update POST /statuses/destroy/{tweet-id} GET /users/profile_image/{twitter-username} Beispiele
Quelle:
Quelle: Viele Nutzer + viele Daten = viel Traffic
Rate-Limits: Je Applikation 600 Anfragen in 600 sec Je IP 150/h oder je Benutzer 350/h Netzwerk-Updates: 300/h je Benutzer Je Entwickler 1000 pro Tag
Pagination: offset, limit / until, since / paging.next, paging.previous page, rpp (return per page) / max_id start, count maxResults, nextPageToken
Daten in Echtzeit bekommen Quelle:
Twitter Streaming API Response HTTP/ OK Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.25) {…}
Its demo time Quelle:
SOAP vs REST
Fazit REST bietet Caching REST ist skalierbarer REST lässt sich mit HTTP einfach in Anwendungen oder Webseiten einbinden SOAP zustandsorientiert, REST zustandslos REST verursacht weniger Daten-Traffic SOAP bietet mehr Zuverlässlichkeit bei der Übertragung Mit REST ist die Sicherheit in Webanwendungen einfacher kontrollierbar
Vielen Dank für die Aufmerksamkeit! POST /question GET /answer