一问:API 为何受宠?

中国信息化周报 / 2018年12月17日 18:48

手机

其实,API并不是什么新东西,软件开发人员已经与它打了二三十年的交道。从定义来讲,API就是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组功能集的能力,而又无需访问源码或理解内部工作机制的细节。简单而言,一个API就是一个“规范”,它规定了两个程序之间的“交流”和数据交换方式。

最早意识到API重要性的是2005年前后的Web2.0公司,通过API他们可以高效率无冲突地与合作伙伴和客户分享应用。而数年后的今天,API已经成为互联网企业扩展产品、获取客户、帮助合作伙伴提供高价值服务以及扩张生态系统的关键渠道。今天,一个强有力的API战略已经不仅仅是一个软件层面的工作,而是一个强力的业务实践。那么,为何API会从默默无闻的编程词汇变得备受关注呢?

新技术颠覆传统产业,传统企业都要走向数字化,整个时代走向数字经济时代已是必然。而数字经济讲的就是共享、平台。在这个时代,企业从产业链竞争走向网状生态竞争,谁能通过平台整合更多资源谁就能获胜。因此,作为类似“互联网代理”的API越来越受到重视。

方发和告诉记者,亚马逊 CEO杰夫·贝佐斯(Jeff Bezos)曾对公司员工发出的指令可以堪称是史上最牛的API法则:第一,所有团队必须开放其数据;第二,团队间必须通过界面(interface)来沟通,除了界面不允许任何形式的其他流程间( inter-process)的沟通; 第三,任何界面,没有例外,必须能外部化(externalizable); 第四,谁不遵守这规定的,将被开除。

“你在亚马逊买东西,卖家在后台怎么实现审核订单、安排拣货、物流配送其实是很复杂的,但是消费者只需要点击购买即可。你发送一个请求,系统回复你一个结果。实现这种情况的机制就是API。不同层次的API抽象的程度不一样。其实,对软件本身而言也是一样,有了API之后,程序之间的调用变得很简单,但在过去很复杂。”方发和说。

“之所以API被如此看重是因为移动的发展。在过去传统B/S架构和以网站为主的时代,虽然大家都在讲API要做前后的表现分离,但实际做得并不够。过去,程序员为了赶工期等原因,并不封装接口,而是直接把计算逻辑程序和表现界面写在一起。那个时代程序和表现要前后分离,即API的需求并不突出。”刘鑫告诉记者,“但是到了移动时代,没有API就彻底行不通了,因为随着终端计算能力的增强,大多业务的计算和表现都在终端设备完成,如果再以一个网址的方式去访问远端的服务器,原来那种计算程序和表现界面结合在一起的方式行不通了,必须是采取获取远端数据访问接口+本地终端做逻辑计算与表现形式结合的方式,这种情况必须通过API的方式来实现。”

刘鑫认为是移动促进了API的发展。另外,云也加速了API发展。云给用户获取更多API功能带来可能。比如,用户做自己的移动应用需要一款人脸识别程序,在过去很可能需要自己组队开发(非常困难,因为涉及专业算法和高精尖技术),但现在的云时代不是这样,现在人们可以直接到云上去寻找第三方做的人脸识别的功能模块,通过API的方式来直接获取,自己在本地部署,实现功能。

胡冕则以某商店在线购物的典型场景向记者展开介绍API的应用。“消费者无论是在线上还是在实体店购物,从开始到完成购物的所有环节消费者都可以在线分享,比如在朋友圈分享,‘我在XXX买了一条领带好便宜好合适。通过照片图片,订单信息、货物条码、折扣率、商店地址在朋友圈进行分享,能够吸引更多人到该店消费。在这个应用场景中,来自内部不同系统,比如订货系统、库存系统、销售系统的数据以API的形式,以合适的颗粒度暴露出来,再加上外部的地理位置信息数据的API调用,数据能够很好地展现到互联网,无论是通过手机APP形式还是网站Web形式。而且,在这个过程中多条数据是被安全可控地抓取、展现出来。”

更典型的API平台的使用场景是航空公司的服务:航空公司系统中首先会包含内部的票务系统,显示剩余票量是多少、乘客信息、座位情况等各方面信息。其次,系统会与银行通信,来验证乘客有没有付款,使用了何种付款方式。然后,系统还需要和政府打交道来核实乘客身份。比如身份证的信息是否真实,需要和公安部的信息进行比对。企业和企业/机构之间都是通过API连接的。这是非常典型的不同企业、不同服务之间的API调用。胡冕介绍,过去企业通过互联网提供客户新服务完全依赖浏览器,但现在更多是依赖API。企业把服务提供给外界,通过API接口方式,包括规范协议、数据、流程和标准,以供相互调用。

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。