BT

你的观点很重要! 快来参与InfoQ调研吧!

IBM开源API微网关

| 作者 Margot Krouwer 关注 3 他的粉丝 ,译者 薛命灯 关注 11 他的粉丝 发布于 2017年5月10日. 估计阅读时间: 3 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

IBM 最近宣布开源他们的 API 微网关(Microgateway)。这意味着任何一个开发人员和组织现在都可以无偿在他们的项目里使用这个软件。

API 网关是处于 API 服务和消费者应用程序之间的一个软件层。这个层的作用是为 API 提供各种常见的服务,比如安全、速率限定,以及变更管理工具。IBM 的微网关采用 Node.js 开发,并采用了 Swagger 2.0 规范。这一软件的开源震惊了开发社区,因为 IBM、微软、谷歌等公司的 API 网关都不是免费的。IBM 的微网关与 IBM 的 DataPower Gateway 是不一样的,后者是另一个企业解决方案,更加侧重安全。

IBM API 微网关的主要特性是网络流量管理、方便实现安全标准(比如 OAuth),以及策略管理。它还有一个 API 设计器,提供了一个图形用户界面用于创建 YAML API 规范。它还包含了一个小型的数据存储引擎和一个健壮的工作流引擎,可以用于持久化基本的 API 数据模型,并基于 API 的消费行为创建复杂的策略。微网关为常见的场景提供了预置的策略,比如 API 秘钥验证、基本的授权和速率限定。

IBM 微网关把主要关注点集中在策略管理上。用户如果不打算使用预置的策略,可以使用“if”和“swtich”语句创建自定义的策略,这些语句是流管理的组成部分。IBM 的产品经理 Ozair Sheikn 在 IBM 博客上介绍了如何扩展这些策略,而不仅仅使用基本的条件语句,“如果你打算卷起袖子应用自己的逻辑,JavaScript 策略提供了非常大的灵活性”。预置的基本条件语句和 JavaScript 配置能力让用户可以使用网关来满足自己的业务需求,并自定义业务逻辑。

微网关的另一个关注点是 API 的定义识别和创建。内置了 Swagger 规范意味着可识别的 API 定义标准,用户可以使用底层的 Swagger 编辑器来创建基于 YAML 的规范。因为编辑 YAML 十分敏感,犹如在大风中组装一个纸牌做的房子,图形用户界面可以让这个过程不那么费时。开发人员可以借助这些工具在网关内部创建自己的 API 定义,也就有可能为消费者 API 的定义创建策略。不过,这个网关只能识别两种 API:REST 和 SOAP。使用这两种类型之外 API 的开发者得不到相关的支持。类似地,如果 Swagger 规范与现有的 API 生态系统不匹配,那么微网关就不会如预期那样健壮。不过,开源的优势在于,如果项目需要新增或改进某些功能,他们就会去寻找代码贡献者。

查看英文原文: IBM Open Sources their API Microgateway

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT