Mulesoft 加入 Open API Initiative:Swagger 和 OAS 的未来展望

  2017年4月25日

2017年4月24日,Mulesoft 加入 Open API Initiative 的消息传出。Mulesoft 是 RESTful API 建模语言 (RAML) 的倡导者,RAML 是一种用于设计 API 的描述格式。Mulesoft 加入 OAI 标志着软件行业在 Swagger/Open API 规范 (OAS) 上的趋同。我想借此机会回顾一下历史,并讨论我们对 OAS 未来的期望。 

一切是如何开始的

API 定义/规范已成为 API 生命周期的一个重要方面,它贯穿从规划到弃用的每个阶段。虽然 WADL 是 XML 中描述 RESTful 服务的的主要描述格式,但它并不是最佳的人类可用和可读选项。 2010 年,Swagger 横空出世,它是一种机器和人类可读的描述格式,定义了 API 的契约。该契约定义了资源和服务公开哪些数据,以及客户端应如何调用这些资源。尽管这个想法看起来很简单,但它在多平台 API 经济中具有强大的影响力,在多平台 API 经济中,服务以多种语言构建,并由不同设备上的客户端使用。Swagger 的创建者 Tony Tam 在 Swagger 博客的一篇近期文章中回顾了 Swagger 规范的目标:
  • 易于人类阅读。这意味着规范必须足够简洁、有条理和清晰,以便“普通人”也能理解它。
  • 易于机器阅读。这需要结构和“规则”,以便规范本身可以被计算机解释以“做一些有用的事情”。
  • 足够全面,能够描述使用或生成 REST API 所需的一切。
随着开源 Swagger 规范的普及,其他描述格式也相继发布。API Blueprint 于 2013 年发布,专注于易用性并提供更好的人类可读文档。RAML 的开发是为了让开发人员在编写代码之前更好地建模和原型化 API。这些描述格式分别由 Apiary 和 Mulesoft 推广。从业者和消费者之间就最佳描述格式展开了健康的辩论。随后在 2015 年,Swagger 规范由 SmartBear Software 捐赠给了 Linux 基金会旗下的 Open API Initiative,旨在标准化该格式的采用和开发,并将其更名为 OpenAPI 规范 (OAS)。许多行业巨头都是该组织的一部分,包括 IBM、Microsoft 和 Google。最终,Apiary 和 Mulesoft 正式加入了 OAI,这平息了关于公认 API 规范的争论 — Swagger 是行业所希望的。

未来展望?

随着如此多的重量级公司(特别是 RAML 和 API Blueprint 背后的公司)加入 OAI,以进一步开发和标准化 OAS,我们可以期待在 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 为您的整个团队提供了一个中心平台,以便使用 OAS 在 API 的整个生命周期中工作。令人兴奋的是,随着新功能添加到 OAS 中,这些工具也将如何演变。了解更多关于 Swagger 演变的信息,请阅读 Tony Tom 在 Swagger.io 博客上发布的最新博文: MuleSoft 加入 OpenAPI Initiative:API 规范之战的终结

© . All rights reserved.