亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

談談自己對REST、SOA、SOAP、RPC、ICE、ESB、BPM知識匯總及理解

2019-11-11 04:56:08
字體:
來源:轉載
供稿:網友

SOA:

維基百科解釋:SOA:面向服務的軟件架構(Service Oriented Architecture),是一種計算機軟件的設計模式,主要應用于不通應用組件中通過某種協議來互操作,例如典型的通過網絡協議。因此SOA是獨立于任何廠商、產品與技術的。

SOA作為一種架構依賴于服務的方向,它的基本設計原理是:服務提供了一個簡單的接口,抽象了底層的復雜性,然后用戶可以訪問獨立的服務,而不需要去了解服務底層平臺實現。

基于SOA的解決方案,努力使經營目標而建立企業的質量體系。SOA架構是五層水平:

    1. 用戶界面層–這些GUI的最終用戶或應用程序訪問的應用程序/服務接口。    2. 業務流程層–這些精心設計的代表在應用方面的業務用例服務。    3. 服務層–服務合并在一起,為整個企業提供實時服務。    4. 服務組件層–用來建造服務的組件,如功能庫和技術庫,技術接口等。    5. 操作系統–這層包含數據模型,企業數據倉庫,技術平臺等。正因為SOA架構實現不依賴于技術,因此能夠被各種不同的技術實現。例如:SOAP, RPCRESTDCOMCORBAOPC-UAWeb servicesDDSjava RMIWCF (Microsoft's implementation of web services now forms a part of WCF)Apache ThriftSORCER因此REST、SOAP、RPC、RMI、DCOM等都是SOA的一種實現而已。Webservice:

Web services是建立可互操作的分布式應用程序的新平臺。

webservice是一種標準,他可以通過soap或rest的方式來實現。

傳統的soap-webservice,使用了soap協議(基于xml包裝)等。如果使用restful-webservice的話,則不需要soap與之相關的協議等,而是通過最簡單的 http 協議傳輸數據 ( 包括 xml 或 json) 。既簡化了設計,也減少了網絡傳輸量(因為只傳輸代表數據的 xml 或 json ,沒有額外的 xml 包裝)。

webservice相關的幾個概念:

wsdl:網絡服務描述語言是Web Service的描述語言,它包含一系列描述某個web service的定義。

UDDI: 是一種目錄服務,企業可以使用它對 Web services 進行注冊和搜索。UDDI,英文為 "Universal Description, Discovery and Integration",可譯為“通用描述、發現與集成服務”。

UDDI[1]  是一種規范,它主要提供基于Web服務的注冊和發現機制,為Web服務提供三個重要的技術支持:①標準、透明、專門描述Web服務的機制;②調用Web服務的機制;③可以訪問的Web服務注冊中心。UDDI規范由OASIS(Organization for the Advancement of Structured Information Standards[1]  )標準化組織制定。[1] 

其中RMI、RPC、SOAP比較:

普通的Web項目,一般是綁定了特定的渲染語言(jsp、velocity,freemark),當然也有原始的html。但是僅僅限定了特定的返回數據格式與之相對應。Webservice項目則是能夠被其他系統調用(約束了相關格式)。因此普通的利用ssh或者sPRingmvc建立的web項目并沒有發布webservice。普通的web項目可以使用一些技術將需要發布的接口發布出去,就成為了webservice了。

什么是SOAP?SOAP (Simple Object access Protocol) 顧名思義,是一個嚴格定義的信息交換協議,用于在Web Service中把遠程調用和返回封裝成機器可讀的格式化數據。事實上SOAP數據使用XML數據格式,定義了一整套復雜的標簽,以描述調用的遠程過程、參數、返回值和出錯信息等等。而且隨著需要的增長,又不得增加協議以支持安全性,這使SOAP變得異常龐大,背離了簡單的初衷。另一方面,各個服務器都可以基于這個協議推出自己的API,即使它們提供的服務及其相似,定義的API也不盡相同,這又導致了WSDL的誕生。WSDL (Web Service Description Language) 也遵循XML格式,用來描述哪個服務器提供什么服務,怎樣找到它,以及該服務使用怎樣的接口規范,簡言之,服務發現?,F在,使用Web Service的過程變成,獲得該服務的WSDL描述,根據WSDL構造一條格式化的SOAP請求發送給服務器,然后接收一條同樣SOAP格式的應答,最后根據先前的WSDL解碼數據。絕大多數情況下,請求和應答使用HTTP協議傳輸,那么發送請求就使用HTTP的POST方法。什么是REST?REST (REpresentational State Transfort) 形式上應該表述為客戶端通過申請資源來實現狀態的轉換,在這個角度系統可以看成一臺虛擬的狀態機。拋開R. T. Fielding博士論文里晦澀的理論不說,REST應該滿足這樣的特點:1)客戶端和服務器結構;2)連接協議具有無狀態性;3)能夠利用Cache機制增進性能;4)層次化的系統;說到底,REST只是一種架構風格,而不是協議或標準。但這種新的風格(也許已經歷史悠久?)對現有的以SOAP為代表的Web Service造成的沖擊也是革命性的,因為它面向資源,甚至連服務也抽象成資源,因為它和HTTP緊密結合,因為它服務器無狀態。

目前知道的三種主流的Web服務實現方案為:REST:表象化狀態轉變 (軟件架構風格)SOAP:簡單對象訪問協議 XML-RPC:遠程過程調用協議 (已經慢慢被SOAP取代)

其他理解:

REST:表征狀態轉移(Representational State Transfer),采用Web 服務使用標準的 HTTP 方法 (GET/PUT/POST/DELETE) 將所有 Web 系統的服務抽象為資源,REST從資源的角度來觀察整個網絡,分布在各處的資源由URI確定,而客戶端的應用通過URI來獲取資源的表征。Http協議所抽象的get,post,put,delete就好比數據庫中最基本的增刪改查,而互聯網上的各種資源就好比數據庫中的記錄(可能這么比喻不是很好),對于各種資源的操作最后總是能抽象成為這四種基本操作,在定義了定位資源的規則以后,對于資源的操作通過標準的Http協議就可以實現,開發者也會受益于這種輕量級的協議。REST是一種軟件架構風格而非協議也非規范,是一種針對網絡應用的開發方式,可以降低開發的復雜性,提高系統的可伸縮性。

 

SOAP:簡單對象訪問協議(Simple Object Access Protocol)是一種標準化的通訊規范,主要用于Web服務(web service)中。用一個簡單的例子來說明 SOAP 使用過程,一個 SOAP 消息可以發送到一個具有 Web Service 功能的 Web 站點,例如,一個含有房價信息的數據庫,消息的參數中標明這是一個查詢消息,此站點將返回一個 XML 格式的信息,其中包含了查詢結果(價格,位置,特點,或者其他信息)。由于數據是用一種標準化的可分析的結構來傳遞的,所以可以直接被第三方站點所利用。

XML-RPC:一個遠程過程調用(remote procedure call,RPC)的分布式計算協議,通過XML將調用函數封裝,并使用HTTP協議作為傳送機制。后來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。XML-RPC協定是已登記的專利項目。XML-RPC透過向裝置了這個協定的服務器發出HTTP請求。發出請求的用戶端一般都是需要向遠端系統要求呼叫的軟件。

 

三種方案的簡單比較

XML-RPC已慢慢的被SOAP所取代,現在很少采用了,但它還是有版權的,我在此就不作多介紹。成熟度上:SOAP在成熟度上優于REST

效率和易用性上:REST更勝一籌(REST效率更高的原因在于,僅僅是建議的Http協議之上的一種協議。而SOAP則需要對數據、xml封裝信息頭,解封裝等)

安全性上:SOAP安全性高于REST,因為REST更關注的是效率和性能問題

分布式能力:REST更適合在分布式環境中使用、因為REST是基于原生Http協議的,而http協議是無狀態的。大型分布式環境都能夠對無狀態支持良好,無狀態增強了整個系統的擴展性。這也是為什么越來越多的云計算,分布式項目選擇REST。

(注:SOAP也是基于HTTP協議的,但是卻提供了session、cookie等機制來使得SOAP有狀態,從而支持需要有狀態的業務。有狀態舉例:1、增加一個用戶2、獲取最新增加的用戶。那1的執行成功與否,及執行先后順序的狀態將會影響2的結果。)

總體上,因為REST模式的Web服務與復雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務開始采用REST風格設計和實現。例如,Amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎提供的Web服務也是REST風格的。REST對于資源型服務接口來說很合適,同時特別適合對于效率要求很高,但是對于安全要求不高的場景。而SOAP的成熟性可以給需要提供給多開發語言的,對于安全性要求較高的接口設計帶來便利。所以我覺得純粹說什么設計模式將會占據主導地位沒有什么意義,關鍵還是看應用場景,正是那句老話:適合的才是最好的

同時很重要一點就是不要扭曲了REST現在很多網站都跟風去開發REST風格的接口,其實都是在學其形,不知其心,最后弄得不倫不類,性能上不去,安全又保證不了,徒有一個看似象摸象樣的皮囊。

SOAP在安全方面是通過使用XML-Security和XML-Signature兩個規范組成了WS-Security來實現安全控制的,當前已經得到了各個廠商的支持,.net ,php ,java 都已經對其有了很好的支持。REST沒有任何規范對于安全方面作說明。因此在考慮安全性上,SOAP要高于REST。ICE:ICE是分布式應用的一種比較好的解決方案,雖然現在也有一些比較流行的分布式應用解決方案,如微軟的.NET(以及原來的DCOM)、CORBA及WEB SERVICE等,但是這些面向對象的中間件都存在一些不足: .NET是微軟產品,只面向WINDOWS系統,而實際的情況是在當前的網絡環境下,不同的計算機會運行不同的系統,如linux上面就不可能使用.NET; CORBA雖然在統一標準方面做了很多的工作,但是不同的供應商實現之間還是缺乏互操作性,并且目前還沒有一家供應商可以針對所有的異種環境提供所有的實現支持,且CORBA的實現比較復雜,學習及實施的成本都會比較高; WEB SERVICE最要命的缺點就是他的性能問題,對于要求比較高的行業是很少會考慮WEB SERVICE的。 ICE的產生就是源于.NET、CORBA及WEB SERVICE這些中間件的不足,它可以支持不同的系統,如WINDOWS、LINUX等,也可以支持在多種開發語言上使用,如C++、C、JAVA、RUBY、PYTHON、VB等,服務端可以是上面提到的任何一種語言實現的,客戶端也可以根據自己的實際情況選擇不同的語言實現,如服務端采用C語言實現,而客戶端采用JAVA語言實現,底層的通訊邏輯通過ICE的封裝實現,我們只需要關注業務邏輯。什么是ESB?ESB與EAI區別:ESB是將所有的系統的交互都放在SOA統一服務總線上面來控制處理。EAI只是將不同的系統集成起來(可以采用ESB總線形式,也可以采用點對點的形式)。ESB能幫助解決什么?參考博客:http://blog.csdn.net/tantexian/article/details/48135907附上開源使用量最大的ESB mule:什么是BPM:BPM,即業務過程管理,是一種以規范化的構造端到端的卓越業務流程為中心,以持續的提高組織業務績效為目的的系統化方法,常見商業管理教育如EMBA、MBA等均將BPM包含在內。用來審批,用來發送短信,發送郵件等業務流程編排。兩大主流開源BPM對比:(Activiti與spring集成更好)Activiti Demo:國內bpm在線試用:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产a级全部精品| 国产精品丝袜久久久久久不卡| 亚洲综合视频1区| 欧美成人午夜激情| 日韩亚洲欧美中文在线| 夜夜嗨av色一区二区不卡| 久久五月天综合| 亚洲97在线观看| 国产精品第一区| 国产精品视频区1| 久久精品国产成人| 日韩中文字幕视频| 精品中文字幕在线2019| 日韩中文在线中文网三级| 久久人人爽人人爽人人片亚洲| 国产精品久久久91| 色一区av在线| 国产精品国产福利国产秒拍| 亚洲色图25p| 777午夜精品福利在线观看| 国产精品美女久久久久av超清| 久久久在线观看| 亚洲色图美腿丝袜| 日韩在线观看网站| 亚洲第一综合天堂另类专| 日本国产一区二区三区| 精品成人国产在线观看男人呻吟| 日韩免费电影在线观看| 久久免费视频这里只有精品| 91精品啪在线观看麻豆免费| 久久免费视频在线| 精品国产一区二区三区久久久狼| 精品福利在线看| 91精品国产91| 亲子乱一区二区三区电影| 日韩av在线影视| 亚洲第一视频网| 国产成人精品免费久久久久| 欧美成人一区二区三区电影| 欧美成人第一页| 在线日韩日本国产亚洲| 欧美日韩免费在线观看| 亚洲国产成人久久综合一区| 91av在线免费观看视频| 丝袜美腿亚洲一区二区| 日韩av手机在线看| 亚洲精品免费av| 国产精品你懂得| 午夜精品视频在线| 国产成人综合精品在线| 日韩在线视频免费观看高清中文| 日韩av在线免费观看| 国产在线观看精品一区二区三区| 亚洲色图50p| 欧美激情xxxx| 欧美精品一本久久男人的天堂| 亚洲午夜色婷婷在线| 色香阁99久久精品久久久| 久久色免费在线视频| 亚洲欧美一区二区三区四区| 国产一区二区三区日韩欧美| 欧美日韩一区二区免费视频| 欧美一级淫片aaaaaaa视频| 欧美性极品xxxx做受| 日韩欧美一区二区三区久久| 亚洲精品乱码久久久久久按摩观| 91久久久久久久久| 一区二区三区亚洲| 国产精品久久久久久久久久久久久久| 国产精品黄色av| 亚洲成色777777在线观看影院| 欧美激情在线观看视频| 久久久人成影片一区二区三区观看| 欧美成在线观看| 精品精品国产国产自在线| 欧美另类xxx| 66m—66摸成人免费视频| 欧美视频中文字幕在线| 国产精品三级在线| 欧美一级高清免费播放| 欧日韩不卡在线视频| 日本久久久久久久久久久| 日韩电影视频免费| 最近中文字幕2019免费| 国产精品劲爆视频| 色综合天天狠天天透天天伊人| 国产精品免费网站| 国产精品影片在线观看| 亚洲一区二区三区在线免费观看| 国产精品久久久久久久久借妻| 亚洲人成网站色ww在线| 精品调教chinesegay| 一区二区三区高清国产| 一本色道久久88精品综合| 亚洲香蕉av在线一区二区三区| 欧美视频免费在线| 国产精品久久久久一区二区| 97精品国产91久久久久久| 成人a视频在线观看| 亚洲美女喷白浆| 亚洲一区二区免费在线| 亚洲成人久久久久| 怡红院精品视频| 91精品免费看| 亚洲国产精品99久久| 91精品视频播放| 最新国产精品拍自在线播放| 久久久久国产一区二区三区| 亚洲精品国产精品国自产观看浪潮| 欧美激情按摩在线| 久久精品成人动漫| 中文国产成人精品| 久久久久免费视频| 久久天天躁狠狠躁夜夜av| 亚洲最大福利网| 午夜精品一区二区三区在线视| 国产主播精品在线| 久久影视电视剧免费网站清宫辞电视| 久久精品久久久久久| 亚洲欧美中文字幕| 国产欧美 在线欧美| 国产精品久久久久久久久久| 在线免费看av不卡| 亚洲女人天堂av| 欧美日韩美女在线观看| 欧美视频一区二区三区…| 色多多国产成人永久免费网站| 精品毛片三在线观看| 永久免费看mv网站入口亚洲| 久久久精品日本| 国产精品久久久久久久电影| 精品久久久在线观看| 91亚洲一区精品| 中文字幕亚洲欧美日韩高清| 欧美性猛交xxxx乱大交| 久久久精品在线观看| 国产精品欧美久久久| 亚洲精品美女在线观看播放| 国产欧美一区二区| 亚洲日本aⅴ片在线观看香蕉| 成人网在线免费观看| 欧美在线视频导航| 欧美大荫蒂xxx| 国产色视频一区| 国产亚洲成精品久久| 久久成年人视频| 国产成人精品久久| 国产精品com| 欧美日韩国产精品一区| 2019国产精品自在线拍国产不卡| 亚洲成人av在线播放| 欧美高清第一页| 欧美在线视频导航| 福利一区视频在线观看| 成人午夜激情网| 国产视频精品久久久| 精品久久中文字幕| 国产精品视频一区国模私拍| 久久国产精品99国产精| 国产精品视频久久久| 亚洲激情免费观看| 国精产品一区一区三区有限在线| 国产精品27p| 97福利一区二区|