跳至主要内容
类别

博客

OAI 额外领导职位招聘

作者 公告, 博客

OpenAPI Initiative (OAI) 正在寻找三个人员来填补三个为期一年的独立合同,以帮助领导围绕领先的 API 规范的对话。我们正在寻找三个能够独立工作的个人,他们熟悉 OpenAPI 规范 (OAS),并且愿意撸起袖子,帮助推进一些项目。

OpenAPI 规范 (OAS) 在过去五年中已成为描述 API 表面积的领先方式,而对社区的支持需求也急剧增长。作为这种增长的一部分,我们已经确定了几个优先级项目,我们正在使用 Github 项目管理这些项目,我们很乐意让您参与其中!

项目

以下是 OAI 成员和社区优先考虑的当前项目的列表,我们还按所涉及的工作类型对它们进行了标记,并提供了简要说明以及指向每个项目的看板的链接。

  • OpenAPI 搜索引擎优化 (营销) – 持续进行的工作,以帮助改善 OAI 和 OAS 的搜索引擎优化,从而提升规范的知名度。
  • 新会员识别与参与 (营销、社区、业务发展) – 工作以识别潜在的新 OAI 成员并与他们联系,以帮助开启对话并让他们了解成为成员的益处。
  • 会员展示与参与 (营销、社区、业务发展) – 不断改进我们如何展示和与 OAI 成员互动的方式,并增加他们对 OAS 社区的参与度。
  • API 提供商的个人资料与参与 (社区、业务发展) – 工作以识别、建立个人资料并与已实施 OpenAPI 规范的 API 提供商建立关系,并将个人资料发布到中心数据库。
  • 开源工具的个人资料与参与 (营销、社区、业务发展) – 建立一个官方目录,其中列出使用 OAS 的开源工具,并积极努力与每个工具提供商建立和建立关系,以使他们更多地参与社区。
  • 整理和发布 API 文章、播客和视频 (营销) – 工作以发现、整理,然后展示和联合发布有关 OpenAPI 的现有文章、播客和视频。
  • 业务部门展示与参与 (业务发展) – 工作以建立使用 OpenAPI 的业务部门的个人资料,然后与个人或组织建立联系并建立关系,同时帮助刺激这些领域的 OAI 特别兴趣小组。

所有这些职位都需要领导才能,以帮助定义、优先考虑和执行计划,并与 OpenAPI 社区互动以增加参与度、成员价值并推动整体社区活力。

合同详情

这些是工作详情,更多详情可应要求提供

  • 3 名个人兼职承包商
  • 从 2021 年 9 月 15 日到 2022 年 9 月 15 日的一年期合同
  • 对全球和远程合同工作开放
  • 固定价格合同(每月 2,500.00 美元/每年 30,000.00 美元)
  • 每月报告,展示工作价值

要求

这些是考虑担任合同职位的基本要求

  • OpenAPI 意识
  • 项目管理技能
  • 写作和编辑技能
  • 喜欢与人合作
  • 拥抱协作、包容和多元化的价值观

合同提案

申请其中一个合同时,请向我们宣传您的技能与哪些项目相匹配,并证明为什么您是我们帮助项目成功实施并帮助我们引领项目未来的最佳选择。

如何申请

请在 2021 年 8 月 15 日之前将您的求职信、简历以及任何问题发送至 [email protected],以便 OAI 招聘委员会考虑,并在 2021 年 9 月 15 日开始工作。

参与进来

即使您对这些职位不感兴趣,我们也鼓励您加入社区并帮助完成这些项目。除了参加每周的技术和营销会议外,OAI 还需要您在这些项目中提供帮助,撰写博客文章,并创建教育材料,因此请随时通过社交渠道或电子邮件联系我们以参与进来。

与 GitHub 的 Marc-André Giroux 进行的 OpenAPI 面试

作者 博客

作者:Kin Lane,Postman 首席布道师,OpenAPI Initiative (OAI) 商业治理委员会 (BGB) 联席主席

我最近与 GitHub 的员工开发人员 Marc-André Giroux 坐在一起,了解他们的 OpenAPI 之旅,以了解更多关于社交编码平台如何在整个 API 生命周期中使用 OpenAPI 的信息。GitHub 在任何类型的软件开发中都发挥着核心作用,并且在整个 API 生命周期中也处于核心位置,但该平台的 API 在提供 API 基础设施规模方面提供了丰富的学习经验。因此,我们很荣幸能够就 GitHub 所处的 OpenAPI 之旅进行此次讨论,并将这种愿景与 OAS 社区分享。

您何时开始使用 OpenAPI 规范?

GitHub 在 2019 年开始研究 OpenAPI。有趣的是,两个团队独立地开始研究它,这突出了 OpenAPI 如何为 API 表格带来许多不同的好处。一方面,我们的文档团队希望拥有一个机器可读的文档,从中可以生成他们的文档。另一方面,API 团队(我所在的团队)希望将 OpenAPI 用作我们 API 开发体验的核心内容。例如,拥有设计优先流程、请求验证、契约测试、代码检查等。

我们的文档团队首先开始探索 OpenAPI。他们巧妙地从我们的手写文档中生成了一个初始文档。这是一个很好的开端,但从我们 API 团队的角度来看,由于它是从我们无法完全信任的东西中生成的,因此我们对这个 OpenAPI 描述至关重要,它正在针对我们的运行时代码进行测试,并由我们的运行时代码使用,以确保它既准确又完整。

在 2020 年上半年,我们与文档团队合作,使用他们的初始工作,将其移植到 API 的代码库中,并在验证中间件中使用它,该中间件会告诉我们任何不匹配的地方。我们构建了工具来自动修复错误,手动修复了许多错误,并在 2020 年 7 月,我们已经准备好 发布我们的 OpenAPI 描述的 beta 版本

目前哪些团队在您的组织中使用 OpenAPI?

我们 API 的表面积非常广。几乎每个在 GitHub 上开发功能的团队最终都会为它编写一个 API。这意味着最终,许多不同的团队都会与 OpenAPI 交互。作为 API 团队,我们认为这些团队也是我们的客户。我们确保他们在使用 OpenAPI 时拥有良好的体验,并且我们拥有合适的工具来帮助他们构建出色的 API。 我们的文档团队也使用 OpenAPI 生成我们大多数 API 文档网站

OpenAPI 用于公共 API 吗?内部 API?或者两者兼而有之?

OpenAPI 目前仅用于我们的公共 API。我们有很多内部 API,我们最终希望用 OpenAPI 来描述它们。但是,我们最近已转向使用 Twirp 用于大多数内部用例,它由 Protobufs 描述。


您能分享更多关于 OpenAPI 如何在不同领域中使用的信息吗?

文档

我们的开发人员编写的 OpenAPI 会自动同步到我们的文档存储库中。我们的文档团队构建了一个很棒的管道,它会进一步装饰 OpenAPI,并用于渲染我们的 API 文档

代码生成

我们还将 OpenAPI 描述同步到 我们的开源存储库 中。这被用于我们的第一个代码生成用例,即 Octokit JS SDK。Gregor Martynus 非常出色地利用我们发布的 OpenAPI 来 生成 typescript 类型 并为 javascript SDK 提供支持。

我们希望很快帮助我们自己的开发人员进行代码生成。我们已经在运行时利用 OpenAPI 操作来配置某些资源,但我们希望进一步推进,并帮助从 OpenAPI 操作生成实现。

测试

GitHub 的 API 是在一个庞大的 Ruby 单体应用中实现的,拥有成千上万的现有测试。我们通过在 API 的现有集成测试套件中包含一个自定义 OpenAPI 验证中间件来利用这一点。这种契约测试对于我们对 OpenAPI 文档准确性的信心至关重要,也是我们 OpenAPI 工作中最难和最重要的一部分。

许多现有的 OpenAPI 验证器返回的错误并不一定对用户友好。我们花费了大量时间来提出一个抽象,让我们能够返回针对开发人员或最终用户的错误。例如,作为我们集成测试的一部分返回的 OpenAPI 验证错误会返回错误消息,指示开发人员错误发生的原因以及如何修复它。在请求验证方面,我们则指示用户他们的输入无效的原因以及如何更正它。

采用 OpenAPI 的驱动力是什么?

虽然生成文档是一个巨大的好处,但对我们来说,OpenAPI 远不止这些。启用强大的工具并构建出色的开发人员体验是我们关注 OpenAPI 的主要原因。

您是否提供 OpenAPI 的副本供用户下载?如果是,您在何处提供?

我们做到了!正如之前提到的,我们将其作为开源代码库提供,位于 这里

你们目前在运营中使用或已经建立了哪些 OpenAPI 扩展?

我们在运营的“生命周期”的不同阶段使用了许多有用的扩展。我们支持 GitHub REST API 的许多不同版本,包括经典的公共 API,以及各个版本的 GitHub 企业版。虽然这些 API 类似,但它们在不同版本之间确实存在差异。为了避免重复每个操作和组件,我们选择了一种构建系统,允许我们在 OpenAPI 对象上添加版本信息注释。例如,我们有一个 `x-github-releases` 扩展,允许开发人员从特定版本中包含或排除操作。这个扩展不在我们发布的描述中,因为它会被构建系统剥离。

我们还有其他公共扩展,将一些 GitHub 特定的元数据添加到某些 OpenAPI 对象中。例如,我们有一个名为 `x-github-previews` 的扩展,它会告知此操作是否属于 API 预览

其他扩展在 我们的开源代码库中描述

你们的团队是否加入了技术开发者社区的对话,以推动 OpenAPI 规范的发展?

目前还没有,但最近的叠加规范讨论引起了我们极大的兴趣。我们很可能会很快加入这些讨论。

你们是否使用其他 API 规范(例如 AsyncAPI、GraphQL、gRPC)?如果是,你能分享一下原因吗?

我们使用!我们使用 GraphQL 作为另一个公共 API,它为 GitHub 的领域提供了不同的体验,并为我们的客户提供了更灵活的使用场景 (更多信息在这里)。正如之前提到的,我们还使用 Protobuf 用于我们内部的 Twirp API。

你们是如何说服组织中的领导层,OpenAPI 是一项重要的投资?

幸运的是,领导层已经同意使用机器可读的文档来描述我们的 API。我们之前已经广泛使用了 JSON 超级模式,但 OpenAPI 在社区中的快速采用,以及它如何能够让我们准确地描述 API,最终让我们选择了 OpenAPI。

总结

GitHub 对 OpenAPI 的采用遵循了我们看到其他领先的 API 提供商(如 Salesforce、Twitter、Plaid 等)的类似趋势。多个团队正在意识到使用 OpenAPI 的好处,其中文档是首要驱动力,其次是代码生成和测试。在其旅程中走得更远的 API 提供商已经意识到,OAS 并不总是能完全满足他们的需求,并且像 GitHub 一样,正在扩展规范,并越来越多地参与到每周的技术开发者社区电话会议中,以帮助推动规范的发展。看到像 GitHub 这样的领先提供商认识到并开始利用 OpenAPI 规范 (OAS) 为其业务带来的益处,我们感到欣慰,并期待着他们更多地参与到社区中。
如果您想分享您使用 OpenAPI 的旅程故事,我们很乐意听到您的分享。虽然 Plaid、GitHub 和其他 API 提供商的故事在细节方面有很多相似之处,但从多个视角和业务领域讲述故事会有所帮助。如果您有一个想分享的 OpenAPI 故事,请随时 提交一个 GitHub 问题,我们将考虑将其添加到编辑队列中。我们要感谢 GitHub 和 Marc-André Giroux 允许我们采访他们,并将这个精彩的故事与 OpenAPI 社区分享。感谢 GitHub 为我们提供了另一个例子,说明为什么 GitHub 在 21 世纪技术交付方式方面处于领先地位。

OpenAPI Initiative 欢迎 RapidAPI

By 公告, 博客

RapidAPI 正式加入 OpenAPI Initiative!RapidAPI 帮助开发人员查找、管理和测试 API。他们为开发人员提供了一个 API 市场,让他们可以发现和连接到数千个公共 API。该公司的服务可以根据公司的品牌进行定制,以构建内部和外部 API 的私有市场。值得注意的企业客户包括 SAP、思科、塔塔和凯悦酒店。

要详细了解 RapidAPI Marketplace,请注册免费帐户 这里

为了更好地了解 RapidAPI 如何为 API 提供下一代基础设施,以及与 OpenAPI Initiative 的合作对他们意味着什么,我们询问了首席执行官兼创始人 Iddo Gino。

RapidAPI 为什么现在加入 OpenAPI Initiative?

API 是 RapidAPI 的核心。通过收购诸如 Paw Client 这样的产品,以及独特的开发人员工具,例如 RapidAPI Testing,我们非常重视编写、发布并最终维护 API 的开发人员体验。OpenAPI 在所有这些方面都发挥着重要作用。

我们加入 OpenAPI Initiative 的目标是回馈社区。当我们构建 下一代 API 开发人员工具 时,成为 API 构建者社区对话的一部分比以往任何时候都更加重要。OAI 是 API 构建者和 API 消费者超越原始规范,共同努力进行令人兴奋的事情的地方,例如 JSON Schema 和异步 API 等等。RapidAPI 希望通过参与社区来帮助推动规范的发展。

此外,我们致力于使我们的平台能够轻松地与第三方工具进行交互。因此,对我们来说,持续支持 OpenAPI 规范格式、允许所有工具的互联互通并避免客户锁定非常重要。

RapidAPI 团队有参与开发社区的历史。我们的 DevRel 主管 Ahmad Awais 是 Node.js 社区委员会的积极投票成员,在此之前是 WordPress 基金会核心贡献者。我们的营销主管 Suzanne Panoplos 一直积极参与开放容器倡议和 CNCF。正如您所见,加入 OpenAPI Initiative 并成为 Linux 基金会的一员,对 RapidAPI 来说是一个再自然不过的过渡。

构建 API 市场需要哪些要素?是什么让一个市场比另一个市场更好?

一个强大的 API 市场使开发人员能够在一个地方查找、连接和管理 API,并支持各种 API,包括 REST、SOAP、GraphQL 或异步 API。对于每个 API,您应该能够看到性能指标,例如平均延迟、正常运行时间和流行度,并能够从浏览器中测试 API。

此外,一个市场应该使您能够

  • 使用端点页面收集有关每个 API 的信息,以查看端点列表、文档和代码片段,以帮助您将代码实现到您的应用程序中。
  • 订阅 API 计划以开始使用它。通过单一来源管理所有 API 订阅和付款。
  • 为所有 API 使用单个密钥。
  • 使用单个仪表板管理应用程序和 API 密钥。使用此仪表板,您应该能够
    • 通过可视化对不同 API 的请求次数、跟踪返回错误的请求次数以及查看每个 API 的延迟数据来监控 API 性能。
    • 通过检查所有请求数据的日志来更快地调试。
    • 查看 API 支出的明细,包括每月经常性费用和超额费用。
    • 从一个地方管理订阅,包括配额使用情况和配额限制重置之前剩余的时间。

过去一年,新冠肺炎疫情如何影响 API 的使用?

随着疫情的爆发,数字化已经从“锦上添花”变成了“生存之道”。以星巴克为例。在疫情之前,星巴克 7% 的收入来自移动订购。在疫情期间,由于大多数门店关闭了面对面订购,他们的 100% 收入都来自移动订购。

为了应对疫情期间不断变化的环境,企业必须调整其应用程序开发流程并加快交付速度,以应对不断变化的市场状况。为了做到这一点,企业必须在其软件开发中依赖 API。

这种趋势在疫情期间几乎所有行业都存在。然而,在医疗保健领域,API 的使用量出现了爆炸式增长,因为服务、预约和安排都转移到了线上,而服务(如食品订购、零售等)的消费则转移到了家庭。

这种趋势在今年早些时候发布的 RapidAPI 2020 年开发人员调查 中得到了强调。该调查表明,开发人员对 API 的依赖在疫情期间加速,并将持续增长到 2021 年。数据显示,2020 年使用 API 的开发人员比 2019 年增加了 61%,而 71% 的开发人员计划在接下来的一年使用更多 API。

您对 1-3 年后的 API 市场有何展望?

随着 API 的普及在所有组织中不断增加,企业会发现查找、连接和管理 API 成为一项必要。市场需要提供

  • 开放平台 - 随着组织使用不同的 API 网关,市场将提供一个平台,用于与多种不同的网关和云进行集成。
  • 开发人员体验 - 市场需要始终以开发人员为中心,提供实现 API 使用和重用的关键功能,例如深度搜索和标记 API 分析(供提供商或消费者使用),以及针对开发人员的高级使用控制。
  • 开箱即用体验 - 市场需要具备开发人员成功所需的一切,包括深度搜索、最终用户分析和开发人员注册工作流程等高级功能。
  • 多对多模型 - 市场需要支持多个 API 提供商团队,他们向内部消费者以及合作伙伴和客户提供 API。
  • 对所有 API 类型提供支持 - 市场应该支持所有最新的 API,包括 SOAP、REST、GraphQL、异步 API(如 Kafka)等等。
  • 可扩展性 - 市场应该能够扩展以支持数百个 API,并为未来的增长留有余地。
  • 治理 - 市场将统一对组织中所有 API 的可见性和治理,无论使用的是哪些云或 API 网关。

我们很高兴欢迎 RapidAPI 加入我们不断增长的会员名单,并期待着与他们密切合作!

OpenAPI 资源

要详细了解如何参与 OpenAPI 规范的演变,请访问 https://www.openapis.org.cn/participate/how-to-contribute

关于 OpenAPI Initiative

OpenAPI Initiative (OAI) 由一群具有前瞻性的行业专家创建,他们认识到标准化 API 描述方式的巨大价值。作为 Linux 基金会下属的开放治理结构,OAI 专注于创建、发展和推广一种供应商中立的描述格式。OpenAPI 规范最初基于 Swagger 规范,由 SmartBear Software 捐赠。要参与 OpenAPI Initiative,请访问 https://www.openapis.org.cn

关于 Linux 基金会

Linux 基金会成立于 2000 年,拥有 1000 多个成员的支持,是全球领先的开源软件、开放标准、开放数据和开放硬件协作中心。Linux 基金会项目,例如 Linux、Kubernetes、Node.js 等,被认为对世界最重要的基础设施发展至关重要。其开发方法利用了既定的最佳实践,并满足了贡献者、用户和解决方案提供商的需求,以创建可持续的开放协作模式。有关更多信息,请访问 linuxfoundation.org。

宣布 API 规范大会 (ASC) 早鸟提交截止日期

By 博客

第三届 API 规范大会 (ASC) 将于 9 月 28 日和 29 日举行。今年,作为 提案征集 的一部分,我们将接受并宣布五场早鸟演讲。为了让您的演讲被考虑,您需要在 5 月 28 日太平洋标准时间下午 11:59 之前提交您的演讲稿。

早鸟提交将使您提前收到通知,以便您为您的演讲做好准备,并且您的演讲将在完整日程公布之前公布。

提交您的演讲稿:https://sessionize.com/api-specifications-conference-2021/

早鸟截止日期:5 月 28 日,太平洋标准时间下午 11:59

常规截止日期:6 月 11 日,太平洋标准时间下午 11:59

我们将在截止日期后两周内通知所有通过早鸟提交被接受的演讲者。

如果您需要帮助或建议,请与 [email protected] 联系。如果您是第一次或代表性不足的演讲者,我们特别希望帮助您提交演讲稿,并愿意帮助您完成演讲稿的构思或如何构建您的提案。

代表组委会,

Taylor Barnett,ASC 2021 项目主席

Checkly,API 监控和自动化,加入 OpenAPI Initiative

By 公告, 博客

客户群已经大量使用 OpenAPI 规范,Checkly“加倍投入”开源,并增加了对 Headless Recorder 和监控即代码等项目的贡献

旧金山 - 2021 年 4 月 27 日 - OpenAPI Initiative 今天宣布,Checkly 已加入该联盟,成为其新的成员。OpenAPI Initiative 是一个由具有前瞻性的行业专家组成的联盟,专注于创建、发展和推广 OpenAPI 规范 (OAS),这是一种用于 RESTful API 的供应商中立、开放描述格式。

Checkly 为开发人员和现代 DevOps 团队提供监控和测试平台。这家位于柏林的公司提供的云平台允许开发人员监控其 API 端点和 Web 应用。客户可以配置功能齐全的 HTTP 请求,并使用灵活的断言和设置/拆卸脚本。为了监控 Web 应用,Checkly 运行 JavaScript 和开源驱动的浏览器检查。该公司还开发了开源 Headless Recorder,用于通过 Chrome 扩展创建端到端测试脚本。作为一项重要的举措,Checkly 的重点是通过其公共 API 实现监控即代码。

“我们很高兴加入 OpenAPI Initiative。我们的客户和我们都从标准化 API 中受益。OpenAPI 使我们的客户能够轻松开始 API 监控设置,因此在灵活性 and 开放性方面提供了巨大的优势,”Checkly 首席执行官 Hannes Lenke 说。“我们看到了通过我们日常经验为该倡议做出贡献的机会,并希望与该领域的关键人物联系,讨论想法并建立网络。在 2021 年,我们希望加倍投入 OSS,并且作为该倡议的一部分,我们加入了 OpenAPI,因为我们认为这非常自然。”

“随着 DevOps 和微服务的增长,API 使用量激增。在现代生产环境中,监控和测试至关重要,而 OpenAPI 文档可以真正帮助作者过程,”Google 产品经理兼 OpenAPI Initiative 技术指导委员会成员 Marsh Gardiner 说。“我们期待 Checkly 在未来支持 OpenAPI 规范。”

Checkly 筹集了 225 万美元的种子轮融资,由 Accel 领投。天使投资人 Instana 首席执行官 Mirko Novakovic、Zeit 首席执行官 Guillermo Rauch 和前 Twilio 首席技术官 Ott Kaukver 也参与了早期融资。有关更多信息,请访问 https://www.checklyhq.com/。要了解如何使用 OpenAPI 规范和 Checkly 简化 API 监控,请访问:https://www.checklyhq.com/guides/openapi-swagger/

OpenAPI 资源

要了解有关参与 OpenAPI 规范演变的更多信息:https://www.openapis.org.cn/participate/how-to-contribute

关于 OpenAPI Initiative

OpenAPI Initiative (OAI) 由一群具有前瞻性的行业专家创建,他们认识到标准化 API 描述方式的巨大价值。作为 Linux 基金会下属的开放治理结构,OAI 专注于创建、发展和推广一种供应商中立的描述格式。OpenAPI 规范最初基于 Swagger 规范,由 SmartBear Software 捐赠。要参与 OpenAPI Initiative,请访问 https://www.openapis.org.cn

关于 Linux 基金会

Linux 基金会成立于 2000 年,拥有 1000 多个成员的支持,是全球领先的开源软件、开放标准、开放数据和开放硬件协作中心。Linux 基金会项目,例如 Linux、Kubernetes、Node.js 等,被认为对世界最重要的基础设施发展至关重要。其开发方法利用了既定的最佳实践,并满足了贡献者、用户和解决方案提供商的需求,以创建可持续的开放协作模式。有关更多信息,请访问 linuxfoundation.org。

ASC 2021 提案征集!

By 博客

继去年成功举办线上活动后,我们今年秋天又回来了。请将您的日历标记在 API 规范大会 (ASC) 上,今年将以全数字化方式于 9 月 28 日和 29 日举行,太平洋标准时间上午 9:00 至下午 3:00。

ASC 2021 将包括主题演讲、会议和关于规范和标准的开放式讨论,这些规范和标准是推动 API 未来发展的尖端技术的基石。我们想听听您的演讲提案!

我们正在寻找涵盖从 API 规范的初学者介绍到最佳实践和关于 API 规范和标准的前瞻性会议的演讲,包括 OpenAPI 规范、gRPC、AsyncAPI、GraphQL、RAML、API Blueprint、oDATA、JSON Schema 等。我们想听听您如何在实践中使用规范和标准。主题可以包括但不限于设计、测试、安全、生命周期、运行时、治理和开发人员体验。深入的演讲和讨论将使与会者熟悉这些规范和标准,以及如何使用它们来提供更好的 API 体验。

看看去年的演讲,以了解我们过去举办的各种演讲:https://www.youtube.com/playlist?list=PLcx_iGeB-Nxil4S7-0Y1Y5r0oLahy3f0Y

演讲征集现已开放:

* 提交您的演讲稿:https://sessionize.com/api-specifications-conference-2021/

* 提交截止日期:6 月 11 日,太平洋标准时间下午 11:59

如果您需要帮助或建议,请与 [email protected] 联系。如果您是第一次或代表性不足的演讲者,我们特别希望帮助您提交演讲稿,并愿意帮助您完成演讲稿的构思或如何构建您的提案。

我们期待您的提案和参与,这将使 ASC 2021 成为今年的又一次盛事!

代表组委会,

Taylor Barnett,ASC 2021 项目主席

在金融服务中利用 OpenAPI 规范 - Plaid 的 OpenAPI 之旅

By 博客

作者:Kin Lane,Postman 首席布道师

在当今的商业环境中,为企业和消费者提供金融服务的复杂性难以言喻。API 是提供产品和服务的关键组成部分。

Plaid 的使命是通过技术实现金融服务的民主化,该公司为在金融科技领域构建应用程序的开发人员提供 API。Plaid 的平台允许应用程序连接到用户在银行和其他金融机构的账户。消费者和企业可以利用各种 Plaid 支持的应用程序,快速便捷地转账、分析支出、申请贷款等。

基于新的 OpenAPI 规范 3.1.0,Plaid 构建了一个 API 文档,允许他们轻松地发布对客户端库的更新(他们支持五种:Ruby、Node、Python、Java、Go)。而且,他们已经 发布了一个 OpenAPI 文件,用于在您首选的编程语言中自动生成您自己的客户端库,使您能够轻松地使用超过 40 种不同的语言自动生成您自己的客户端库,因此无论您使用哪种语言,您都可以轻松地使用 Plaid 进行构建。

OpenAPI 之旅

Plaid 的 OpenAPI 之旅并非始于某一个人或团队,而是从多个团队的合作中逐渐发展起来的,这些团队对他们为什么需要一个统一的可读机器真理来描述他们的银行 API 有不同的动机。我最近与 Plaid 开发者关系团队的 Alex Hoffer 进行了交谈,以了解 Plaid 选择使用 OpenAPI 规范背后的动机,但也了解他们是如何走到今天的。

Plaid 最近将他们的 OpenAPI 发布到了 GitHub 存储库,我认为这是一个很好的机会来联系他们,讨论他们对 OpenAPI 规范的采用,并看看他们是否愿意与我们分享他们的故事。他们愿意!感谢 Plaid 团队与我们交谈,并分享了 OpenAPI 如何在整个银行 API 平台的 API 操作中得到应用的细节。

创建更好的文档,更快地发布

与大多数 API 提供商一样,Plaid 采用 OpenAPI 规范 (OAS) 的首要原因是为他们的公共 API 提供文档。Plaid 的文档已经使用了很长时间,需要更新,因此开发者关系团队着手进行了完整的重写,他们希望确保能够为他们的文档提供未来证明,以便他们能够随着 API 的发展而对其进行演变。在研究了这种情况后,很明显 OpenAPI 规范 (OAS) 是描述 Plaid API 的最有效方式,这种方式可扩展,并允许它为当前和未来状态的银行 API 文档提供支持。Plaid 团队继续全面重构他们的文档,当他们致力于为 Plaid API 文档提供完整的 OpenAPI 时,其他团队也开始将 OpenAPI 用于他们自己的 Plaid 平台角落。

提供客户端库

当开发者关系团队致力于 Plaid OpenAPI 文档时,他们的开发者体验团队也在研究如何利用它来为 API 提供跨多种编程语言的客户端库。Plaid 的开发者体验团队每两周发布多个 API 的 SDK,这是一个手动过程,需要大量的工作并且容易出错,同时还需要在每种语言中投入大量的专业知识才能交付最佳的 SDK。鉴于所有这些工作,开发者体验团队非常渴望能够尽可能地自动化该过程,但当他们开始着手从 OpenAPI 生成 SDK 时,他们意识到该过程需要一个更加健壮且完整的 OpenAPI,才能为每个语言库提供所有必要的细节。最终,该团队花了五个月的时间才交付出一套满足团队期望的 beta 版 SDK,但现在他们已经拥有了一种更加简化的跨多种语言交付 SDK 的方法,同时还确保 SDK 发布过程始终与 API 文档的演变保持一致,因为它们都源自同一个机器可读的真相——Plaid OpenAPI 合同。

JSON Schema 现已推出

除了 Plaid 的开发者关系和体验团队外,核心服务团队也注意到了用于支持文档和生成客户端 SDK 的 OpenAPI。该团队对 Plaid API 的机器可读真相的集中化很感兴趣,但对用于描述每个 API 的请求和响应有效负载的 JSON Schema 特别感兴趣。内部开发人员在对用于驱动平台的 schema 进行更改时感到担忧,并且由于对任何发布可能会导致的破坏性更改的可见性有限,开发人员留下了很多问题。随着作为 OpenAPI 一部分的中心 JSON Schema 定义的出现,内部开发人员现在可以利用它们作为 Plaid 平台的管道和中间件的一部分进行验证,以确保持续的更改不会更新或删除任何可能导致 API 和集成下游应用程序出现错误的属性。利用中心 OpenAPI 来帮助使发布更加可靠,并减少推动 API 平台向前发展的新功能和能力的内部开发人员的压力,从而减少 Plaid 平台的摩擦。

定义扩展

随着 OpenAPI 在 Plaid API 的文档、验证和 SDK 交付中的引入,团队能够立即利用许多好处。然而,所有三个团队都很快开始遇到 OpenAPI 规范所能定义的限制。其中一些需求是 Plaid 的独特做法,但其他需求类似于您在其他 API 提供商中看到的大多数常见需求。这并没有减缓 Plaid 团队的工作,他们很快着手为 OpenAPI 定义扩展,以帮助他们定义文档所需的内容,以及在多种编程语言中生成 SDK 的严苛需求。最值得注意的是,他们还建立了一个 x-plaid- 扩展,用于描述将在任何时候从 OpenAPI 中剥离的内部 schema 和功能,只要定义将向 Plaid 社区公开。这项工作真正帮助 Plaid 认识到,当您扩展并推动规范来准确地完成您需要做的事情时,OpenAPI 规范真正大放异彩,这使得他们 API 的机器可读真相能够有效地完成 API 生命周期中的多个关键步骤,例如文档、SDK 生成和验证。

客户请求 OpenAPI 规范

Plaid OpenAPI 之旅反映了许多 OpenAPI 采用者所经历或正在经历的事情。虽然 API 提供商采用 OpenAPI 的动机有很多,但提供始终保持最新状态的 API 文档和多种编程语言的 SDK 是前两项。这通常始于对提供更好文档的需求,但当团队意识到同一个 OpenAPI 可以用来支持 API 生命周期中的其他步骤时,他们真正看到了 API 规范作为 API 的单一真相来源的潜力。了解 Plaid 使用 OpenAPI 的原因的故事很好,希望这个故事能够提供一个关于 OpenAPI 在 Plaid 中能够做什么的“已知已知”的了解,但在结束与 Alex Hoffer 的谈话时,我问她为什么他们将 OpenAPI 发布到 GitHub 上——这最终成为了这次谈话的催化剂。她只是说 OpenAPI 是他们客户的常见请求,这样他们就可以为他们不支持的语言生成自己的库,但与该领域的其他领先 API 提供商交谈后,他们也提到他们对社区对他们的 OpenAPI 做的一些独特事情感到惊讶,这些事情超出了内部团队能够提供的范围。这实际上揭示了为您的 API 社区提供 OpenAPI 的最强大的原因,因为它将能够以全新的方法来使用您的 API,这正是我们所有人在做 API 的根本原因。OpenAPI 只是在放大这种效果,并将事情推向全新的高度。

OpenAPI Initiative 欢迎 Level 250 加入其最新成员

By 公告, 博客

Level 250 正式加入 OpenAPI Initiative!Level 250 是一家咨询机构,致力于帮助大大小小的公司改进围绕 SaaS、API 和面向开发者的工具的产品策略:https://www.level250.com

Level 250 由 Emmanuel Paraskakis 运营,他在产品管理方面拥有 20 多年的丰富经验,曾服务于从初创企业到《财富》500 强公司的各种组织。Paraskakis 曾担任世界上两个最重要的 API 产品的产品管理副总裁:Apiary with API Blueprint(被 Oracle 收购)和 SwaggerHub(以及 Swagger 开源工具集),两者都使用 OpenAPI。

凭借如此丰富的 API 和产品背景,我们向 Paraskakis 询问了 Level 250、实施新的 OpenAPI 规范 3.1.0 以及 API 的发展方向。我们了解到 API 构建者和 API 消费者需求的融合、有助于管理规模的重用方面的重大改进、帮助非人类(是的)等等!

— Level 250 为什么现在加入 OpenAPI Initiative?

我一直参与 OpenAPI,在两家以前的成员公司 Apiary 和 SmartBear 中都有参与,所以它是我背景的一部分。API 和 OpenAPI 是 Level 250 所有工作的核心,因此我希望能以任何方式继续支持 OpenAPI。

今天这变得更加相关的原因是 OpenAPI 正在变得比仅仅一个规范要多得多:它成为围绕 API 思考和协作的地方,无论是关于原始 OpenAPI 规范,还是关于 JSON Schema 和 AsyncAPI 等相邻规范,以及其他方面。我认为 OAI 正在成为 API 构建者和 API 消费者需求融合的中心。令人振奋的时代!

— 实施 OpenAPI 规范最大的问题是什么?

我认为该规范是一个非常棒的交换格式,一种大多数 API 工具都使用的通用语言,因此您可以例如使用设计为设计目的的文档并将其重新用于配置 API 管理或安全测试。

但由于它已经变得很复杂,涵盖了许多用例,我认为它很难学习,并且我认为它也很难编写,例如对于设计优先的用例。有一些工具可以使这个过程更容易,比如语法建议甚至 UI 编辑器,但底层的复杂性依然存在。

我很乐意看到一种更简单的语言,可以在构思和设计过程中用手写,也许利用示例,然后可以将其直接转换为当前规范以实现互操作性。

除此之外,我认为我们可以更努力地使模块化和组合更容易,以及处理 API 网关的元数据、发现和运行时配置。

— 谁应该使用 OpenAPI 规范 3.1.0?

我认为最令人振奋的消息是完全兼容 JSON Schema 并支持最新的 2020-12 草案!这允许任何人更详细地描述数据结构,并增强了与外部工具的兼容性。

另一个巨大的胜利将是那些需要描述 Webhook 的人,他们已经要求这样做很长时间了。

一个似乎没有得到太多讨论的改变是,您_不需要_拥有顶级 `paths` 元素,您只需描述 `components`,这仍然是一个有效的 OpenAPI 文档。这对于重用来说是一个巨大的进步。因此,任何拥有大量 OpenAPI 文档并且正在经历重复信息的痛苦的人,都会遇到由此带来的所有问题,都应该升级到 3.1。

— 您对未来 1-3 年的 API 堆栈有什么展望?

当今 API 提供者遇到的主要问题是管理规模和缩短上市时间,因此我认为规范和各种描述格式通过充当我们服务工作方式的真相来源,发挥着重要作用。我希望看到使用声明性文档来告知整个 API 构建生命周期的工具,从构思和设计到构建测试、在多个环境中创建部署以及设置监控/分析工具——所有这些都基于同一个真相来源!

在 API 消费者方面,我们仍然将开发人员引导到质量和完整性可能不同的文档。人类擅长处理歧义,希望他们在遇到支持问题时会联系我们。但越来越多的服务是由机器消费和发现的,因此我希望看到帮助非人类发现和理解 API 功能的工具。


OpenAPI 资源

要了解有关参与 OpenAPI 规范演变的更多信息,请访问: https://www.openapis.org.cn/participate/how-to-contribute

关于 OpenAPI Initiative

OpenAPI Initiative (OAI) 由一群具有前瞻性的行业专家创建,他们认识到标准化 API 描述方式的巨大价值。作为 Linux 基金会下属的开放治理结构,OAI 专注于创建、演化和推广供应商中立的描述格式。OpenAPI 规范最初基于 Swagger 规范,由 SmartBear Software 捐赠。要参与 OpenAPI Initiative,请访问https://www.openapis.org.cn

关于 Linux 基金会

Linux 基金会成立于 2000 年,拥有 1000 多个成员的支持,是全球领先的开源软件、开放标准、开放数据和开放硬件协作中心。Linux 基金会项目,例如 Linux、Kubernetes、Node.js 等,被认为对世界最重要的基础设施发展至关重要。其开发方法利用了既定的最佳实践,并满足了贡献者、用户和解决方案提供商的需求,以创建可持续的开放协作模式。有关更多信息,请访问 linuxfoundation.org。

OpenAPI 与 SLA 相遇

By 博客

这篇文章由 Metadev 创始人兼 ISA 集团成员、塞维利亚大学的 Pedro J. Molina 博士撰写。.

OpenAPI 内部关于 SLA 的特别兴趣小组正在努力创建一个扩展来定义 API 的服务水平协议。

该小组的最新工作最近已提交给 OpenAPI 技术指导委员会,以征求反馈并确保与一般政策保持一致。

SLA4OAI 工作组需要您的帮助,才能开始将这些好处作为 OpenAPI 规范的扩展在实践中实现。这篇文章将解释什么是 SLA、为什么它很重要以及新的工具如何帮助解决当今所有 API 提供商面临的重要问题。

什么是 SLA?

SLA 代表服务等级协议,它定义了一组关于服务可用性、服务质量(如最小和最大吞吐量、延迟配额速率限制等)的指标和约束。

这些约束适用于 API 中的特定端点或操作(资源)。

这些约束可以根据需要分组到几个计划中,并且可以具有价格

Diagram showing SLA as the starting point with branches to a Plan, which decomposes to Pricing, Availability, Rate, and Quota, and a separate path to Metrics and Resource/Endpoint. The paths converge.
SLA 与指标、约束和计划的关系

要解决的问题

API 行业采用了 OpenAPI,从非正式的 API 定义方式转变为正式的定义方式,这种定义方式既可以被人类用于文档,也可以被机器用于自动化。 

同样,商业 API 通常在 HTML 页面或 PDF 文档中以非正式语言描述 SLA,机器难以使用。

因此,对帮助描述 SLA 的标准的需求非常明确。

API 的用例

拥有一个标准格式来描述 API 的 SLA 将使以下用例场景成为可能,仅举几例

  1. SLA 文档:描述限制、速率、配额和预期可用性,以及它们如何应用于不同的端点。
  2. 计划和价格的描述:解释不同的使用计划和成本。
  3. 基于 (2) 的功能和成本比较:允许基于可用性和质量特征比较替代 API。
  4. SLA 测试工具:检查 API 是否按文档实施了给定的限制。
  5. SLA 衡量:检查指标是否与声明的 SLA 合同一致。
  6. SLA 强制执行:将配额和限制作为 API 的中间件实施。
  7. SLA 合规性跟踪(全局或按用户):衡量 API 与 SLA 的理论值相比的实际合规性程度。
  8. 组合服务的 SLA 自动计算。几个 API 可以组合在一起以创建复杂的服务。组合的 SLA 属性可以从简单组件的预期 SLA 中推导出来。
  9. 在 API 中间件工具中轻松设置 SLA。一些中间件工具提供功能来实施 SLA 概念,例如指标、  限制、配额、速率限制等。拥有一个标准和正式的方式来定义它将简化此类功能的初始配置。

当前规范

经过几个月的努力,特别兴趣小组 (SIG) 达成了共识,创建了最小版本 1.0,供人们开始使用并提供反馈。

你可以查看完整的 SLA 规范

早期反馈、路线图和未解决的问题

SLA 定义本身是一个实体,需要在独立的文档中进行描述,而不是在 OpenAPI 定义中。例如,使用 AsyncAPI 描述的 API 也可以从 SLA 描述中受益。

以下是一些开放式设计问题,我们希望得到社区的反馈

  1. 表示 SLA 信息的最佳方法是什么?关于是否应该直接扩展 OpenAPI 文档,或者我们应该将文档分开,然后使用对 API 操作的引用,存在公开讨论。这可以通过不同的技术来实现,例如嵌入式扩展、修补/合并机制、覆盖。它们都提供了优缺点。因此,我们正在评估这里的权衡。
  2. SLA 定义需要引用端点。REST 端点包含一个 URL 加上一个 HTTP 动词(或者也可以通过 OperationId 引用)。AsyncAPI 操作肯定会有所不同。需要选择一种引用机制来允许指向 OpenAPI、AsyncAPI 或其他 API 中特定 API 操作的指针。
  3. 通常,约束和策略适用于一组端点。与其逐个枚举所有端点,不如使用基于通配符 (*) 或正则表达式的机制来简要描述受给定限制影响的所有端点。OpenAPI 标签也被建议作为一种应用限制的方法。

呼吁实施者

行动的时候到了!

实施者可以开始构建新的令人兴奋的工具来解决当今的问题,这些工具可以将扩展的使用付诸实践,以证明其有用性。SIG 内部也将很快开始这样做,仅仅是为了展示几个使用示例。 

所以,如果您有兴趣,请随时询问详细信息,并与 SIG 联系您的实施计划。我们计划维护一个使用 SLA 规范的相关工具列表。

了解更多

  1. 当前 SLA4OAI 规范
  2. 维基和工作草案
  3. SLA-SIG 邮件列表
  4. SLA4AOI 在 TSC 上的演示:幻灯片 & YouTube 视频
  5. 论文: API 行业中限制和 SLA 的作用 (ESEC/FSE ’19)

致谢

感谢所有参与 SLA SIG 的成员:Tim Burks(Google)、Dave O’Neil(Apimetrics)、Paul Cray(Apimetrics)、Hyungjun Lim(Google)、Khushan Adatiya(Google)、Fran Mendez(AsyncAPI)、Emmanuel Paraskakis(独立)、Phil Sturgeon(Stoplight)、Nikhil Kolekar(独立)、Prithpal Bhogill(Google)、Madhurranjan Mohaan(Google)、Isaac Hepworth(前 Google)、Scott Ganyo(Google)、Kin Lane(API 传道者)、Mike Ralphson(独立)、Jeffrey ErnstFriedman(OpenTravel Alliance)、Antonio Ruiz-Cortes(ISA Group/塞维利亚大学)、Pedro J. Molina(Metadev & ISA Group)和 Pablo Fernandez(ISA Group/塞维利亚大学)。

也感谢 TSC 和 OpenAPI Initiative 成员对我们的鼓励,以及为实现这一目标提供的资源和反馈。

OpenAPI 规范 3.1.0 发布

By 公告, 博客

OpenAPI 开发者社区和 JSON Schema 社区共同努力构建升级,以支持与最新 JSON Schema 草案 100% 的兼容性

旧金山 - 2021 年 2 月 18 日 - OpenAPI Initiative 是一个由前瞻性行业专家组成的联盟,专注于创建、发展和推广 OpenAPI 规范 (OAS),这是一种与供应商无关的开放式描述格式,用于 HTTP(包括 RESTful)API,今天宣布 OpenAPI 规范 3.1.0 已发布。此新版本现在支持与最新草案 (2020-12) 的 JSON Schema 100% 兼容。

随着此版本的发布,OpenAPI Initiative 赞助了新文档的创建,以使其更容易理解规范的结构及其优势。它可在此处获得:https://oai.github.io/Documentation/ 

OpenAPI 规范是描述现代 API 的广泛采用的行业标准。它定义了 HTTP API 的标准、与编程语言无关的接口描述,使人和机器能够在不需要访问源代码、其他文档或检查网络流量的情况下发现和理解服务的 capabilities。 

OpenAPI 规范 (OAS) 被全球组织使用,包括 Atlassian、彭博社、eBay、Google、IBM、Microsoft、Oracle、Postman、SAP、SmartBear、Vonage 等等。

“使用 OpenAPI 规范的好处是广泛适用的,从 API 生命周期管理到文档、安全、微服务开发等等,”Google 产品经理兼 OpenAPI Initiative 技术指导委员会成员 Marsh Gardiner 说。“在发展到 3.1.0 版本时,我们非常小心地确保它是对现有用户的增量升级,同时也是企业环境中立即评估和采用的绝佳选择。我们衷心感谢各个贡献者,感谢他们为我们最新的成就贡献的非凡技能和努力。”

“OpenAPI JSON Schema 类结构与 JSON Schema 本身之间的不匹配一直是用户和实施者的一个问题。OpenAPI 3.1.0 与 JSON Schema 草案 2020-12 的完全一致性不仅会为用户节省很多痛苦,还会带来一种新的标准化 schema 扩展方法,”JSON Schema 项目负责人 Ben Hutton 说。“我们过去几年(以及版本发布)一直在确保我们能够清楚地听到和理解社区面临的问题。凭借我们时间有限的志愿者团队,我们不仅修复了许多痛点并添加了新功能,而且 JSON Schema 词汇表允许定义满足验证以外用例的标准,例如生成代码、UI 和文档。

在 JSON Schema 草案 2020-12 发布的第一天,就有两个实现准备就绪。与如此经验丰富且技术娴熟的团队合作真是让人谦卑。”

虽然 JSON Schema 从技术上讲仍然是“草案”规范,但草案 2020-12 为第三方构建标准化扩展奠定了新的稳定基础。JSON Schema 团队没有预见到扩展系统方法(如方言和词汇表)的任何重大变化。但是,随着反馈的接收,效用可能会得到改善。

JSON Schema 网站:https://json-schema.org 

JSON Schema 开放式集体:https://opencollective.com/json-schema 

JSON Schema Twitter:https://twitter.com/jsonschema

OpenAPI 规范 3.1.0 中的主要变化

  • JSON Schema 词汇表对齐
  • 用于描述在带外注册和管理的 Webhook 的新顶级元素
  • 支持使用标准 SPDX 标识符标识 API 许可证
  • PathItems 对象现在是可选的,以便更容易创建可重用的组件库。可重用的 PathItems 可以描述在 components 对象中。还支持描述使用客户端证书保护的 API。

完整的 OpenAPI 规范 3.1.0 版本说明可在此处获得:https://github.com/OAI/OpenAPI-Specification/releases/tag/3.1.0

关于语义版本控制的说明

OpenAPI Initiative 已采用语义版本控制来传达软件升级中更改的重要性。语义版本控制是一种流行的编号方法,其中次要版本更新表明软件更改是向后兼容的,而主要更新则不是。从技术上讲,使用语义版本控制与 JSON Schema 的新完全对齐需要将此更改表示为 4.0.0。但是,此更新对 OpenAPI 进行了重要改进,特别是与 JSON Schema 的对齐,但将其强制为主要版本编号会造成期望不匹配。

特别感谢

特别感谢 Henry Andrews、Phil Sturgeon 和 Ben Hutton,感谢他们为更好地对齐 JSON Schema 和 OpenAPI 规范所做的一切工作、支持和耐心解释。非常感谢 Lorna Mitchell 推动了 Webhook 的努力,并使用了我们新的提案流程。感谢全球参与的众多开源开发者。

OpenAPI 资源

要详细了解如何参与 OpenAPI 规范的演变,请访问 https://www.openapis.org.cn/participate/how-to-contribute

●   成为会员

●   OpenAPI 规范 Twitter

●   OpenAPI 规范 GitHub - 立即开始使用

●   分享您的 OpenAPI Spec v3 实现

关于 OpenAPI Initiative

OpenAPI Initiative (OAI) 由一组具有前瞻性的行业专家创建,他们认识到标准化 API 描述方式的巨大价值。作为 Linux 基金会下的开放式治理结构,OAI 专注于创建、发展和推广与供应商无关的描述格式。OpenAPI 规范最初基于 Swagger 规范,由 SmartBear Software 捐赠。要参与 OpenAPI Initiative,请访问 https://www.openapis.org.cn

关于 Linux 基金会

Linux 基金会成立于 2000 年,拥有 1000 多个成员的支持,是全球领先的开源软件、开放标准、开放数据和开放硬件协作中心。Linux 基金会项目,例如 Linux、Kubernetes、Node.js 等,被认为对世界最重要的基础设施发展至关重要。其开发方法利用了既定的最佳实践,并满足了贡献者、用户和解决方案提供商的需求,以创建可持续的开放协作模式。有关更多信息,请访问 linuxfoundation.org。