Definition

Offene API (Open/Public API)

Was ist eine offene API (Open/Public API)?

Eine offene API, auch öffentliche API (Open oder Public API) genannt, ist eine Programmierschnittstelle (Application Programming Interface, API), die Softwareentwicklern öffentlich zugänglich gemacht wird. Offene APIs werden im Internet frei zur Verfügung gestelt, sodass der Besitzer eines über das Netzwerk zugänglichen Dienstes den Verbrauchern einen universellen Zugang gewähren kann.

Während einige offene und öffentliche APIs synonym verwenden, sind andere der Ansicht, dass offene APIs ohne Einschränkungen geteilt werden, wogegen öffentliche APIs in der Regel strengere Regeln im Bezug auf die Nutzung haben. In diesem Fall teilt ein Unternehmen seine proprietären API- und Backend-Daten öffentlich, möchte aber bestimmte Aspekte der Kontrolle nicht aus der Hand geben. Oder ein Unternehmen gewährt Zugang zu einer Reihe von APIs, um Drittentwickler in vertikalen Branchen zu ermutigen, neue Möglichkeiten zur Verwendung des Softwareprodukts des Unternehmens zu entwickeln und zu teilen.

Offene APIs können auf unterschiedliche Weise gestaltet werden, aber die wichtigste Eigenschaft jeder offenen API besteht darin, dass sie von so vielen verschiedenen Clients wie möglich einfach genutzt und darauf zugegriffen werden können.

Daher wird von der Verwendung proprietärer Protokolle oder benutzerdefinierter Datenformate zur Erstellung offener APIs abgeraten, während die Verwendung von Open-Source-Technologie und Community-gesteuerten Standards am sinnvollsten ist.

REST API versus SOAP API

Die gängigsten offenen API-Architekturen lassen sich in zwei Kategorien unterteilen: REST APIs und SOAP APIs.

SOAP und REST bieten unterschiedliche Methoden zum Aufrufen eines Webservices. SOAP-basierte APIs verwenden normalerweise XML als Datenaustauschformat, während RESTful APIs üblicherweise JSON einsetzen. Beide Ansätze haben Befürworter und Gegner.

Der aktuelle Trend in der Branche geht weitgehend in Richtung REST APIs und weg von SOAP-basierten APIs. Viele ältere offene APIs bieten sowohl eine SOAP- als auch eine REST-Version, um ältere Clients zu unterstützen, neuere Implementierungen bieten hingegen normalerweise nur REST-basierten Zugriff.

Management offener APIs

Sobald eine API veröffentlicht wurde, ist es für eine Organisation schwierig zu kontrollieren, wer die API verwendet und wie man sie verwendet. Daher muss das API-Management ernst genommen werden; Andernfalls können Probleme in Bezug auf die Kundenzufriedenheit auftreten.

Unternehmen müssen beispielsweise vorsichtig sein, wenn sie ältere APIs außer Betrieb nehmen, die Syntax eines RESTful-Methodenaufrufs ändern, die Struktur einer XML- oder JSON-Nutzlast ändern oder eine bestimmte Funktionalität einstellen, da solche Änderungen die gesamte Öffentlichkeit betreffen, die diese API auch noch nutzt.

Wenn Änderungen an einer API nicht ordnungsgemäß verwaltet werden, sind die Endbenutzer nicht betroffen, und dies kann dem Ruf der Organisation schaden, die die öffentliche API bereitstellt.

Anwendungsfälle für APIs
Abbildung 1: Anwendungsfälle für APIs in verschiedenen Branchen.

Die Sicherheit offener APIs

Während eine offene API universell zugänglich ist, verwendet sie trotzdem verschiedene Mittel, um den Zugriff einzuschränken, die Datenübertragung zu verschlüsseln und API-Sicherheitsmaßnahmen zu nutzen.

Transport Layer Security (TLS) kann beispielsweise Daten verschlüsseln, die über ein Netzwerk gesendet werden. Um die Identität des Anrufers zu authentifizieren, erweisen sich SSL-Zertifikate als nützlich, und eine beliebige Anzahl von Backend-Authentifizierungsmechanismen kann Benutzer Zugriff zu den privaten Daten gewähren, die einer bestimmten Rolle zugeordnet sind.

Offene versus geschlossene APIs

Obwohl es einige bekannte und beliebte offene APIs wie die Jenkins Remote Access API und die GitLab API gibt, sind viele APIs geschlossene, private APIs. Die Datenschutzmaßnahmen bei solchen APIs unterscheiden sich von den Sicherheitsfunktionen, die in offenen APIs zu finden ist. Eine offene API hat keine Zugriffsbeschränkungen, da sie der Öffentlichkeit offen zugänglich sind und von überall im offenen Internet aufgerufen werden können.

Eine geschlossene API, auch als private API bekannt, ist nicht offen im Internet zugänglich. Der Zugriff erfordert normalerweise Aufrufe durch stark restriktive Firewalls oder über einen VPN-Dienst, sofern überhaupt ein externer Zugriff erlaubt ist.

Da sich geschlossene APIs normalerweise in hochsicheren Umgebungen befinden, verwenden sie oft überhaupt keine Form der Benutzerauthentifizierung, da die Entwickler davon ausgehen, dass jede Ressource, die sie aufruft, aus einem gesicherten und vertrauenswürdigen Bereich stammt.

Geschlossene APIs eignen sich für interne Dienste und Prozesse wie Microservices und Tools zur Containerorchestrierung, während offene APIs eher benutzergesteuerter Dienste und Funktionen bereitstellen.

Vorteile offener APIs

Offene APIs bieten Vorteile sowohl für den API-Herausgeber als auch für die Entwickler, die sie verwenden.

Für den Herausgeber umfassen die Vorteile einer offenen API

  • die Möglichkeit, eine Benutzerbasis ohne die Kosten für die Eigenentwicklung branchenspezifischer Versionen zu erweitern
  • eine Chance, Einnahmequellen durch die Lizenzierung neuer Programme zu schaffen
  • die Option für eine Organisation, ihren proprietären Quellcode zu behalten

Für die Entwickler gehören zu den Vorteilen beim Verwenden einer offenen API:

  • reduzierte Abhängigkeiten zwischen Entwicklungsteams und bestimmten Anwendungskomponenten
  • weniger Zeitaufwand für das Beheben von Fehlern beim Schreiben von Code
  • die Möglichkeit, neben einer offenen API weiterhin die bevorzugten Entwicklungs-Tools zu verwenden

Nachteile offener APIs

Eine offene API sollte wie jedes andere kundenorientierte Produkt behandelt werden, da der Ruf des Unternehmens verbessert oder geschädigt werden kann, je nachdem, wie die offene API von den Entwicklern angenommen wird.

Unternehmen sollten sicherstellen, dass sie die möglichen Nachteile einer offenen API vermeiden. Wie bei jeder Anwendung, die eine Organisation für die Öffentlichkeit freigeben kann, ist es wichtig sicherzustellen, dass eine offene API auf gar keinen Fall:

  • Fehler enthält
  • Verzögerungen aufgrund schlechter Leistung verursacht
  • erhebliche Sicherheitslücken enthalten
  • private Unternehmensdaten preisgeben

Darüber hinaus können offene APIs für Entwickler problematisch sein, da das Unternehmen, das die API veröffentlicht, über die gesamte Kontrolle verfügt. Entscheidet sich der Urheber jemals, beispielsweise die Nutzungsbedingungen für seine API zu ändern oder eine Gebühr für die Lizenzierung der API zu erheben, bleibt einem Drittentwickler nichts anderes übrig, als dies zu akzeptieren.

Beispiele für offene APIs

Es gibt viele Einsatzszenarien von offenen APIs. Einer der häufigsten Bereiche für die Verfügbarkeit und Nutzung offener APIs sind soziale Medien.

Facebook bietet beispielsweise eine offene API, mit der Drittanbieter Fotoalben erstellen oder im Newsfeed eines Benutzers posten. Facebook verfügt über eine integrierte Funktion, mit der die Elemente, die ein Benutzer öffentlich zu seinem News-Feed hinzufügt, auch in seinem X-Feed (ehemals Twitter) veröffentlicht werden können.

Viele Softwareprodukte verfügen auch über eine offene API, die einen programmatischen Zugriff auf die darin enthaltenen Daten ermöglicht. Beispielsweise gibt es für die SharePoint-Plattform von Microsoft eine REST API, die den Zugriff auf den FAST-Search-Dienst ermöglicht. Bei Abfragen über die offene API können authentifizierte Benutzer die SharePoint-Plattform nach veröffentlichten Dokumenten anhand Datum, Titel, ID und einer Vielzahl anderer Attribute suchen.

In einer Welt, in der Systeme zunehmend miteinander verbunden sind, erkennen Unternehmen, dass eine Möglichkeit für eine breite Akzeptanz der von ihnen bereitgestellten Dienste darin besteht, eine offene API zur Verfügung zu stellen, damit die Öffentlichkeit auf neue und kreative Weise auf diese Dienste zugreifen kann.

Diese Definition wurde zuletzt im Oktober 2024 aktualisiert

Erfahren Sie mehr über Business-Software