Was ist eine API?
- IAM-Glossar
- Was ist eine API?
API ist eine Abkürzung für "Application Programming Interface" (Deutsch: Programmierschnittstelle). Dabei handelt es sich um eine Reihe von Protokollen und Routinen, die verschiedene Systeme und Anwendungen in die Lage versetzen, miteinander zu kommunizieren, ohne dass Entwickler oder Endnutzer wissen müssen, wie diese implementiert wurden. Dadurch können Entwickler vielfältig verwendbare Softwaremodule programmieren.
Entwickler nutzen API häufig, um auf Funktionen zuzugreifen, die von externen Diensten oder Anwendungen bereitgestellt werden. Zum Beispiel kann eine API Daten von einem meteorologischen Dienst für eine Wetter-App bereitstellen. Die API gibt das Datenanfrageformat vor, das die App für den Datenabruf einhalten muss, und das Datenformat, in dem die gewünschten Daten vom meteorologischen Dienst bereitgestellt werden.
Wie funktionieren API?
API spezifizieren bestimmte Regeln und Protokolle für die Kommunikation zwischen Softwarekomponenten. Dazu gehören üblicherweise Routinen, Datenstrukturen, Objektklassen und Variablen. Im Folgenden sehen Sie einen groben Überblick der Funktionsweise von API:
Ein Client stellt eine Anfrage. Der Client (ein System oder eine Anwendung) schickt eine Anfrage an den API-Server, in der die gewünschte Operation spezifiziert ist, zum Beispiel "Datenabruf" oder "Neue Ressourcen erstellen". Die Anfrage enthält alle notwendigen Parameter und Authentifizierungsinformationen.
Der API-Server verarbeitet die Anfrage. Der API-Server empfängt die Anfrage und verarbeitet sie. Dazu werden grundlegende Anwendungen und Daten genutzt, um die angefragte Operation durchzuführen.
Der API-Server sendet eine Antwort. Der API-Server sendet die Antwort zurück zum Client und gibt an, ob die Operation erfolgreich war oder nicht. Bei einer erfolgreich durchgeführten Operation werden die relevanten Daten geliefert. Die Antwort ist entsprechend der API-Spezifikationen formatiert.
Der Client verarbeitet die Antwort. Der Client erhält die Antwort von der API und verarbeitet die Daten wie erforderlich, um zum Beispiel Nutzern Daten anzuzeigen.
So ermöglichen API anderen Softwarekomponenten, miteinander zu kommunizieren, Daten auszutauschen und Funktionen zu nutzen. Die API definiert die Regeln und Protokolle für die Kommunikation, damit verschiedene Systeme und Anwendungen miteinander interagieren können, auch wenn sie von verschiedenen Organisationen oder Personen auf verschiedenen Plattformen in verschiedenen Programmiersprachen entwickelt wurden.
Welche unterschiedlichen API-typen gibt es?
Das sind die geläufigsten API-Typen:
Offene API (oder externe oder öffentliche API) stehen Entwicklern und anderen Benutzern ohne große Einschränkungen zur Verfügung. Öffentliche API erfordern unter Umständen eine Registrierung, App-Bestätigung oder einen API-Schlüssel, um Missbrauch zu verhindern.
Interne API (oder private API) werden für die Verwendung von Ressourcen und Daten innerhalb eines Unternehmens verwendet oder für die Kommunikation zwischen verschiedenen Systemen und Anwendungen einer einzigen Organisation. Auf interne API können nur Benutzer innerhalb einer bestimmten Organisation zugreifen und sie sind nicht sichtbar für externe Benutzer.
Partner-API ähneln offenen API, aber sie stehen nur ausgewählten, vertrauenswürdigen Partnern zur Verfügung. Zugriff auf die API ist üblicherweise eingeschränkt und erfordert die vorherige Erlaubnis.
Zusammengesetzte API kombinieren verschiedene API-Typen, um bestimmte komplexe Nutzungsszenarien verarbeiten zu können. Sie erlauben es Entwicklern, Daten von mehreren Datenquellen mit einer einzigen API abzurufen, was den Datenabrufprozess stark vereinfacht.
REST-API (Representational State Transfer API) nutzen HTTP-Anfragen, um Daten abzufragen, zur Verfügung zu stellen, zu veröffentlichen und zu löschen. REST ist eine Datenarchitektur mit einfachen, anspruchslosen und flexiblen Mechanismen, um Daten zwischen verschiedenen Systemen auszutauschen. REST-API werden üblicherweise für Web-basierte Anwendungen und Dienste verwendet.
SOAP-API (Simple Object Access Protocol API) sind auf bestimmten Standards basierende Web-Service-Verfahren, mit denen verschiedene Systeme über das Internet miteinander kommunizieren können. SOAP verwendet XML als Nachrichtenformat und nutzt andere Web-Standards wie HTTP und SMTP für den Datentransport.
XML-RPC und JSON-RPC sind beides Remote-Procedure-Call-API (RPC), die jeweils die Datenformate XML und JSON nutzen. Die API erlauben Systemen die Kommunikation mit und Anforderung von Prozeduren von Remote-Systemen, was üblicherweise mittels HTTP passiert.
GraphQL-API wurde von Facebook entwickelt und ist ein neuer API-Standard für den Aufbau und die Verwendung von API. Der Standard ist eine effizientere, leistungsfähigere und flexiblere Alternative zu traditionellen REST-API. GraphQL-API ermöglichen es Client-Anwendungen, die gewünschte Datenstruktur zu spezifizieren, und sie können den Servern sagen, dass nur die angeforderten Daten zurückgegeben werden sollen.
Jeder API-Typ hat eigene Stärken und Schwächen und sie eignen sich für unterschiedliche Nutzungsszenarien besser oder schlechter. Die Wahl des richtigen API-Typs für ein bestimmtes Projekt hängt von vielen Faktoren ab, darunter dem Projektumfang, der Projektkomplexität, den Endnutzergruppen und den benötigten Datenformaten.
Welche beispiele für API gibt es?
API sind allgegenwärtig! Hier sehen Sie eine kleine Auswahl an Beispielen:
Die Google-Maps-API ermöglicht es Entwicklern, Funktionen von Google Maps auf ihren Webseiten und in Anwendungen zu nutzen. Onlinehändler nutzen die Google-Maps-API zum Beispiel zum Abrufen von Daten ihrer Online-Shop-Verzeichnisse.
Händler nutzen die PayPal-API, damit Kunden Waren mit PayPal bezahlen können.
Ein anderes Beispiel ist die Twitter-API, mit der Entwickler auf Twitter-Daten und -Funktionen in ihren eigenen Anwendungen zugreifen konnten. Die Twitter-API ermöglichte es Entwicklern, Funktionen wie Tweets abrufen, Tweets veröffentlichen und andere Aktionen wie Tweet-Suche und anderen Twitter-Nutzern folgen in ihren Anwendungen einzubauen.
Reiseveranstalterseiten nutzen API, damit Kunden Flüge, Unterkünfte und andere Reiseangebote suchen und buchen können.