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

WS-T協(xié)議族及其應(yīng)用研究

2008-12-31 00:00:00阮春榮周明天
計算機(jī)應(yīng)用研究 2008年9期

摘 要:介紹了Web服務(wù)和事務(wù)的相關(guān)概念,闡述了傳統(tǒng)事務(wù)處理協(xié)議在Web服務(wù)處理環(huán)境中存在的問題;然后結(jié)合目前流行的WST協(xié)議族對Web事務(wù)處理作了分析;最后根據(jù)分析總結(jié)了解決問題的思路,以及在Web服務(wù)事務(wù)處理中建議采用的策略。

關(guān)鍵詞:Web服務(wù); Web服務(wù)事務(wù); Web服務(wù)原子事務(wù); Web服務(wù)業(yè)務(wù)活動; Web服務(wù)業(yè)務(wù)活動發(fā)起者

中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A

文章編號:10013695(2008)09279803

WST protocol family and its research and application

RUAN Chunrong, CHEN Bo, ZHOU Mingtian

(Developing Union Laboratory of Information Safety, University of Electronic Science Technology of China, Chengdu 610054, China)

Abstract:The article introduced the related concepts about Web services and transactions.Then it analyzed the problems existing in the Web services processing environment about the traditional transaction process protocol and the WST protocol family. At last, according to the analysis above, it summarized the way to solve the problem and proposed an adopting strategy in the Web service transaction process.

Key words:Web services; WST; WSAtomicTransaction; WSBusinessActivity; WSBusinessActivityInitiator

隨著互聯(lián)網(wǎng)技術(shù)和應(yīng)用的迅速發(fā)展,Web 服務(wù)正在成為基于Internet的新一代計算平臺。Web 服務(wù)具有良好的互操作性,能夠為不同實現(xiàn)標(biāo)準(zhǔn)和通信機(jī)制下的軟件交互和集成提供有效的支持[1],因此具有廣泛的應(yīng)用前景。 在Web 服務(wù)應(yīng)用中,常常需要處理應(yīng)用相關(guān)的多個Web 服務(wù)間的交互和組合過程,這類過程必須保證多個Web 服務(wù)運行結(jié)果的可靠性和一致性,并能及時解決運行時的各種異常。因此,Web 服務(wù)處理環(huán)境需要事務(wù)技術(shù)的支持。

1 Web服務(wù)概念

Web服務(wù)是獨立的、模塊化的業(yè)務(wù)流程應(yīng)用程序[2,3],它基于的行業(yè)標(biāo)準(zhǔn)技術(shù)有WSDL、UDDI和SOAP。Web服務(wù)是包裝了一些操作的接口,通過標(biāo)準(zhǔn)化的XML消息傳遞機(jī)制SOAP來訪問這些操作,使得基于Web服務(wù)應(yīng)用程序具備松散耦合、面向組件和跨技術(shù)實現(xiàn)的特點。使用Web服務(wù)可以有效地解決異構(gòu)網(wǎng)絡(luò)之間的通信。Web服務(wù)是創(chuàng)建可互操作的、分布式應(yīng)用程序的重要選擇。Web服務(wù)可以單獨或與其他Web服務(wù)一起用于實現(xiàn)復(fù)雜的聚集或商業(yè)交易,從而可以以一種平臺和語言獨立的方式在網(wǎng)絡(luò)上經(jīng)營業(yè)務(wù)。

Web 服務(wù)系統(tǒng)具有以下特性:a)長事務(wù)。由于商務(wù)處理、網(wǎng)絡(luò)延遲和用戶的交互,一個Web 服務(wù)事務(wù)處理過程往往會持續(xù)較長的時間,使得鎖定資源的策略不再適用。b)自治性。Web 服務(wù)提供者擁有對服務(wù)的控制權(quán),其他應(yīng)用可能無法鎖定它需要的資源。c)松耦合。Web 服務(wù)之間是松散耦合的。d)更多潛在的故障。不僅進(jìn)程和機(jī)器可能崩潰,廣域網(wǎng)絡(luò)也比傳統(tǒng)分布式系統(tǒng)的內(nèi)部網(wǎng)更加不可靠。e)一次事務(wù)過程可能跨越多個組織。

2 事務(wù)及其屬性

事務(wù)是一系列對于物理的或抽象的應(yīng)用狀態(tài)的操作組成的集合。事務(wù)的目的是確保系統(tǒng)容錯和并發(fā)控制的正確順利運行,從而更好地保證系統(tǒng)的可靠性。

傳統(tǒng)的分布式事務(wù)具有ACID 性質(zhì):a)原子性(atomicity),事務(wù)的所有參加者要么都提交,要么都撤銷;b)一致性(consistency),事務(wù)不會破壞系統(tǒng)的恒定,事務(wù)執(zhí)行的結(jié)果必須使系統(tǒng)從一個一致性狀態(tài)變換到另一個一致性狀態(tài);c)獨立性(isolation),并發(fā)執(zhí)行的各個事務(wù)間不會相互干擾;d)持久性(durability),事務(wù)一旦提交,它對系統(tǒng)的改變就是永久的,其他任何操作或故障都不會對其產(chǎn)生影響。

為了實現(xiàn)嚴(yán)格的ACID 性質(zhì),事務(wù)必須是短生命期的;系統(tǒng)必須是緊耦合的;協(xié)調(diào)者必須對參加者擁有完全的控制權(quán)。

3 傳統(tǒng)事務(wù)處理協(xié)議

傳統(tǒng)事務(wù)處理主要處理嚴(yán)格遵循ACID屬性的原子事務(wù),其處理有賴于傳統(tǒng)事務(wù)處理中的資源鎖定等技術(shù)手段。作為分布式自治服務(wù)構(gòu)成的粗粒度業(yè)務(wù)事務(wù),由于沒有集中化的事務(wù)管理器,必須實現(xiàn)完成協(xié)議(completion protocol)。應(yīng)用程序首先通過該協(xié)議來告知協(xié)調(diào)器嘗試提交或放棄一個事務(wù)。對于具體的提交,需要實現(xiàn)典型的兩階段提交協(xié)議[4](2PC)。兩種協(xié)議均實現(xiàn)為底層協(xié)調(diào)框架中的協(xié)調(diào)協(xié)議。

完成協(xié)議用于啟動提交處理。為完成而注冊的Web服務(wù)能夠通知指定的協(xié)調(diào)者何時開始提交處理。該協(xié)議還詳細(xì)說明了用于通知啟動者事務(wù)最終結(jié)果的消息。

兩階段提交協(xié)議為所有已注冊的參與者提供了一個公共的提交或終止決定,確保了所有參與者都能得到最終結(jié)果通知。顧名思義,它使用兩輪通知來完成該事務(wù)。該協(xié)議的兩個變體是易失2PC(volatile 2PC)和持久2PC(durable 2PC)。這兩個協(xié)議使用相同的消息(對應(yīng)于prepare、commit和abort操作),但易失2PC沒有持久性要求。易失2PC協(xié)議供管理易失資源的參與者使用,如緩存管理器或窗口管理器。這些參與者在第一輪通知中不與協(xié)調(diào)者發(fā)生聯(lián)系,且不需要第二輪的通知。持久2PC協(xié)議供管理數(shù)據(jù)庫和文件等持久資源的參與者使用。當(dāng)某一提交處理已經(jīng)啟動時,在所有易失2PC參與者被聯(lián)系過之后這些參與者會第一次被聯(lián)系,這使緩存能夠被刷新。持久2PC參與者需要完整的兩輪通知來實現(xiàn)協(xié)調(diào)者所要求的全有或全無行為以及完成該事務(wù)。這些行為最適合于在整個事務(wù)期內(nèi)持有資源,且該事務(wù)通常為非常短暫事務(wù)的情況。該協(xié)議保證在正常處理的情況下,協(xié)調(diào)者提供第一階段結(jié)果的同時將聯(lián)系所有參與者。兩階段提交協(xié)議的兩階段協(xié)作如圖1所示。

4 傳統(tǒng)事務(wù)處理協(xié)議在Web服務(wù)中存在的問題

Web services 與傳統(tǒng)事務(wù)處理協(xié)議之間存在著矛盾。傳統(tǒng)事務(wù)處理協(xié)議是嚴(yán)格遵循事務(wù)的ACID屬性的。

Web services 是松耦合的環(huán)境。傳統(tǒng)事務(wù)處理協(xié)議中事務(wù)的隔離性要求使不同的事務(wù)之間不能進(jìn)行消息或控制的交換,這樣就限制了參與者之間的交互和數(shù)據(jù)交換,使得協(xié)作喪失了基礎(chǔ),Web services 的松耦合優(yōu)勢得不到體現(xiàn)。

傳統(tǒng)事務(wù)處理協(xié)議[5]對長事務(wù)支持較差,長時間持續(xù)增加了執(zhí)行過程中出現(xiàn)差錯的可能性,根據(jù)事務(wù)的原子性要求,將導(dǎo)致前功盡棄。對于協(xié)作過程特別是同步協(xié)作,參與者需要感知到其他參與者的存在。而傳統(tǒng)的事務(wù)處理協(xié)議中, 用戶獨自使用數(shù)據(jù)庫, 感覺不到其他用戶。Web services 事務(wù)處理能力是其能否投入商業(yè)應(yīng)用的關(guān)鍵技術(shù)之一[5],因此提出了各種不同的事務(wù)處理協(xié)議支持Web services 環(huán)境下的事務(wù)處理。

5 WST(WSTransaction)協(xié)議族

WSBA[6](WSBusinessActivity)規(guī)范與WSAT(WSAtomicTransaction)和WSC(WSCoordination)規(guī)范一起形成了WST協(xié)議族,同時它也被稱為Web服務(wù)事務(wù)處理框架[7](Web services transaction framework,WSTF)。在這些規(guī)范集中,WSC提供實現(xiàn)Web服務(wù)事務(wù)處理交互的基礎(chǔ),它定義了事務(wù)的協(xié)調(diào)上下文和注冊服務(wù)的協(xié)議。WSAT和WSBA基于WSC說明了不同類型的事務(wù)類型。WSAT集中于處理遵循ACID規(guī)則的事務(wù),它實現(xiàn)兩階段提交協(xié)議;WSBA集中于長事務(wù)處理,允許人為交互和混合結(jié)果。同時H.Erven等人[6]定義了WSBA規(guī)范的擴(kuò)展協(xié)議——WSBAI(WSBusinessActivityInitiator),這個協(xié)議明確地定義了發(fā)起者與協(xié)調(diào)服務(wù)之間的接口。

51 WSC協(xié)議

WSC規(guī)范為Web services 協(xié)調(diào)提供了一個通用的基礎(chǔ),并對當(dāng)今市場上存在的各種標(biāo)準(zhǔn)事務(wù)機(jī)制提供支持。WSC規(guī)范包含對原子事務(wù)和業(yè)務(wù)事務(wù)協(xié)議的定義。

WSC[8]是一個協(xié)調(diào)框架,它使分布的參與者能夠在他們的行動上就一個通用的結(jié)果達(dá)成一致。分布式的參與者能夠使用WSC[6]將每個參與者的行為集合在一起,并且通過確保它們在協(xié)調(diào)上下文中執(zhí)行的所有操作均產(chǎn)生單一的結(jié)果來進(jìn)一步管理這些行為。協(xié)調(diào)服務(wù)也叫協(xié)調(diào)器,它由激活服務(wù)、注冊服務(wù)和協(xié)調(diào)協(xié)議服務(wù)組成。激活服務(wù)支持創(chuàng)建事務(wù)上下文操作來創(chuàng)建協(xié)調(diào)上下文;注冊服務(wù)用來協(xié)調(diào)協(xié)議選擇和注冊參與方;協(xié)調(diào)協(xié)議服務(wù)支持協(xié)調(diào)協(xié)議的使用,該協(xié)議定義了協(xié)調(diào)器與參與者之間的行為和通信。52 WSAT協(xié)議

原子事務(wù)支持主要處理嚴(yán)格遵循ACID屬性的事務(wù),其事務(wù)處理采用兩階段提交協(xié)議。兩階段提交協(xié)議中存在以下兩個階段:a)準(zhǔn)備階段。事務(wù)協(xié)調(diào)者將向事務(wù)中的每個參與者發(fā)送一則消息,要求每個參與者準(zhǔn)備提交[4,5]。當(dāng)某參與者準(zhǔn)備好時,它保證可以提交事務(wù)并為自己的工作生成一條永久記錄。在保證可以提交之后,它不能再單方面決定回滾事務(wù)。如果該參與者不能準(zhǔn)備(也就是說如果它不能保證自己可以提交任務(wù)) ,那么必須回滾事務(wù)。b)解決階段。事務(wù)協(xié)調(diào)者將對所有回應(yīng)作出抉擇[4,5]。如果所有參與者都準(zhǔn)備提交,則提交事務(wù);否則回滾事務(wù)。無論哪種情況,事務(wù)協(xié)調(diào)者都會將結(jié)果通知所有參與者。如果結(jié)果為提交,參與者將確認(rèn)它們已經(jīng)提交[9]。

53 WSBA協(xié)議及其擴(kuò)展協(xié)議WSBAI

WSBA標(biāo)準(zhǔn)[10]提供了靈活的事務(wù)處理特性。它主要用于協(xié)調(diào)長時間運行、松耦合的事務(wù),并希望應(yīng)用業(yè)務(wù)邏輯來處理業(yè)務(wù)異常。由于隔離性限制被取消,資源鎖定手段不再適用。它與原子事務(wù)處理最大的差異在于引入了補償機(jī)制。補償機(jī)制不要求參與者鎖定數(shù)據(jù)并延遲提交數(shù)據(jù),而是假設(shè)所有的更新都是立即提交,但準(zhǔn)備了反向的操作方式在發(fā)生錯誤時撤銷已經(jīng)執(zhí)行操作帶來的影響。

WSBA規(guī)范允許嵌套事務(wù)邏輯[6,10]。一個業(yè)務(wù)活動也許會包含于另一個業(yè)務(wù)活動,這也就意味著一個長事務(wù)會集成多個原子事務(wù)。不過,在事務(wù)處理中它允許子事務(wù)單獨提交,并由上一級事務(wù)邏輯負(fù)責(zé)決定這個長時間運行事務(wù)的最終結(jié)果。

與WSAT規(guī)范(定義了所有必要的事務(wù)處理的接口)不同的是[6],WSBA規(guī)范沒有定義發(fā)起者和協(xié)調(diào)者之間的接口。這樣允許客戶將WSBA協(xié)調(diào)者和他們的事務(wù)處理引擎相結(jié)合,然而這需要在發(fā)起者與協(xié)調(diào)者之間設(shè)立專用的協(xié)議。WSBAI[6]正是這樣明確定義了發(fā)起者與協(xié)調(diào)者之間的接口協(xié)議。

為了創(chuàng)建一個事務(wù)上下文,發(fā)起者需要聯(lián)系激活服務(wù)。另外,發(fā)起者需要通過聯(lián)系與事務(wù)上下文關(guān)聯(lián)的注冊服務(wù)向WSBAI協(xié)議注冊自己。協(xié)調(diào)器只允許一個事務(wù)上下文有一個發(fā)起者[6,10],在發(fā)起者注冊完畢后,協(xié)調(diào)器將拒絕WSBAI協(xié)議的任何后繼注冊請求。當(dāng)成功注冊時,發(fā)起者使用WSBAI協(xié)議服務(wù)來與事務(wù)上下文通信。

在子上下文中取消和補償操作的特殊考慮[6,10]:

在完成狀態(tài)下,WSBA協(xié)議允許協(xié)調(diào)器和參與者發(fā)起狀態(tài)轉(zhuǎn)換消息,即協(xié)調(diào)器可以發(fā)送取消,參與者也可以發(fā)送退出、完成或者錯誤。如果雙方同時發(fā)送消息,它們將會相互抵觸。這時協(xié)調(diào)器必須放棄它自己的消息并接收參與者的信息。

如果參與者報告完成,這時它需要運行補償,因為協(xié)調(diào)器發(fā)送了取消消息。但這不像取消,補償是允許失敗的[6]。在事務(wù)處理過程中,允許這種情況發(fā)生:當(dāng)協(xié)調(diào)器及時發(fā)送取消命令時,參與者卻以任何方式完成,但過一段時間它在補償時失敗。這樣,這個任務(wù)就永久地完成了而不是被取消。

這種情況在子上下文中是特別[6]不好的。當(dāng)子上下文的協(xié)調(diào)器告知取消并向前發(fā)送這個命令給本地參與者時,一些參與者也許成功地取消了,而其他的已經(jīng)完成了。但協(xié)調(diào)器不能報告完成,因為這個任務(wù)的一些部分已經(jīng)取消了。另一方面它也不能報告取消,因為一些工作確實是執(zhí)行了。因而子協(xié)調(diào)器必須立即試圖補償這些已完成的參與者的操作。如果它們都成功地補償了[6],才可以向上一級上下文報告取消。如果一個參與者在補償時失敗了,整個子上下文必須向上一級上下文報告錯誤來進(jìn)一步處理這個問題[6]。

6 結(jié)束語

從以上對各規(guī)范的分析可以看出, 要解決傳統(tǒng)事務(wù)處理存在的問題,需要將傳統(tǒng)事務(wù)進(jìn)行擴(kuò)展,建立適合實際需要的事務(wù)模型,并在此基礎(chǔ)之上制定事務(wù)處理協(xié)議。Web services處理需要各事務(wù)處理協(xié)議的相互協(xié)作才能滿足現(xiàn)在業(yè)務(wù)活動的需要,也才能達(dá)到事務(wù)處理預(yù)定的效果。如可以使用WST協(xié)議族,并在具體實現(xiàn)時將WSBA規(guī)范與WSBAI規(guī)范結(jié)合使用,因為WSBAI使得WSBA發(fā)起者能夠招募參與者[6],檢查它們現(xiàn)在的狀態(tài)和通知協(xié)調(diào)服務(wù)它做的決定。這樣不僅能使源代碼的模塊性劇烈增強(qiáng),而且允許來自不同客戶的協(xié)調(diào)者和參與者進(jìn)行透明的合作[6]。

在設(shè)計一個系統(tǒng)實現(xiàn)時,可以使用擴(kuò)展協(xié)議這種機(jī)制,它可以方便地對協(xié)調(diào)類型進(jìn)行擴(kuò)展。當(dāng)出現(xiàn)新的事務(wù)業(yè)務(wù)邏輯時,只需要在業(yè)務(wù)事務(wù)處理核心模塊中插入相應(yīng)的事務(wù)協(xié)調(diào)支持,而不用改變整個系統(tǒng)的結(jié)構(gòu)。另外,由于事務(wù)處理的參與者需要向協(xié)調(diào)器注冊,且一個事務(wù)可能需要若干個參與者。可以通過handler技術(shù)來實現(xiàn)它們的注冊,即通過在客戶端和服務(wù)端配置handler來實現(xiàn)。當(dāng)事務(wù)上下文創(chuàng)建以后,具體的業(yè)務(wù)操作開始通過SOAP引擎發(fā)送SOAP請求消息給相應(yīng)業(yè)務(wù)的服務(wù)提供者時,通過客戶端配置的handler,在這個SOAP請求消息的header中加入相應(yīng)的協(xié)調(diào)上下文。當(dāng)這個請求消息到達(dá)服務(wù)端時,通過服務(wù)端配置文件中配置的handler來處理SOAP請求消息的header,以此確定是否需要注冊參與者,即參與者的注冊過程可在事務(wù)上下文創(chuàng)建之后,在執(zhí)行具體的業(yè)務(wù)邏輯時,通過客戶端和服務(wù)端配置的handler來決定是否要注冊參與者。這種處理方式可以方便地擴(kuò)展事務(wù)的參與者。

參考文獻(xiàn):

[1]尹瑞.Web 服務(wù)事務(wù)處理系統(tǒng)的研究與實現(xiàn)[J]. 北京航空航天大學(xué)學(xué)報,2005,31(4):439442.

[2]MONSONHAEFEL R. J2EE Web services高級編程[M].崔洪斌,王愛民,譯. 北京:清華大學(xué)出版社,2005.

[3]趙傳慧.Web服務(wù)事務(wù)處理技術(shù)分析[J].中州煤炭,2005(6):2829.

[4]CABRERA L,COPELAND G,COX W,et al. Web services atomic transaction[EB/OL].(2005).ftp://www6.software.ibm.com/software/developer/library/WSAtomicTransaction.pdf.

[5]石雙元.事務(wù)處理協(xié)議及其在Web services中的應(yīng)用分析[J].管理學(xué)報,2005,2(sup):7073.

[6]ERVEN H, HICKER G, HUEMER C,et al. The Web servicesBusinessActivityInitiator protocol: an extension to the Web ServicesBusinessActivity specification[K].[S.l.]:Business Informatics Group,2006.

[7]Web services transaction framework[EB/OL]. (2005).http://www128.ibm.com/developerworks/library/specification/wstx/.

[8]CABRERA L,COPELAND G,COX W,et al.Web services coordination(WSCoordination)[EB/OL] .(2005).ftp://www6.software.ibm.com/software/developer/library/ WSCoordination.pdf.

[9]唐飛龍. 一個Web 服務(wù)事務(wù)處理模型:結(jié)構(gòu)、算法和事務(wù)補償[J].電子學(xué)報,2003,31(12):20742078.

[10]CABREA L,COPELAND G,COX W,et al.Web services business activity framework[EB/OL]. (2005).ftp://www6.software.ibm.com/software/developer/library/WSBusinessActivity.pdf.

主站蜘蛛池模板: 呦女精品网站| 亚洲一区二区视频在线观看| 亚洲高清无在码在线无弹窗| 国产精品一线天| 玩两个丰满老熟女久久网| 亚洲欧洲日韩综合色天使| 亚洲乱码视频| 高清无码手机在线观看| 亚洲第一福利视频导航| 亚洲精品片911| 欧美成在线视频| 日韩免费视频播播| 欧美精品成人一区二区视频一| 国产第一色| 综1合AV在线播放| 国产无遮挡猛进猛出免费软件| 国产亚洲精品精品精品| 日日拍夜夜操| 国产浮力第一页永久地址| 久久精品电影| 精品久久人人爽人人玩人人妻| 在线va视频| 成人国产精品一级毛片天堂| 亚洲三级电影在线播放| 一本一道波多野结衣一区二区| 黄色免费在线网址| 一本大道在线一本久道| 欧美日韩免费在线视频| 人妻精品全国免费视频| 最新无码专区超级碰碰碰| 精品91视频| 在线观看热码亚洲av每日更新| 欧洲亚洲一区| 美女扒开下面流白浆在线试听| 伊人久综合| 国产精品亚洲精品爽爽| 东京热av无码电影一区二区| 亚洲欧美成人综合| 亚洲高清免费在线观看| 久久99精品久久久久纯品| 国产精品深爱在线| 国产色偷丝袜婷婷无码麻豆制服| 中文无码精品a∨在线观看| 亚洲欧洲国产成人综合不卡| 日韩高清无码免费| 国产成人欧美| 婷婷五月在线| 国产另类视频| 国产精品视频白浆免费视频| 国产手机在线小视频免费观看| 亚洲精品动漫| 亚洲性影院| 老司国产精品视频91| 亚洲久悠悠色悠在线播放| 福利在线不卡一区| 激情在线网| 香蕉网久久| 久久精品日日躁夜夜躁欧美| 亚洲第一黄色网址| 玖玖精品视频在线观看| 国产91蝌蚪窝| 亚洲人成网线在线播放va| 国产老女人精品免费视频| 中文字幕首页系列人妻| 欧美在线国产| 亚洲国产成人自拍| 亚洲AV电影不卡在线观看| 亚洲swag精品自拍一区| 无码电影在线观看| 国产视频只有无码精品| 美女免费黄网站| 91久久青青草原精品国产| 国产精品hd在线播放| 国产丝袜精品| 天天干天天色综合网| 亚洲第一色视频| 91小视频版在线观看www| 免费又爽又刺激高潮网址| 高清色本在线www| 亚洲成A人V欧美综合天堂| 国产99精品久久| 激情网址在线观看|