Kennenlernen der Vorteile von APIs
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Definieren von Abstraktion
- Benennen der Vorteile der Nutzung einer API
- Erläutern von HTTP-Verben und ihrer Nutzung
Beim Aufbau der Fitnessgeräte beginnt sich die Besitzerin des Fitnessstudios vorzustellen, wie dieser Prozess aussehen würde, wenn es keine Standardspezifikationen für die Stromversorgung gäbe. Die Geräte wären nicht das Einzige, worüber sie sich Gedanken machen müsste. Weitere Aspekte wären die Leitungen in den Wänden, Stromverteiler, Stromerzeugung (Windpark, Kernkraftwerk, Kohlekraftwerk oder Solarmodule) und sogar der Standort der Stromquelle. Glücklicherweise muss sie sich keine Gedanken um diese Details machen, sondern kann die Geräte einfach mit irgendeiner Steckdose verbinden und loslegen.
APIs bieten ein ähnliches Maß an Vorhersagbarkeit und Zuverlässigkeit. Sie bieten zweckorientierte Konnektivität, die oft kontextbezogen ist. Ihre Integration ist einfach wiederholbar und skalierbar. Und in vielen Fällen gibt es einen gegenseitigen Austausch von Mehrwert. Die Besitzerin eines Fitnessstudios erhält zuverlässig Strom für ihre Laufbänder, der Energieversorger kann diesen Verbrauch messen und ihr in Rechnung stellen.
Vorteile der Nutzung von APIs
Mit APIs eröffnen sich eine Vielzahl von Möglichkeiten. Es folgen Möglichkeiten, wie Software, Kunden, Citizen Integrators, Entwickler und ihre Teams von der Verwendung von APIs profitieren können.
Fremdbeschaffung
Im Sinne der Wiederholbarkeit kann jedes kompatible Gerät (in diesem Fall die Fitnessgeräte) seine Stromversorgungsanforderungen mühelos mithilfe eines Service erfüllen, wobei diese Geräte erwarten können, dass sie die gleiche Leistung erhalten. Ebenso ermöglichen APIs über eine verlässliche Standardschnittstelle die Fremdbeschaffung wichtiger Daten und Funktionen. Sie können sich auf die Entwicklung großartiger Anwendungen, Services und Kundenerlebnisse konzentrieren, ohne herausfinden zu müssen, wie Sie sich gängige, dennoch nuancierte Informationen verschaffen können.
Denken Sie nur daran, wie der US-amerikanische Fahrdienst Lyft die Standardschnittstelle zu Google Maps nutzt, um Karten- und Geolokalisierungsfunktionen in seine mobile App zu importieren. Karten waren nie Teil des Kundenerlebnisses, wenn es darum ging, ein Taxi oder eine Limousine zu bekommen. Doch Ridehailing-Services wie Lyft erkannten eine Gelegenheit, das Kundenerlebnis mithilfe von Karten zu verbessern.
Dank der API zu Google Maps musste sich Lyft nicht darum kümmern, wie Karten in seine Anwendung eingebunden werden. Das Unternehmen kann sich ganz auf die Geschäftsprozesse konzentrieren, die für ein großartiges Ridesharing-Erlebnis sorgen.
Der Instinkt, APIs auf diese Weise zu nutzen, um ein großartiges Kundenerlebnis zu schaffen, sollte denjenigen unter Ihnen, die Trailblazer im Bereich Integration werden möchten, innewohnen. Es wird an Ihnen liegen, anderen in Ihrem Unternehmen beizubringen, auf diese Weise zu denken.
Mehr Mobilität
Endgeräte lassen sich leicht von einer Steckdose zur anderen verlagern. Ohne Stecker, passende Steckdose oder Spezifikationen müsste die Studiobetreiberin beispielsweise Geräte fest in die Wände des Gebäudes verdrahten. Dies erfordert das Zusammenstellen der benötigten Werkzeuge, das Freilegen aller Drähte und deren Zusammenfügen. Sicherlich müsste sie auch etwas über die Leitungen wissen, die aus der Wand kommen.
Dank einer Standardschnittstelle ist das Umsetzen von Geräten einfach. (Denken Sie an das Upgrade von Software, die Migration zu einem neuen Service oder an die Erweiterung Ihrer Rechenzentrumsfläche.) Selbst wenn sich das Muster der Schnittstelle ändert, wie es bei Reisen von Nordamerika nach Europa der Fall ist, können Endgeräte problemlos an die Anforderungen angepasst werden, da die Vorgaben klar definiert und dokumentiert sind.
Abstraktion
Mit Blick auf das Fitness-Studio ist die Steckdose eine Abstraktionsschicht für den zugrunde liegenden Service, d. h. die Stromversorgung. Sie fragen sich, was Abstraktion ist? Es handelt sich um eine Möglichkeit, die Funktionsdetails eines anderen Systems verborgen zu halten.
Solange der Service der Wandsteckdose standardmäßig 120 Volt Wechselstrom zuführt, steht es dem Serviceanbieter frei, alle möglichen Einstellungen von direkt hinter der Steckdose bis hin zur Stromquelle vorzunehmen. Alle Änderungen sind für Endgeräte transparent.
APIs dienen als Abstraktionsschicht zwischen den bereitgestellten Daten oder Funktionen und der Logik, die erforderlich ist, um eine Aufgabe an der Quelle zu erledigen und auszuführen. Das heißt, dass Ihre Software nur wissen muss, wie sie sich mit dem anderen System verbinden kann, nicht wie das andere System funktioniert.
Höhere Entwicklerproduktivität
Wenn Programmierer Code schreiben, beginnen sie selten bei null. APIs sind so konzipiert, dass sie eine bestehende Codebasis heranziehen und sie jederzeit und überall verwenden, anstatt zu versuchen, diese Elemente neu zu erstellen. Wenngleich die Wiederverwendung von vorhandenem Code die Abgrenzung zwischen Anwendungen einschränkt, kann ein Verweis auf die API – oder vielmehr der Aufruf einer API – das Programm mit den erwarteten Daten bzw. der erwarteten Funktionalität versorgen. Angesichts dessen, wie sich mit APIs gängige Aufgaben und sogar nicht alltägliche Aufgaben bewältigen lassen, können APIs die Entwicklungszeit von Monaten oder sogar Jahren auf Wochen verkürzen.
Wenn Entwickler über diese Art von Produktivität verfügen, gewinnt das Unternehmen beispiellose Agilität. Wie Sie in API-Led Integration for Business Reinvention erfahren, sind dank APIs neue Produkte und bessere Geschäftspraktiken in einem Bruchteil der Zeit realisierbar, in der sie es bislang waren.
Zugriff auf Daten über HTTP-Protokolle
Es gibt zwar keine Regeln oder Gesetze, die genau festlegen, wie Entwickler ihre Anwendungen mit einer API verbinden müssen, es haben sich jedoch mehrere Standards herausgebildet. Wenn sich beispielsweise Anwendungen über das Internet mit APIs verbinden, stellt die Mehrheit der API-Anbieter diese Verbindungen über HTTP (Hypertext Transfer Protocol), auch bekannt als das World Wide Web, zur Verfügung
Ob es sich nun um eine Anwendung auf Ihrem Handy handelt, die eine API aufruft, oder Sie Ihren aktuellen Kalorienverbrauch über einen Webbrowser abrufen oder Ihre Trainingsdaten mithilfe der Fitnessgeräte-Software speichern – stets verwenden Sie einen speziellen Satz von HTTP-Befehlen, die so genannten Verben.
HTTP-Verben
|
Beschreibung
|
---|---|
POST |
Dient zum Übermitteln angeforderter Daten zur Verarbeitung an einen Server |
GET |
Dient zum Abrufen angeforderter Daten von einem Server |
PUT |
Dient zum Aktualisieren und Ersetzen vorhandener Daten durch neue Daten, die in der Anforderung gesendet werden |
DELETE |
Dient zum Entfernen der angeforderten Daten vom Server |
In den meisten Fällen stellt der Serviceanbieter eine spezielle Webadresse zur Verfügung, die als API-Endpunkt bezeichnet wird, mit dem sich die Software über ein HTTP-Verb verbinden kann. Hier ein Beispiel mit FitBit.
GET https://api.fitbit.com/1/user/[Benutzer-ID]/activities/date/[Datum].json
Beachten Sie, dass FitBit "api" anstelle des Ihnen bekannten "www" verwendet wird. Hier können Entwickler mit dem Befehl GET die Daten zurückgeben, die zur Anzeige in ihren Anwendungen benötigt werden. Bei diesem Endpunkt umfasst die erwartete Antwort die letzte Aktivität (Laufen) sowie alle kurz zuvor beendeten Fitnessaktivitäten des Benutzers.
Wenn ein angeschlossenes Laufband diese API verwenden würde, könnte sie dem Läufer eine Fülle nützlicher Informationen anzeigen! Sehen Sie als Beispiel die Antwort an, die nach einer GET-Anforderung an die Fitbit-API empfangen wurde.
API
Sicherlich ist die obige Antwort nicht sehr intuitiv und würde dem Benutzer des Laufbands niemals präsentiert werden. Sie ist nach einem anderen Standard namens JSON (JavaScript Object Notation) formatiert, der häufig mit HTTP verwendet wird. Auch wenn es sehr technisch aussieht, gibt es eine neue Klasse von Citizen Integration-Tools, wie z. B. MuleSoft Composer, die es auch Nichtprogrammierern erleichtern, mit diesen Ausgaben zu arbeiten. Dadurch wird Citizen Integrators ermöglicht, sich neue Wege für die Nutzung von APIs vorzustellen und diese Vorstellungen in die Tat umzusetzen, indem sie diese Integrationen selbst herbeiführen. Während Programmierer möglicherweise etwas Code entwickeln, um die obige Antwort zu lesen und zu verarbeiten, arbeiten Citizen Integrators, wie z. B. ein Bereichsleiter oder Laufband-Designer, mit Klicks.
Benutzeroberfläche des Laufbands
Sobald das Laufband eine Antwort empfängt, kann der Benutzer den gesamten Kalorienverbrauch, einen Vergleich mit der letzten Trainingseinheit und vieles mehr einsehen.
Versetzen Sie sich nun in die Lage des Designers der Benutzeroberfläche des Laufbands. Haben Sie eine Idee für eine andere Benutzeroberfläche? Vielleicht eine, die einige der anderen Daten in der Antwort verwertet? Das kann sehr gut sein. Diese Art der Flexibilität bei Änderungen an der Benutzeroberfläche ist ein Beispiel für einen der Vorteile, die sich aus der Art der von APIs gebotenen Abstraktion ergeben.
Wichtiger Hinweis: Anwendungen sind nicht darauf beschränkt, jeweils nur eine API zu nutzen! Eine Anwendung kann Aufrufe an mehrere APIs und API-Anbieter richten. Diese zusammengesetzten Anwendungen werden mitunter als Mashups bezeichnet. Wie bei einem Rezept, das jede beliebige Zutat enthalten kann, ist die einzige Einschränkung im Hinblick darauf, was mit einem Mashup verwirklicht werden kann, Ihre Vorstellungskraft.
Dank der Tausenden von APIs, auf die Softwareentwickler und Nichtprogrammierer mit Citizen Integration-Tools (Citizen Integrators) über das Internet zugreifen können (laut ProgrammableWeb.com nach letzter Zählung mehr als 23.000), hat sich das Web zu einer Programmierplattform entwickelt, die ebenso leistungsstark, wenn nicht sogar noch leistungsstärker ist als Programmierplattformen wie Windows, Mac und Linux. Das Ganze gleicht einem riesigen Gewürzregal, das Ihnen jederzeit zur Verfügung steht. Je eher Sie damit beginnen, die Geschäftsprozesse und Kundenerfahrungen Ihres Unternehmens als Mashups zu verstehen, die aus handelsüblichen Zutaten zusammengesetzt sind, desto eher machen Sie sich auf den Weg, APIs zur Transformation Ihres Unternehmens einzusetzen!
Ressourcen