Allgemeine Einführung in APIs
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Definieren und Beschreiben einer API
- Benennen gängiger Anwendungsbereiche von APIs
IT-Technologie ist zu einem Teil aller Aspekte unseres Lebens und Konnektivität zum Eckpfeiler der 4. industriellen Revolution geworden. Wir sind alle auf bestimmte Weise miteinander vernetzt.
- Über unsere Handys, wenn wir Yelp-Bewertungen für Restaurants in der Nähe nachschlagen
- Über Reisebuchungsportale mit Zugriff auf alle verfügbaren Flüge und Hotels
- Selbst Haushaltsgeräte sind in der Lage, Vorräte wieder aufzufüllen, z.B. indem sie für Mikrowellen geeignetes Popcorn direkt über eine Alexa-fähige AmazonBasics-Mikrowelle bestellen
Haben Sie sich schon einmal gefragt, wie das funktioniert?
Jahrzehntelang wurden die meisten Computerprogramme mit Blick auf eine Art von Benutzer entwickelt und vertrieben: den Menschen. Unabhängig davon, welche Kette von Ereignissen in der Software erfolgte, stand üblicherweise ein menschlicher Benutzer am Ende dieser Kette. Aufgrund dessen konnte der Benutzer nur über eine Benutzeroberfläche auf Daten zugreifen.
Doch was wäre, wenn eine andere Software genauso leicht auf dieselben Daten zugreifen könnte? Beispielsweise Ihre Smartwatch, die die Anzahl der von Ihnen zurückgelegten Schritte an einen Leistungsdiagrammservice im Internet oder an das System für elektronische Patientenakten übermittelt, das der Arzt nutzt, den Sie gebeten haben, Ihnen bei der Verbesserung Ihrer Fitness zu helfen. In diesem Fall gelten ganz andere Aspekte als bei einer Benutzeroberfläche. Schließlich haben Softwareprogramme keine Augen, Emotionen oder Intuition und brauchen deshalb keine aufwändige grafische Benutzeroberfläche. Ebenso wie eine Benutzeroberfläche auf den Menschen zugeschnitten ist, benötigt Software eine Schnittstelle, die es einfach macht, Daten oder Funktionen aus anderen Programmen ab- bzw. aufzurufen.
Hier kommen Anwendungsprogrammierschnittstellen (Application Programming APIs) ins Spiel. Wenn Anwendungen, Daten oder Geräte Daten oder Funktionen innerhalb eines zweckorientierten Kontexts gemeinsam nutzen (z. B. zur Visualisierung von Fitnessdaten), befinden sich APIs hinter den Kulissen und sind in diesem Kontext für die Konnektivität verantwortlich.
Was ist eine API?
Eine API ist die Entsprechung einer Benutzeroberfläche, außer dass sie für Software und nicht für Menschen konzipiert ist. Aus diesem Grund werden APIs in den Medien oft als Technologie beschrieben, die es Anwendungen ermöglicht, miteinander zu kommunizieren.
Der Client sendet eine Anforderung bestimmter Informationen oder Funktionen an ein anderes System. Dieses System gibt die Daten oder Funktionen in einer Antwort zurück. Um Daten zu senden oder zu empfangen, wird erwartet, dass sie in einem bestimmten Format vorliegen, das beide Seiten verstehen können. Dieses Format ist oft äußerst abhängig vom Kontext, dem es dient. Wir sehen uns das gleich genauer an.
Die Betreiberin eines Fitness-Studios möchte ihre neuen Fitnessgeräte am neuen Standort des Studios an der Stromversorgung anschließen. Da sie in Nordamerika lebt, weiß sie, dass sie dafür einen US-Haushaltsstecker braucht. Sie weiß außerdem, dass Steckdosen eine Spannung von 120 Volt liefern. Diese bekannten Vorgaben stellen im Wesentlichen eine Erwartung an jedes Gerät dar, das in eine Steckdose eingesteckt werden soll.
APIs funktionieren ähnlich.
APIs: Der elektrische Strom zwischen Softwareprogrammen
Was also, wenn überhaupt, haben Steckdosen mit APIs zu tun?
Stellen Sie sich das so vor:
- Der Strom, der aus der Steckdose kommt, ist ein Service. Dieser kann jederzeit gestartet und beendet werden.
- Das mit einer Steckdose verbundene Laufband nutzt den Strom für seinen Betrieb.
- Da das Laufband keine eigene Stromquelle hat, bezieht es den benötigten Strom vom Energieversorger, z. B. einem Betreiber von Windkraft- oder Solarstromanlagen.
Elektrische Steckdosen unterscheiden sich zwar je nachdem, wo Sie sich gerade auf der Welt befinden, aber sie haben vorhersehbare Standardmuster von Buchsen. Die elektrischen Stecker, die an Geräten wie Laufbändern angebracht sind, sind so konzipiert, dass sie zu diesen Standardmustern passen.
Alle diese Vorgaben definieren im Wesentlichen Erwartungen an alle Geräte, die den Service nutzen wollen. Stecker und Netzteile entsprechen den Standardmustern und technischen Anforderungen (z. B. 120 Volt) für den Service. Das Gleiche gilt für APIs.
Vergleichbar mit standardisierten Steckdosen bieten APIs ähnliche Standardmuster, die es anderen Programmen erleichtern, Daten und Funktionen auszutauschen. Jede Software, die Daten senden oder empfangen muss, muss diese Vorgaben erfüllen, um eine Anforderung stellen zu können. APIs machen es möglich, bestehende Prozesse (wie ein Kundenerlebnis) mit neuen Daten und Funktionen zu verbinden.