監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

深入理解與SOA相關(guān)的Web服務(wù)標(biāo)準(zhǔn)

申請免費(fèi)試用、咨詢電話:400-8352-114

來源:泛普軟件

當(dāng)決定采用哪一種標(biāo)準(zhǔn)的時(shí)候,最值得考慮的經(jīng)常是技術(shù)人員提出的建議。他們可能會依次向你推薦一個(gè)最容易實(shí)施的標(biāo)準(zhǔn),能夠得到最廣泛的技術(shù)支持的產(chǎn)品和最有可能在你的環(huán)境中很好地工作的標(biāo)準(zhǔn)。為了有一個(gè)能夠經(jīng)受時(shí)間的考驗(yàn)并且在為來能夠繼續(xù)擴(kuò)展的成功的SOA實(shí)施,所有這三個(gè)因素都是極為重要的,互操作性是極為重要的。

WS-I

Web服務(wù)互操作組織(WS-I)專門制定Web標(biāo)準(zhǔn)的最佳做法,以確保不同操作系統(tǒng)、平臺或者編程語言的互操作性。WS-I負(fù)責(zé)定義Web服務(wù)安全和Web服務(wù)處理技術(shù)規(guī)范等最佳做法文獻(xiàn)。這些文獻(xiàn)幫助開發(fā)人員和企業(yè)符合其他人正在采用的做法,保證戶操作性。

WS-I還發(fā)布技術(shù)規(guī)范、測試套裝軟件和如何部署這些協(xié)議的樣本。實(shí)際上,WS-I是由微軟和IBM等許多機(jī)構(gòu)組成的一個(gè)管理機(jī)構(gòu),其任務(wù)是推廣互操作的Web服務(wù)。

使用協(xié)議

Web服務(wù)依賴于協(xié)議保證通訊是有意義的。服務(wù)之間發(fā)送的數(shù)據(jù)內(nèi)容必須是以前同意的,以保證雙方都能知道收到的內(nèi)容是什么。SOAP是在交換數(shù)據(jù)時(shí)應(yīng)用最廣泛的協(xié)議的一個(gè)例子。SOAP使用XML編程語言,允許雙方都能解碼發(fā)送的內(nèi)容并且格式化來回發(fā)送的信息。

說明

我們很快將介紹一些架構(gòu),還要參考一些Web服務(wù)協(xié)議。不要混淆這兩項(xiàng)內(nèi)容是很重要的。所以下面簡單介紹一下。

REST和RPC等軟件架構(gòu)不是協(xié)議。它們是規(guī)定如何實(shí)施協(xié)議的方法。

WSDL(Web服務(wù)描述語言)是用來以格式化的方式描述一個(gè)特定的Web服務(wù)的語言,以便應(yīng)用程序能夠解析這個(gè)服務(wù)。WSDL本身不以Web服務(wù)互動方式提供任何功能。

SOAP、XML-RPC或者DCOM等協(xié)議本身確切地定義了如何傳遞消息以及一個(gè)程序如何理解它收到的數(shù)據(jù)。

SOA中有兩種主要類型的架構(gòu):RPC系列的協(xié)議和具象狀態(tài)傳輸(REST)方式。

RPC

遠(yuǎn)程過程調(diào)用(RPC)方式允許編程人員在一個(gè)系統(tǒng)上編程的時(shí)候能夠像“調(diào)用”本地資源一樣調(diào)用遠(yuǎn)程系統(tǒng)的資源。RPC式的服務(wù)的缺點(diǎn)是人們傾向于像使用他們熟悉的指定平臺上的編程語言那樣使用這種方式。如果與本地的過程相同的話,它甚至很容易調(diào)用一個(gè)遠(yuǎn)程的過程。

這個(gè)邏輯違反了“松散耦合”的概念。松散耦合概念實(shí)際上意味著遠(yuǎn)程過程不應(yīng)該依賴于任何特定的操作系統(tǒng)或者編程語言。

SOAP是XML-RPC的后續(xù)協(xié)議,僅僅是在XML中包含其信息的一個(gè)遠(yuǎn)程過程調(diào)用。SOAP使用HTTP協(xié)議發(fā)送數(shù)據(jù),這是很好和很簡單的,但是,確實(shí)存在一些缺點(diǎn)。盡管如此,最近大多數(shù)Web服務(wù)仍使用HTTP協(xié)議進(jìn)行通訊,因?yàn)樗鼈兌际鞘褂肧OAP協(xié)議建立的。

REST

具象狀態(tài)傳輸(REST)方式從根本上是與遠(yuǎn)程過程調(diào)用是不同的,因?yàn)樗ぷ鞯膶哟尾煌?。一個(gè)REST調(diào)用看起來就像是任何通過HTTP協(xié)議的其它Web請求,而RPC調(diào)用看起來就像是一個(gè)標(biāo)準(zhǔn)的功能調(diào)用。REST的重點(diǎn)是用穩(wěn)定的資源操作,而不是單個(gè)的信息,從而產(chǎn)生更標(biāo)準(zhǔn)的和廣泛理解的互動方式,就像HTTP協(xié)議本身一樣。REST處理簡單數(shù)據(jù)的傳送塊,而RPC傳送復(fù)雜的過程。

使用REST還是RPC

是否使用REST的問題肯定是一個(gè)好問題。它好像是未來的方法。但是,你的SOA需要結(jié)合到你目前使用的每一個(gè)軟件中。REST的應(yīng)用一直很緩慢,主要是由于Web服務(wù)的支持。雖然一個(gè)REST系統(tǒng)能夠使用WSDL描述一個(gè)在HTTP上的SOAP信息,但是,還沒有足夠的支持以真正地使用它。例如,如果不安裝插件模塊,Apache甚至都不支持使用REST所需要的方法。

還有一些不屬于Web服務(wù)家族的其它標(biāo)準(zhǔn)。但是,正如你預(yù)料的那樣,這些標(biāo)準(zhǔn)沒有得到廣泛的支持。Jini、WCF和CORBA等就是一些例子。當(dāng)一家廠商要向你提供僅支持上述技術(shù)之一的產(chǎn)品,你要馬上跑開,而不是走開。Web服務(wù)目前的到了廣泛的支持。Web服務(wù)的應(yīng)用只會增長。SOA本身據(jù)說是新的、不穩(wěn)定的和有風(fēng)險(xiǎn)的。但是,當(dāng)你選擇一個(gè)得到廣泛技術(shù)支持的合適的Web服務(wù)標(biāo)準(zhǔn)時(shí),這些風(fēng)險(xiǎn)基本上可以緩解。

最后,堅(jiān)持在某些類型的RPC式的系統(tǒng)的基礎(chǔ)上使用老式的SOAP是目前使用Web服務(wù)建立SOA的一種可行的機(jī)制。如果你這樣做,你就可以顯著減少鎖定廠商的機(jī)會。(IT專家網(wǎng))

 

發(fā)布:2007-04-27 15:49    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:

泛普泛普博客其他應(yīng)用

泛普OA商務(wù)合同 泛普OA需求調(diào)研 泛普OA實(shí)施方案 泛普OA項(xiàng)目啟動 泛普網(wǎng)絡(luò)硬件配置 泛普OA部署安裝 泛普流程模板表單 OA系統(tǒng)二次開發(fā) 泛普常見問題解決 泛普OA操作手冊 泛普軟件項(xiàng)目驗(yàn)收 泛普培訓(xùn)推廣上線 泛普OA售后服務(wù) 泛普新聞 泛普期刊 泛普博客