国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

關于誰需要Web服務事務處理的具體看法

2024-07-21 02:39:53
字體:
來源:轉載
供稿:網友
事務處理支持出現在Web服務標準當中。
  
  想想商務應用程序中的事務處理,你會馬上想到銀行業務、股票交易與航空訂票系統,這些都是典型的規模巨大且非常昂貴的企業系統,這些系統的信息假如有誤,可能會導致嚴重后果。
  
  希奇地是,當試圖利用Web服務來構建第一個應用程序時,你就會發現關于Web服務事務處理的信息非常缺乏。把銷售商的文件從頭看到尾,可能什么都找不到。
  
  當然,在Web服務(過去5年中最主要的技術發展趨勢)的某個地方,應當有很多關于面向服務的事務處理的信息。本專欄將闡述Web服務事務處理規范的過去、現在和未來。
  
  Web服務事務處理的歷史
  似乎并不是Web服務剛一出現,這個行業就忽略了事務處理。更確切地說,是事務處理至今一直都沒有成為那些已經使用了Web服務的應用程序的成功基礎。
  
  許多早期的Web服務項目致力于已經證實的需求/響應Web結構的再開發和多元化利用,其中對事務處理的支持要么是利用傳統的Web技術(如HTTP會話或cookie)明確編進應用程序層,要么通過讓應用程序只提供對后端商務系統的只讀訪問而明確禁止。但更多的開發人員正在立項以測試簡單Web服務的限度,促使幾個標準研究計劃將事務性語義引入Web服務。
  
  2000年,許多重量級銷售商編寫了一個叫做事務處理授權標記語言(Transaction Authority Markup Language)的規范。2001年,BEA創立了一個叫做商業事務處理協議(Business Transaction PRotocol)的規范。2002年,IBM與微軟創立了WS-Transaction和WS-Coordination,作為用于面向Web服務的業務流程執行語言(Business Process Execution Language for Web Services ,BPEL4WS)的組成部分。2003年8月,一個包括Oracle在內的銷售商聯盟提出了Web服務復合應用框架(Web Services Composite application Framework ,WS-CAF),將其作為以前那些研究計劃的擴充。
  
  事務處理:需要還是不需要?
  
  在傳統應用程序中,多數事務往往耗時短且同時進行,而且參與者也不多:一個將向銀行貸款的客戶,一個預定飛機票的旅客,一個完成購買的股票商。這些都是基本事務處理。人們對這些都很清楚;一直就缺少的是這些事務語義的Web服務層。
  
  在商務處理領域將事務性語義與Web服務集成在一起變得更為復雜。這里,Web服務的交互時間變長且不同時進行,涉及的當事人也很多。例如,一個旅客通過旅行社來籌劃商務旅行說明了典型商務流程的復雜性。處理這樣一個基于Web服務的商務旅行事務可能需要旅行社與航空訂票系統、飯店預訂系統及汽車租貸系統進行交互。這種情況如圖 1所示
  
 關于誰需要Web服務事務處理的具體看法(圖一)

  
圖1:一個商務旅行者通過一個旅行社預定一次旅行

  這種方案會導致很多問題:
  
  任何一個交互出現問題,旅客可能都需要與旅行社一起重新考慮整個商務旅行,也許不僅要改變出了問題的事項,還要改變相關的事項。
  與傳統的基本事務處理不同,在等待其他事務完成的同時很難鎖定全部參與資源。例如,航班與飯店預訂系統不可能一直等待汽車租貸系統中某一操作的結束。
  每個子事務都必須獨自完成,然后以某種方式與更大的耗時久的商務旅行事務建立聯系。在現實生活中,商務旅行事務也往往是更大的一個事務當中的一部分。例如,旅客或許想把商務旅行同休假結合起來。
  這樣的事務處理稱作商務活動。商務活動往往具有傳統基本事務處理的一些特征,但因為它們耗時久,有時需要好幾分鐘、好幾小時,甚至好幾天,所以必須創建一個新的語義集,以處理這些差別。
  
  將事務映射到Web服務
  中介(如一個旅行社)在治理這些交互操作時,每個問題可能都需人為干預。但在Web服務中,這些步驟經常都自動進行,以減少對人為干預的需求。
  多數被提議的Web服務事務處理規范既可處理基本事務又可處理商務活動事務,因為他們不可避免地要聯合制定Web服務方案。事實上,由于事務處理與商務流程關系清楚,BPEL4WS與WS-Transaction和WS-Coordination規范是聯合發布的。
  Web服務事務處理的定義程序是一個分布式事務處理協調程序。與我們方案中的旅行社有些類似,該事務處理協調程序相當于一個中介,它跟蹤所有涉及基本服務的交互操作,并且根據來自旅客的通知(通過商務應用程序),協調事務的接收或"提交"。
  與基本事務處理工具(如Oracle數據庫)中的傳統分布式事務協調程序不同,Web服務事務處理協調程序自身就是一種Web服務,它通過SOAP消息接收信息。但是,作為事務處理協調程序并不定義事務處理協議本身是什么。該協議通常是由協調規范的補充規范定義的--例如,WS-Transaction和WS-Transaction 治理。這些規范概括了Web服務執行過程是如何在基本事務處理和商務活動事務處理的上下文中描述諸如"開始"、"提交"與"回滾"等普通事務處理操作的。
  事務處理協議滿足了執行Web服務事務處理的各種要求,但并不獨立定義一個在并行的交互操作中只識別一個非凡的基本事務處理或商務活動事務處理的共享上下文。源于Web服務復合應用框架的WS-Context概括了如何創建一個公用共享上下文,它可以用于在參與該事務的Web服務間傳送這一信息。這個新的商務旅行方案中的這些移動部分如圖 2所示
  
關于誰需要Web服務事務處理的具體看法(圖二)


  
圖2:用于商務旅行的Web服務事務處理

  商務活動與補償事務
  迄今為止除了Web服務層之外,Web服務事務處理并未顯示出與平常的事務處理有很大差別。不過,其真正的不同之處在于商務活動。非凡是所有的Web服務事務處理規范都定義了一個補償的事務處理功能,在發生異常中止時并不回滾事務,而是指定一組撤消動作以應用于一個或多個Web服務交互操作。
  再看一下我們的旅行方案,設想舊金山與溫哥華之間的直航不再可行。可以執行一個補償事務處理,以設法預訂另一航班以及可在西雅圖中轉的路線。這可能會影響相應的旅館預訂,需要另一補償事務來提供到達及離開不同旅館的時間。
  補償事務處理是自動化商務處理流程的基礎,所以BPEL4WS引入了一個明確的聲明機制將其嵌入,來處理出了問題的Web服務活動,如上述情形。
  上述規范何時才能基于標準?
  你可能已經注重到本文將WS-Transaction/WS-Coordination和WS-CAF都稱作規范,而不是標準。不過在完成本文時,WS-CAF已經提交給OASIS,對于那些預備將Web服務由一項基礎技術變為進行企業應用開發與集成所依靠的要害技術的機構來說,這是個好兆頭。
  請關注Oracle技術網,因為Oracle不但繼續幫助制定Web服務標準,如WS-CAF,而且也開始提供Oracle應用程序服務器10g中的Web服務事務處理支持的預覽工具。
    

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乡族自治县| 阿坝| 枞阳县| 大城县| 淮南市| 交城县| 曲水县| 东平县| 乌兰浩特市| 云安县| 黄骅市| 兴和县| 庐江县| 岑巩县| 楚雄市| 阿坝| 崇州市| 饶平县| 梓潼县| 东港市| 丹巴县| 奉化市| 江门市| 溆浦县| 永寿县| 肃宁县| 唐河县| 合山市| 汉中市| 乳源| 永昌县| 十堰市| 安陆市| 新蔡县| 奉化市| 贺州市| 墨脱县| 沈阳市| 贡嘎县| 津南区| 柳河县|