Was ist eine Programmschnittstelle (Application Programming Interface, API)?

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

APIs bilden heute das Grundgerüst moderner Anwendungen, verbessern die Benutzerfreundlichkeit 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, die sie ausführen und die Informationen, die sie bereitstellen können, und definieren das richtige Format von Anforderungen. Wenn ein Entwickler die API für eine Anwendung erstellt und offenlegt, ermöglicht er anderen Anwendungen die Kommunikation mit ihr.

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

WhatIsAnAPI-Glossar

Die Art und Weise, wie die einzelnen APIs entwickelt, bereitgestellt und betrieben werden, hängt von ihrem Architekturstil oder Protokoll ab.

Arten von API-Architekturen und Protokollen

Eine API-Architektur oder ein Architekturstil bezieht sich auf das grobe Design einer API. Dies umfasst, wie die API strukturiert und organisiert ist und wie ihr Anforderungs-/Antwortformat aussieht. Ein API-Protokoll spezifiziert ebenfalls das Format, während es zusätzlich die genauen Nachrichten beschreibt.

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

  • REST – Dieser auch als RESTful bezeichnete Architekturstil basiert auf den Prinzipien der repräsentativen Zustandsübertragung. Er 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 schaffen. Heute ist REST die beliebteste API-Architektur.
  • GraphQL – Eine Open-Source-Abfragesprache, die von Meta (ehemals Facebook) entwickelt wurde. GraphQL-Architekturen ermöglichen das Abrufen von Daten aus mehreren Quellen über einen einzigen API-Aufruf. Da Clients nur die erforderlichen Daten anfordern, sind GraphQL-APIs tendenziell effizienter (wenn auch weniger cachefähig) als REST-APIs.
  • SOAP – Dieser architektonische Ansatz verwendet das Simple Object Access Protocol (SOAP). SOAP-Nachrichten sind im Allgemeinen in XML formatiert, was sie umfangreicher macht als REST oder GraphQL. Im Gegensatz zu REST-APIs haben SOAP-APIs strenge Implementierungsrichtlinien, die die Struktur des API-Protokolls definieren.
  • WebSocket – Dieses API-Protokoll ist vollduplex, d. h. Client und Server können gleichzeitig Nachrichten senden und empfangen. Außerdem kann der Server eine Nachricht senden, die keine Antwort auf eine Client-Anforderung ist, sondern (beispielweise) 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 denselben Code verwenden, um eine Funktion aufzurufen, die in einem anderen Adressraum (normalerweise auf einem entfernten Server) ausgeführt wird, wie eine lokale Funktion, ohne die Details der Ferninteraktion angeben zu müssen. Da mehrere Sprachen verwendet werden können, ist dieses Protokoll flexibel und wird häufig in der Client-Server-Kommunikation eingesetzt. Ein Beispiel für einen RPC ist gRPC (Google Remote Procedure Call).
Wie werden APIs heute verwendet?

APIs sind ein wichtiger Bestandteil moderner Software. Heutzutage erstellen oder verwenden Organisationen und Unternehmen je nach ihren Bedürfnissen viele verschiedene Arten von APIs.

Die vier häufigsten Arten von APIs, die heute in Organisationen anzutreffen sind, sind öffentliche APIs, private APIs, Partner-APIs und Drittanbieter-APIs.

Öffentliche APIs

Öffentliche APIs sind für Benutzer außerhalb Ihres Unternehmens zugänglich (entweder gegen Entgelt 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, tragen sie zur Innovation bei und sind ein wichtiges Instrument für den Aufbau neuer Partnerschaften.

Private APIs

Private APIs sind nur für interne Teams in Ihrem Unternehmen zugänglich. Sie helfen Ihnen, Daten freizugeben und die interne Zusammenarbeit zu fördern, oder sie unterstützen unsichtbar die öffentlich zugänglichen Anwendungen Ihrer Organisation (z. B. Ihre Website).

Da private APIs nur internen Benutzern zur Verfügung stehen, können Organisationen sie mit Blick auf die Optimierung erstellen. Private APIs ermöglichen auch eine bessere Kompatibilität moderner Anwendungen, sodass sich Unternehmen an aktuelle Anforderungen anpassen können. Entwickler können private APIs bei der Erstellung von Microservices problemlos integrieren, was doppelte Arbeit in verschiedenen Teams reduziert.

Partner-APIs

Partner-APIs werden für die direkte Integration mit Geschäftspartnern verwendet (z. B. 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 nur für ausgewählte Entwickler zugänglich, die die Authentifizierungs- (AuthN) und Autorisierungsanforderungen (AuthZ) der beiden Unternehmen erfüllen.

Interoperabilität stärkt die Beziehungen zu Partner-APIs, da sie verhärtete Strukturen aufbrechen und die Kommunikation zwischen verschiedenen Organisationen ermöglichen.

Drittanbieter-APIs

Drittanbieter-APIs werden von Ihrer Organisation verwendet, um auf Daten oder Funktionen zuzugreifen, die in Ihren Anwendungen und Diensten fehlen. Diese APIs werden auf dem Server des Drittanbieters ausgeführt und bieten in der Regel einen weithin benötigten Dienst (Ein Beispiel ist die API für die Zahlungsabwicklung von Stripe, die von vielen E-Commerce-Websites verwendet wird.). Je nach API können sie von Ihrer Organisation mit oder ohne Gebühr genutzt werden.

Da die Drittanbieter-APIs bereits von einem anderen Entwickler oder einer anderen Organisation erstellt wurden, liegt einer ihrer klaren Vorteile in der Kosteneinsparung. Darüber hinaus sind Drittanbieter-APIs eine wichtige Möglichkeit für Organisationen, Anwendungen schneller zu entwickeln, da Entwickler eine Funktion sofort nutzen können, anstatt sie selbst zu programmieren.

Welche Anwendungssprachen werden für die Erstellung von APIs verwendet?

Nahezu jede moderne Programmiersprache kann für die Programmierung einer API verwendet werden. Bei der Programmierung einer API entscheiden sich viele Entwickler für die Verwendung eines Frameworks. Frameworks bieten Bausteine wie Codebibliotheken und andere notwendige Hilfsprogramme, die die Erstellung von Anwendungen in der jeweiligen Sprache beschleunigen und erleichtern.

Für jede Programmiersprache gibt es in der Regel ein oder mehrere Frameworks, die bei Entwicklern beliebt sind. In der Tabelle sind mehrere Framework-Optionen aufgeführt (viele davon sind Open Source).

 

Sprachen

Frameworks

Java

Spring

JavaScript, Node.js

AngularExpress.jsReactVue

PHP

LaravelSlimSymfony

Python

DjangoFlask

Rust

RocketYewActix-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

Organisationen benötigen heute eine moderne API-Strategie, die auf ihre Ziele abgestimmt ist. Eine API-Strategie legt einen Plan fest, wie eine Organisation ihre APIs entwerfen, entwickeln, verwalten, steuern und sichern wird.

Laut Gartners Top 5 API Lektionen für Software Engineering-Leiter gibt es fünf bewährte Praktiken, die sicherstellen, dass Ihre API-Strategie stark ist:

  • 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, um die Innovation weiter voranzutreiben.
  • Behandeln Sie APIs wie Produkte, auch wenn Sie nicht vorhaben, sie zu Geld zu machen. Stellen Sie sicher, dass jede API einen klaren Zweck und eine Zielgruppe hat, die mit den Unternehmenszielen übereinstimmen.
  • Entdecken Sie Ihre APIs, bevor es Hacker tun: Die Priorität auf Erkennbarkeit und regelmäßige Überwachung hilft, Sicherheitsverletzungen zu verhindern.
  • Verwalten Sie den Lebenszyklus von APIs. Eine umfassende Verwaltung des API-Lebenszyklus stellt sicher, dass APIs weiterhin mit der entsprechenden Sicherheit funktionieren.
  • Wählen Sie die geeignetsten API-Technologien aus. Was für eine Organisation funktioniert, muss nicht unbedingt auch für Ihre Organisation gelten, weshalb es wichtig ist, Ihre spezifischen API-Anforderungen jetzt und in Zukunft genau zu berücksichtigen.

      Unabhängig davon, für welche Art von API-Architektur Sie sich entscheiden oder welche Art von API Sie codieren, ist es wichtig, die API-Sicherheit von Anfang an zu berücksichtigen und nicht erst im Nachhinein. Weitere Informationen darüber, wie Sie Ihre APIs von Anfang an sicher machen und häufige Probleme wie API-Verbreitung bekämpfen können, finden Sie unter API Security: Bewährte Praktiken zum Schutz von APIs.

      Und nicht alle Metriken sind gleich. Erfahren Sie mehr in Which 12 Metrics to Monitor for a Successful API Strategy (Welche 12 Metriken Sie für eine erfolgreiche API-Strategie überwachen sollten).

Was ist die API-Konnektivität?

APIs waren ursprünglich ein Tool für Entwickler, haben sich jedoch zu strategischen Geschäftsressourcen entwickelt, die den Umsatz steigern und die Flexibilität des Unternehmens unterstützen. API-Konnektivität bezieht sich auf die Verwendung modularer und wiederverwendbarer APIs zur Verknüpfung von Daten und Anwendungen in Cloud-nativen Umgebungen mit dem Ziel, Herausforderungen in Bezug auf Transparenz, Sicherheit und Governance zu lösen.