WS-AtomicTransaction(原子): 是一種可互操作的事務(wù)協(xié)議。它使您能夠使用 Web 服務(wù)消息對(duì)分布式事務(wù)進(jìn)行流處理并以可互操作的方式在異類事務(wù)基礎(chǔ)結(jié)構(gòu)之間進(jìn)行協(xié)調(diào),。WS-AT 使用兩階段提交協(xié)議在分布式應(yīng)用程序,、事務(wù)管理器和資源管理器之間驅(qū)動(dòng)原子結(jié)果的生成。 WS-Coordition(協(xié)調(diào)) protocols: 在介紹WS-Coordination規(guī)范前,,首先讓我們了解一下Coordination的概念以及它的應(yīng)用背景,。 簡(jiǎn)而言之,一個(gè)實(shí)體和一個(gè)活動(dòng)的參與者之間傳遞消息的過(guò)程就可以稱之為Coordination。例如在實(shí)現(xiàn)分布式事務(wù)時(shí),,就需要由事務(wù)管理器在各個(gè)資源管理器之間相互協(xié)調(diào),,并且由2PC(兩階段提交協(xié)議)規(guī)定了具體的協(xié)調(diào)過(guò)程。為了控制工作流的運(yùn)行,,也會(huì)需要使用協(xié)調(diào)者與工作流中的各個(gè)活動(dòng)打交道,。使用Coordination的目的可以是為了在多個(gè)參與者之間達(dá)成一致的結(jié)果,也可以僅僅是為了在某個(gè)特定的條件下讓參與者都接收到在應(yīng)用領(lǐng)域中某個(gè)特定的消息,。 根據(jù)以上特點(diǎn),,不難推斷在分布式領(lǐng)域中存在許多需要使用Coordination的應(yīng)用。但是,在實(shí)際的應(yīng)用中,,不同的開(kāi)發(fā)平臺(tái)都使用各自不同的協(xié)調(diào)框架,。比如在OASIS的Business Transactions Protocol和OMG的Object Transaction Service中同樣為了實(shí)現(xiàn)分布式事務(wù)卻各自設(shè)計(jì)了不同的協(xié)調(diào)框架。在這種情況下不僅出現(xiàn)了重復(fù)設(shè)計(jì)的問(wèn)題,,并且由于協(xié)調(diào)框架與事務(wù)處理框架的緊密結(jié)合,,使得開(kāi)發(fā)者無(wú)法靈活高效的使用到Coordination的功能。 因此設(shè)計(jì)出一個(gè)更加通用并且專門(mén)針對(duì)Coordination需求的框架,,成為了一項(xiàng)非常有應(yīng)用價(jià)值的任務(wù),。Coordination框架在事務(wù)處理,工作流管理甚至活動(dòng)狀態(tài)管理中都將發(fā)揮重要作用,。 為了能夠在Web Services的環(huán)境下?lián)碛幸粋€(gè)通用的協(xié)調(diào)框架,,以解決各種需要使用協(xié)調(diào)功能的應(yīng)用,BEA,IBM,MS等公司共同制定了WS-Coordination規(guī)范,。WS-Coordination規(guī)范的一個(gè)重要特點(diǎn)就是它提供一個(gè)開(kāi)放的協(xié)調(diào)框架,,每個(gè)具體的應(yīng)用都可以在此基礎(chǔ)上設(shè)計(jì)自己的協(xié)調(diào)協(xié)議以控制整個(gè)協(xié)調(diào)過(guò)程,以達(dá)到各自的應(yīng)用目的,。比如在WS-AtomicTransaction規(guī)范中,,設(shè)計(jì)了Completion和2PC(2 Phrase Commit)兩套協(xié)議以實(shí)現(xiàn)Web Services組合活動(dòng)的事務(wù)性。 在 Web 服務(wù)中,,可靠的消息傳遞的目標(biāo)是使應(yīng)用程序簡(jiǎn)單地,、可靠地、有效地發(fā)送和接收消息,,甚至在應(yīng)用程序,、平臺(tái)或網(wǎng)絡(luò)失敗的情況下。最近由 BEA,、IBM,、Microsoft 和 Tibco 聯(lián)合發(fā)布的 WS-ReliableMessaging 規(guī)范(請(qǐng)參閱 參考資料)定義了一種協(xié)議和一套機(jī)制,使 Web 服務(wù)的開(kāi)發(fā)人員能夠確保在兩個(gè)端點(diǎn)之間可靠地傳遞消息,,該規(guī)范還具有各種傳遞保證和健壯性特征,。 然而,僅靠 WS-ReliableMessaging 規(guī)范并不足以解決在實(shí)現(xiàn)不同程度的健壯性,、完整性和性能(它們通常是應(yīng)用程序要求的)時(shí)必須考慮的許多重要注意事項(xiàng),。
WS-Security
WS-Security 描述通過(guò)消息完整性、消息機(jī)密性和單獨(dú)消息認(rèn)證提供 保護(hù)質(zhì)量對(duì) SOAP消息傳遞的增強(qiáng),。這些機(jī)制可以用于提供多種安全性模型和加密技術(shù),。 WS-Security 還提供關(guān)聯(lián)安全性令牌和消息的通用機(jī)制。WS-Security 不需要特定類型的安全性令牌,。它在設(shè)計(jì)上就是可擴(kuò)展的(例如支持多安全性令牌格式),。舉例來(lái)說(shuō),,客戶機(jī)可能會(huì)提供身份證明和他們有特定商業(yè)認(rèn)證的證明。 另外,,WS-Security 還描述如何對(duì)二進(jìn)制安全性令牌編碼,。此規(guī)范特別描述如何對(duì) X.509證書(shū)和 Kerberos票據(jù)編碼以及如何加入難于理解的加密密鑰。它還包括可以用于進(jìn)一步描述消息中包含的憑證特征的擴(kuò)展性機(jī)制,。 隨著客戶應(yīng)用程序用例的逐步發(fā)展,,確定了一套有關(guān)安全性的非功能性需求: 1.客戶與其業(yè)務(wù)伙伴之間的通信在因特網(wǎng)上傳播時(shí)不應(yīng)該被第三方看到。 2.客戶必須能夠確定消息來(lái)自哪個(gè)人并能夠證實(shí)發(fā)送方就是那個(gè)發(fā)送方聲稱的發(fā)送方,。 3.客戶必須能夠確定被傳送的數(shù)據(jù)沒(méi)有被篡改,。 使用 HTTPS/SSL 傳輸安全性可以解決非功能性需求 #1。 因?yàn)檫@個(gè)應(yīng)用程序?qū)⑹莻€(gè)點(diǎn)到點(diǎn)應(yīng)用程序,,不涉及第三方服務(wù)提供者或者中介者,,所以目前只是對(duì)使用密碼術(shù)加密整個(gè) SOAP 消息或加密 SOAP 消息的一部分這種想法進(jìn)行了評(píng)價(jià)但還未實(shí)現(xiàn)。假如不涉及第三方,,用來(lái)對(duì) SOAP 消息的某一段進(jìn)行加密的額外加密步驟所帶來(lái)的價(jià)值就不足以證明實(shí)現(xiàn)某種形式的消息級(jí)加密所需的額外開(kāi)發(fā)成本和復(fù)雜性是值得的。 使用數(shù)字簽名和數(shù)字證書(shū)可以解決非功能性需求 #2 和 #3,。當(dāng)使用數(shù)字證書(shū)方法時(shí),,Web 服務(wù)請(qǐng)求者必須有一個(gè)由 可信認(rèn)證中心簽署的數(shù)字證書(shū)。請(qǐng)求者將使用這個(gè)證書(shū)來(lái)表明他們的身份,,并對(duì) SOAP 消息進(jìn)行數(shù)字簽名,,這樣就可以驗(yàn)證請(qǐng)求者的身份和消息的完整性。 一旦客戶的系統(tǒng)接收到消息,,就要對(duì)消息做時(shí)間戳記并進(jìn)行日志記錄,。此時(shí),數(shù)字簽名會(huì)得到驗(yàn)證,。驗(yàn)證過(guò)程將確保消息來(lái)自發(fā)送方,,并且由于消息內(nèi)容是在發(fā)送方的站點(diǎn)上簽署的,所以還要驗(yàn)證消息內(nèi)容在傳輸過(guò)程中沒(méi)有被篡改,。我們的客戶在 DB2 中創(chuàng)建的 SOAP 消息日志將被用于實(shí)現(xiàn)不可抵賴性,。 WS-Trust WS-Security 規(guī)范已經(jīng)定義了通過(guò)使用安全性令牌來(lái)安全地交換消息的基本機(jī)制。WS-Trust 規(guī)范以這個(gè)模型為基礎(chǔ)進(jìn)行構(gòu)建,,定義了如何發(fā)出和交換這些安全性令牌,。 WS-Trust原理上類似SSL或TLS的機(jī)制,客戶端不必有服務(wù)端的證書(shū),,服務(wù)端證書(shū)可以通過(guò)消息交換交換到客戶端,。WS-Security 規(guī)范則不同,它沒(méi)有定義安全令牌的交換,,所以客戶端需要事先把安裝服務(wù)端證書(shū),,并在通訊時(shí)指定服務(wù)端證書(shū)。 |
|
來(lái)自: 碧海山城 > 《Web Service》