+
+

Was ist eine API (Application Programming Interface)?

API ist das Akronym für Application Programming Interface. Diese Schnittstelle fungiert als Software-Vermittler, der die Kommunikation zwischen zwei Anwendungen ermöglicht. Jedes Mal, wenn Sie eine App wie zum Beispiel Facebook verwenden, eine Sofortnachricht senden oder die Wettervorhersage auf Ihrem Mobiltelefon abrufen, nutzen Sie eine API.

Beispiele für eine API

Wenn Sie eine Anwendung auf Ihrem Smartphone verwenden, stellt die Anwendung eine Verbindung zum Internet her und sendet Daten an einen Server. Der Server ruft diese Daten ab, interpretiert sie, führt die erforderlichen Maßnahmen durch und sendet die Daten zurück an Ihr Smartphone. Anschließend interpretiert die Anwendung diese Daten und stellt Ihnen die gewünschten Informationen in lesbarer Form bereit. Das ist eine API – über sie werden all diese Vorgänge abgewickelt.

Sehen wir uns zur Veranschaulichung ein Beispiel aus dem Alltag an.

Stellen Sie sich vor, Sie sitzen in einem Restaurant und schauen sich die Speisekarte an. Die Küche gehört zum „System“, das Ihre Bestellung vorbereitet. Allerdings fehlt noch der entscheidende Vermittler, der Ihre Bestellung an die Küche weiterleitet und die Speisen zu Ihrem Tisch bringt. Diese Aufgabe übernimmt die Bedienung bzw. die API. Die Bedienung ist der Nachrichtenüberbringer – oder die API –, der Ihre Anforderung bzw. Ihre Bestellung entgegennimmt und dem Küchenpersonal – dem System – die Aufgaben übermittelt. Danach liefert die Bedienung Ihnen das Ergebnis; in diesem Fall das Essen.

Hier ist noch ein Beispiel für eine API aus dem täglichen Leben: Möglicherweise sind Sie damit vertraut, im Internet nach Flügen zu suchen. Genau wie in einem Restaurant stehen viele Optionen zur Auswahl, zum Beispiel verschiedene Städte und Hin- und Rückflugdaten. Nehmen wir an, Sie buchen Ihren Flug über die Webseite einer Fluggesellschaft. Sie wählen Ort und Datum des Hin- und Rückflugs, die Klasse und vieles mehr. Zur Buchung des Fluges interagieren Sie mit der Webseite der Fluggesellschaft. Sie greifen auf die Datenbank der Fluggesellschaft zu, um herauszufinden, welche Sitzplätze zu welchen Preisen an den gewünschten Daten verfügbar sind.

Was geschieht jedoch, wenn Sie nicht die Webseite der Fluggesellschaft verwenden – einen Kanal, der direkten Zugriff auf die Informationen hat? Wie sieht es aus, wenn Sie ein Online-Reisebüro wie zum Beispiel Kayak oder Expedia nutzen, das Informationen aus mehreren Fluggesellschaftsdatenbanken zusammenstellt?

In diesem Fall interagiert das Reisebüro mit der API der Fluggesellschaft. Die API ist die Schnittstelle, die – ähnlich wie die hilfreiche Bedienung im Restaurant – vom Online-Reisebüro um Informationen aus der Datenbank der Fluggesellschaft gebeten werden kann, zum Buchen von Flügen, zu den Gepäckoptionen usw. Die API ermittelt die Antwort der Fluggesellschaft auf Ihre Anforderung und überbringt sie dem Online-Reisebüro, das Ihnen dann hochaktuelle und relevante Informationen anzeigt.

APIs bedeuten Sicherheit

Die Daten Ihres Smartphones werden nie vollständig an den Server freigegeben. Und genauso werden auf Ihrem Smartphone auch nicht alle Daten des Servers angezeigt. Stattdessen erfolgt die Kommunikation zwischen dem Smartphone und dem Server in kleinen Datenpaketen. Dabei werden nur absolut notwendige Informationen weitergeleitet, ganz wie beim Verkauf von Speisen außer Haus: Sie teilen dem Restaurant mit, welche Gerichte Sie möchten, das Restaurant teilt Ihnen die erforderliche Gegenleistung mit und schließlich bekommen Sie Ihr Essen.

APIs sind mittlerweile dermaßen wertvoll , dass sie für viele Unternehmen einen großen Teil ihres Umsatzes ausmachen. Große Unternehmen wie Google, eBay, Salesforce, Amazon und Expedia gehören zu den zahlreichen Unternehmen, die aus ihren APIs Wert schöpfen. Dieser API-Marktplatz wird als „API-Economy“ bezeichnet.

Die moderne API

Im Laufe der Jahre wurde die Bezeichnung „API“ oft für jede allgemeine Konnektivitätsschnittstelle für Anwendungen verwendet. Eine moderne API zeichnet sich jedoch durch verschiedene Merkmale aus, die sie besonders wertvoll und nützlich machen:

  • Moderne APIs richten sich nach Standards (in der Regel HTTP und REST), die entwicklerfreundlich, einfach zugänglich und allgemein bekannt sind.
  • Sie werden eher wie Produkte statt wie Code behandelt. Sie sind für die Nutzung durch bestimmte Zielgruppen (zum Beispiel Entwickler mobiler Anwendungen) konzipiert und sie sind dokumentiert. Darüber hinaus werden die Versionen so verwaltet, dass sie bestimmte Nutzererwartungen an die Wartung und den Lebenszyklus erfüllen.
  • Aufgrund der hochgradigen Standardisierung gelten für APIs sehr viel höhere Maßstäbe an Sicherheit und Governance. Außerdem werden sie überwacht und verwaltet, um die erwartete Leistung und Skalierung zu gewährleisten.
  • Wie jedes andere Softwareprodukt hat auch die moderne API ihren eigenen Software Development Lifecycle (SDLC): Entwerfen, Testen, Erstellen, Verwalten und Versionieren.  Darüber hinaus ist die Nutzung und Versionierung moderner APIs bestens dokumentiert.