日前,全球领先的IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查对象是CA的客户,截至目前,共计收到180份来自API管理领域的专家或相关企业的回复。
调查结果表明,JSON与XML可谓两分天下,50.5%的投票给予了JSON,47.8%的票数落在了XML。
查阅完整的数据图表,请点击这里
在Web技术服务方面:
其中,有以下四种最为开发者熟悉和使用的风格:
一、Tunneling Style(隧道式风格)
隧道式设计之前一直是最广泛采用的方案,与之对接的Web服务的技术通常是SAOP。而从近10年的情况来看,SOAP APIs的采用率出现了下滑,以下给出了导致该状况的几点分析:
隧道式APIs的典型用户有eBay和PayPal。其特性包括:
尽管SOAP的采用每况愈下,但对端对端通信安全性以及第三方认证有特殊需求的企业来说,SOAP仍占一席之地。
二、URI Style(通用资源标识符风格)
由于原生的网络属性,通用资源标识符风格可能是目前最广为人知而使用又最为广泛的设计样式了;相对于隧道式,它就显得平易近人多了。
采用URI的代表作有,Box(网盘) API以及StackMob(云后端服务) API。如果对Box API感兴趣,可以参阅ProgrammableWeb一篇对其深度剖析文章,链接请点击这里。
其特性包括:
在公共APIs、移动端和网络应用程式中,URI风格被广泛使用,同时可用于访问以SOAP为后台的旧系统数据以及网络服务。
三、Hypermedia Style(超媒体风格)
超媒体风格API以图形、声音、动画等超媒体元素为设计之本,建基于REST风格,REST是由Adobe高级技术专家、Apache联合创始人Roy Fielding提出的。
应用超媒体风格的例子有PayPal REST APIs以及Elastic Path(电商平台)Cortex Hypermedia API。
其特性包括:
超媒体风格的最大好处是任何针对API工作流的变更,都不会影响当时使用该API的应用。此外,其延展性良好,能持续对客户端应用以及服务提供支援。但是,在该风格越来越受到大众青睐的同时,不少开发者认为在使用中需要面临不少的困难。来自CA的Nadareishvili指出:“对于大型分布式系统来说,超媒体风格是个很好的解决方案。特别是在不对用户使用过于限制或需要长时间才能完成的大规模变更场合,尤为适合。因此,具体情况具体分析,复杂度与有效度两者间的天枰,需要开发者好好衡量。”
四、Event-Driven Style(事件驱动风格)
属于新鲜事物的事件驱动风格在近几年取得不错的发展。典型例子如WebSocket协议,提供了客户端和服务器端的全双工数据传输模式。此外,CR8 CREATE 3D文件打印分析API也是采用该风格的。
其特性包括:
写在后面
API风格如龙生九子,各有异同;但有时很难明确界定某API就是精确从属于某个风格。同时,在应用中也有可能出现混合风格的情况。因此,企业在执行项目前,需要进行周密严谨的评估与分析,以确立主体的风格取向来最大程度地满足商业目的。尽管这个过程可能是漫长且困难的,但是能明确的一点是:选择自己所熟悉的。因为这样,才能明确各个项目阶段的细节;即使失败,也能对错误环节进行有效的分析,回滚变更或重拟项目计划。
英文出自:Programmableweb
上一篇 几种服务器模型