© Liashko/Shutterstock.com
Entwickler Magazin
Die OpenAPI Specification alias Swagger

Mehr als nur Schnittstellenbeschreibung

APIs spielen bei der Verbindung von Anwendungen eine zentrale Rolle. Nahezu jede Applikation greift über APIs auf Datenquellen und andere Systeme zu. Durch die zunehmende Verbreitung von serviceorientierten und Microservices-Architekturen sowie der daraus folgenden Aufteilung hat die Anzahl der involvierten APIs pro Anwendungsfall zugenommen. Die OpenAPI Specification hilft als offenes Beschreibungsformat dabei, den Überblick und das Verständnis über die Fähigkeiten eines API zu erhalten.

Dennis Kieselhorst


Schnittstellen (Application Programming Interfaces, kurz APIs) zwischen Webanwendungen wurden in der Vergangenheit häufig in der Web Services Description Language (WSDL) [1] beschrieben. Technisch ist es mit WSDL 2.0 möglich, auch REST-Schnittstellen zu beschreiben, aufgrund fehlender Ressourcenorientierung ist dies jedoch nur bedingt sinnvoll. Die Web Application Description Language (WADL) [2] adressiert dieses Problem, gilt in der Praxis aufgrund der vorliegenden XML-Struktur aber als umständlich und wurde nie standardisiert.

Die Geburtsstunde von Swagger

Im Jahr 2010 stand auch Tony Tam von Wordnik vor dem Problem, dass zur Beschreibung von REST-APIs eine Sammlung von URLs alleine nicht ausreichte, aber auch kein einfaches, unkompliziertes Beschreibungsformat existierte. Insbesondere die Verwendung unterschiedlicher Technologien und Programmiersprachen in Kombination mit WSDL und WADL gestaltete sich als schwierig. Daraufhin entwickelte er mit Swagger eine Interface Definition Lan­guage (IDL) für REST-APIs und veröffentlichte diese Open Source unter der Apache-Lizenz. Swagger

bietet ein sprachneutrales und maschinenlesbares Format,definiert in JSON oder YAML,ermöglicht Contract-/API-First- sowie Code-First-Entwicklung undverfügt über einen Erweiterungsmechanismus.

Unterstützt wird dies durch grundlegendes Tooling in Form einer Kernbibliothek (swagger-core), einer Oberfläche für Visualisierung und Testaufrufe (Swagger UI), eines Codegenerators (Swagger Codegen) sowie eines Editors (Swagger Editor).

Gründung der Open API Initiative

Über die Jahre fand Swagger eine Fangemeinde, die Anzahl der Downloads und Forks bei GitHub steigt seit der Veröffentlichung kontinuierlich, und es entsteht immer weitere Toolunterstützung. Anfang 2015 wurde Swagger von SmartBear erworben [3], bislang vor allem bekannt durch das Tool SoapUI. Um herstellerneutral zu bleiben und die unterschiedlichen Interessen und Verbesserungsvorschläge besser handhaben zu können, wurde Ende 2015 unter dem Dach der Linux Foun­dation eine Arbeitsgruppe mit dem Namen Open API Initiative (OAI) gegründet [4]. In diesem Zuge wurde Swagger in OpenAPI Specification (OAS) umbenannt. Inzwischen zählt die Initiative 26 Mitglieder, darunter Google, IBM und Microsoft [5]. Die Weiterentwicklung der Spezifikation erfolgt auf GitHub, sodass sich jeder Interessierte durch Pull Requests oder Issues einbringen kann. Nach anderthalb Jahren wurde Ende Juli 2017 die Version 3.0.0 veröffentlicht [6]. In der Folge wird...

Entwickler Magazin
Die OpenAPI Specification alias Swagger

Mehr als nur Schnittstellenbeschreibung

APIs spielen bei der Verbindung von Anwendungen eine zentrale Rolle. Nahezu jede Applikation greift über APIs auf Datenquellen und andere Systeme zu. Durch die zunehmende Verbreitung von serviceorientierten und Microservices-Architekturen sowie der daraus folgenden Aufteilung hat die Anzahl der involvierten APIs pro Anwendungsfall zugenommen. Die OpenAPI Specification hilft als offenes Beschreibungsformat dabei, den Überblick und das Verständnis über die Fähigkeiten eines API zu erhalten.

Dennis Kieselhorst


Schnittstellen (Application Programming Interfaces, kurz APIs) zwischen Webanwendungen wurden in der Vergangenheit häufig in der Web Services Description Language (WSDL) [1] beschrieben. Technisch ist es mit WSDL 2.0 möglich, auch REST-Schnittstellen zu beschreiben, aufgrund fehlender Ressourcenorientierung ist dies jedoch nur bedingt sinnvoll. Die Web Application Description Language (WADL) [2] adressiert dieses Problem, gilt in der Praxis aufgrund der vorliegenden XML-Struktur aber als umständlich und wurde nie standardisiert.

Die Geburtsstunde von Swagger

Im Jahr 2010 stand auch Tony Tam von Wordnik vor dem Problem, dass zur Beschreibung von REST-APIs eine Sammlung von URLs alleine nicht ausreichte, aber auch kein einfaches, unkompliziertes Beschreibungsformat existierte. Insbesondere die Verwendung unterschiedlicher Technologien und Programmiersprachen in Kombination mit WSDL und WADL gestaltete sich als schwierig. Daraufhin entwickelte er mit Swagger eine Interface Definition Lan­guage (IDL) für REST-APIs und veröffentlichte diese Open Source unter der Apache-Lizenz. Swagger

bietet ein sprachneutrales und maschinenlesbares Format,definiert in JSON oder YAML,ermöglicht Contract-/API-First- sowie Code-First-Entwicklung undverfügt über einen Erweiterungsmechanismus.

Unterstützt wird dies durch grundlegendes Tooling in Form einer Kernbibliothek (swagger-core), einer Oberfläche für Visualisierung und Testaufrufe (Swagger UI), eines Codegenerators (Swagger Codegen) sowie eines Editors (Swagger Editor).

Gründung der Open API Initiative

Über die Jahre fand Swagger eine Fangemeinde, die Anzahl der Downloads und Forks bei GitHub steigt seit der Veröffentlichung kontinuierlich, und es entsteht immer weitere Toolunterstützung. Anfang 2015 wurde Swagger von SmartBear erworben [3], bislang vor allem bekannt durch das Tool SoapUI. Um herstellerneutral zu bleiben und die unterschiedlichen Interessen und Verbesserungsvorschläge besser handhaben zu können, wurde Ende 2015 unter dem Dach der Linux Foun­dation eine Arbeitsgruppe mit dem Namen Open API Initiative (OAI) gegründet [4]. In diesem Zuge wurde Swagger in OpenAPI Specification (OAS) umbenannt. Inzwischen zählt die Initiative 26 Mitglieder, darunter Google, IBM und Microsoft [5]. Die Weiterentwicklung der Spezifikation erfolgt auf GitHub, sodass sich jeder Interessierte durch Pull Requests oder Issues einbringen kann. Nach anderthalb Jahren wurde Ende Juli 2017 die Version 3.0.0 veröffentlicht [6]. In der Folge wird...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang