340 likes | 420 Views
Proseminar Web Engineering PS07: Retrieving data from social networks: APIs and protocols. Wir wollen Daten aus. sozialen Netzwerken. Quelle: http://www.flickr.co m/photos/theplanetdotcom/4878805271. Wir brauchen Schnittstellen.
E N D
Proseminar Web EngineeringPS07: Retrieving data fromsocial networks: APIs and protocols
Wir wollen Daten aus sozialen Netzwerken. Quelle: http://www.flickr.com/photos/theplanetdotcom/4878805271
Wir brauchen Schnittstellen. Quelle: http://www.flickr.com/photos/78317189@N00/2106395842
APIs (1993) "Applicationprograminterface„ "Schnittstelle für Anwendungsprogramme". Die Nutzung von APIs erlaubt es Softwareentwicklern, Anwendungen zu schreiben und dabei bereits vorhandene, standardisierte Bibliotheksroutinen zu nutzen. Quelle: http://lexikon.martinvogel.de/api.html
Quelle: http://www.dastimmtdochwasnicht.de/MyUploads/071221_Ziehen.jpg APIs sind Designprobleme
SOAP REST vs
Seife? Simple Object Access Protocol Quelle: http://www.flickr.com/photos/annia316/4492308897
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 <?xmlversion="1.0"?> <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> </s:Header> <s:Body> <m:UserInDatabasexmlns:m="http://www.socialnetwork-db.de/soap"> meinUsername </m:UserInDatabase> </s:Body> </s:Envelope>
SOAP – Aufbau Response <?xmlversion="1.0"?> <s:Envelopexmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <m:RequestID xmlns:m="http://www.socialnetwork-db.de/soap"> a3f5c109b </m:RequestID> </s:Header> <s:Body> <m:DbResponsexmlns:m="http://www.socialnetwork-db.de/soap"> <m:user> <!-- Infos zum User --> </m:user> </m:DbResponse> </s:Body> </s:Envelope>
SOAP REST vs
torest = ausruhen? RepresentationalState Transfer Quelle: http://bit.ly/tig2b7
REST • Web-Paradigma, aber keine Norm • Interaktionen sind zustandslos • Caching möglich • Repräsentation von Ressourcen • Baut auf HTTP auf
CRUD CREATE READ UPDATE DELETE SQL INSERT SELECT UPDATE DELETE HTTP POST GET PUT DELETE
Status – GET, POST, DELETE User – GET, POST, PUT, DELETE Like– GET, POST, DELETE
Quelle: https://farm1.static.flickr.com/194/503716476_6f08285ac3_o.png
Alexa-Rank: 2 800 Mio. aktive Nutzer
Alexa-Rank: 9 100 Mio. aktive Nutzer
Alexa-Rank: 13 Mehr als 135 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)
Beispiele https://graph.facebook.com GET /{userid}/ GET /{userid}/feed GET /{statusid} GET /{statusid}/likes POST /{statusid}/likes DELETE /{statusid}/likes
Beispiele https://api.twitter.com/1 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}
Quelle: http://www.readwriteweb.com/hack/2011/07/twitter-serves-more-api-calls.php
Viele Nutzer + viele Daten= viel Traffic Quelle: http://www.flickr.com/photos/vgm8383/2191223539
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.previouspage, rpp (return per page) / max_id • start, count • maxResults, nextPageToken
Quelle: http://www.flickr.com/photos/brandoncwarren/4334456172 Daten in Echtzeit bekommen
Twitter Streaming API Response HTTP/1.1 200 OK Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.25) {…} {…} {…}
Quelle: http://www.etuc.org/IMG/jpg/2000-Euromanif_Porto02-2.jpg It‘sdemo time
SOAP REST vs
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