検索

1.4.5. WS-AtomicTransaction の使用

download PDF
wsat-simple クイックスタートは、Red Hat JBoss Enterprise Application Platform にデプロイするために WAR アーカイブにバンドルされた WS-AT(WS-AtomicTransaction) 対応の JAX-WSWeb サービスのデプロイを示しています。
レストランが提供する予約のための Web サービスです。このサービスでは、Atomic Transaction 内で予約を行うことができます。この例は、WS-AT 対応の Web サービスを実装するための基本を示しています。より高度な機能を示すことは、このクイックスタートの範囲を超えています。特に以下を確認します。
  • サービスは、障害が発生した場合の回復をサポートするために必要なフックを実装していません。
  • また、トランザクションバックエンドリソースを利用しません。
  • プロトコルに参加する Web サービスは 1 つだけです。WS-AT は 2PC 調整プロトコルであるため、複数の参加者がいるシナリオに最適です。
より完全な例については、Narayana プロジェクトに付属している XTS デモンストレーターアプリケーションを参照してください。http://www.jboss.org/narayana
また、WS-Atomic Transaction を理解していることを前提としています。詳細については、Narayana プロジェクトに付属している XTS ドキュメントを参照してください。このドキュメントは、http://www.jboss.org/narayana/documentation/4174_Final からダウンロードできます。
このアプリケーションは、WAR アーカイブ内にデプロイされた単一の JAX-WS Web サービスで設定されています。これは、JBoss Arquillian 対応の JUnit テストでテストされます。
org.jboss.as.quickstarts.wsat.simple.ClientTest#testCommit() メソッドを実行すると、次の手順が実行されます。
  1. 新しい Atomic Transaction (AT) がクライアントによって作成されます。
  2. WS-AT 対応の Web サービスでの操作は、クライアントによって呼び出されます。
  3. WS クライアントハンドラーチェーンの JaxWSHeaderContextProcessor は、WS-AT コンテキストを送信 SOAP メッセージに挿入します。
  4. サービスが SOAP 要求を受信すると、ハンドラーチェーン内の JaxWSHeaderContextProcessor が WS-AT コンテキストを検査し、要求をこの AT に関連付けます。
  5. Web サービス操作が呼び出されます。
  6. 参加者はこの AT に参加しています。これにより、Web サービスロジックがコミットやロールバックなどのプロトコルイベントに応答できるようになります。
  7. サービスはビジネスロジックを呼び出します。この場合、レストランへの予約となります。
  8. バックエンドリソースが準備されます。これにより、コーディネーターから指示されたときに、バックエンドリソースが変更を元に戻したり永続的にしたりできるようになります。
  9. その後、クライアントは AT をコミットするかロールバックするかを決定できます。クライアントがコミットすることを決定した場合、コーディネーターは 2PC プロトコルを開始します。参加者がロールバックすることを決定した場合、すべての参加者はロールバックするように指示されます。
クライアントが AT をロールバックすることを決定した場合に何が起こるかを示す別のテストがあります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.