7

複数のシステムにまたがるトランザクションを持つ可能性はありますか?

例:

レイヤー 1 - Web サービスを公開します (weblogic にデプロイされます) レイヤー 2 - .NET フロント エンド (IIS にデプロイされます)

.NET から開始された複数の Web サービス呼び出しに対して、トランザクションのコミットまたはロールバックを行うことはできますか?

もしそうなら、誰かが私にリソースやドキュメントを教えてもらえますか? また、各層がトランザクションに参加するために準拠するための特別な要件はありますか?

4

3 に答える 3

1

はい、可能です。WCF では、 WS-Atomic Transaction標準を利用する Web サービスを使用できますが、これは、.NET クライアントで使用できることを前提としていSystem.Transactions.TransactionScopeます (たとえば、Silverlight にはこれがありません)。

を使用して .NET でトランザクション Web サービスを生成および使用する方法を示す優れた例が CodeProjectTransactionScopeにあります。

于 2011-08-21T21:24:37.707 に答える
0

それは間違いなく可能ですが、あなたが思っているよりも危険であることが判明する可能性があります. これらの Web サービスの実行環境を変更して、WS-AT ヘッダーを使用できるように拡張する制御が必要です。さらに、他の分散トランザクション環境と同様に、かなりの管理オーバーヘッドにより、パフォーマンスが向上する可能性があります。

SOA-WORLD には、Web サービス トランザクションと関連するすべての OASIS 標準を説明する素晴らしい記事がいくつかありました。これはWS-Coordinationに関するもので、残りが見つかったら追加します。

于 2011-08-30T19:37:37.873 に答える
0

casperOne の言及TransactionScopeは、シナリオで利用できる場合、優れたソリューションです。私はそれがテーブルにもたらすシンプルさとパワーに恋をしました.

ただし、Java タグがあり、Web サービス層として Weblogic に言及しているため、TransactionScopeRequiredプロパティは 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

于 2011-08-30T18:16:00.067 に答える