Definition

Offene API (Open/Public API)

Eine offene API, auch öffentliche API genannt, ist eine Anwendungsprogrammierschnittstelle, 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 und dass ö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-APIs versus SOAP-APIs

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.

Verwaltung offener APIs

Sobald eine API veröffentlicht wurde, ist es für eine Organisation schwierig zu kontrollieren, wer die API verwendet und wie sie 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.

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; und
  • die Option für eine Organisation, ihren proprietären Quellcode

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 die Beheben von Fehlern beim Schreiben von Code; und
  • die Möglichkeit, neben einer offenen API weiterhin die bevorzugten Entwicklungstools 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; oder
  • 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 Macht 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 Twitter-Feed veröffentlicht werden können. In diesem Fall verwendet die Facebook-Anwendung die offene API von Twitter, um diese Interaktion zu ermöglichen.

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.

Eine offene API-Fallstudie

Der Aufstieg von Twitter zeigt die Vorteile offener APIs zusammen mit den möglichen Nachteilen.

Als Twitter anfing, bot es ein reines Textformat und eine rudimentäre webbasierte Oberfläche. Das Unternehmen stellte jedoch eine offene API bereit, die den programmatischen Zugriff auf seine Systeme ermöglicht.

Um diese API herum wurde schnell ein Ökosystem von Tools und Funktionsverbesserungen entwickelt. TwitPic, das die Möglichkeit hinzufügte, Fotos über Twitter zu teilen, gewann an Popularität. Nutzer bevorzugten anpassbare Desktop-Oberflächen wie TweetDeck und Falcon Pro wurden, wie die Benutzeroberfläche von Twitter selbst nicht besonders benutzerfreundlich war. Ein großer Teil der Twitter-Erfolgsgeschichte war auf die zusätzlichen Funktionen und Softwareanwendungen zurückzuführen, die mit seiner offenen API entwickelt wurden.

Einige der Kunden, die die API nutzten, schalteten eigene Anzeigen ein, was sich negativ auf das Geschäftsmodell von Twitter auswirkte. Durch Akquisitionen, API-Einschränkungen und Markenherausforderungen hat Twitter einige Unternehmen zurückgedrängt, die seine offene API verwendet haben.

Einige Mitglieder der Softwareentwicklungs-Community fühlten sich von Twitter betrogen. Sie glaubten, dass die Community, die Apps mit der offenen API von Twitter entwickelt hat, einen großen Anteil am Erfolg von Twitter hatte. Das Herunterfahren dieser APIs und die Copyright-Klagen zeigten ihrer Ansicht nach die Missachtung der vielen Entwickler, denen Twitter seinen Erfolg verdankte. Twitter-Führungskräfte sagten jedoch, dass ihre Maßnahmen darauf abzielten, die Marken und das geistige Eigentum des Unternehmens sowie die Sicherheit der Plattform zu schützen.

Diese Definition wurde zuletzt im Oktober 2021 aktualisiert

Erfahren Sie mehr über Business-Software

ComputerWeekly.de
Close