摘 要:用友集团iUAP中心技术规划经理马太航认为,设计优秀的API能够帮助企业充分利用现有的后端应用、服务以及数据,快速的为市场提供自身的业务能力。
自2012年后大量传统企业已开始构建属于自己的企业开放平台,并将自身业务能力以API方式开放出来,这已经成为转型互联网(特别是电子商务和移动互联网领域)的重要手段之一。据Programmable Web统计,过去18个月里企业市场中开放的API的数量增加了一倍,已开放API的企业组织数量超过10000。
随着API市场的火热,企业对API管理工具关注度也在逐渐升温,据Gartner统计2014年全球API管理工具市场约为1亿美元,较2013年成长约40%。近年来各大国际IT公司也为抢占API管理工具市场而纷纷采取相应措施,2013年4月Intel以1.8亿美元收购了API管理服务商Mashery,CA收购了API管理和安全厂商Layer7,微软收购了Apiphany并将其服务收入到Azure云系统,2014年8月SAP与Apigee建立战略合作关系,从市场动向上看API管理工具的春天似乎即将到来。
用友集团iUAP中心技术规划经理马太航认为,设计优秀的API能够帮助企业充分利用现有的后端应用、服务以及数据,快速的为市场提供自身的业务能力。相比于过去那些复杂、垂直的中间件集成方式,服务API化能为企业构建一种更简洁、轻量的集成体系,同时也满足目前主流的微服务、轻应用架构。马太航表示,优秀的API应该具备6种重要特性:
1.、稳定的后台实现:
网络中存在着很多“弱API”,这些API通常没有一个稳定的后台实现,服务很容易因为外界因素而崩溃。例如:有些API是通过依靠网络爬虫技术从第三方资源获取数据来提供服务的,在这些网络资源发生变化时,所有基于其实现的API服务都将变得无法使用。对于拥有稳定后台实现(不依赖于第三方环境数据、服务等)的API,只有在其自身服务宕掉变化的情况下服务才会停止,不会受到外界因素的影响。稳定的后台实现决定了API的稳定性,是开放API的基础条件。
2、良好的设计:
API作为一种互联网产品,良好的用户体验是其决定用户留存度的重要指标之一。例如:阿里、百度、腾讯等互联网巨头对外开方的API可以看出,这些API均具有请求参数简洁、文档资源丰富、调用方式简单、测试成本低廉(提供在线测试工具)等特点。这些优良的设计能够大大提高开发者的开发速度、降低开发成本,有助于提高用户留存。
3、一致性:
传统企业一般拥有大量的API,这些API可能会因为自身业务、开发团队、开发周期等因素的不同而采用不同的API访问协议或安全保障协议。对企业自身来说,这些不一致的API很难进行统一管理,增加了企业API的运营成本。对于开发者来说,这些不一致的API会大大增加应用的开发成本。设想这样一个场景,一款应用需要调用某企业的三个API,但这三个API提供了三种不同的接入方式,更甚的是每个API的安全保障协议也不同,那么应用开发者就必须实现三种方式的API请求代码,同时添加三种协议的安全保障。如果这三个API具有一致的访问和安全协议,那么开发者只需实现一次API接入和安全保障的代码就可以轻松调用这三个API了。可见API一致性能够为开发者带来更大的便利性,是优秀API的特质之一。
4、易于发现:
网络中存在着数以万计的API,其中只有很少的一部分是通过统一平台(聚合数据、百度API store等)对外发布的,而这些少量的统一发布的API恰恰又占据了API市场的大半用户。可以看出,让开发者能够方便快捷地找到适合自己使用的API是企业进行API市场推广抢占客户的关键,而解决方案就是提供API的统一展示平台,如API商店,这一平台能够很好的满足客户易于发现API的基本诉求。
5、社交元素:
大多数API管理厂商都在其API管理工具中集成了社交功能,简单的如百度API Store提供了API服务运营商联系方式,复杂的如WSO2提供了一个社交平台(包括论坛、使用评价、星级判定等功能)。在企业和开发者之间建立这种沟通渠道是非常重要的,开发者能够通过这一渠道即时了解到API服务本身的运营情况和版本更新情况,从而根据API的变动情况即时改变应用的运营策略,企业也能够通过这一渠道即时收集用户的反馈信息、掌握用户需求和满意度,从而指导运营。因此,提供社交服务是优良API的重要的附加条件。
6、良好的管理:
对于一款API,其自身的优秀是一方面,同时好的管理措施也是非常重要的。根据多家API管理工具厂商的产品分析,好的管理意味着至少提供以下几种功能:生命周期管理,掌控API服务从开发到对外发布整个生命周期过程;版本控制,有效帮助产品推进;安全机制,有效保障API调用的安全性,防止服务受到攻击;访问控制,根据服务本身的特性(如允许最大并发数量等)对API调用进行流量、IP、访问次数等方面的控制,保障API调用的稳定性;统计分析,采集API的使用和用户操作情况,有助于指导API市场运营。
企业API设计应满足以上6大特性,那么对于现有已存在不符合这些特性的API来说,应采用怎样的解决方案?如将现有API进行改造任务量大、成本高,效果也不一定明显,显然不是一个好的解决方案。构建符合自身业务的API管理系统才是关键,在这个领域存在大量的企业级API管理工具,通过服务网关的方式,可以有效的治理上述问题,免去了企业重构现有API的困扰。最后不管通过什么途径目的都是非常明确的,相信API市场也会随着企业对于API本身的重视程度的上升而逐步升温。