Dion Hinchcliffe 谈 Web API 的过去与未来

  • Jerome Louvel
  • 谢丽

2016 年 1 月 24 日

话题:语言 & 开发架构文化 & 方法

API 策略与实践大会于 2015 年 11 月在德克萨斯州奥斯汀市举行。在作完主题演讲后,InfoQ 采访了Dion Hinchcliffe,了解他对 Web API 未来发展方向的看法。

根据 10 多年的深厚经验,Dion 阐述了 REST 及简单设计如何影响了 Web API 在 Web 服务上的最终流行的历史。鉴于 Web API 在企业的应用日益广泛,Dion 阐述了 API、平台及网络的过去、现在和未来。

InfoQ:您能向我们介绍下自己的背景和主要工作吗?

Dion Hinchcliffe:我目前是7Summits的首席策略官。我们为开发者社区提供类似 API 这样的东西。我也在数字领域做大量的研究和分析,并为 ZDNet 和其他网络媒体写文章,我还写了两本有关这个领域的书。

InfoQ:您大约在 10 年前开始 Web API 研究。最初是什么激发了您的兴趣?

Dion:API 第一次真正引起我的注意,是在开发者社区真正开始对 REST 和更传统的重量级 Web 服务进行对比讨论的时候。

数据刚开始显现出,面向 Web 的 API,越简单就越受欢迎,也越容易使用,而且能够更好地与开发工具、技术、甚至是常规的企业应用程序协同。

那会儿,Amazon 刚好发布了 SOAP 和 REST 的流行度对比数据,显然,旧式的 Web 服务根本就不受欢迎,而围绕 Web 上的 Web 服务,有些令人兴奋的事情正在发生,就是我们现在所说的 API。

InfoQ:与您最初对 Web API 的设想相比,我们今天的情况有什么最显著的不同?

Dion:关于轻量级 API,我非常高兴,API 市场和开发历程有许多都跟我的预期很像。我记得,我曾期望有更多的创新。我们看到了类似 JSON 这样的东西出现,为创建更加轻量级的 Web 服务提供了一种可选的方式。

我记得,我曾期望工具支持比最初的需求多,尽管那是重点,但在此之前,人们在像 Eclipse 这样的平台上做着许多繁琐的 Web 服务,还要提供存根,等等,而现在你看到,那是没有必要或者不需要的了。

鉴于我已经预测了整个的安全行业,最大的惊喜也许是与安全主题相关的。虽然早就预测到了,但最初那些简单的 API 模型已经用实际证明了其良好的弹性,并且几乎能够满足所有人的安全需求。

InfoQ:在典型组织里,Web API 达到了什么样的成熟度水平?

Dion:关于技术,有意思的是,它的应用相当地不均匀。真的不能说有典型组织,早期采用者,就像采用 API 一样,常常非常早。

但是我认为,完全可以说,一般公司都已经完全了解 API 并使用了它们,但不是战略上的。API 科室或 API 部门仍然是领先的技术组织或者创业公司的一个与众不同的特征。

InfoQ:对于那些典型的组织而言,Web API 最有价值的应用场景是什么?

Dion:最主要的应用场景包括企业应用集成、工作流、移动应用及集成第三方云服务,现在,它将会在不远的将来用于物联网。

InfoQ:您经常谈论开放 API 支持数字转型的重要性,但是最终,支撑移动应用、Web 应用及其他 UX 的内部 API 对公司而言不是更重要吗?

Dion:每家公司都应该使用他们自己的狗粮,并成为自有 API 的第一个客户,就是说,不管怎样,大部分 API 首先应该是内部的。当然,通过在组织内部学习如何生产和消费 API,公司就可以提升组织 API 的成熟度。

但是,随着外部 API 引入,内部 API 输出,我们看到,API 需要做好一切准备,而且可以以任何方式使用,因为服务会重新混合,数字体验就是从许多以前完全不同的源和 API 创建出来的。

InfoQ:开放 API 已经推动了 API 的流行,但是最近,一些公司,像 Netflix 和 Twitter,已经开始关闭它们,而许多公共 API 项目正在争夺开发人员的心里份额。您认为这是一种趋势,还是个例?

Dion:我希望他们是证明规则的例外情况,但是人们越来越相信,API 在早期发展阶段非常有益于公司的发展,但是当公司成为领导者时,它会成为一个不利条件。

但是,你同样可以很容易地举出反例,如 Expedia、eBay 和 Amazon,对于他们而言,API 是他们主要的商业模式,因此,显然还没有定论,而毋庸置疑,API 对于公司早期阶段的发展而言至关重要。

InfoQ:API 管理供应商大部分将自己定位成介于遗留 IT 资产和新用户体验之间的网关,包括 Amazon 及其新推出的 AWS API 网关。另一方面,像 IFTTT、Uber 或 Twilio 等原生云公司正在构建分布式 API 网络,扰乱了传统业务。对于一个传统公司而言,在设想 Web API 时,什么比喻才恰当?

Dion:我认为两者皆有,但更多的是后者。网关是一个先决条件,否则你无法访问生态系统。因此,没有一个,你就不可能真正拥有另一个,但是,一旦进入市场,API 的设计应该提倡和培养一种健康发展的数字生态系统。因此,在我看来,它们并不互相排斥。

InfoQ:您认为,公司最终需要为每种用户体验或交互通道构建一个定制的 API,像Netflix 正在做的那样,还是说大多数公司最好都创建一个通用的 API?

Dion:对于任何通用的东西,我总是持谨慎态度,特别是在数字技术与人类需求复杂的交叉点上。无疑,许多公司始于单个的 API,但产品的成长成熟及外部客户很快就会教给他们单一模型是否是恰当的方法。我认为,一种更微妙的方法通常更合适。

InfoQ:与 RPC 变体相比,如谷歌不久前宣布的 gRPC 项目,REST 对于 Web API 的整体价值和成功有多重要?

Dion:毫无疑问,REST 已经成为开发 API 基本模型的基础,因为它与 Web 本身的工作原理是如此的一致。但是,它永远不会成为所有场景的答案,尤其是一些在 Web 最初设计时没有预见到的东西,如视频、实时通信及其他更加现代化的场景。

我认为,工作时要使用合适的工具,同时要尽量靠近核心标准。

InfoQ:关于 PaaS 最终是否会凌驾于 IaaS 之上并被广泛采用一直争论不断。关于这一点,您有什么看法?

Dion:任何设计,限制越多,应用场景就越少。这方面,IaaS 和 PaaS 没有差别。

IaaS 适用的场景要多得多,几乎可以用于所有的计算机和网络场景,而 PaaS 适用的领域要小很多,因此,又回到了框架之争的问题,框架越大越复杂,本身在解空间受到的限制就越多。

因此,与 PaaS 相比,IaaS 的使用总是更广泛,适用面更宽。显然,PaaS 市场巨大。我希望两者都会蓬勃发展,但一个总是会比另一个大。

InfoQ:您谈到公民开发者是指那些能够使用恰当的工具进行基本开发的业务用户。对于公司而言,您认为这已经成为开发软件解决方案的一种切实可行的方法了吗?

Dion:我认为,我们正处在这样的时候,一般的组织都已经具备了这样做的条件。自 API 实际出现开始,大公司已经这样做了许多年了。API 一出现,这类工具就出现了。这太不可思议了。

现在的模型,除了非常简单的事件驱动应用程序之外,是由公民开发者构建用户体验和简单的应用程序流,而由 IT 人员帮助填写和完成应用程序逻辑。这是一个非常令人兴奋的领域,有足够的证据表明,我们正处于公民开发者大量涌现的早期阶段,再一次,是 API 让这一切成为可能。

InfoQ:企业用户本身是需要提供或消费 API 呢,还是说需要技术要求低一些的模型,如连接器、电子表格、和表单?

Dion:我很高兴 API 在非技术用户社区里获得了更广泛的理解,但是我们真没看到一种可以完全取代它的有效的方式。

我认为,用户将类似简单“应用”这样的概念理解为一个不够稳定的功能和数据单元,因此,在现如今的低代码环境下,数据源常常同提供数据源的应用混淆,例如,从 Weather.com 获取天气预报数据,而不是 Weather.com

API,而后者是才是数据的真正来源。

近来,人们一般认为,应用是数据源,而 API 是真正做工作的,所以我想这也没事。

InfoQ:有关分布式网络和平台的强大功能,您谈了许多。在这方面,API 有多重要?它们是战略上的、战术上的,还是说仅仅是公司的一个技术面?

Dion:这样,在下午的大会上,我在这里同 API 拓荒者John Musser探讨了这个主题,API 本身对于实现我们正在谈论的高度分散的系统仍然非常关键,而那种系统是创建成功的数字企业所需要的。

但是现在,位于 API 层之上的“元概念(meta-concepts)”其战略重要性日益增长,正变成一项同 API 本身一样的核心研究。

我要提一下 John Hagel 的团队在 Deloitte 所做的工作,他们的生态系统模式表明,在 API 体系结构之上还有一个重要的步骤,就是架构层。

这就是三、四年来我们已经真正理解的东西,而那就是战略讨论真正的发展方向。

查看英文原文:A Discussion of the Past and Future of Web APIs with Dion Hinchcliffe

语言 & 开发架构文化 & 方法