Skip to main content

将 Web 放入 Web API 中

学习目标

完成本单元后,您将能够:

  • 解释 Web 应用程序越来越受欢迎的两个原因。
  • 列举 Web API 的常见用途。
  • 了解 API 经济以及 API 增长显著的原因。

可联网 API 改变了游戏规则

API 不仅局限于在同一本地网络中可以找到的内容。开发人员和普通集成人员还可以使用远程系统和设备提供的 API。这些可以是专用连接,例如在具有多个办公地和数据中心的企业中找到的网络,也可以是像互联网一样的公共网络。这个庞大网络的关键是 API 端点。

备注

将端点想象成消费应用程序要插入的电源插座。

可以插入电源插座的设备数量和类型仅受发明者想象力和电力网络容量的限制。同样地,能够利用由 API 端点抽象出的数据的应用程序数量仅受开发人员想象力和 API 提供商的基础设施容量的限制。

一个典型的例子是,就在 Google 提供了用于 Google Maps 的 API 后不久,数千名第三方开发人员大胆尝试,借助这个 API 开发了独特而创新的应用程序,将 Google 的地图功能直接融入其应用程序中。想想 Yelp、Lyft、特斯拉,以及任何其他提供 Google 版权地图的应用程序。

因此,API 被称为创新的引擎,特别是对于那些将众多可用 API 视为帮助构建新的业务结果和客户体验的第三方部件的集成开拓者来说。

API 经济

根据调用的数量或细分不同层次服务的其他方式,像 Google 这样的提供商可能会向应用程序开发者收取使用 API 的费用。这催生了 API 经济的概念。

现在,应用程序开发人员必须权衡使用 API 与从头开始开发功能的全部成本。或者,如在 API 经济中经常发生的情况,开发人员可以为类似的服务寻找更经济的提供商。例如,Google Maps 有几个著名的竞争对手,包括 Here.com。

一个显示自 2006 年以来的可编程 Web API 目录增长情况的图表。该图显示了在 2010 年 12 月至 2020 年 12 月期间创建的 API 激增。

API 经济的增长由参与竞争的服务提供商推动,旨在满足对更高的开发者生产力和共享数据的渴望。对于可以通过 API 调用的各种类型的功能(如信用卡处理、地图、导航和翻译),通常会有多个 API 提供商在争夺应用程序开发人员和普通集成人员的青睐。反过来,随着越来越多的功能以基于 API 的服务形式提供,API 经济加速了应用程序主要由现成 API 构成这一趋势。最终解决方案越具有可组合性,就越能灵活地采用其他 API 的新功能,从而提升整体业务能力。

API 增长的过去和现在

您可能会认为可联网 API 是自切片面包以来最伟大的发明。您可能也会想,如果它们如此伟大,为什么科技界不早点推出它们呢?事实证明,它们确实早就有了。

在 Unix 刚问世的时候,程序员经常借助一种被称为 RPC(远程过程调用)的技术,通过网络从另一台机器远程调用业务逻辑。

您准备好来一些严肃的不确定谱系软件缩略语了吗?随着时间的推移,RPC 被其他形式的远程数据和功能请求所取代,如网络 DDE(动态数据交换)、CORBA(公共对象请求代理架构)、电子数据交换 (EDI) 等。最终,出现了一种名为 XML-RPC(哇嗷!又是 RPC!)的技术,后来演变成我们现在所知的基于 XML 和简单对象访问协议 (SOAP) 的 Web 服务。

每当出现一种新的关于远程访问数据或功能的技术时,业内都认为乌托邦终于实现了。但随之而来的是当今流行的 Web API,正如前面提到的,它们依赖于通过使用 GET、PUT 和 POST 等特殊动词内置在 Web 协议 (HTTP) 中的功能。是的,这与您每天用于访问您最喜爱的网站的 Web 协议相同。

集成(可能的)未来

因此,如果历史是任何一种指示因素,那么我们在系统之间实现集成的方式可能需要改变。现在有两种相对较新的类似 API 的技术,与当前流行的 Web 方法不同。一个来自 Facebook,名为 GraphQL,另一个来自 Google,名为 gRPC。

这两者相比当前的 Web API 各具优势。例如,GraphQL 的灵感来自社交图谱的概念,以及朋友、照片、工作地点等不同数据项如何形成相互关联的信息迷宫。GraphQL 可以一次性从整个数据图中请求信息(而传统 API 需要多次往返请求才能完成相同的任务)。

另一方面,gRPC 也有自己的优势。它依赖于 HTTP/2(HTTP 版本 2),可以进行双向数据流传输。使用 HTTP/2,gRPC 可以将 API 转换为流 API,一旦数据可用,就将其数据提供给消费应用程序。对于某些实时应用程序(如股市行情软件)而言,这是一种更有效的获取数据的方式,它不像传统 API 那样强制应用程序不断检查是否有新数据可用。

相同的概念,不同的技术

无论是 Web 协议、GraphQL、gRPC 还是一些尚未发明的 API 方法,归根结底,可联网 API 的理念实际上是将业务能力转化为其他应用程序可远程处理的可联网服务,并将其视为其客户体验外包的一部分。随着可外包部分库存(即 API 经济)的增长,您也有机会凭借创新和经验超越竞争对手,这是在内部开发所有内容时难以实现的。

这个机会也可以反向创造。作为 API 形式的可联网服务,您的组织应向自身和外部开发人员提供哪些业务能力?这是一个价值数百万美元的问题,尤其对于那些渴望成为集成开拓者的人来说!

在 Salesforce 帮助中分享 Trailhead 反馈

我们很想听听您使用 Trailhead 的经验——您现在可以随时从 Salesforce 帮助网站访问新的反馈表单。

了解更多 继续分享反馈