层层解密 七问API

  共享经济时代,API登台担纲主角。

  API为何受宠?价值几何?新在何处?会带来什么变化?该如何做?如何管?

  API经济还有多远?

  《中国信息化周报》记者独家专访,层层解密API。

  2014全球IT Expo大会上,Gartner资深副总裁Peter Sondergaard曾说过未来趋势是:所有的预算都是IT预算;所有公司都是数字公司,所有CEO都是数字化领导,所有员工都是IT人员。今年刚刚在多伦多举办的微软WPC(世界合作伙伴大会)上,微软公司CEO Satya Nadella也在演讲中说,未来所有公司都将是数字公司。

  新技术颠覆传统产业,传统企业都要走向数字化,整个时代走向数字经济时代已是必然。作为“互联网代理”的API越来越重要。

  “软件定义一切”已成趋势,以应用为中心,是未来所有企业都要面对的问题。通用要变成最大的软件公司、阿里与上汽联手推出的搭载YunOS的荣威RX5第一款互联网汽车就是这种趋势有力的明证。不管是制造业、航空业、金融业或者服务业,其服务和产品都要通过软件传递出去。如何提供更好、更便利的服务给最终客户和合作伙伴,成为企业发展的核心。

  API(Application Program Interface,应用程序接口),应运而“升”,登台唱戏。

  API原本是中规中矩的计算机名词,是只有开发者和IT从业人员才关心的事情,但现在它已经进化成软件开发、业务合作乃至商业模式创新不可或缺的“数字胶水”,从枯燥的代码中跳脱出来,把自己的价值鲜活地展现在世人面前。

  没有API,亚马逊不会有数十亿美元的EC2云业务;没有API,谷歌地图的影响力和业务规模将远没有今天大;没有API,超80万开发者和250款应用的Salesforce平台的60%流量还不知从哪里来;没有API,微信、滴滴打车、航旅纵横都不会有这么整合便捷的应用。

  但对互联网和传统企业的信息化建设而言,API到底占据多重的分量,角色如何?与传统Webservice有何区别?API的管理有何难点,要不要借助专门工具?API对企业而言会不会有业务价值?所谓的API经济又离我们还有多远?

  带着这些疑问,《中国信息化周报》记者先后采访了多位业内人士,希望通过他们专业的视角和判断,梳理关于API的前后脉络,探究未来难点与趋势。

  “云计算、物联网、移动化、社交化趋势下,企业数字化转型已成必然。数字经济时代来临。数字经济就是共享经济、平台经济。未来的竞争,不再是产品的竞争、渠道的竞争,而是通过平台整合资源来赢得终端消费者的竞争;谁能够拥有资源,拥有消费者用户,谁才能保证盈利,才能立于不败之地。”软通动力集团执行副总裁方发和在接受《中国信息化周报》记者独家采访时表示,企业发展和竞争形态已经从过去点对点的“管道”链条式走向立体交叉的网状结构,“企业边界都越来越模糊,大家都想做平台,需要借助网络效应,尤其是外部的网络效应。”而立体交叉的网状生态系统中,大家之间应该怎么连接交互?答案就是API。“API在互联网企业价值已经展现,互联网公司非常注重API,但传统企业还在‘温水煮青蛙’。”方发和语重心长地说。

  “传统企业也知道互联网会带来巨大冲击,决策者也很希望能利用互联网技术手段去发展,但现实情况是又很难去做。他们意识到前面互联网是一片‘蓝海’,也想进入这片‘蓝海’,但是他们的‘船’还没有准备好。”CA Technologies解决方案架构师胡冕以形象地比喻向记者阐述。

  “在移动、云和大数据时代,要实现业务表现和数据的分离,必须使用API。API能让企业快速获得各种能力,只需要关注业务逻辑,不需要担心具体功能的实现,它让互联网创业更有机会,让创新更简单。”APICloud CEO刘鑫告诉记者。

  而春秋航空IT部运行事业部技术总监刘文辉和电商事业部运营总监朱亮则向记者讲述了春秋航空的API实践经验和成果。

  来,让我们一步一步,一层一层地剥开“API”的外壳,来看看它到底新在何处,价值几何。

  深度解析篇

  一问:API为何受宠?

  其实,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接口方式,包括规范协议、数据、流程和标准,以供相互调用。

  二问:API价值几何?

  胡冕介绍,现在,在互联网领域API的价值已经展现。“我知道的国外的一家互联网公司50%的收入是由API产生的,它通过发布API供人调用产生收益,而不是通过传统网页或者APP等方式。”胡冕介绍,“国内领先的互联网公司在数据提供和互调方面的收益也能占到其收入总额的40%-50%,而且考虑到国内终端用户更偏好免费,并不像国外那样能接受服务收费,国内互联网公司API调用的业务贡献度会更大。”他具体解释说,在国内,互联网企业想向终端消费者收费并不很容易做到,比如消费者看视频还是希望看免费,虽然需要忍受一下广告,一旦开始收费用户量就会大幅下降。国内互联网企业会通过各种方式去弥补终端消费者不愿付费的情况,考虑到这个因素,未来API在互联网公司的业务占比会更高。

  “现在做人脸识别的服务公司通过云,以接口形式为最终用户提供产品服务,给用户的就是接口的形式,用户用图片或者视频方式上传至界面接口,服务商把判断结果用数据传回来。”刘鑫介绍,如此一来,API让互联网创业更有机会,它让创新更简单,因为云服务和相关能力的获取越来越容易。

  他认为,API能做的已经不是简单功能的整合,已经深入到模块,甚至是复杂界面的整合,它让各种功能、模块甚至是界面以接口形式很快地整合到企业自己的业务上,这样做的好处就是可以让企业快速、低成本获取各种功能和能力,让企业可以更关注于自己业务逻辑,而不是具体的功能实现。

  “去年市场发展很快的一个领域是SaaS客服,如Udesk、智齿等公司。他们把相应服务以SDK、API的方式开放出来给一些在线旅游或者电商公司。这些公司也需要做客服,他们的APP可以通过API把那些SaaS客服的SDK嵌入进来,这样在线旅游或者电商的APP具备了很好的客服的逻辑和功能,比他们自己开发要专业得多。”刘鑫介绍,具体的功能实现会有越来越多的第三方API厂商帮他们实现。“我们有个客户做一款工作流的APP,它其中包含的客服功能用的是易创,统计分析用的诸葛io和谷歌统计分析功能,推送模块用的极光推送,即时通信用的是融云的服务,它的APP很多功能模块是通过API获取的第三方的,这样一来它可以很快地让APP实现自己的业务逻辑。另外也不必担心即时通信能承担多大的并发、需要怎样的服务器部署等问题,只需要关心自己的业务逻辑,怎么推广,用户体验应该怎么提升。”

  让企业关注业务本身,快速、低成本地获取各种功能能力,加速催生更多的业务,甚至是商业模式的创新,这就是API的价值。

  三问:传统企业“温水煮青蛙”?

  记者在准备选题和采访过程中,深切体会到一点——对于API的使用和看法,传统企业和互联网企业不说是冰火两重天,也得说还有很大差距:在互联网领域,API是风生水起,备受关注;但在传统企业这边,API似乎并没有那么“红”,相对还处在“原始”阶段。

  在某视频监控公司做研发总监的陈先生告诉记者,对于他们公司而言,API方面最大的问题是怎么快速有效实现与上下游公司的研发和产品对接,因为API的对接协议并不是每家公司每个人都了解,如何将API定义简单、容易实现是比较关键的,目前他们还主要靠自己公司的技术人员帮助合作伙伴实现对接。接下来他们会考虑为每个API接口做个一篮子解决方案,包括做个演示demo,演示好协议接口、视频接口都应该怎么对接,码流、解码、存储都应该怎么调,做好解码库、工具解码库、视频处理等。

  胡冕也谈到传统企业和互联网企业对API的看法很不一样。“我们发现,很多制造业和贸易类的客户更保守。但其实他们也知道互联网会给他们带来很大冲击。他们能意识到前面互联网是一片蓝海,他们也想进入蓝海,但是他们的‘船’还没有准备好,CA的成熟解决方案就可以帮助他们以比较小的风险或代价去小步快跑去试水。”

  胡冕以服装、农产品、电子元器件等贸易平台为例介绍:“他们现在都在做网站、APP、微商的营销,都在试水,面临很多问题需要解决。比如,农产品电商下游的供应商有很多,如菜农、畜牧供应商等。要做到绿色无公害溯源,还要能追踪原产地、产品批次、产品合格证等信息。原来这些数据信息系统都有,但都是支离破碎的,这些电商平台需要向消费者或者批发商、超市门店提供上述信息。所以,一方面这些贸易平台需要做的是找到后面的数据,保证数据安全、可控;另一方面要把这些数据通过某种方式组织起来,展现到前端,把前后端有序连接起来,保证数据安全,不被篡改。”胡冕表示,“数据需要被逐步、颗粒化更细地被抓取出来、归拢起来,在网站、在后台数据要可以随时找、随时调,随时拿过来、再丢出去,API就是可以随时把数据拿过来按照最有效的模式组织暴露给前端的用户,包括网站、商城或者超市消费者、网络直接交易消费者等。”

  “以前他们的IT也在做,但是通过Webservice、电子商务服务器、商务共享平台等方式,做的是系统和系统之间的整合,而不是面向互联网和移动应用的API,无法应对现在的互联网、移动化和社交化的局面,做出来的效果也不尽理想。近年来随着API技术和工具的发展,产品的出现,这些企业有机会可以做更好的系统整合、社交、移动整合了。”胡冕说。

  而在方发和看来,传统企业对于API的“冷淡”不只是技术能力不充足的原因,更是“视野”的原因。“互联网看到商机比较早,传统企业还没看到。但冲击是早晚要来的。就像银行,在互联网金融的冲击下,必须要走开放之路,把不同API开放给外部开发者或者使用者,让更多APP或者Web应用通过API机制,去访问金融后台系统。”

  四问:API到底新在哪?

  在采访的过程中,记者心中一直有个疑问:一方面,常识告诉记者API并不是什么新东西,但另一方面,似乎API又是新的东西,企业用API做内部和外部的程序调用,与传统用Webservice、ESB(企业总线)做集成、调用又不太一样。区别到底在哪儿呢?记者也就这个问题向受访的专业人士展开请教。

  胡冕介绍,社交媒体引入、移动设备的引入给IT系统带来很大冲击,微博、微信等的登录身份验证模式——SSO模式与原来相比有很大不同,苹果、安卓等移动平台操作系统的JSON、restful数据格式与传统的XML、Webservice数据格式不同,前者简洁明快,后者沉稳。“这种活泼外部的世界和传统IT的对比,就像80后青年做营销与四五十岁中年人管生产一样,二者有很大不同。企业内部应用和外部应用也面临这种差距。企业需要弥合这种不同。”

  对于传统Webservice与API的区别,刘鑫总结为从内到外、从一到多、从SOA(面向服务的架构)到ROA(面向资源的架构)三个方面。

  “过去是企业内部来源输出企业内部使用,集中来源集中使用,过去是内部一家输出,而现在是外部多家输出。”刘鑫解释说,“过去是面向服务架构SOA,现在要变成面向资源架构ROA。过去大部分业务逻辑都在服务器端去组织、去执行,然后输出一个结果到PC端,比如一个登录功能,过去采用Webservice,其中复杂的业务逻辑和展现都在服务器上完成,但在移动和云时代,这种办法行不通了,因为对于手机、手表这些终端来说用Webservice完成登录太重了,现在需要移动工具端轻便地实现业务逻辑和适合的展现,然后只需要通过API去服务器调用数据,服务器端只负责存储数据。”

  刘鑫认为,未来ROA的架构会越来越流行,随着终端能力计算能力越来越强,终端就要分担服务器的一部分计算任务,它所承担的就是业务表现和逻辑。后台的服务器要为各种终端提供统一的数据,各种设备做不同的业务逻辑和展现。

  五问:API给IT带来啥变化?

  那么,相对于传统的开发和信息化建设而言,API会给IT部门工作带来哪些变化呢?

  方发和告诉记者,有了API的IT建设与传统信息化相比,有相同点也有不同点。“相同点是细活儿是一样的,程序设计、开发和质量保障还是得有人去做;不同的是,做的人得拔高一个层面,思维上要开放,界面上也要对外开放。”

  也就是说思路和眼界得不一样,他以软通动力自身为例展开介绍。软通动力充分意识到API的价值,在“软通云”大平台下,专门有团队在做“通联”——软通动力数据开放及API开放平台。

  该平台是API提供者和API消费者的连接器,充分发挥软通动力在城市资源方面的优势,聚合政府、企业、开发者、合作伙伴数据及服务资源,构建API经济生态体系。它的核心举措是以API中心为基础,打造服务体系、管理体系、营销体系,并在此基础上实现跨平台的API整合。它将数据资源以API接口的形式提供,使开发者无需下载数据资源至本地便可实现资源的利用,在数据更新而服务不更新的前提下,不再需要对数据进行处理便可获取最新数据资源。

  “过去,可以说我们的研发和IT部门是被动的,基于传统甲方乙方的管道模式,都是根据甲方需求列SOW(Statement Of Work,工作说明书)完成项目开发和实施;但API团队不一样,他们得积极、主动,不是等别人告诉自己需要做什么,而是要自己前瞻性地想要做哪些服务,可能要推送给谁。这就要求公司从上到下都要有战略眼光,设计思维,要有更多创意。”方发和说,“因为数字化转型不只是技术的问题,更是思维的转变。”

  对于这点,刘鑫的观点更为鲜明锋利,他认为未来,不重视API、不开放、不转型的CTO会成为公司发展的障碍。“在过去十年,传统或者互联网企业CTO的价值是攻克重大的技术难点、解决技术问题,展现出他的技术价值;但是在未来,如果CTO不转型、公司也不换CTO的话,这样的CTO会成为公司发展的障碍。”刘鑫说,“因为CTO作为技术人才,都有自己的思维模式,很多事都想自己做、自己管,强调自主可控,总会想拿开源的东西自己改改自己用,这种做法在云时代有些行不通了,因为这样什么都自己做企业就会跟不上时代,自己做的那些功能并不一定有第三方做得好。”

  他认为,现在企业对CTO的要求变了,原来CTO必须得是技术牛人,带着大家攻克技术难点,但现在和未来的要求是得有眼界,变成一个采买员,得知道需要的服务有哪些供应商可以提供给自己,快速实现自己的业务功能,因为这个时代速度很重要。“他们得有开放心态,敢于承担一定的外部风险。”

  六问:API如何做、如何管?

  当对外开放API、API变成服务概念的时候,API被调用的数量是海量的,这就意味着对API的管理势在必行。API的身份要统一管理、单点登录,API的能力,API的计费全部都要管理起来。

  “API管理是很大的课题,它很重要,包括权限、标准、收费,企业是自己开发还是购买第三方管理工具?这值得做更多更深的研究。目前,很多企业还处在初步阶段,以开源为主,开放合作,构建生态。但当API多达一定量的时候,应该还是得选择购买商业工具或平台的。”方发和告诉记者,“做API这块,企业得先投入,回收周期会比较长,不像以前上线个什么OA或其他系统,就是开发、实施、见效益,API得考虑‘细水长流’的模式。”

  胡冕告诉记者,CA可以帮助客户用最新的技术去实现API的创建、发布、使用和管理,让程序调用和数据可见、可控、可分析,从而发现新的、更灵活的业务模式。他介绍,CA的API特点是:第一,安全性高,身份认证和安全的整合非常好。他举例说,给企业级用户的某品牌手机内置的KMOX应用,就整合了CAAPI技术,可以解决企业用户单点认证、手机端APP的安全管理。第二,还整合了性能监控。现在手机应用响应时间是6秒,一有延迟用户就会弃之不用。那么延迟是发生在手机上面还是网络、后台Webserver、中间件还是数据库上。这一通道上面如果发生延迟的话,整合了APM的API就可以分析出问题到底处出在哪里,API能有哪些改进,性能数据、业务数据都能提供。

  CA通过最佳实践给客户典型应用场景为客户带来价值,比如针对视频监控公司,CA会针对其视频监控提供给停车厂的业务场景,知道它需要多个用户看、分级、时间等,API方案可以帮助该公司减少开发量连接到各种移动设备。帮助客户做两三个场景,以后200个场景客户可以自己实现,没有天花板。

  但在刘鑫看来,传统软件更多可能做几个方面的事情。第一是API标准化,不同来源的API包括Webservice接口、restful接口或者数据库接口,不同格式API都能用统一格式,实现API的标准化输出;第二是身份认证和安全的问题,因为不同后台系统,不同用户,需要做统一身份认证和单点登录(SSO)保障安全;第三是API计费的问题,哪个API访问多,哪个少,哪个用户用了哪个API,需要一些数据统计分析。刘鑫认为这些方面有一定的市场需求,但没有打中用户的痛点,今天用户核心第一个问题是怎么用API,后续才是如何管好API,API管理目前还没有迫切需求。

  而APICloud在做的事情是让用户接触到更多的API,知道怎么使用API。让用户快速接触和使用API。“APICloud提供聚合API服务,提供模块商店,包括推送、分享、地图、支付等企业所需要的功能,企业在APICloud平台点击一个按钮就可以将这样功能模块绑定到自己的业务逻辑里面,然后再写一些简单代码,企业业务功能就能快速实现了。”刘鑫说。

  七问:API经济还有多远?

  在方发和看来,目前API分为三类:第一类公有的,对公众开放型API;第二类受保护的,对合作伙伴开放型API;第三类私有的,内部API。

  第一类公有API对所有开发者开放,相关APP更加面向最终的消费者,业务驱动力是培育外部创新,并快速进入新用户面对的生态系统(如游戏、车联网、谷歌眼镜等)或工具集(IFTTT,wordpress)。

  第二类受保护的API向业务合作伙伴开放,相关APP既可以面向最终的消费者也可以面向商业用户,业务驱动力是促进合作伙伴业务流程的自动化并通过数据交换加速合作伙伴业务发展。

  第三类私有的内部API仅仅向企业内部的开发者开放,相关APP面向企业自己的员工,业务驱动力是推动企业统一渠道、提升生产力以及促进内部创新。

  而API的商业模式,有完全免费的、开发者付费的,开发者获得报酬的或者间接性的,收费模式可以是调用次数,按用户总数,按使用时段等不同模式。“就像现在企业需要纸杯就会到淘宝上去买纸杯一样,未来企业需要人脸识别功能,需要客服系统就会到网上看有没有这样的功能,然后就像购买纸杯一样采购回来,以API形式获取。”刘鑫认为,“目前还只有很少的技术企业认识到API的重要性。未来会有越来越多的企业认识到其价值,API的电商平台会出现,API的流转会更好,价值更得彰显。”

  “API将会是互联网转向物联网大潮下的一个非常关键的角色,而CAAPI方案可以帮助客户简单快速实现向物联网的转型,抢占先机。”胡冕总结说。

  用户案例篇

  春秋航空的API实践

  春秋航空是一家低成本航空公司,自开航以来,已经初步探索出一条低成本航空发展的商业模式。截止到2015年,春秋航空已经拥有了52架空客A320飞机,飞抵84个国内和国际城市,航线数目达到114条,平均客座率保持在93%左右。春秋航空自成立以来,自主研发离港系统,以网络直销为主。春秋航空还自主研发了旅客自助离港系统、自助登机系统、收益管理系统、飞行管理的FOC系统、飞机维修管理的MISS系统,不断的创新令航空信息化建设成果丰硕。

  春秋航空作为中国首批民营的航空公司之一,从2010年起就洞悉了广阔的互联网市场所埋藏的无限机遇,从而做出了移动平台开发的战略规划。如今,春秋航空研发的航空电商APP得到人们的广泛关注和赞许。就API的相关问题,春秋航空IT部运行事业部技术总监刘文辉和电商事业部运营总监朱亮接受了《中国信息化周报》的独家专访。

  200多个外部API

  刘文辉向记者介绍,春秋航空目前内部API有1300多个,外部API有200多个。“我们对内提供两种类型的接口。一是dubbo接口,二是消息服务MQ接口。传统的Webservice接口一般使用soap协议,我们现在用的是dubbo框架,用hessian协议。由于dubbo采用了zookeeper来管理集群,能够动态感知服务器健康状态,保障系统稳健高效的运行。在消息服务MQ接口方面,我们通过消息来解耦系统,提供更加健壮的服务,适用于实时性要求较高的场景。”刘文辉详细地向记者介绍道,“我们对外提供的以restful接口为主,也提供MQ接口和Webservice soap接口。其中restful接口的目标是兼容各个平台开发语言包括移动端调用。当然对于一些特定的用户(如机场、空管局),我们也提供MQ接口,这些用户的实时性要求较高,比如飞机机号变更要及时发消息通知机场等。但现在线上还有一些老用户使用的还是我们之前提供的Webservice soap接口。”

  “我们原来各个系统是各自做各自的安全,各做各的安全策略,我们现在统一的网关实现接入的安全,然后通过加密、签名技术去对接口调用人进行身份认证,加时间戳进行防篡改。”朱亮告诉记者,现在的互联网尤其对航空公司来说,安全是第一位的。“所以我们在安全方面有所加强,包括统一的身份认证、接口调用的频率监控、访问次数的限制等。目前主要是自己开发,接下来在监控方面考虑用第三方的工具,比如用zabbix做服务器的监控,做负载均衡,防止单点故障、性能故障、宕机等情况的发生。”春秋航空有专门的团队在做API的监控平台,在做数据中心的同时,同步完善API平台。

  为什么要这么做的原因,刘文辉告诉记者:“我们内部出现过这种情况,业务部门没有外部数据统一的数据源,提供给不同部门的数据从不同的接口来,数据有时是不一致的。比如原来做飞行员飞行小时的统计时,给飞行部门的数据和给管理层的数据会存在出入,因为是分别来自不同系统的数据汇总出来的。为了解决上述问题,我们就建了数据中心,把数据汇总统一,再以API接口统一调用。”外部调用时,首先进入网关,身份验证通过之后进入API服务器。

  春秋航空的航空电商APP涉及范围广泛,包括酒店、旅游、跨境电商,甚至是生鲜,所以就有很多外部调用。用户平台、支付的平台,多品类产品的平台,用户规则、费改签的、支付订单的取消很多的API接口的调用。虽然是调用第三方的接口,但对于春秋航空而言,API越来越多,越来越复杂,需要做很多基础工作。

  实现API标准化、安全与监控

  “以前效率比较低,在API的规范上,不同供应商做的API,接口规范、格式五花八门。”刘文辉介绍说,如果直接提供给用户调用的话,对春秋航空开发而言,难度很大。春秋航空做了API的平台,这个平台起到以下几个作用:第一是将各式各样的API格式做适配,转化成统一服务,统一标准,各种规范、规则相对统一,实现API标准化。

  第二是保障API安全,不排除有人会恶意订票、注册、刷单等恶意攻击等,安全管理非常重要,做很多控制,攻击几次要断掉,通过用户访问次数、用户行为来判断是否为恶意,并加以处理,做好安全防御。“简单做Webservice传输的话根本就不会考虑这些问题,只要调通,保持业务的连续,数据正常返回就好。”朱亮补充说。但实际上像航空电商APP这种大量用户应用的系统,系统的稳定和安全都是非常重要的。“调用时,我们给下游系统分配APPkey,对应这个key有密码,客户端生成签名和时间戳,后台验证之后,过了时间失效;针对key访问频率和次数我们是可以控制的。对内的API安全策略,我们采用白名单IP地址限制。”

  第三是API的监控,实现自动化监控,当接口访问次数突然增加,服务器压力就会增大。“我们需要监控接口的响应速度,看看最慢的耗时,在地域上响应时间的不同,响应慢的接口是哪些,运营部门也会提供接口访问的压力预警,如果要有定单秒杀活动来临的话,订票接口和数据库都会给出压力分析预警。我们订票的业务在未来打算开放给互联网开发者,所以在安全性方面非常重要。”

  价值与挑战

  有了API,春秋航空电商直销占比85%,APP下载量2000万。对于API给春秋航空带来的价值,刘文辉如此总结,简单来说就是提高了效率。“现在是移动互联网时代,也是共享经济时代。我们春秋航空一直想将我们的航空和旅游产品通过API形式对个人开发者开放,让更多的个人开发者来帮助我们销售机票、辅营产品等,开发者可以得到一定比例的佣金,我们也提高了营收。大家都双赢,何乐而不为呢?”

  对于接下来的难点,刘文辉认为有几方面:一是计费需要做,按照接口、成交量还是按照调用次数计费需要考虑;二是一旦开放API,相对比传统方式,调用量、安全压力会大,不可预料的情况会多,原来很容易管控,以后在管控方面挑战会很大,“我们已经有了预案,接下来会继续完善安全控制”;三是如果要开放出去的话,API的易用性、标准性要求很高,与现在内部人员理解API的要求很不一样,得让外部开发者看懂API的定义、规则,需要很好的文档的支持。“原来文档不是很标准,如果开放给开发者的文档不标准、不好用的话,估计个人开发者就会吐槽或者弃用了。在这方面,我们也要做些工作。”刘文辉说,对于API供应商的选择,“我们更倾向于互联网的企业的技术,传统的厂商有很多绑定,对我们来说是黑盒。我们的第一选择是,如果有相对成熟的开源产品,我们自己做一定的开发和封装;如果开源不够成熟,就会选市面上比较开放的产品,能跟上我们的节奏。”

  记者手记

  记者这次做API选题,既感觉踏实,又感觉惶恐。踏实的是,记者先后找到多位专业人士,并进行了独家采访,应该说,选题采访基础打得还比较扎实;但惶恐的是,毕竟记者自己没有做过开发,有些技术细节,受访者讲得很明白、很专业,但记者还是会担心自己没有100%理解透,不知道是不是完全表达清楚了受访者的观点。另外,对于更广大、更专业的读者而言,记者也不知道这次采访到的几位人士,是否谈出了他们想了解的内容。

  但无论如何,一家之言也罢,观点偏颇也好,媒体的作用不就是要让更多人“发声”么,所以如果您是专业人士,您对记者所写的这个选题文章有任何相同、不同的看法,都欢迎与记者联系。我们愿意“耳听六路”,愿意洗耳恭听。当然了,如果有读者想要表达赞赏,欢迎您关注《中国信息化周报》微信公众号,为我们点赞。

  ■本报记者 霍娜

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: