Формальная спецификация
- 1 year ago
- 0
- 0
The OpenAPI Specification (с англ. — «спецификация OpenAPI»; изначально известная как Swagger Specification ) — формализованная спецификация и экосистема множества инструментов, предоставляющая интерфейс между front-end системами, кодом библиотек низкого уровня и коммерческими решениями в виде API . Вместе с тем, cпецификация построена таким образом, что не зависит от языков программирования, и удобна в использовании как человеком, так и машиной .
Относительно назначения, OpenAPI рассматривается как универсальный интерфейс для пользователей (клиентов) по взаимодействию с сервисами (серверами). Если спроектирована спецификация для некоторого сервиса, то на её основании можно генерировать исходный код для библиотек клиентских приложений, текстовую документацию для пользователей, варианты тестирования и др. Для этих действий имеется большой набор инструментов для различных языков программирования и платформ .
Изначально разработка спецификации под названием Swagger Specification проводилась с 2010 года компанией . В ноябре 2015 года SmartBear объявила, что она работает над созданием новой организации Open API Initiative при спонсорской поддержке Linux Foundation . 1 января 2016 года спецификация была переименована в The OpenAPI Specification, а её развитие ведётся в рамках Open API Initiative.
OpenAPI представляет собой формализованную спецификацию и полноценный фреймворк для описания, создания, использования и визуализации веб-сервисов REST . Задачей является позволить клиентским системам и документации синхронизировать свои обновления с изменениями на сервере. Это достигается тем, что методы, параметры, модели и другие элементы посредством OpenAPI интегрируются с программным обеспечением сервера и всё время с ним синхронизируются .
Появление спецификации и начало работ над фреймворком обусловлены инициативой компании Wordnik , для внутренних нужд которой компанией SmartBear был разработан Swagger. Проект стартовал в начале 2010 года . В марте 2015 года SmartBear выкупила спецификацию OpenAPI у Reverb Technologies и перевела его развитие в open source .
В ноябре 2015 SmartBear, как компания, поддерживающая работы над Swagger, анонсировала, что она помогает в создании новой организации Open API Initiative под спонсорством Linux Foundation. Членами данной организации стало множество компаний, включая Google , IBM , Microsoft и др. SmartBear подарила этой новой группе спецификацию Swagger .
Другими технологиями, предоставляющими подобные решения, как и OpenAPI, являются RAML и API Blueprint .
В 2016 году Swagger получил награду API Award в категории API Infrastructure .
Спецификация не зависит от языка программирования, и может быть использована вне протокола HTTP . OpenAPI одновременно применяется для клиента, сервера и соответствующей документации интерфейса, созданного согласно REST .
Спецификация декларативна, и поэтому может быть использована клиентами без знаний особенностей серверной реализации. При этом работать с OpenAPI могут как разработчики, так и рядовые пользователи через готовые инструменты и предоставляемые интерфейсы. В качестве формата используется XML и JSON , но в общем случае может быть выбран и другой язык разметки (например, YAML [ значимость факта? ] ).