Mulesoft 加入開放 API 倡議:Swagger 與 OAS 的未來展望

  2017 年 4 月 25 日

在 2017 年 4 月 24 日,Mulesoft 加入 開放 API 倡議 的消息傳出。Mulesoft 是 RESTful API 建模語言 (RAML) 的倡導者,RAML 是一種用於設計 API 的描述格式。Mulesoft 加入 OAI 象徵軟體產業在 Swagger/Open API 規格 (OAS) 上的趨同。我想藉此機會討論一下歷史,以及我們對 OAS 未來的期望。

一切的開始

API 定義/規格已成為 API 生命週期的一個重要方面,並且影響從規劃到淘汰的每個階段。雖然 WADL 是用 XML 描述 RESTful 服務的主要描述格式,但它不是最佳的人工可用且可讀的選項。2010 年,Swagger 出現了,這是一種機器和人工可讀的描述格式,定義了 API 的合約。此合約定義了資源和服務公開的資料,以及用戶端應如何呼叫這些資源。雖然這個想法看起來很簡單,但在多平台 API 經濟中,服務以多種語言建構,並由不同裝置的用戶端消耗,這具有強大的影響。Swagger 的創建者 Tony Tam 回顧了 Swagger 規格的目標在最近在 Swagger 部落格上發表的文章:
  • 要讓人可讀。這表示規格必須簡潔、有條理且足夠清楚,以便「正常」人可以理解它。
  • 要讓機器可讀。這需要結構和「規則」,以便規格本身可以被解釋為電腦「做一些有用的事情」。
  • 要足夠徹底以描述使用或產生 REST API 所需的一切。
隨著開源 Swagger 規格的普及,其他描述格式也隨之發布。API Blueprint 於 2013 年發布,重點在於易於使用並提供更好的人工可讀文件。RAML 的開發源於允許開發人員在撰寫程式碼之前更好地建模和原型化 API 的需求。這些描述格式分別由 Apiary 和 Mulesoft 推廣。從業人員和消費者之間就最佳描述格式進行了健康的辯論。然後在 2015 年,Swagger 規格由SmartBear Software捐贈給 Linux 基金會下的開放 API 倡議,以期標準化該格式的採用和開發,並將其重新命名為 OpenAPI 規格 (OAS)。許多業界巨頭都是該團體的一部分,包括 IBM、Microsoft 和 Google。最終,Apiary 和 Mulesoft 正式加入 OAI,這平息了關於接受的 API 規格的爭論 Swagger 是業界想要的。

有何期望?

現在有這麼多重量級人物加入 OAI 以進一步開發和標準化 OAS,特別是 RAML 和 API Blueprint 背後的公司,我們可以期待 API 描述的未來會有一些創新突破。以下是我期望看到規格演變的情況。

關注開發人員體驗

OAS 透過讓所有利害關係人與 API 的預期行為保持同步,使開發團隊的生活更加輕鬆。然而,歸根結底,API 的好壞取決於它們的消耗量。Swagger UI 一直是開發人員為其基於 OAS 的 API 生成文件最簡單的方式,它始終可以迭代和改進。隨著規格不斷發展,我希望看到更加重視改善 OAS 的文件功能,而不僅僅是 Swagger UI 的傳統功能,還希望看到以不同格式(例如 HTML 和 PDF)生成出色的文件。

關注永續性

RAML 一直強調長期 API 設計和永續性。隨著 RAML 的創建者現在加入 OAI,我希望看到 OAS 發展到支援永續設計,讓開發人員能夠利用傳統上不符合 REST 的程式設計語言進行長期擴展。我們也可能會看到更靈活的合約原型選項,同時仍然允許全面的 RESTful 設計。

關注創新

OAI 的所有成員都以在各個技術領域投入大量創新和顛覆而聞名。隨著越來越多有主見的公司和影響者加入 OAI,很有可能進行健康的辯論和對話,這可能會在 API 描述市場中帶來更好的創新。下一版本的 OAS 已經支援一些很棒的功能,例如連結(非常適合超媒體 API)、跨資源的多個安全性流程,以及更簡單的請求-回應格式。 API 設計和文件工具已經轉向 OAS。如今,Swagger 團隊持續投入,為實作 OAS 帶來下一階段的開放原始碼工具。廣受歡迎的 Swagger Editor 和 UI 已從頭開始重新設計,將程式碼合併到一個統一的程式碼庫中,這將使開放原始碼專案更容易使用和貢獻。這種統一的體驗為開發人員和最終使用者建立了一個通用框架,以設計、工程和使用以 OpenAPI 規格編寫的 API,並為未來OpenAPI 規格 3.0(將在今年稍後發佈)的相容性奠定基礎。 SwaggerHub 由 Swagger 背後的同一個團隊領導,在使用 OAS/Swagger 規格建置 API 時,將組織的需求放在首位。SwaggerHub 提供了一個中心平台,讓您的整個團隊可以跨 API 的生命週期使用 OAS 協作。 看到這些工具如何發展以及 OAS 中添加新功能將會令人興奮。 在 Tony Tom 最近在 Swagger.io 部落格上的文章中,了解更多關於 Swagger 發展的資訊:MuleSoft 加入 OpenAPI 計畫:API 規格戰爭的終結