Eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API) ist eine Sammlung von Definitionen, Regeln und Protokollen, die die Kommunikation zwischen zwei Entitäten ermöglicht: Nutzern (Menschen oder Software) und Informationen (Datenressourcen, die von Online- und Webanwendungen bereitgestellt werden).

APIs bilden heute das Grundgerüst moderner Anwendungen, verbessern die Benutzererfahrung und optimieren Geschäftsmodelle. Manchmal kann eine API sogar selbst das Geschäftsmodell sein.

Wie funktionieren APIs?

APIs sind das „öffentliche Gesicht“ von Anwendungen: Sie zeigen, welche Funktionen diese ausführen und welche Informationen sie bereitstellen können, und legen das korrekte Format für Anfragen fest. Wenn ein Entwickler die API für eine Anwendung erstellt und zugänglich macht, können andere Anwendungen mit ihr kommunizieren.

In vielen Fällen sparen APIs Entwicklern wertvolle Zeit, da sie häufig verwendete Funktionen direkt verfügbar machen. Anstatt die Funktionalität einer bestehenden Anwendung nachzubilden, können Entwickler diese durch Aufrufe der API der bestehenden Anwendung in ihre eigenen Anwendungen integrieren.

Diagramm

Wie eine API konzipiert und bereitgestellt wird und wie sie funktioniert, hängt von ihrem Architekturstil oder Protokoll ab.

Arten von API-Architekturen und -Protokollen

Eine API-Architektur bzw. ein Architekturstil bezeichnet den übergeordneten Aufbau einer API. Dazu gehören die Struktur und Organisation der API sowie ihr Anfrage-/Antwortformat. Ein API-Protokoll legt ebenfalls das Format fest und beschreibt darüber hinaus die genauen Nachrichten.

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

  • REST – Dieser Architekturstil, auch als RESTful bezeichnet, basiert auf den Prinzipien des Representational State Transfer. Er nutzt HTTP-Methoden (wie GET, POST, PUT und DELETE) sowie abstrahierte Informationen (in Form von Ressourcen und Ressourcenmodellen), um skalierbare, flexible und technologieunabhängige Strukturen zu schaffen. REST ist auch heute noch die beliebteste API-Architektur.
  • GraphQL – GraphQL ist eine von Meta (ehemals Facebook) entwickelte Open-Source-Abfragesprache. GraphQL-Architekturen ermöglichen es, Daten aus mehreren Quellen mit einem einzigen API-Aufruf abzurufen. Da Clients nur die benötigten Daten anfordern, sind GraphQL-APIs in der Regel effizienter (allerdings weniger gut cachebar) als REST-APIs.
  • SOAP – Dieser Architekturansatz verwendet das Simple Object Access Protocol (SOAP). SOAP-Nachrichten werden in der Regel in XML formatiert und sind daher umfangreicher als REST oder GraphQL. Im Gegensatz zu REST-APIs gelten für SOAP-APIs strenge Implementierungsrichtlinien, die die Struktur des API-Protokolls festlegen.
  • WebSocket – Dieses API-Protokoll ist vollduplexfähig, das heißt, Client und Server können gleichzeitig Nachrichten senden und empfangen. Darüber hinaus kann der Server eine Nachricht senden, die keine Antwort auf eine Client-Anfrage ist, sondern beispielsweise durch ein serverseitiges Ereignis ausgelöst wird. Im Gegensatz dazu folgen REST-APIs einem strikten Anfrage-Antwort-Muster.
  • RPC – Mit einem Remote Procedure Call kann ein Entwickler mit demselben Code eine Funktion aufrufen, die in einem anderen Adressraum (normalerweise auf einem Remote-Server) ausgeführt wird, wie eine lokale Funktion, ohne die Details der Remote-Interaktion angeben zu müssen. Da mehrere Programmiersprachen verwendet werden können, ist dieses Protokoll flexibel und wird häufig für die Client-Server-Kommunikation eingesetzt. Ein Beispiel für einen RPC ist gRPC (Google Remote Procedure Call).

Wie werden APIs heute eingesetzt?

APIs sind ein wesentlicher Bestandteil moderner Software. Heutzutage entwickeln oder nutzen Organisationen und Unternehmen je nach Bedarf viele verschiedene Arten von APIs.

Die vier häufigsten Arten von APIs, die heute in Unternehmen 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 kostenpflichtig oder kostenlos) und ermöglichen es Ihnen, Partnerschaften mit Drittentwicklern aufzubauen und Ihr gesamtes Geschäftsökosystem zu erweitern.

Da öffentliche APIs von Drittentwicklern zur Entwicklung neuer Produkte genutzt werden können, fördern sie Innovationen und sind ein wichtiges Instrument für den Aufbau neuer Partnerschaften.

Private APIs

Private APIs sind nur für interne Teams innerhalb Ihres Unternehmens zugänglich. Sie helfen Ihnen dabei, Daten zu erschließen und die interne Zusammenarbeit zu fördern, oder unterstützen im Hintergrund die öffentlich zugänglichen Anwendungen Ihres Unternehmens (zum Beispiel Ihre Website).

Da private APIs nur internen Benutzern zur Verfügung stehen, können Unternehmen sie gezielt auf optimale Leistung ausrichten. Private APIs ermöglichen zudem eine bessere Kombinierbarkeit moderner Anwendungen, sodass Unternehmen sich an aktuelle Anforderungen anpassen können. Entwickler können private APIs bei der Entwicklung von Microservices problemlos integrieren, wodurch redundante Arbeit in verschiedenen Teams reduziert wird.

Partner-APIs

Partner-APIs werden für die direkte Integration mit Geschäftspartnern verwendet (zum Beispiel, wenn eine Fluggesellschaft mit einer Hotelkette kooperiert und Sie gleichzeitig Ihren Flug und Ihre Unterkunft buchen können). Partner-APIs sind nicht öffentlich verfügbar. Nur ausgewählte Entwickler, die die Anforderungen beider Unternehmen an die Authentifizierung (AuthN) und Autorisierung (AuthZ) erfüllen, können darauf zugreifen.

Interoperabilität stärkt die Beziehungen zu Partner-APIs, da diese Silos aufbrechen und die Kommunikation zwischen verschiedenen Organisationen ermöglichen.

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 in der Regel einen häufig benötigten Dienst bereit (ein Beispiel ist die von vielen E-Commerce-Websites verwendete Stripe-API zur Zahlungsabwicklung). Je nach API kann Ihre Organisation sie kostenlos oder gegen Gebühr nutzen.

Da Drittanbieter-APIs bereits von anderen Entwicklern oder Organisationen erstellt wurden, liegt einer ihrer klaren Vorteile in der Kostenersparnis. Darüber hinaus ermöglichen Drittanbieter-APIs Unternehmen eine schnellere App-Entwicklung, da Entwickler vorhandene Funktionen sofort nutzen können, anstatt sie selbst zu programmieren.

Welche Programmiersprachen werden zur Erstellung von APIs verwendet?

Nahezu jede moderne Programmiersprache kann zur Entwicklung einer API verwendet werden. Bei der Programmierung einer API entscheiden sich viele Entwickler für ein Framework. Frameworks stellen Bausteine wie Codebibliotheken und andere erforderliche Hilfsprogramme bereit, mit denen sich Anwendungen in der jeweiligen Sprache schneller und einfacher entwickeln lassen.

Für jede Programmiersprache gibt es in der Regel ein oder mehrere Frameworks, die bei Entwicklern beliebt sind. Die Tabelle führt mehrere Framework-Optionen auf, von denen viele Open Source sind.

Sprachen

Frameworks

Java

Frühling

JavaScript, Node.js

Angular, Express.js, React, Vue

PHP

Laravel, Slim, Symfony

Python

Django, Flask

Rust

Rocket, Yew, Actix-Web

Ruby

Rails

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

Beispiele für APIs

Unternehmen benötigen heute eine moderne API-Strategie im Einklang mit ihren Zielen. Eine API-Strategie legt fest, wie ein Unternehmen seine APIs konzipiert, entwickelt, verwaltet, steuert und absichert.

Laut Gartners fünf wichtigsten API-Lektionen für Führungskräfte in der Softwareentwicklung, gibt es fünf Best Practices, mit denen Sie eine starke API-Strategie sicherstellen können:

  • Lassen Sie nicht zu, dass die API-Governance zu Engpässen führt. Die API-Governance muss mit der Agilität der Entwickler in Einklang gebracht werden, damit Innovationen weiterhin vorangetrieben werden können.
  • Behandeln Sie APIs wie Produkte, auch wenn Sie nicht vorhaben, sie zu monetarisieren. Stellen Sie sicher, dass jede API einen klaren Zweck und eine klar definierte Zielgruppe hat, die mit den Unternehmenszielen im Einklang stehen.
  • Entdecken Sie Ihre APIs, bevor Hacker es tun. Wenn Sie der Auffindbarkeit und regelmäßigen Überwachung Priorität einräumen, können Sie Sicherheitsverletzungen verhindern.
  • Verwalten Sie den Lebenszyklus Ihrer APIs. Ein umfassendes API-Lebenszyklusmanagement stellt sicher, dass APIs dauerhaft leistungsfähig und angemessen geschützt bleiben.
  • Wählen Sie die am besten geeigneten API-Technologien. Was für ein Unternehmen funktioniert, muss nicht unbedingt auch für Ihres geeignet sein. Daher ist es wichtig, Ihre spezifischen API-Anforderungen für heute und die Zukunft genau zu prüfen.

Unabhängig davon, für welche Art von API-Architektur Sie sich entscheiden oder welche Art von API Sie programmieren, ist es entscheidend, die API-Sicherheit von Anfang an zu berücksichtigen und nicht erst im Nachhinein. Weitere Informationen dazu, wie Sie Ihre APIs von Beginn an schützen und häufige Probleme wie API-Wildwuchs bekämpfen können, finden Sie unter API-Sicherheit: Best Practices zum Schutz von APIs.

Und nicht alle Metriken sind gleich aussagekräftig. Weitere Informationen finden Sie unter Diese 12 Metriken sollten Sie für eine erfolgreiche API-Strategie überwachen.

Was ist API-Konnektivität?

APIs waren ursprünglich ein Werkzeug für Entwickler, haben sich jedoch zu strategischen Unternehmensressourcen entwickelt, die den Umsatz steigern und die Agilität von Unternehmen fördern. API-Konnektivität bezeichnet den Einsatz modularer und wiederverwendbarer APIs, um Daten und Anwendungen in Cloud-nativen Umgebungen miteinander zu verknüpfen und so Herausforderungen in den Bereichen Transparenz, Sicherheit und Governance zu bewältigen.