多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > API設計如龍生九子,Tunneling、Hypermedia等更受開發者青睞

API設計如龍生九子,Tunneling、Hypermedia等更受開發者青睞

來源:程序員人生   發布時間:2014-09-07 19:21:50 閱讀次數:2445次

日前,全球領先的IT咨詢管理公司CA Technologies對API產業做了個問卷調查,問卷內容涉及API設計風格以及管理部署的新動向。調查對象是CA的客戶,截至目前,共計收到180份來自API管理領域的專家或相關企業的回復。

調查結果表明,JSON與XML可謂兩分天下,50.5%的投票給予了JSON,47.8%的票數落在了XML。


查閱完整的數據圖表,請點擊這里

在Web技術服務方面:

  • 43.5%的產品支持CRUD,18.8%的受訪者會考慮增添該支援;
  • 41.9%的產品支持SOAP;19.1%的受訪者會考慮增添該支援;
  • 26.3%的產品支持Hypermedia(超媒體);28%的受訪者會考慮增添該支援。


其中,有以下四種最為開發者熟悉和使用的風格:

一、Tunneling Style(隧道式風格)

隧道式設計之前一直是最廣泛采用的方案,與之對接的Web服務的技術通常是SAOP。而從近10年的情況來看,SOAP APIs的采用率出現了下滑,以下給出了導致該狀況的幾點分析:

  • SOAP對于開發者來說較復雜且難掌握;
  • SOAP對基礎架構要求較高,在移動端的使用更是寥寥可數,因為過于龐大;
  • SOAP有極其嚴格的格式要求,因此開發者的自由與創新受到限制。

隧道式APIs的典型用戶有eBay和PayPal。其特性包括:

  • 提供組件級別的接口;
  • 在域中對對象組件進行綁定;
  • 發布和確保終端的安全;
  • 以XML為中心的信息格式。

盡管SOAP的采用每況愈下,但對端對端通信安全性以及第三方認證有特殊需求的企業來說,SOAP仍占一席之地。

二、URI Style(通用資源標識符風格)

由于原生的網絡屬性,通用資源標識符風格可能是目前最廣為人知而使用又最為廣泛的設計樣式了;相對于隧道式,它就顯得平易近人多了。

采用URI的代表作有,Box(網盤) API以及StackMob(云后端服務) API。如果對Box API感興趣,可以參閱ProgrammableWeb一篇對其深度剖析文章,鏈接請點擊這里

其特性包括:

  • 基于對象級別的接口;
  • 在域中對對象進行綁定;
  • 對URIs和查詢參數進行預定義;
  • 執行CRUD(增加、查詢、更新、刪除)操作。

在公共APIs、移動端和網絡應用程式中,URI風格被廣泛使用,同時可用于訪問以SOAP為后臺的舊系統數據以及網絡服務。

三、Hypermedia Style(超媒體風格)

超媒體風格API以圖形、聲音、動畫等超媒體元素為設計之本,建基于REST風格,REST是由Adobe高級技術專家、Apache聯合創始人Roy Fielding提出的。

應用超媒體風格的例子有PayPal REST APIs以及Elastic Path(電商平臺)Cortex Hypermedia API。

其特性包括:

  • 基于消息級別的接口;
  • 對消息進行綁定;
  • 與REST相結合;
  • 擁有屬于自己的URIs;
  • HATEOAS(Hypermedia As The Engine Of Application State,超媒體的狀態應用引擎)。

超媒體風格的最大好處是任何針對API工作流的變更,都不會影響當時使用該API的應用。此外,其延展性良好,能持續對客戶端應用以及服務提供支援。但是,在該風格越來越受到大眾青睞的同時,不少開發者認為在使用中需要面臨不少的困難。來自CA的Nadareishvili指出:“對于大型分布式系統來說,超媒體風格是個很好的解決方案。特別是在不對用戶使用過于限制或需要長時間才能完成的大規模變更場合,尤為適合。因此,具體情況具體分析,復雜度與有效度兩者間的天枰,需要開發者好好衡量。”

四、Event-Driven Style(事件驅動風格)

屬于新鮮事物的事件驅動風格在近幾年取得不錯的發展。典型例子如WebSocket協議,提供了客戶端和服務器端的全雙工數據傳輸模式。此外,CR8 CREATE 3D文件打印分析API也是采用該風格的。

其特性包括:

  • 客戶端/服務器端單獨或聯合對新事件進行監聽;
  • 被傳送的事件是由異步消息產生的。
事件驅動風格的使用范圍相當廣泛,例如:可以把事件驅動風格應用程式與瀏覽器相結合,作為通用的客戶端配置;可用于社交類和實時通信類的應用程式;可用于信息密集型應用程式,如網游;可用于實時交易數據場合,如股票信息查詢;可用于實時商業智能數據瀏覽和分析參合。

寫在后面

API風格如龍生九子,各有異同;但有時很難明確界定某API就是精確從屬于某個風格。同時,在應用中也有可能出現混合風格的情況。因此,企業在執行項目前,需要進行周密嚴謹的評估與分析,以確立主體的風格取向來最大程度地滿足商業目的。盡管這個過程可能是漫長且困難的,但是能明確的一點是:選擇自己所熟悉的。因為這樣,才能明確各個項目階段的細節;即使失敗,也能對錯誤環節進行有效的分析,回滾變更或重擬項目計劃。

英文出自:Programmableweb

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲日本一区二区 | 18欧美 | 亚洲不卡视频在线观看 | 欧美黑人激情乱妇 | 性丰满妇女free性性性 | 成熟女人免费一级毛片 | 天天天狠天天透天天制色 | 叼嘿视频在线免费观看 | 国产免费一级高清淫日本片 | www久| 亚洲精品国产一区二区三区在 | 夜夜骑天天干 | 国产亚洲精品久久久久久久网站 | 伊人黄 | 亚洲综合日韩精品欧美综合区 | 亚洲成在人线av | 中文字幕免费在线观看 | 国产亚洲精品片a77777 | 国内精品久久久久影院嫩草 | 国产jizz18高清视频 | 天堂亚洲网| 伊人不卡 | 中文字幕在线不卡精品视频99 | 一级做a免费视频 | 日韩国产欧美成人一区二区影院 | 三级不卡视频 | 国产一区二区三区免费播放 | 国产三级做爰高清视频a | 校园春色中文字幕 | 97精品国产福利一区二区三区 | 国产未成女年一区二区 | 男女视频免费观看 | 就要精品综合久久久久五月天 | 欧美日韩一级视频 | 91情国产l精品国产亚洲区 | 久久久久久日本一区99 | 2022在线精品视频网站 | 美国一级毛片片aa成人 | 亚洲精品系列 | 国产精品亚洲综合 | 欧美中文字幕 |