Was ist eine Anwendungsprogrammierschnittstelle (API)?

Eine Anwendungsprogrammierschnittstelle oder API ist ein Satz von Definitionen, Regeln und Protokollen, die die Kommunikation zwischen zwei Entitäten ermöglichen: Benutzern (entweder Menschen oder Software) und Informationen (Datenressourcen, die von Online- und Webanwendungen bereitgestellt werden).

Heute bilden APIs das Grundgerüst moderner Anwendungen, verbessern das Benutzererlebnis und erweitern Geschäftsmodelle. Manchmal kann eine API sogar das Geschäftsmodell selbst sein.

Wie funktionieren APIs?

APIs sind das „öffentliche Gesicht“ von Anwendungen. Sie zeigen die Funktionen an, die sie ausführen, die Informationen, die sie bereitstellen können, und definieren das richtige Format für Anfragen. Wenn ein Entwickler die API für eine Anwendung erstellt und verfügbar macht, können andere Anwendungen mit ihr kommunizieren.

In vielen Fällen sparen APIs Entwicklern wertvolle Zeit, da sie häufig verwendete Funktionen sofort verfügbar machen. Anstatt die Funktionalität einer vorhandenen Anwendung zu duplizieren, können Entwickler die Funktionalität in ihre Anwendungen integrieren, indem sie die API der vorhandenen Anwendung aufrufen.

WasIstEinAPI-Glossar

Die Art und Weise, wie jede API entworfen, bereitgestellt und funktioniert, hängt von ihrem Architekturstil oder Protokoll ab.

Arten von API-Architekturen und -Protokollen

Eine API-Architektur oder ein Architekturstil bezieht sich auf das High-Level-Design einer API. Dies umfasst, wie die API strukturiert und organisiert ist und ihr Anforderungs-/Antwortformat. Ein API-Protokoll gibt auch das Format vor und beschreibt zusätzlich die genauen Nachrichten.

Zu den gängigen API-Architekturen und -Protokollen gehören:

  • REST – Auch als RESTful bekannt, basiert dieser Architekturstil auf den Prinzipien der repräsentativen Zustandsübertragung . Es verwendet HTTP-Methoden (wie GET, POST, PUT und DELETE) und abstrahierte Informationen (in Form von Ressourcen und Ressourcenmodellen), um skalierbare, flexible und technologisch unabhängige Strukturen zu erstellen. Heute ist REST nach wie vor die beliebteste API-Architektur.
  • GraphQL – Eine von Meta (ehemals Facebook) entwickelte Open-Source-Abfragesprache. GraphQL-Architekturen ermöglichen das Abrufen von Daten aus mehreren Quellen über einen API-Aufruf. Da Clients nur die erforderlichen Daten anfordern, sind GraphQL-APIs tendenziell effizienter (wenn auch weniger zwischenspeicherbar) als REST-APIs.
  • SOAP – Dieser Architekturansatz verwendet das Simple Object Access Protocol (SOAP). SOAP-Nachrichten werden im Allgemeinen im XML-Format formatiert, was sie umfangreicher macht als REST oder GraphQL. Im Gegensatz zu REST-APIs verfügen SOAP-APIs über strenge Implementierungsrichtlinien, die die Struktur des API-Protokolls definieren.
  • WebSocket – Dieses API-Protokoll ist vollduplex, was bedeutet, dass Client und Server gleichzeitig Nachrichten senden und empfangen können. Darüber hinaus kann der Server eine Nachricht senden, die keine Antwort auf eine Client-Anforderung ist, sondern (beispielsweise) durch ein Ereignis auf der Serverseite ausgelöst wird. Im Gegensatz dazu folgen REST-APIs einem strengen Anforderung-Antwort-Muster.
  • RPC – Mit einem Remote Procedure Call kann der Entwickler mit demselben Code eine Funktion aufrufen, die in einem anderen Adressraum (normalerweise auf einem Remote-Server) ausgeführt wird, wie für eine lokale Funktion, ohne die Details der Remote-Interaktion angeben zu müssen. Da mehrere Sprachen verwendet werden können, ist dieses Protokoll flexibel und wird häufig in der Client-Server-Kommunikation verwendet. Ein Beispiel für einen RPC ist gRPC (Google Remote Procedure Call).
Wie werden APIs heute verwendet?

APIs sind ein entscheidender Bestandteil moderner Software. Heutzutage erstellen oder verwenden Organisationen und Unternehmen je nach Bedarf viele unterschiedliche Arten von APIs.

Die vier häufigsten API-Typen, die heute in Organisationen zu finden sind, sind öffentliche APIs, private APIs, Partner-APIs und APIs von Drittanbietern.

Öffentliche APIs

Öffentliche APIs sind für Benutzer außerhalb Ihres Unternehmens zugänglich (entweder monetarisiert oder kostenlos) und ermöglichen Ihnen, Partnerschaften mit externen Entwicklern aufzubauen und Ihr gesamtes Geschäftsökosystem zu erweitern.

Da öffentliche APIs von externen Entwicklern zum Erstellen neuer Produkte genutzt werden können, tragen sie zur Innovation bei und sind ein wichtiges Instrument zum Aufbau neuer Partnerschaften.

Private APIs

Auf private APIs können nur interne Teams in Ihrem Unternehmen zugreifen. Sie helfen Ihnen beim Zugriff auf Daten und fördern die interne Zusammenarbeit oder unterstützen unsichtbar die öffentlichen Anwendungen Ihres Unternehmens (beispielsweise Ihre Website).

Da private APIs nur internen Benutzern zur Verfügung stehen, können Unternehmen sie unter Berücksichtigung der Optimierung erstellen. Private APIs ermöglichen außerdem eine bessere Zusammensetzbarkeit moderner Anwendungen, sodass Unternehmen sich an aktuelle Anforderungen anpassen können. Entwickler können beim Erstellen von Microservices problemlos private APIs integrieren, was die Doppelarbeit in verschiedenen Teams reduziert.

Partner-APIs

Partner-APIs dienen der direkten Integration mit Geschäftspartnern (beispielsweise wenn eine Fluggesellschaft eine Partnerschaft mit einer Hotelkette eingeht und Sie gleichzeitig Ihren Flug und Ihre Unterkunft buchen können). Partner-APIs sind nicht öffentlich verfügbar. Sie sind für ausgewählte Entwickler zugänglich, die die Authentifizierungs- (AuthN) und Autorisierungsanforderungen (AuthZ) beider Unternehmen erfüllen.

Interoperabilität stärkt die Beziehungen zu Partner-APIs, da sie Silos aufbrechen und es verschiedenen Organisationen ermöglichen, miteinander zu kommunizieren.

APIs von Drittanbietern

Ihre Organisation nutzt APIs von Drittanbietern, um auf Daten oder Funktionen zuzugreifen, die in Ihren Anwendungen und Diensten fehlen. Diese APIs werden auf dem Server des Drittanbieters ausgeführt und stellen normalerweise einen häufig benötigten Dienst bereit (ein Beispiel ist die Stripe-API zur Zahlungsabwicklung, die von vielen E-Commerce-Websites verwendet wird). Je nach API können sie von Ihrer Organisation gebührenpflichtig oder gebührenfrei genutzt werden.

Da APIs von Drittanbietern bereits von einem anderen Entwickler oder Unternehmen erstellt wurden, liegt einer ihrer klaren Vorteile in der Kostenersparnis. Darüber hinaus sind APIs von Drittanbietern für Unternehmen eine wichtige Möglichkeit, Apps schneller zu entwickeln, da Entwickler eine Funktionalität sofort nutzen können, anstatt sie selbst zu codieren.

Welche Anwendungssprachen werden zum Erstellen von APIs verwendet?

Zum Codieren einer API kann fast jede moderne Programmiersprache verwendet werden. Viele Entwickler entscheiden sich beim Codieren einer API für die Verwendung eines Frameworks. Frameworks stellen Bausteine wie Codebibliotheken und andere notwendige Dienstprogramme bereit, die das Erstellen von Anwendungen mit der Sprache schneller und einfacher machen.

Jede Programmiersprache verfügt im Allgemeinen über ein oder mehrere Frameworks, die bei Entwicklern beliebt sind. Die Tabelle listet mehrere Framework-Optionen auf (viele davon sind Open Source).

 

Sprachen

Rahmenbedingungen

Java

Frühling

JavaScript, Node.js

Angular , Express.js , React , Vue

PHP

Laravel , Slim , Symfony

Python

Django , Flasche

Rost

Rucola , Eibe , Actix-Web

Rubin

Schienen

Die Wahl der Sprache und des Frameworks hängt normalerweise von den Anforderungen des Projekts oder den persönlichen Vorlieben des Entwicklers ab.

Beispiele für APIs

Heutzutage benötigen Organisationen eine moderne API-Strategie , die auf ihre Ziele abgestimmt ist. Eine API-Strategie legt einen Plan fest, wie ein Unternehmen seine APIs entwirft, entwickelt, verwaltet, steuert und sichert.

Laut Gartners Top 5 API Lessons for Software Engineering Leaders gibt es fünf bewährte Methoden zur Gewährleistung einer starken API-Strategie:

  • Lassen Sie nicht zu, dass durch die API-Governance Engpässe entstehen. Um weiterhin Innovationen voranzutreiben, muss die API-Governance mit der Agilität der Entwickler in Einklang gebracht werden.
  • Behandeln Sie APIs als Produkte, auch wenn Sie nicht vorhaben, damit Geld zu verdienen. Stellen Sie sicher, dass jede API einen klaren Zweck und eine Zielgruppe hat, die mit den Geschäftszielen übereinstimmt.
  • Entdecken Sie Ihre APIs, bevor es Hacker tun. Durch die Priorisierung der Auffindbarkeit und regelmäßige Überwachung können Sicherheitsverletzungen verhindert werden.
  • Verwalten Sie den Lebenszyklus von APIs. Eine umfassende API-Lebenszyklusverwaltung stellt sicher, dass die APIs weiterhin mit der erforderlichen Sicherheit funktionieren.
  • Wählen Sie die am besten geeigneten API-Technologien. Was für eine Organisation funktioniert, ist möglicherweise nicht unbedingt das, was für Ihre funktioniert. Deshalb ist es wichtig, dass Sie Ihren speziellen API-Bedarf jetzt und in Zukunft im Detail bedenken.
Was ist API-Konnektivität?

Ursprünglich waren APIs ein Tool für Entwickler, mittlerweile haben sie sich jedoch zu strategischen Geschäftsgütern entwickelt, die den Umsatz steigern und die Agilität von Unternehmen fördern. API-Konnektivität  bezieht sich auf die Verwendung modularer und wiederverwendbarer APIs zum Verknüpfen von Daten und Anwendungen in Cloud-nativen Umgebungen mit dem Ziel, Herausforderungen hinsichtlich Sichtbarkeit, Sicherheit und Governance zu lösen.