22
API Application Programming Interface Einführung – Teil 2

API - Einführung Teil 2

Embed Size (px)

Citation preview

Page 1: API - Einführung Teil 2

APIApplication Programming Interface

Einführung – Teil 2

Page 2: API - Einführung Teil 2

API - Zusammenfassung

● Komplexe Dienste werden interessierten Entwicklern zur Verfügung gestellt

● Verschiedene Methoden der Benutzung● Zentraler Aspekt ist das Interface● Infos dazu gibts in den API-Dokus● Und auf dem Web (Tutorials, Foren, How-To's)

Page 3: API - Einführung Teil 2

API – Häufigste Interface Typen

● Für Anfragen:● REST – Protokoll auf http-Basis● SOAP – Komplexeres XML-Protokoll

● Rückgabewerte:● XML – Irgend ein XML-Dialekt (HTML ist auch XML)● JSON – Objekte werden in Javascript Object

Notation kodiert● Reiner Text für einfachste Fälle (z.B. Url,

true/false, ..)

Page 4: API - Einführung Teil 2

API - REST

● REST: Representational State Transfer● Alle Anfragen als HTTP, einfach und verständlich

● Sehr beliebt● Beispiel: Google Translate API

Page 5: API - Einführung Teil 2

API - SOAP

● SOAP: Simple Object Access Protocol● XML-Dialekt● Verbreitet in der Java-Services-Welt

● Hat an Beliebtheit eingebüsst (Zugunsten von REST)

● Rückgabe:● SOAP-Antwort (Ebenfalls XML)

● SOAP ist ok von Server zu Server, aber fast unmöglich in Javascript

Page 6: API - Einführung Teil 2

API - JSON

● Was ist JSON (Javascript Object Notation)● Komplexe, strutkturierte Daten als Objekt● In Javascript direkt (nativ) verwendbar

(XML muss hingegen „geparst“ werden)● Hat sich auch für andere Sprachen als „Format“

durchgesetzt (PHP, Java, Python, etc.)● Textformat, nicht binär, nicht XML

Page 7: API - Einführung Teil 2

API -XML

● XML hat unzählige „Dialekte“● Formatiert gemäss strengen Regeln

(Validierung – Garant für formelle Richtigkeit)● Dadurch maschinell verarbeitbar● XHTML, SOAP, RSS, Atom, PLS, ...● Muss „geparst“ werden – Je nach dem sehr

ressourcenintensiv

Page 8: API - Einführung Teil 2

API Application Programming Interface

Wo beginnen?

Page 9: API - Einführung Teil 2

API – Erste Schritte

● Developer-Sektion einer Website● API-FAQ● „Hello World“ - Beispiel● API-Schlüssel (API-Key)● Eigene Applikation registrieren (falls nötig)● API-Dokumentation● Firefox: Firebug extension (Was passiert im

Hintergrund ?)

Page 10: API - Einführung Teil 2

API – Weitere Schritte

● Testen mit kleinen Code-Fragmenten● Anpassungen immer wieder neu testen● Sandboxen benutzen, um API zu verstehen● Google is your friend (Tutorials, Beispiele,

Blogs von Entwicklern)● Irgendjemand hat dein Problem schon mal

gehabt...

Page 11: API - Einführung Teil 2

API - Sandboxen

Beispiele für API-Sandboxen● http://code.google.com/apis/ajax/playground/● http://dev.twitter.com/console● http://developers.soundcloud.com/console

Page 12: API - Einführung Teil 2

API - Dokus

● Umfassende Übersicht über Google Dienste● Dasselbe von Yahoo...

Page 13: API - Einführung Teil 2

API – Portale und Infos

● Verzeichnisse● http://www.programmableweb.com/● http://www.webmashup.com/● http://www.webmonkey.com/category/apis/

● Anzahl APIs bei programmableweb.com(Stand April 2011): 3187 !!

● Ein ziemlich unüberschaubares Feld...

Page 14: API - Einführung Teil 2

API Application Programming Interface

Noch ein paar Dinge...

Page 15: API - Einführung Teil 2

API – Zu Beachten

● Eigene Site nicht komplett abhängig machen● API-Provider kann ein Problem haben● Die Verbindung kann schlecht/gestört sein● Der API-Provider hat aufgegeben● u.v.m

● Deshalb● Möglichst immer Backfall-Szenario parat haben● Externe Elemente asynchron laden

Page 16: API - Einführung Teil 2

API – Zu Beachten

● Nicht alle User zur Anmeldung bei Google, Facebook, MySpace, etc. zwingen

● User über den Schutz Ihrer persönlichen Daten informieren

● z.B. Tages-Anzeiger (http://www.tagesanzeiger.ch/digital/internet/Facebook-Information/story/23053197)

● Info ist nicht ganz umfassend... siehe nächste Seite

Page 17: API - Einführung Teil 2

API – Zu Beachten: Privacy

● Sicherheits- bzw. Privacyprobleme bei Einsatz von APIs – z.B. Facebook (Artikel in Telepolis)● Schon das Darstellen des „I like“ IFRAMEs liefert

an Facebook ein persönliches Cookie (falls Mitglied bei FB) gekoppelt mit dem Referrer (Seite auf der man sich befindet)

● Ebenso bei Facebook Connect...● Daten werden zunehmend persönlich und

gekoppelt mit dem gesamten Inhalt des sozialen Netzwerks

Page 18: API - Einführung Teil 2

API - Privacy

● User sollten möglichst aufgeklärt werden● Die meisten haben keine Probleme● Viele finden das sogar sehr praktisch und

interessant, dass ihre Aktivitäten mit Friends geteilt werden können

● Kommerzielle Info-Provider sind sogar auf diese Form von „viral marketing“ angewiesen

Page 19: API - Einführung Teil 2

APIApplication Programming Interface

Genug der Theorie...

Page 20: API - Einführung Teil 2

APIApplication Programming Interface

LAB

Page 21: API - Einführung Teil 2

API – Lab Javascript / Maps API

● Grundlage des Labs:● http://www.webmonkey.com/2010/02/make_maps_

with_google/

● Wir gehen Tutorial Schritt für Schritt durch● Analysieren mit Firefox/Firebug was im

Hintergund passiert● Zentrieren der Map auf Zürich● Spielen mit den vielen Möglichkeiten, Setzen

von Markern, Zeichnen von Linien/Flächen, etc.

Page 22: API - Einführung Teil 2

APIApplication Programming Interface

E N D E