API经济与实现之路

API经济的兴起

在谈API经济之前,我们需要先了解API的概念。

API的全称是Application Programming Interface,即应用编程接口,它是软件系统不同组成部分衔接的约定标准。本质上,API 是对应用进行封装、对外开放访问接口,以便被其他应用或者客户端访问。

随着软件的种类越来越多、功能越来越丰富,软件在设计的时候,通常是将一个复杂的大系统划分成多个小的单元,而各个小的单元需要相互协作,编程接口的设计就显得尤为重要。编程接口的设计,要能够提升单元内部的内聚性、降低单元之间的耦合程度,最终提升整个软件系统的健壮性和可扩展性。

在了解了API(对业务进行API化)的概念后,我们在看一下API经济这个话题,API经济伴随着Gartner 定义的第三平台(云计算、移动互联网、大数据、社交)而产生的。API 经济的热潮,在西方国家出现比较早。早在2012年,国际互联网巨头如Salesforce、Google、Twitter 等公司,就通过API为他们带来了巨大的经济效益。

API 经济,听起来很缥缈,但其实离我们日常生活很近,举个例子:我们在经常使用的导航软件高德地图,在输入我们出发地址和目的地之后,可以显示从出发地址到目的地之间的距离和路径;接下来,选择打车菜单,我们可以看到神州专车和首汽约车,并显示对应的价格,如下图所示,我们可以根据自己的需要,选择使用哪个网约车。

高德地图和首汽约车之间的应用的调用,使用的就是API调用的方式,两个公司之间API的调用,可能产生一些计费和流量管理的需求。

对于云厂商或者互联网公司而言,完全可以将自己的应用(如地图服务、字典服务、邮件服务等),以API的方式暴露到互联网上,其他公司使用API的时候,可以进行一定程度的收费,从而实现API 经济。

所以说,API经济的本质,是企业通过技术把自己的业务服务化,然后通过API的方式暴露给客户,然后被客户使用,从而收取一定的费用。伴随着国内数字经济的发展,API经济将会成为数字化的核心力量。

API 经济的实现

从技术角度而言,需要对企业的业务服务化,然后通过API实现对外暴露,在这个过程中,从技术角度来说,需要考虑以下几个部分:

  • API灵活的访问控制

  • API的身份认证和授权

  • API合同和费率限制

  • API访问分析和报告

  • API的计费

API访问控制

对于企业而言,API大致分为两类:

  • 对内的API:通常不会直接产生经济效应,虽然在内部,也需要对其进行安全控制

  • 对外的API:通常会将应用的API接口暴露给互联网,因此其访问控制和安全就变得尤为重要。

在传统的开发模式中,API的访问控制都是通过在应用的源代码中实现的,这种访问控制的实现,主要由应用程序开发人员来实现,对于对内的API而言,这种方式是没有什么问题。但是在对外开放的API中,开发人员在编写代码的时候,很难讲后续API的所有调用场景考虑周全,比如:调用次数,调用频率,调用权限等。因此,针对产生经济效益的API,我们需要将API 调换用的安全从应用代码中隔离出来,放到API 专有的平台中来管理。

API 的身份认证与授权

API 的身份认证与授权本质上是为了保证 API 的安全。

在 API 经济的时代,API 的身份认证与授权,必须要兼顾安全性、可用性、可扩展性:

  • 针对于 API 的身份认证,可以使用 OpenID。

  • 针对于 API 授权,可以 OAuth2.0。

OpenID 是一种开放的身份验证标准。用户通过 OpenID 身份提供商获取 OpenID 帐户。然后,用户将使用该帐户登录任何接受 OpenID 身份验证的网站。

OpenID 建立在 OAuth 2.0 协议之上,允许客户端验证最终用户的身份并获取基本配置文件信息 RESTful HTTP API,使用 JSON 作为数据格式。

开放授权 (OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源,而无需将用户名和密码提供给第三方应用。OAuth 2.0 是 OAuth 协议的下一版本,相比于 OAuth1.0,更关注客户端开发者的简易性;它为移动应用(手机、平板电脑、Web 等)提供了专门的认证流程。

OAuth 2.0+ OpenID 的方式,在互联网已经被大量使用。

举一个我们身边的例子:我们登录很多手机 app 或者网站,都可以通过微信认证,例如今日头条。

在这个认证和授权的过程中,微信就是 OpenID 身份提供方,而今日头条,就是 OpenID 身份依赖方。

下面用通过微信登录今日头条的例子来演示 API 的身份认证与授权过程。

1 打开浏览器,登录今日头条网站,如图 2 所示。点击通过微信授权登录。这时候,相当于客户端向今日头条的服务器发起授权请求。

2 今日头条响应一个重定向地址给客户端,这个地址指向微信授权登录。

3 浏览器接到重定向地址,再次发起访问,这次是向微信授权服务器发起请求,屏幕出现二维码,如下图所示:

在这个过程中,微信认证服务器也对用户进行了身份认证,只是因为用户在扫描的时候,微信已经在手机登录了(用户在微信认证服务器上,首先验证了自己的身份,然后用微信同意今日头条客户端发起的授权请求,也就是拿起手机用微信扫描二维码)。

4 此时拿手机微信扫描电脑屏幕的二维码,并且在手机微信上点击同意授权登录,如下图所示:

5 接下来,微信授权服务器会返回给浏览器一个 code。 浏览器通过获取到的 code,向认证服务器发起申请有效令牌 (token)的请求。认证服务器返回 token。

6 浏览器拿到 token,向认证服务器获取用户信息。认证服务器返回用户信息。

用户信息在浏览器展示出来。截至到目前,登录过程完毕。

8 客户端通过 token 向资源服务器申请资源(例如今日头条只开放给会员看的一些文章或者视频)。

今日头条的服务器,确认 token 无误,同意向客户端开放资源。

API 合同和限速

在 API 经济下,相同的一个 API,可以配置成不同的”套餐”(合同)。不同的套餐,可以设置不同的限速。例如:

  • 对于白金套餐,API 被调用次数不限。

  • 对于金卡套餐,API 每个小时可以被调用 100 次。

  • 对于普通套餐,API 每个小时可以被调用 15 次。

当 API 被调用的次数超过限速的设置,需要返回报错。

API 访问分析和报告

在 API 经济下,我们需要对 API 的访问进行统计。

API 的种类,可以按照按照是否是 Web 类的分发。在第三平台中,互联网中以 Web API 居多,而 Web API 又大致分为两类:

  • JAX-RS: 是用于创建轻量级 RESTful Web 服务的 Java API。

  • JAX-WS: 是使用简单对象访问协议(SOAP)的基于 XML 的 Web 服务的 Java API。

JAX-RS 的一个很大的好处是支持 HTTP(s)协议,也就是可以响应四种 HTTP 的方法,具体而言:

  • GET:检索数据。

  • POST:创建一个新实体。

  • DELETE:删除实体。

  • PUT:更新实体。

在 API 经济下,API 访问和分析报告,应可以对一个 API 的某个 URI 的 HTTP 调用方法进行统计,如某个 URI 在一段时间内被 GET、POST 了多少次等。并且,可以形成分析报告。

API 的计费

在云时代,计费是很重要的一个功能。而在 API 经济下,我们需要考虑 API 如何进行计费。

API 的计费方式,可以按照功能和流量收费:

  • 所谓功能,主要指的就是同一个应用,通过 API 进行暴露出的不同的功能,主要是通过设置应用不同的 URI 访问权限来实现的。

  • 而流量,主要是指 API 调用的次数。

在 API 经济模式下,API 的计费这两点都需要考虑到。

API 网关与 API 管理的区别

API 网关是一个软件系统的唯一入口,它封装了软件系统内部体系结构、对外为客户端提供 API。客户端不必关注软件系统的内部结构。而 API 管理在是对 API 进行安全、授权、限速、计费进行丰富的高级策略管理的企业级解决方案。

API 网关的出现早于 API 管理。很多时候,这两个概念容易被混淆。API 管理包含 API 网关的功能,而 API 网关缺乏 API 管理的高级策略。二者具体对比如下:

表 1. API 网关与 API 管理的对比

比较项

API 网关

API 管理

适用场景

微服务内部调用,团队内快捷接入。

跨系统、跨团队、企业级统一管控,对外接入控制。

API 受管实现机制(API 提供方)

由开发人员主导; 代码侵入式实现 API 受管。

无需修改代码; 有必要暴露给外部使用的 API,通过 UI 界面手动注册到 API 管理平台。

API 生命周期管理

靠修改代码实现

Web 界面操作

管理与运行分离

除了写在代码里的部分,网关还依赖 Eureka、Ribbon 才能运行。

API 管理平台与 API 网关分离,各司其职。

审批流程

API 从测试到生产的全过程,需要审批。

支持多语言

Java 等语言

不限

支持传统应用

不支持

支持

结束语

通过本文的介绍,相信您对于时下火热的 API 经济已经有了大致的了解。对于企业客户而言,若想将 API 经济落地,需要从本文提到的几个技术层面进行考量,然后选择适合自己的企业级 API 管理解决方案。

(0)

相关推荐

  • IdentityServer4系列 | 初识基础知识点

    一.前言 我们现在日常生活中,会使用各式各样的应用程序,层出不穷,其中有基于网页浏览方式的应用,有基于手机端的App,甚至有基于流行的公众号和小程序等等,这些应用,我们不仅要实现各个应用的功能之外,还 ...

  • 授权认证(IdentityServer4)

    区别 OpenId: Authentication :认证 Oauth: Aurhorize :授权 输入账号密码,QQ确认输入了正确的账号密码可以登录 --->认证 下面需要勾选的复选框(获取 ...

  • OAuth2.0 基础知识

    Tips:本篇已加入,.Net core 3.1 使用IdentityServer4 实现 OAuth2.0 --阅读目录  . 前言 如果大家英语比较好 可以看下 OAuth2.0官网(https: ...

  • 共享经济,未来之路

    原材料所反映的场景,在生活中已经成为现实:一方面是共享单车为代表的共享经济,成为引领时代的新经济发展模式:另一方面,共享经济在管理方面的弊端也业已彰显,比如与社会发展的适应性.管理相对落后等.共享经济 ...

  • “API经济”下的广告程序化购买路径

    摘要:在全球数字化进程中,企业营销呈现出移动化.数据驱动化和程序化的趋势.移动化是大方向,数据驱动化是概念走向落地的转折点,程序化则是未来营销的主流选择.数字营销时代,程序化购买的出现正在颠覆传统互联 ...

  • 修一条好路 造一线美景 活一方经济 上万公里美丽路叩开乡村振兴门

    最美四月天,漫山遍野杜鹃花盛开,有深红.浅红.淡紫色,在嫩绿的枝叶中格外艳丽,沿着新修的5米宽农村公路,观赏游客一波接一波.这是湖北日报全媒记者在南漳县肖堰镇杜家沟村看到的景象. 2018年起,省交通 ...

  • 快速崛起的API经济,在保险业有哪些应用实例?

    保观|专注互联网保险 导语:自上世纪以来,消费者购买保险的方式几乎一成不变,基于严格的市场监管和长期稳固的客户关系,保险业的商业模式素来以"稳定性"和"一致性" ...

  • 第六十三战:永嘉之乱(5)石勒特色的河北地区坞堡经济的可持续发展之路

    308年冬,石勒与刘灵等七将率众三万进军河北. 石勒军锋所指魏郡.汲郡.顿丘诸坞堡,望风而降者五十余座,随后石勒根据坞堡规模大小赐予印绶全都封了垒主将军或垒主都尉,并从中收编了五万精装为军士,老弱继续 ...

  • ​德国重剑:激情政治、统制经济与奴役之路

    "历史证明,傲慢的权力本身也是脆弱的,俾斯麦被威廉二世羞辱,嚣张一时的威廉二世也最终因为战争失败,进入流放生活,只能在回忆录中继续诋毁俾斯麦." "在某种意义上,他们都是 ...

  • 【路衍经济】基于高速公路服务区发展路衍经济的经营方式与商业模式研究

    作者简介  陈楚宣:高级会计师.高级经济师,现任广东省交通集团有限公司副总会计师.战略发展部部长,广东粤运交通股份有限公司非执行董事.董事会审计及企业管治委员会成员.董事会薪酬委员会成员,广东省公路学 ...

  • 路衍经济的蓝海战略

    + 一.何为路衍经济? 关于高速公路路衍经济,目前业界没有标准定义.路衍经济一般还可以称为路域经济.路沿经济和路延经济.业内普遍认为,依托高速公路资源和核心业务功能,向高速公路两侧和周边扩展,形成的关 ...

  • 奥飞娱乐的潮玩之路 | 文创新经济

    衍生商品的热度越来越高,动漫衍生周边产品有哪些新机会和挑战? 在疫情影响下的2020年,动漫衍生周边产品的销售仍保持了一个不错的市场销量. 比如,根据奥飞娱乐披露的半年财务报告,公司2020年上半年的 ...