999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于REST風格的WEB API架構研究?

2016-03-17 02:02:29王仲洲楊曉洪王劍平
微處理機 2016年5期
關鍵詞:服務設計研究

王仲洲,楊曉洪,王劍平,張 果

(昆明理工大學信息工程與自動化學院,昆明650500)

·微機應用·

基于REST風格的WEB API架構研究?

王仲洲,楊曉洪,王劍平,張果

(昆明理工大學信息工程與自動化學院,昆明650500)

(Representational State Transfer)表述性狀態傳遞,描述了一個架構形式的網絡系統,它實際上是設計上的一系列約束,其中主要有無狀態服務器、分布式緩存等特點。一般來說,REST架構風格的Web Service其實就是和傳統Web Service相結合的一種輕量級實現。REST架構和傳統的單一軟件架構相比不僅能滿足不同平臺之間的相互訪問,同時又剔除了傳統Web Services的繁瑣與笨重,完全符合目前人們對web服務的需求。REST在Web中取得了巨大的成就,目前已取代SOAP和Web成為ASP.NET WEB API最簡單的方法。文中對基于REST風格的ASP.NET WEB API架構進行了研究與分析。

表述性狀態傳遞;接口;web服務;無狀態;網絡系統;分布式緩存

1 引 言

REST是2000年由Roy Fielding在就讀加州大學歐文分校期間在學術論文“Architectural Styles and the Design of Network-based Software Architectures”中提出,目前基于REST風格的框架已經被開發出來,并且被廣泛應用到各個平臺系統中。

2 REST簡介

首先,REST是Web自身的架構風格。它是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。REST是世界上最成功的分布式應用架構風格。它是為“運行在互聯網環境”的“分布式”“超媒體”系統量身定制的[1]。互聯網環境和企業內網環境是兩個不同的概念,最主要的差別有以下兩點:

首先無法控制其可伸縮性需求,無法控制其并發訪問量,暴漲亦或暴跌。其次無法控制其安全性需求,無法控制客戶端發來的請求格式,很可能是惡意請求。

而所謂的“超媒體系統”,即使用了超文本的系統,可以把“超媒體”理解為超文本+媒體內容。

REST是HTTP/1.1協議等Web規范的設計指導原則,HTTP/1.1協議正是為實現REST風格的架構而設計的。新的Web設計必須符合REST的要求,否則整個Web的體系架構會因為引入嚴重矛盾而崩潰。

2.1REST定義

表述性狀態轉移是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是RESTful。需要注意的是,REST是設計風格而不是標準。REST通常基于使用HTTP,URI,和XML(標準通用標記語言下的一個子集)以及HTML(標準通用標記語言下的一個應用)這些現有的廣泛流行的協議和標準。

REST這個概念于2000年由Roy Fielding博士首次提出。論文中對使用Web服務作為分布式計算平臺的一系列軟件體系結構原則進行了分析,同時提出了REST的概念,但是并沒有獲得太多關注。然而今天,REST相關的一些主流框架已經開始出現。

2.2REST的使用原則

學習REST一般都是先熟悉它的定義和背景。在此提出一個簡要的定義:REST定義了Web的使用標準,這和很多人實際使用的框架有很大不同,例如HTTP和URI。如果你能堅持使用REST原則來設計應用程序,那你就會得到一個使用了優質Web架構的系統。雖然Java語言是世界上目前基于SOAP的web服務技術,但其余的將是另一個web服務,和真正意義上的網絡服務有所區別。基于REST的web服務在不久的將來將成為網絡服務的主流技術。其不僅僅是HTTP作為數據傳輸協議,而且還直接處理數據的工具。和當前web服務技術需要使用其他方法來完成數據處理工作不同,它們是完全獨立的HTTP協議,這樣增加了許多復雜的軟件架構設計工作,剩下的認為充分利用現有的HTTP技術的網絡容量[2]。HTTP不是一個簡單的傳遞數據協議。其在傳遞數據時的優勢,是REST的使用原則區別于其他原則的根本所在。

3 基于REST風格的ASP.NET WEB API架構研究

3.1ASP.NET WEB API簡介

ASP.NET WEb Api首次出現是在ASP.NET MVC4的時候,到目前為止已經有一年半的歷史了。它用于建立一個HTTP服務可以被各種客戶端(例如:瀏覽器,智能手機終端,桌面客戶端等)來調用的框架[3]。它并不是ASP.NET MVC框架的一部分,它作為ASP.NET平臺的一部分可以用于MVC、Web Form或者是作為一個獨立的服務存在。

時至今日,隨著智能手機的飛速發展和普及,出現單頁應用程序猛增的趨勢。使用一個輕量級的Web Api來把你的服務暴露給客戶端就顯得極其重要[4]。ASP.NET Web Api將使用很多HTTP的特征(URIs,請求/相應的處理模型,標題部分,版本控制以及各種傳輸數據的格式)帶你一起走進基于REST風格服務的精彩世界。

3.2基于REST風格的ASP.NET WEB API架構研究

REST定義了一組框架約束原則,設計者可以根據這些約束準則來設計開發以系統資源為中心的Web服務,比如在使用不同語言編寫的客戶端情況下通過HTTP處理和傳輸資源狀態的方法[5]。如果按照使用它的Web服務的數量來看的話,REST已經成為最流行的Web服務設計模型。事實上,REST設計風格對Web的發展具有非常深遠的影響,由于其使用便捷,已經基本取代了傳統的基于SOAP和WSDL的接口設計。

按照RFC2616定義的協議規則開發使用HTTP方法,是基于REST風格的Web服務的主要特征之一[6]。比如,被定義為數據產生方法的HTTP GET/POST,前者是指在客戶端檢索資源從Web服務器獲取相應數據,亦或是執行某個查詢并預期Web服務器將查找某一組匹配資源然后使用該資源進行響應[7],而后者多用于更新資源。

REST要求使用方式與協議定義必須一致,同時開發人員必須要顯式地使用HTTP方法。REST風格的這個基本設計原則建立了增、刪、改和查(create,delete,update,and read,CRUD)操作與HTTP方法的PUT,DELETE,POST,GET之間一對一映射。

3.3使用REST架構

其實對于每個研究開發人員來說,具體怎么使用REST架構才是他們最關心的問題。REST不止是一種新穎的框架架構,它更是用一種全新思維方式來開發Web,使用URL設計系統結構。REST不是一種具體的標準或架構,而是一套設計原則或者說是一種架構風格。著名的Delicious和Flickr都是成功使用REST的案例,它們的客戶端調用都極其方便,也都提供基于REST風格API的使用[8-9]。使用REST對于ASP.NET WEB API架構有著不可忽視的優勢,能夠更好的為實際服務。目前,在國外對于REST的研究已經非常成熟,許許多多的學者對其進行了研究,并且取得了一定的進展,REST架構的應用范圍極其廣泛。我國也進行了相應的研究,但是我國目前對于REST架構的研究還遠遠不能與發達國家相比,這需要更多的學者致力與此,同時還得參考國外經驗,使REST架構的研究越來越成熟。

4 基于REST風格的ASP.NET WEB API架構應用

4.1基于REST風格的ASP.NET WEB API架構應用選擇

傳統的WCF Web API是基于RPC風格的API。由于WCF主要是基于SOAP的XML消息設計的,為了使Web API融入WCF,需要改動的地方太多,因此為了讓WCF匹配”原生”HTTP世界,遇到了很多麻煩[10]。相比之下,ASP.NET MVC架構的基礎設施既能非常簡潔的創建各種控制器,又能優雅地處理HTTP的請求和響應,幾乎是為創建這種新類型服務量身定做的。

支持URL路由,透過用戶熟悉的MVC風格路由語義,生成干凈的URL,根據Accept標頭對請求和響應的序列化形式進行內容協商(Content Negotiation),支持大量輸出格式,包括JSON、XML、ATOM等。默認對REST語義有完善支持,同時又不強制限定必須使用REST語義易于擴展的Formatter機制,支持添加新的輸入/輸出類型。可通過Http ResponseMessage類、HttpRequestMessage類和強類型枚舉來描述大量的HTTP操作,提供對更高級的HTTP特性的深度支持。基于慣例的設計引導用戶按HTTP Services的正確方式行事,Formatters和Filters延續了MVC的擴展模型,具備出色的擴展能力。用于非Web程序時,可以脫離IIS運行(Self-hostable),具備可測試性,測試機制的設計類似于MVC。

4.2基于REST風格的ASP.NET WEB API架構應用階段

靜態HTM階段:在靜態階段主要是一些科研機構在使用Web。此時,Web就是一個支持超文本的共享文件庫或服務器,因為它主要由一些靜態HTML文檔組成,比如學術,科研論文等。

CGI程序階段:在此階段,Web服務器通過編程API來編寫各種應用程序,以此來把一些變化的內容提供給客戶端。通過CGI(Common Gateway Interface)協議來完成服務器和應用程序之間的通信,應用程序被稱作CGI程序。

腳本語言應用階段:腳本語言階段,一些支持Session的腳本語言技術開始出現在服務器端,比如ASP、PHP、ColdFusion等。而瀏覽器端也出現了Java Applet、Java Script等相關技術。這些技術的出現,更加豐富了Web服務器的動態內容。

瘦客戶端應用階段:在此階段,能夠獨立運行的應用服務器出現在了服務器端。同時Web MVC新穎的開發模式問世,隨之各種各樣的Web MVC開發框架逐漸流行,并且占據了主導地位[11]。由于基于這些框架來開發的Web服務都是在服務器端直接生成全部的動態內容,因此基本都是瘦客戶端應用。

RIA應用階段:在RIA應用階段,大量RIA(Rich Internet Application)技術的出現,極大地改善了Web應用的用戶體驗。最受歡迎的RIA技術無疑是DHTML+Ajax。Ajax技術可以使網頁實現異步更新[12-14]。同時Prototype、Dojo、ExtJS、jQuery/jQuery UI等大量的Web前端DHTML開發庫也流行開來,其中很多都支持單頁面應用(Single Page Application)的開發。另外還出現了其他的RIA技術,比如Adobe公司的Flex技術、微軟公司的Silverlight技術、Sun公司的JavaFX技術等等。

移動Web應用階段:大量面向移動設備的Web應用技術在這個階段開始出現[15]。除了一些原生的開發技術比如Android、iOS、Windows Phone等操作系統平臺之外,基于HTML5的相關技術開發也變得越來越流行。

5 結束語

通過研究可知,基于REST風格的ASP.NET WEB API架構相對于其他風格有著不可代替的優勢,其對于數據的傳遞等方面效果明顯。REST在我國的很多方面都有應用,但是我國目前對于REST架構的研究還遠遠不能與發達國家相比,這需要更多的學者致力與此,同時還需要參考國外的經驗,使REST架構的研究越來越深入,使得REST風格能更好更多地應用于實踐。

[1]蒲海濤.物聯網環境下基于上下文感知的智能交互關鍵技術研究[D].山東:山東科技大學,2011.PuHaiTao.Research On Key Technologies Of Intelligent Interaction Of Internet Of Things Based On Context-Aware[D].Shandong:Shandong University of Science and Technology,2011.

[2]李俊霖.物聯網傳感網絡安全協議形式化研究[D].云南:云南大學,2011.Li Jun Lin.Things sensor network security protocols Formal Study[D].Yunnan:Yunnan University,2011.

[3]張智.面向物聯網的多層次無線感知識和識別系統[D].浙江:浙江大學,2012.Zhang Zhi.Wireless multi-level sense of knowledge and identification systems for the Internet of Things[D].Zhejiang:Zhejiang University,2012.

[4]劉建華.面向服務的物聯網動態維護及其資源配置研究[D].上海:上海大學,2012.Liu Jian Hua.Things dynamic service-oriented maintenance and Resource Allocation[D].Shanghai:Shanghai University,2012.

[5]王巖.物聯網控制系統中信息傳輸關鍵技術研究[D].黑龍江:東北林業大學,2012.Wang Yan.Key Technology of Information Transmission Control System of Things[D].Heilongjiang:Northeast Forestry University,2012.

[6]閆韜.物聯網隱私保護及密鑰管理機制中若干關鍵技術研究[D].北京:北京郵電大學,2012.Yan Tao.Things privacy and key management in a number of key technologies[D].Beijing:Beijing University of Posts,2012.

[7]王延炯.物聯網若干安全問題研究與應用[D].北京:北京郵電大學,2011.Wang Yan Jiong.Things several security issues Research and Application[D].Beijing:Beijing University of Posts,2011.

[8]李征.物聯網帶寬優化分配與智能物流監管系統研究[D].天津:天津大學,2012. Li Zheng.Distribution and Logistics Supervision System for Intelligent Network bandwidth optimization was[D].Tianjin:Tianjin University,2012.

[9]何文娜.大數據時代基于物聯網和云計算的地質信息化研究[D].吉林:吉林大學,2013.He Wen Na.Big Data era based on networking and cloud computinggeologicalinformation[D].Jilin:Jilin University,2013.

[10]賈冰.基于語義的物聯網服務架構及關鍵算法研究[D].吉林:吉林大學,2013.Jia Bing.Semantic networking services architecture and key algorithms based on[D].Jilin:Jilin University,2013.

[11]康玲,傅俊鋒,王懷清,蔡勁松.基于ArcGIS Server的WebGIS應用系統開發[J].水電能源科學,2007,25(1):26-29.Kang Ling,Fu Jun Feng,Wang Huai Qing,Cai Jin Song.WebGISapplicationsystemdevelopmentbasedon ArcGIS Server[J].Hydroelectric Energy,2007,25(1):26-29.

[12]馬先立,路璐.Web GIS開發技術的研究與探討[J].中國數據通信,2002,7(7):80-82.Ma Xian Li,Lu Lu.Web GIS Development and Technology Discussion[J].China Data Communications,2002,7(7):80-82.

[13]方坤.基于RIA技術的構件式WebGIS表現層技術研究[D].湖北:中國地質大學,2009.Fang Kun.RIA technology component-based Web GIS presentation layer technology[D].Hubei:China University of Geosciences,2009.

[14]Tomokazu Fujino.SVG+Ajax+R:a new framework for Web GIS[J].Computational Statistics,2007,24(4):70-74.

[15]Arun K.Iyengar,Mark S.Squillante,Li Zhang.Analysis and characterization of large-scale Web server access patterns and performance[J].World Wide Web,1999, 16(22):15-18.

Research and analysis of ASP.NET WEB API architecture Based on REST-style

Wang Zhongzhou,Yang Xiaohong,Wang Jianping,Zhang Guo
(College of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,China)

Representational State Transfer,actually a series of constraints on the design,describes a form of network system architecture,with the main characteristics of no-status server and distributed caching features.Generally,REST-style Web Service,combining with the traditional one,is a lightweight implementation.The REST architecture,compared with the traditional single software one,not only meets mutual visits between different platforms but also eliminates the tedious and cumbersome of the traditional Web Services.It meets the demand of the users for web services.Because great achievements are made in the Web,REST has replaced SOAP and Web to ASP.NET WEB API.In this article,ASP.NET WEB API based on REST-style is studied and analyzed.

Interface;Representational state transfer;Web service;No status;Network system;Distributed cache

10.3969/j.issn.1002-2279.2016.05.013

TP274.2

A

1002-2279(2016)05-0052-04

?國家自然科學基金(61364008);云南省應用基礎研究重點項目(2014FA029);云南省教育廳重點基金項目(2013Z127);昆明理工大學復雜工業控制學科方向團隊建設計劃

王仲洲(1990-),男,河南省鄭州市人,碩士研究生在讀,主研方向:運動控制。

楊曉洪(1964-),女,云南昆明人,高級工程師,主研方向:嵌入式運動控制。

2016-04-18

猜你喜歡
服務設計研究
FMS與YBT相關性的實證研究
遼代千人邑研究述論
視錯覺在平面設計中的應用與研究
科技傳播(2019年22期)2020-01-14 03:06:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
EMA伺服控制系統研究
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产在线精品人成导航| 人人看人人鲁狠狠高清| 拍国产真实乱人偷精品| 无码 在线 在线| 国产AV毛片| 中文字幕第4页| 一级毛片免费的| 伊人久久久久久久| 2020国产免费久久精品99| 免费一级全黄少妇性色生活片| 免费无码在线观看| 免费在线观看av| 国产91精品久久| 国产精品亚洲精品爽爽| 国产91特黄特色A级毛片| 亚洲国产精品久久久久秋霞影院| 国产日韩欧美在线播放| 久久久波多野结衣av一区二区| 2020国产精品视频| 亚洲va在线观看| 亚洲欧美成aⅴ人在线观看| 国产农村1级毛片| 国产一区亚洲一区| 亚洲AV无码一区二区三区牲色| 国产超薄肉色丝袜网站| 国产在线97| 久久毛片基地| 国产真实乱子伦精品视手机观看 | 99热在线只有精品| 国产欧美日韩视频一区二区三区| 特黄日韩免费一区二区三区| 欧美日韩国产系列在线观看| 欧美成人a∨视频免费观看| 六月婷婷精品视频在线观看| 中文字幕人妻无码系列第三区| 国产精品黑色丝袜的老师| 永久免费AⅤ无码网站在线观看| 精品一區二區久久久久久久網站| 亚洲精品手机在线| 88av在线| 91免费国产高清观看| 久久精品aⅴ无码中文字幕 | 青青草国产在线视频| 国语少妇高潮| 丁香综合在线| 日本国产在线| 麻豆国产精品视频| 欧洲在线免费视频| 热这里只有精品国产热门精品| 欧美成人第一页| 精品一区二区无码av| 另类欧美日韩| 日韩欧美国产综合| 嫩草国产在线| 亚洲女人在线| 亚洲天堂首页| 亚洲a免费| 欧美在线中文字幕| 国内老司机精品视频在线播出| 最新精品久久精品| 免费国产不卡午夜福在线观看| 大香伊人久久| 欧美曰批视频免费播放免费| 国产成人a在线观看视频| 91网站国产| 午夜少妇精品视频小电影| 亚洲国产成人超福利久久精品| 午夜免费小视频| 国产9191精品免费观看| 色香蕉影院| 久久综合丝袜日本网| 波多野结衣一区二区三区四区| 久久精品亚洲中文字幕乱码| 精品视频福利| 91青青草视频在线观看的| 婷婷综合在线观看丁香| 国产激爽大片在线播放| 亚洲v日韩v欧美在线观看| 国产真实乱子伦视频播放| 久久9966精品国产免费| 91在线国内在线播放老师| 四虎永久免费在线|