Upload
vadin
View
30
Download
4
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Proseminar Web Engineering
PS07: Retrieving data fromsocial networks: APIs and protocols
Wir wollen Daten aus
Quelle: http://www.flickr.com/photos/theplanetdotcom/4878805271
sozialen Netzwerken.
Wir brauchen Schnittstellen.
Quelle: http://www.flickr.com/photos/78317189@N00/2106395842
(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: http://lexikon.martinvogel.de/api.html
APIs sind Designprobleme
Quelle: http://www.dastimmtdochwasnicht.de/MyUploads/071221_Ziehen.jpg
SOAP vs REST
Seife?
Quelle: http://www.flickr.com/photos/annia316/4492308897
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
<?xml version="1.0"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> </s:Header> <s:Body> <m:UserInDatabase xmlns:m="http://www.socialnetwork-db.de/soap"> meinUsername </m:UserInDatabase> </s:Body></s:Envelope>
SOAP – Aufbau Response<?xml version="1.0"?><s:Envelope xmlns: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:DbResponse xmlns:m="http://www.socialnetwork-db.de/soap"> <m:user>
<!-- Infos zum User --> </m:user> </m:DbResponse> </s:Body></s:Envelope>
SOAP vs REST
to rest = ausruhen?
Quelle: http://bit.ly/tig2b7
Representational State Transfer
REST
• Web-Paradigma, aber keine Norm• Interaktionen sind zustandslos• Caching möglich• Repräsentation von Ressourcen• Baut auf HTTP auf
HTTP
POSTGETPUTDELETE
CRUD
CREATEREADUPDATEDELETE
SQL
INSERTSELECTUPDATEDELETE
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
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)
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}
Beispiele
Quelle: http://www.readwriteweb.com/hack/2011/07/twitter-serves-more-api-calls.php
Quelle: http://www.flickr.com/photos/vgm8383/2191223539
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: http://www.flickr.com/photos/brandoncwarren/4334456172
Twitter Streaming API Response
HTTP/1.1 200 OKContent-Type: application/jsonTransfer-Encoding: chunkedServer: Jetty(6.1.25)
{…}{…}{…}
It‘s demo time
Quelle: http://www.etuc.org/IMG/jpg/2000-Euromanif_Porto02-2.jpg
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 /questionGET /answer