摘要:隨著互聯網的普及,REST架構憑借其特性出現在人們的視野中,但許多的誤解造成REST架構的不正確使用。本文基于REST架構和REST形式化方法進行研究與分析,在分析數據基礎上及進行RESTful Web服務的形式化抽象建模。
關鍵詞:REST架構;形式化方法;RESRful Web服務建模
中圖分類號:N945?? 文獻標識碼:A?? 文章編號:1672-9129(2020)11-0064-01
1 引言
隨著互聯網的不斷發展,分布式計算也開始更多地被運用,雖然將一個相對復雜的任務分散到不同的計算機上進行計算協作大大提高了計算效率,但同時必須解決不同平臺的相互關聯與融合,使得Web應用在最大化信息共享率的同時可以更有效的服務于不同的對象,而Web服務技術就可以用來解決這一問題。
Web服務技術,實現在不同機器上、不同應用間在沒有附加第三方軟硬件的條件下可以實現數據交換與集成。Web服務的特點有以下幾點:基于自包含、自描述的可用網絡模塊,Web服務可實現具體業務功能的執行;基于API構成特點,Web服務容易部署。現階段主要Web服務實現方案有以下三種:表述性狀態轉移(REST)、遠程過程調用(RPC)以及面向服務架構(SOA)。相較于RPC的高耦合性、低擴展性和SOA架構的復雜與高建設成本,簡單輕量級的REST架構更適合當下。隨著推廣,在REST架構發展過程中也浮現出一些問題,比如人們對REST架構約束的理解需要更加深入,只有減少對REST概念的誤解才能更好的發揮REST的作用。
2 REST架構
表述性狀態轉移REST是對架構樣式網絡系統的概述,其中包括Web應用程序。相較于簡單對象訪問協議和XML-PRC,REST的簡單通透性脫穎而出。基于HTTP直接數據傳輸和輕量級性質,用于 Web 服務的 RESTful 方法已成為最常見的替代方案,客戶端可以用多種語言實現;通常可由自動客戶端或代表用戶的應用程序訪問RESTful Web 服務。但是此服務的簡單性允許用戶直接與它們交互,使用其 Web 瀏覽器生成 GET URL,并讀取返回內容。
曾有學者在其著作中引入REST-RPC混合架構。該架構直接借助HTTP進行數據傳輸,不再使用封裝方法參數與數據。這體現了與Web服務的相似性,但由于操作資源時不使用標準HTTP方法,將方法與信息儲存在HTTP請求的URI中。
3 RESTful Web服務建模
RESTful Web服務模型關注組件之間的通信交互過程,主要刻畫REST架構風格中的統一接口、無狀態性約束。由于RESTful Web服務使用HTTP的四個方法作為對資源操作的統一方法,在模型中應突出這幾種方法,從而使得模型更接近REST架構在工業界中的使用。同時,由于REST架構強調以資源為中心,為了更方便觀察資源的變化,在這個部分的模型中,將資源獨立成一個進程。為了關注組件之間的交互,改變了系統抽象的邏輯減弱信息的轉換過程,強調信息的傳遞過程。代理一般為用戶代理做一些請求信息的轉換或者只做請求信息的傳遞,在新的模型中,網關與來源服務器合并為服務器組件,所有的資源抽象成資源組件。
4 結論和展望
隨著互聯網不斷發展,分布式計算應用也愈加廣泛。雖然將一個相對復雜的任務分散到不同計算機上進行協作大大提高了計算效率,但同時必須解決不同平臺的相互關聯與融合,使得Web應用在最大化信息共享率的同時可以更有效的服務于不同的對象。而Web服務技術就可以用來解決這一問題。REST架構由于其簡單性、高可擴展性、高可伸縮性、高性能、低合性、高可重用性等特性,被越來越多的關注。RESTful Web服務特指將REST架構應用在Web中,以資源為中心,使用URI作為統一資源標識符,使用HP協議學的方法作為操作資源的統一方法的Web服務。但同時由于對RRST架構的理解不透徹,誤用現象一直存在,形式化領域中對REST架構的研究又寥寥無幾。這也是本文應用進程代數實現描述RESTful Web服務的原因。首先基于數據與現有資料對REST架構進行初步模型建立同時注重分析各組成部分的關系與內容,之后基于RESTful Web服務實現模型建立,在此基礎上,將該服務抽象成客戶端、服務端與資源三模塊,作為CSP語言中的進程。
對未來的工作展望有:
本文關注的是REST架構在Web上應用的建模與分析,即RESTFUL Web服務的建模與分析,隨著REST架構應用范的不斷擴大,可以研究是否能將模型應用在其他方面。
參考文獻:
[1] Andrew D Birrell and Bruce Jay Nelson.Implementing remote procedure calls.ACM Transactions on Computer Systems(TOCS),2(1):39-59,1984
[2]聶鵬.基于產出導向法的軟件工程專業教學探索研究——以Web服務與RESTful技術課程為例[J].電腦與電信,2020(06):22-29.
[3]劉相,王文斌,王蔥權. 基于微服務架構實現Restful服務圖形化服務編排的系統及其方法[P]. 上海市:CN110764752A,2020-02-07.
作者簡介:邢程程(199909),女,漢,山東濟南,本科,研究方向:計算機科學與技術專業。制。