跨多個系統進行交易有可能嗎?交易處理多層應用程序
對於exeample:
層1 - 公開Web服務(部署到WebLogic) 層2 - 多個Web服務.NET前端(部署到IIS)
纔能有交易提交或回滾從.NET發起的調用?
如果是這樣,有人可以指向我的任何資源或文件?對於每一層遵守參與交易有沒有特殊要求?
跨多個系統進行交易有可能嗎?交易處理多層應用程序
對於exeample:
層1 - 公開Web服務(部署到WebLogic) 層2 - 多個Web服務.NET前端(部署到IIS)
纔能有交易提交或回滾從.NET發起的調用?
如果是這樣,有人可以指向我的任何資源或文件?對於每一層遵守參與交易有沒有特殊要求?
是的,這是可能的。 WCF允許使用使用WS-Atomic Transaction標準的Web服務,假設您的.NET客戶端中有可用的System.Transactions.TransactionScope
(例如,Silverlight不具備此功能)。
有一個很好的example on CodeProject,它顯示瞭如何使用TransactionScope
在.NET中生成和使用事務Web服務。
casperOne's mention of TransactionScope
是一個很好的解決方案,如果它在您的方案中可用。我愛上了它帶給桌上的簡單和力量。但是,我注意到你有一個Java標記並提到Weblogic作爲Web服務層,所以TransactionScopeRequired
property必須通過WS-AT(Web服務原子事務)或類似的轉錄協議來實現。
它絕對有可能的,但可能被證明是比你想象的鷂。您需要控制來修改這些Web服務的執行環境,以擴充它們,以便它們可以使用WS-AT標頭。此外,與任何分佈式事務環境一樣,由於大量的管理開銷,您可能會導致性能提升。
SOA-WORLD有一些很棒的文章解釋了Web服務事務和所有相關的OASIS標準。如果我可以找到其餘的我將添加它們,這是WS-Coordination上的一個。