日前,全球領先的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
上一篇 幾種服務器模型