API ist die Abkürzung für Application Programming Interface, also ein Software-Vermittler, der es zwei Anwendungen ermöglicht, miteinander zu kommunizieren. Jedes Mal, wenn Sie eine App wie Facebook nutzen, eine Sofortnachricht senden oder das Wetter auf Ihrem Telefon abfragen, verwenden Sie eine API.
Was genau ist eine API? Erfahren Sie es endlich selbst in diesem hilfreichen Video von MuleSoft, den API-Experten.
Was ist ein Beispiel für eine API?
Wenn Sie eine Anwendung auf Ihrem Mobiltelefon verwenden, verbindet sich die Anwendung mit dem Internet und sendet Daten an einen Server. Der Server ruft dann diese Daten ab, interpretiert sie, führt die notwendigen Aktionen aus und sendet sie zurück an Ihr Telefon. Die Anwendung interpretiert dann diese Daten und präsentiert Ihnen die gewünschten Informationen in einer lesbaren Form. Das ist es, was eine API ist – all dies geschieht über eine API.
Um dies besser zu erklären, nehmen wir ein bekanntes Beispiel.
Stellen Sie sich vor, Sie sitzen an einem Tisch in einem Restaurant mit einer Speisekarte, aus der Sie wählen können. Die Küche ist der Teil des „Systems“, der Ihre Bestellung vorbereiten wird. Was fehlt, ist das entscheidende Bindeglied, um Ihre Bestellung an die Küche zu übermitteln und Ihr Essen an Ihren Tisch zu liefern. An dieser Stelle kommt der Kellner oder die API ins Spiel. Der Kellner ist der Bote – oder API – der Ihre Anfrage oder Bestellung entgegennimmt und der Küche – dem System – mitteilt, was zu tun ist. Dann liefert der Kellner die Antwort an Sie zurück; in diesem Fall ist es das Essen.
Hier ist ein API-Beispiel aus dem wirklichen Leben. Sie kennen vielleicht den Prozess der Online-Flugsuche. Genau wie im Restaurant haben Sie eine Vielzahl von Optionen zur Auswahl, darunter verschiedene Städte, Abflug- und Rückflugdaten und mehr. Stellen wir uns vor, Sie buchen Ihren Flug auf einer Website einer Fluggesellschaft. Sie wählen eine Abflugstadt und ein Abflugdatum, eine Rückflugstadt und ein Rückflugdatum, eine Kabinenklasse sowie weitere Variablen. Um Ihren Flug zu buchen, interagieren Sie mit der Website der Fluggesellschaft, um auf deren Datenbank zuzugreifen und zu sehen, ob an diesem Datum noch Plätze verfügbar sind und wie hoch die Kosten sein könnten.
Was aber, wenn Sie nicht die Website der Fluggesellschaft nutzen – einen Kanal, der direkten Zugriff auf die Informationen hat? Was ist, wenn Sie einen Online-Reiseservice wie Kayak oder Expedia nutzen, der Informationen aus einer Reihe von Airline-Datenbanken zusammenfasst?
Der Reiseservice interagiert in diesem Fall mit der API der Fluggesellschaft. Die API ist die Schnittstelle, die, wie Ihr hilfsbereiter Kellner, von diesem Online-Reiseservice gebeten werden kann, Informationen aus der Datenbank der Fluggesellschaft zu holen, um Sitze, Gepäckoptionen usw. zu buchen. Die API nimmt dann die Antwort der Fluggesellschaft auf Ihre Anfrage und liefert sie direkt zurück an den Online-Reiseservice, der Ihnen dann die aktuellsten, relevanten Informationen anzeigt.
Was eine API auch bietet, ist eine Sicherheitsebene
Die Daten Ihres Telefons sind nie vollständig dem Server ausgesetzt, und ebenso ist der Server nie vollständig Ihrem Telefon ausgesetzt. Stattdessen kommunizieren beide mit kleinen Datenpaketen und geben nur das Nötigste weiter – wie bei einer Essensbestellung. Sie sagen dem Restaurant, was Sie essen möchten, sie sagen Ihnen im Gegenzug, was sie brauchen, und am Ende bekommen Sie Ihr Essen.
APIs sind so wertvoll geworden, dass sie einen großen Teil des Umsatzes vieler Unternehmen ausmachen. Große Unternehmen wie Google, eBay, Salesforce.com, Amazon und Expedia sind nur einige der Firmen, die mit ihren APIs Geld verdienen. Die „API-Ökonomie“ bezieht sich auf diesen Marktplatz der APIs.
Die moderne API
Im Laufe der Jahre hat eine „API“ oft jede Art von generischer Verbindungsschnittstelle zu einer Anwendung beschrieben. In letzter Zeit hat die moderne API jedoch einige Eigenschaften angenommen, die sie außerordentlich wertvoll und nützlich machen:
- Moderne APIs halten sich an Standards (typischerweise HTTP und REST), die entwicklerfreundlich, leicht zugänglich und allgemein verständlich sind
- Sie werden eher wie Produkte als wie Code behandelt. Sie sind für den Konsum für bestimmte Zielgruppen konzipiert (z.B.,
- Da sie viel stärker standardisiert sind, haben sie eine viel stärkere Disziplin für Sicherheit und Governance und werden für Leistung und Skalierung überwacht und verwaltet
- Wie jedes andere Stück produktiver Software hat die moderne API ihren eigenen Softwareentwicklungslebenszyklus (SDLC) aus Entwurf, Test, Erstellung, Verwaltung und Versionierung. Außerdem sind moderne APIs für die Nutzung und Versionierung gut dokumentiert.
Wenn Sie mehr über APIs und den Entwurf einer großartigen API erfahren möchten, laden Sie das eBook Undisturbed REST: A Guide to Designing the Perfect API.