一个正在被API驱动的互联网时代

 API做为每个重要信息技术趋势的核心内容,移动设计、云计算、物联网、大数据及社交网络等应用都依赖于一个基于web的界面与它们的分布式组件进行连接,为全球范围内的各个商业领域提供具有创新性和颠覆性的解决方法。而API的使用既是催化剂,也是促成成果的主要力量

什么是API? 

应用程序接口(英文:Application Programming

Interface,缩写API),就是接口,也是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数。

举个简单的栗子,假设物流中“货物”是数据,存放货物的“总仓库”是数据库,“店铺”是我们的网站、App。页面上显示的内容、数字,以及用户的操作请求和结果都是需要不停搬运的“货物”数据,则负责调配分配打包的中转站就是API,店铺小哥直接从中转站取货就好。

对于软件提供商来说,开放API,让别的应用程序来调用,形成生态,软件才能发挥最大的价值,才能更有生命力。

对于应用开发者来说,有了开放的API,就可以直接调用多家公司做好的功能来做自己的应用,不需要所有的事情都自己操刀,节省精力。

API就是技术服务商为客户提供服务的方法。

作为一名程序员,如果没跟API打过交道同样是件不可思议的事情。

当然我们在互联网时代所说的狭义的API概念可能与桌面软件时代广义的API有所不同。在维基百科中是这么定义的:API就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。

API的哲学意义

生活中,每天的穿衣、吃饭、如厕、睡觉是最基本的诉求。但人类文明发展至今,我们穿的衣服、出行搭载的交通工具、吃饭的粮食、住的房子等等一切几乎很少是我们直接参与生产的,在经济学中我们称之为社会分工。分工最大的好处,就是熟能生巧,让专业的人做专业的事,而需要这些资源的人,可以拿自己生产的物资间接(货币)或直接的交换。

追溯到社会的发展,从最简单的采集狩猎时代,逐渐演变成现在这样错综复杂的结构,在未来它会继续的演化产生更细致的分工。在这个漫长演化过程中,人类的社会文明中逐渐产生了语言、文字、货币、契约等这些维系社会结构的基本要素;类比信息时代,这些要素就是不同的社会分工群体之间互相调用的“API”规范。

原子、电子之间的相互作用也好,人类社会的交易合作也好,IT系统之间通讯的API也好,其哲学意义的本质都是一种契约(规则),这个所有成员共同维护的契约让难以解决的复杂问题变得简单。

API的分类

早期计算机网络应用程序有C/S和B/S两种架构模式,这两种架构模式各有优缺点。随着Web技术越来越成熟,各种技术规范也层出不穷,后来在大型互联网公司中流行起来的开放平台促成了第三种架构:OpenAPI。

应用程序API

这里主要指的是非Web应用程序,它为第三方开发者提供了可控访问软件内部功能的接口。例如:Windows API(https://msdn.microsoft.com/zh-cn/library/windows/desktop/ff818516(v=vs.85).aspx)和Android(https://developer.android.com/guide/index.html),他们通过暴露操作系统核心API,使应用程序在获得授权的情况下使用受系统保护的计算机硬件资源(IO设备、GPS等);浏览器同样为JavaScript准备了API(https://developer.mozilla.org/zh-CN/docs/Web/API),从而使HTML、CSS、JavaScript经过渲染显示出各种程序设定的文字、图像及声音等。

应用程序API通常适用于当前设备内的应用程序交互。

基于Web的私有API和OpenAPI

和应用程序API比起来,RESTful

API、OpenAPI更被Web程序员所熟知。它们是更高级的API(资源和业务属性更强)。根本上它是脱离操作系统的限制,从Web资源的角度定义了API交互的规则。 

Web服务端通过RESTful API向客户端提供数据资源的访问通道,PC浏览器、iOS、安卓等平台中运行的终端APP能够按照既定的规则使用服务器中的数据,使分布在各处的用户可以借助不同的设备连接到服务中心,服务商以此提供娱乐、购物、聊天、内容咨询等。

在私有API中,还有一种微服务API,它与微服务架构风格息息相关。但微服务API一般无法在公网使用的,它使几个相对简单的子系统有机结合,形成一个整体并对外提供一个足够复杂的服务。OpenAPI是对外部IT系统提供的一种资源调用方案,一般都有严格的鉴权规则,来确保资源被安全的使用。

用一张表格比较不同API的特点:

OpenAPI会成为IT系统的标准功能

现在,你可以打开百度,搜索关键词“开放平台”。浏览检索到的结果,你会发现几乎所有耳熟能详的互联网公司都有自己的开放平台生态,他们通过OpenAPI让开发者可以方便的使用他们的服务,并以此扩大自己的影响力。

一个既成事实是:没有API,所有的IT系统都会成为数据孤岛;一个IT系统的OpenAPI被其它IT系统调用的规模,是这个IT系统价值的关键指标。我认为,IT系统之间的API经历了3个阶段:

以懒猪行( 阿里云API应用创新大赛参赛企业)的模式和经验为例:懒猪作为旅业S2B平台Top1,掌握丰富的境外目的地落地资源,为了把这些资源的价值最大化,我们充分借助各大OTA平台的OpenAPI向分销商家赋能,让懒猪的S端资源与国内的旅业生态无缝接合。同时,在未来懒猪会借助OpenAPI系统,让下单、订单处理等过程变得可以程序化,使与合作伙伴业务能力的全面对接成为可能。这对业务团队的人效提升是相当可观的,在IT时代我们应当这么做,像马克思说的:科技是第一生产力。

阿里云已将其业务能力完全API化,并提供多语言SDK。它凭借一套OpenAPI,让开发者可以通过内部编程的方式灵活的部署配置公有云产品,而且OpenAPI使得调用云端资源变得比使用自己本地的资源还方便,IT系统之间的合作不就应该是这样子嘛。建议访问https://api.aliyun.com感受一下。

最后,以“Gall’s Law”结尾

A complex system thatworks is invariably found to have evolved from from a simple system thatworked.

A complex systemdesigned from scratch never works and cannot be made to work.You have to startover,beginning with a working simple system.

***"A simplesystem may or may not work.”

互联网时代的上半场还没有结束,API会让“互联”二字演绎的更加透彻,让承载人类文明的全球信息系统更加紧密相连。

扩展阅读

[1] 理解面向HTTP API的REST和RPC (http://www.oschina.net/translate/understanding-rest-and-rpc-for-http-apis)

[2] OpenAPI规范 (https://github.com/OAI/OpenAPI-Specification)

[3] API文档规范Swagger UI (https://swagger.io/docs/specification/about/)

简短介绍

PC成就了Web,Web成就了大数据和云计算,大数据和云计算又将成就人工智能,API作为一个关键的线索始终贯穿其中,将分散在互联网世界各处的信息和服务连接

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,647评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,009评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,088评论 4 62
  • 美兰和丈夫雨生都是七零后。美兰是农村姑娘而雨生是县水泥厂的工人。当初美兰嫁给雨生主要原因是雨生是工人,自己可...
    水草梅花阅读 163评论 0 0
  • 问题还是那个问题,但你已经不是当初的你了。 A. 我在现在的工作中有没有获得成长; 我是为数不多一直和学生一起成长...
    守住这块热土阅读 134评论 0 0