2011-08-21 20 views
7

複数のシステム間でトランザクションが発生する可能性はありますか? exeampleについてはトランザクション処理のマルチティアアプリケーション

層1 - (WebLogicへの展開)Webサービスを公開し 層2 - (IISにデプロイ).NETフロントエンドは

我々は、トランザクションが複数のWebサービスのコミットまたはロールバックすることはできます.NETからの呼び出しは?

もしそうなら、誰かが私にあらゆるリソースや文書を指摘できますか?そして、レイヤーがトランザクションに参加することを遵守するための特別な要件はありますか?

答えて

1

はい、可能です。 WCFでは、WS-Atomic Transaction標準を使用するWebサービスを消費することができます。これは、.NETクライアントでSystem.Transactions.TransactionScopeが利用可能であるとします(Silverlightなど)。

TransactionScopeを使用して.NETでトランザクションWebサービスを生成し、消費する方法の両方を示す優れたexample on CodeProjectがあります。それはあなたのシナリオで使用可能な場合

0

casperOne's mention of TransactionScopeは優れたソリューションです。私はテーブルにもたらすシンプルさとパワーに恋しています。

しかし、私はあなたがJavaタグを持ち、WeblogicをWebサービス層として言及しているので、TransactionScopeRequired propertyはWS-AT(Web Services Atomic Transaction)または同様の転写プロトコルで実装する必要があります。 http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/cjta_wstran.html

0

その間違いの可能な、しかし、あなたが思うだろうよりも、ハリアーになるかもしれない:

はこちらを参照してください。これらのWebサービスの実行環境を変更して、WS-ATヘッダーを消費できるようにWebサービスを拡張するように制御する必要があります。また、分散トランザクション環境と同様に、管理上のオーバーヘッドが大きいため、パフォーマンスが向上する可能性があります。

SOA-WORLDは、Webサービスの取引および関連するすべてのOASIS標準を説明するいくつかの素晴らしい記事を持っていました。ここにはWS-Coordinationのものがあります。残りを見つけることができれば、それらを追加します。

関連する問題