12.2.14.2. Web Services-Atomic Transaction (WS-AT) プロセス
アトミックトランザクション (AT) は、ACID セマンティックが適切である場合に短期間の対話をサポートするよう設計されています。AT の範囲内では、Web サービスは通常 WS-T の制御下でブリッジングを用いてデータベースやメッセージキューなどの XA リソースにアクセスします。トランザクションが終了すると、参加者は AT の決定結果を XA リソースに伝搬し、各参加者によって適切なコミットまたはロールバックが実行されます。
アトミックトランザクション (AT) プロセス
- AT を開始する際、クライアントは最初に WS-T をサポートする WS-C Activation Coordinator Web サービスを見つけます。
- クライアントはコーディネーション型として指定 http://schemas.xmlsoap.org/ws/2004/10/wsat して WS-C
CreateCoordinationContext
メッセージをサービスに送信します。 - クライアントは適切な WS-T コンテキストをアクティベーションサービスから受け取ります。
CreateCoordinationContext
メッセージの応答であるトランザクションコンテキストのCoordinationType
要素は WS-AT 名前空間 http://schemas.xmlsoap.org/ws/2004/10/wsat に設定されます。また、参加者を登録できるアトミックトランザクションコーディネーターエンドポイントである WS-C Registration Service への参照も含まれます。- クライアントは通常、続いて Web サービスの呼び出しを行い、Web サービスによるすべての変更をコミットまたはロールバックしてトランザクションを完了します。完了できるようにするには、エンドポイントがコーディネーションコンテキストで返された登録サービスに登録メッセージを送信し、クライアントを完了プロトコルの参加者として登録する必要があります。
- クライアントを登録したら、クライアントアプリケーションは Web サービスと対話してビジネスレベルの作業を達成します。クライアントは、ビジネス Web サービスが呼び出されるごとに、トランザクションコンテキストを SOAP ヘッダーブロックの挿入し、各呼び出しがトランザクションによって暗黙的にスコープ付けされます。WS-AT 対応 Web サービスをサポートするツールキットは、SOAP ヘッダーブロックで見つかったコンテキストをバックエンド操作と関連付ける機能を提供します。これにより、Web サービスによる変更がクライアントと同じトランザクションの範囲内で行われるようにし、トランザクションコーディネーターによるコミットまたはロールバックの対象になるようにします。
- 必要なアプリケーションの作業がすべて完了したら、クライアントはサービス状態の変更を永続する目的でトランザクションを終了することができます。完了参加者は、トランザクションをコミットまたはロールバックするようコーディネーターに指示します。コミットまたはロールバック操作が完了すると、トランザクションの結果を示すために状態が参加者に返されます。
詳細については、Web サービス - トランザクションドキュメント を参照してください。