Zum Inhalt springen

Glossar · O

OpenAPI

Spezifikations-Standard für REST-APIs (früher Swagger). Beschreibt Endpunkte, Parameter, Modelle und Authentifizierung maschinenlesbar.

Definition

OpenAPI ist ein Spezifikations-Standard zur Beschreibung von RESTful Web-APIs. Er definiert ein maschinenlesbares Format, mit dem API-Endpunkte, deren Parameter, Datenmodelle und Authentifizierungsmechanismen präzise dokumentiert werden können. Die Spezifikation ermöglicht es, APIs unabhängig von der Programmiersprache oder Implementierung einheitlich zu beschreiben.

Ursprünglich wurde OpenAPI als Swagger Specification entwickelt und später von der OpenAPI Initiative übernommen, die unter dem Dach der Linux Foundation agiert. Die Spezifikation ist in YAML oder JSON verfasst und dient als Grundlage für die automatische Generierung von Dokumentationen, Client-Bibliotheken und Testwerkzeugen.

Was bedeutet das für Ihr Unternehmen?

Lassen Sie eine Schnittstelle zu Ihrem System bauen, ist eine OpenAPI-Beschreibung ein konkretes Lieferergebnis, das Sie im Angebot festhalten können. Sie dient als Vertrag zwischen Ihrem Dienstleister und allen, die später andocken, etwa Partner, App-Entwickler oder ein neuer Dienstleister. Fehlt sie, steckt das Wissen über die Schnittstelle oft nur in den Köpfen einzelner Entwickler.

Geschichte und Standardisierung

Die Entwicklung von OpenAPI begann 2010 mit Swagger, einem Toolset zur API-Dokumentation, das von Tony Tam initiiert wurde. 2015 wurde die Swagger Specification an die neu gegründete OpenAPI Initiative übergeben und Anfang 2016 in OpenAPI Specification (OAS) umbenannt, um eine breitere Akzeptanz und Weiterentwicklung als offenen Standard zu fördern.

Die OpenAPI Initiative besteht aus mehreren großen Technologieunternehmen wie Google, Microsoft, IBM und SmartBear. Die Spezifikation wird regelmäßig weiterentwickelt, um neue Anforderungen und Technologien im API-Bereich abzudecken. Die aktuelle Version bietet umfangreiche Möglichkeiten zur Beschreibung von APIs und deren Verhalten.

Funktionsweise

OpenAPI beschreibt REST-APIs durch eine strukturierte Definition von Pfaden (Endpoints), HTTP-Methoden (GET, POST, PUT, DELETE etc.), Eingabe- und Ausgabeparametern sowie Datenmodellen, die häufig in JSON Schema definiert sind. Zusätzlich können Sicherheitsanforderungen wie OAuth 2.0, API-Keys oder HTTP-Basisauthentifizierung spezifiziert werden.

Die Spezifikation unterstützt auch die Definition von Metadaten wie API-Version, Titel, Kontaktinformationen und Lizenzangaben. Durch die maschinenlesbare Form können Entwickler-Tools automatisch Dokumentationen erzeugen, Mock-Server bereitstellen oder Client-Code generieren, was die Entwicklung und Integration von APIs erleichtert.

Einsatzgebiete

OpenAPI wird vor allem in der Softwareentwicklung verwendet, um REST-APIs konsistent zu dokumentieren und zu standardisieren. Unternehmen und Entwicklerteams nutzen die Spezifikation, um Schnittstellen zwischen verschiedenen Systemen zu definieren und die Zusammenarbeit zu verbessern.

Darüber hinaus findet OpenAPI Einsatz in API-Gateways, Testautomatisierung und im API-Management. Die Spezifikation dient als Grundlage für Tools, die API-Lebenszyklusprozesse unterstützen, von der Entwicklung über das Testen bis hin zur Veröffentlichung und Überwachung.

Abgrenzung zu verwandten Standards

OpenAPI wird häufig mit anderen API-Beschreibungsstandards wie RAML (RESTful API Modeling Language) oder API Blueprint verglichen. Während OpenAPI einen starken Fokus auf maschinenlesbare Dokumentation und breite Tool-Unterstützung legt, zielen RAML und API Blueprint stärker auf die Modellierung und lesbare Dokumentation ab.

Im Vergleich zu GraphQL, einem alternativen API-Ansatz, beschreibt OpenAPI traditionelle REST-APIs mit festen Endpunkten und Datenstrukturen. GraphQL hingegen erlaubt flexible Abfragen und wird nicht durch OpenAPI spezifiziert. OpenAPI bleibt der dominierende Standard für REST-API-Beschreibungen im industriellen Umfeld.