API - Einführung Teil 1
Click here to load reader
-
Upload
pippo2600 -
Category
Technology
-
view
1.559 -
download
1
description
Transcript of API - Einführung Teil 1
APIApplication Programming Interface
Einführung
API – Was ist das?
● API – Application Programming Interface● „Von aussen“ benutzbare Funktionen● Externe Dienste● Integrierbar● Bausteine zu einer Gesamtapplikation● Mash-up: Applikation, die mehrere externe APIs
vereinigt
API – Beispiele
● Google Maps API – Kartenvisualisierungen● Twitter API – Tweets, Status, ...● YouTube API – Suche, Uploads, Playlists, ...● Social Bookmarking (Digg, Delicious, Reddit,
StunbleUpon,...) - Bookmarks● Facebook, StudiVZ, Orkut – Publizieren,
Friends, Fotos, ...● Flickr API – Slideshows, Upload, ...
API – Beispiele für Mash-Ups
● http://www.maplarge.com/Japan-Earthquake – Kombination von Google Maps und Erdbebendaten
● http://www.123people.com/ - Personensuche in vielen Verzeichnissen
● http://www.walkscore.com/● Programmableweb.com listet 5771 Mashups
(Stand April 2011)!
API – Beispiele für Integration
● http://local.ch● http://20min.ch● http://virus.ch● http://tagesanzeiger.ch● http://huffingtonpost.com
API - Integration
● Wie kann ich ein API benutzen?● Widget● Externer Link● Einbetten auf Seite (IFRAME, Javascript / AJAX)● Serverseitig● Desktop- oder Mobile-App● Kombination der obigen Methoden
API - Integration
● Widget● Viele verschiedene Widgets (z.B. YouTube)● Einfachste Handhabung● Aber auch limitiert● Und unflexibel im Design
API - Integration
● Direkter, Externer Link● Praktisch um die API kennenzulernen● Falls Link Bild zurückliefert (z.B. MIME-Type
image/jpeg), einfache Platzierung in HTML● Sonst einbetten in <IFRAME>
(z.B. Facebook „I like“)● Einfache bis komplexe Fälle
API - Integration
● Einbetten auf Seite via AJAX● Häufig angewandt● Seite bezieht ihre Inhalte von verschiedenen
Quellen● Aufruf von API liefert strukturierte Daten, die noch
visuell aufbereitet werden müssen● Problem: SOP (Same Origin Policy) – Wird
umgangen durch IFRAMEs
API - Integration
● Serverseitig● Bei Weitem die Häufigste und flexibelste Form der
Einbettung von externen APIs● API-Wrapper für viele Sprachen – Oft für PHP,
Ruby, Java, Python● Mash-ups praktisch alle mit serverseitiger
Integration (Generierung von Mehrwert für eigene Website)
API - Integration
● Desktop- / Mobile-Apps● Desktop- bzw. Mobile-Apps sind oft Front-Ends zu
rückwärtigen APIs (z.B. SBB, Wetter- oder Börsenwidgets, http://widgets.yahoo.com/download/)
● Mobile Clients liefern zusätzliche, für Applikationen interessante Daten (Standort, evt. Geschwindigkeit, Kompass, Identifikation)
● Google hat ein riesiges Angebot an APIs (Android ist Google)
● In Zukunft wohl immer verbreiteter
API – Vorteile
● Black Box: Implemetation und Infrastruktur versteckt
● Ressourcen extern bereitgestellt● Web 2.0: Vernetzung und Einbindung der
Users mit anderen Diensten● Zusammenstellen mehrerer APIs zu einer
Applikation: Mash-Up
API - Nachteile
● Keine Kontrolle über Service (Daten etc.)● Kann jederzeit ausfallen (Meine Applikation
muss dies berücksichtigen)● API-Interface kann sich häufig radikal
verändern● Service-Provider kann Service jederzeit
beenden● Je nach Service sehr komplex zu handhaben
API - Aspekte
● Vorläufig sind die meisten Dienste gratis● Häufig limitiert (Anfragen/Tag, Mbytes/Tag, ..)● Zahlungspflichtige APIs:
● Amazon Web Services (EC2, S3, SQS, etc.)● Google Custom Search API● Google Maps API Premier (Business-Qualität)● In Zukunft wohl mehr und mehr...
API – Weiterführende Links
● Wikipedia: Programmierschnittstelle● Wikipedia: Webservice● Web-API - Ein Erklärungsversuch
APIApplication Programming Interface
Labs
API – Lab Static Maps
● Firefox-Extension „Firebug“ installieren● http://code.google.com/apis/maps/documentation/staticmaps/
aufrufen● Text-Editor öffnen● Static Maps-Anfragen konstruieren (z.B. Zürich,
Buckhauserstrasse 24, blauen Marker platzieren)
API – Lab Widget
● Neues HTML-Dokument kreieren● YouTube Video einbinden● Experimentieren mit Widgets:
● http://www.facebook.com/badges/● http://twitter.com/about/resources● http://www.skype.com/intl/en-us/tell-a-friend/get-a-
skype-button/
APIApplication Programming Interface
P A U S EP A U S E