LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > API经济与实现之路

API经济与实现之路

2021-01-14 APIProtocol 来源:区块链网络

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 管理解决方案。

—-

编译者/作者:APIProtocol

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...