GMTC北京站本周日开幕,58个议题全部上线,点击查看 了解详情
写点什么

Dion Hinchcliffe 谈 Web API 的过去与未来

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

2016 年 1 月 24 日 18:001505
用户头像

发布了 1008 篇内容, 共 317.9 次阅读, 收获喜欢 288 次。

关注

评论

发布
暂无评论
发现更多内容

Kubernetes学习笔记之Calico CNI Plugin源码解析(二)

360技术

「Adobe国际认证」PS软件通过"内容识别填充"从照片中移去对象

Adobe国际认证

油管视频下载: 如何下载油管视频到本地

科技猫

分享 教程 经验 油管视频下载 下载油管视频

福利时刻 十年黑客大佬的Web安全渗透技术分享

学神来啦

Linux 黑客 安全 运维自动化

Flink + Iceberg 在去哪儿的实时数仓实践

Apache Flink

flink

美团面试官告诉你学习Java掌握这几个API就够了,高薪入职利器

java专业爱好者

Java API

大厂面试内幕:阿里内部整理出的5000页Java面试复盘指南,起飞

周老师

Java 编程 程序员 架构 面试

硬核!最全“Java25面试宝典+Java29核心知识集”,一箭双雕杠秋招!

不秃顶的Java程序员

Java 程序员

阿里大神亲码“Java面试笔记”,不讲一句废话,全是精华

菜菜山

Java 程序员 架构 面试

Github上点赞90k的计算机基础、操作系统、网络笔记,赶紧收藏

Crud的程序员

程序员 架构 计算机基础 网络 java程序员

面试官:如何给字符串设计索引?

JavaFish

MySQL 索引 字符串 索引优化

准备3个月,面试10分钟,Java中高级岗面试为何越来越难?

Java架构师迁哥

《原则》(九)

Changing Lin

6 月日更

centos7使用

xujiangniao

Linux

基于传感器的人体生命体征监控技术

不脱发的程序猿

物联网 传感器 智能医疗 人体生命体征监控技术

全靠阿里内部(珠峰版)Java面试笔记,成功拿下12家大厂offer

程序员改bug

Java 架构 编程语言 java程序员

阿里大牛自己记录整理的一线互联网公司面试(阿里、网易、字节)

Crud的程序员

Java 程序员 架构 编程语言

阿里大牛耗时三年整理出来的4588页Java面试诛仙手册,已全面开源

周老师

Java 编程 程序员 架构 面试

2021年最新版Java后端最全面试攻略,全面对标BATJ

云流

Java 程序员 架构 面试

程序员需要了解数据库知识么?

escray

极客时间 学习笔记 朱赟的技术管理课 六月日更

阿里大神终于把“SpringCloudAlibaba学习笔记”总结出来了,这细节讲解、不得不服

菜菜山

Java 程序员 架构 微服务

智慧公安情报信息分析研判系统开发,情报研判预警平台建设

WX13823153201

毕昇JDK:为啥是ARM上超好用的JDK

华为云开发者社区

Java 华为 jdk Openjdk 毕昇 JDK

从零开始学习3D可视化之模型动画

森友小锘

可视化 模型 大屏可视化 数字时代 3D可视化

阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验

尹文敏

云计算 阿里云 云原生 云原生架构 云原生应用

☕️【Java 技术之旅】带你一起攻克String类创建的难点分析

李浩宇/Alex

Java string pool string 6月日更 6 月日更

我人生的里程碑之【作为独立开发者,第一次承接外包项目的心得经历,也许说出你的心声哦!】

李浩宇/Alex

程序人生 6月日更 6 月日更

建信金科大咖访谈:ISO20000及ISO27001标准体系解读

金科优源汇

开源之夏来啦,欢迎报名 Apache APISIX 项目!

Apache APISIX 中国社区

开源 后端 技术人生 API 网关

24道几乎必问的JVM面试题,我只会7道,你能答出几道?

北游学Java

Java 面试 JVM

面试官:一台服务器能建立的TCP链接真的只有65535个吗?

程序员小毕

Java Linux 程序员 面试 TCP

Dion Hinchcliffe谈Web API的过去与未来-InfoQ