非同期サービス・テストの概要

非同期サービスでは、オブジェクト間の通信にコールバック相互作用のパターンを使用します。非同期サービスは、例えば、メッセージ指向のミドルウェア・ベンダーによって提供されるパブリッシュ/サブスクライブ・システム、またはシステムおよびデバイス管理ドメインで使用することができます。

WS-Notification サービス

非同期サービスは、以下のように WS-Notification 仕様で標準化されています。

WS-Notification 仕様を実装する Web サービスおよび XML サービスは、テスト内に非同期要求を作成することによってテストできます。 非同期要求には、対応する WS-Notification 仕様のインターフェースがコールバック構造と共に含まれています。

独自の非同期サービス

WS-Notification 仕様を実装しない独自の非同期サービスをテストすることができます。 それらのサービスをテストするには、サービスのインターフェースを含むサービス要求を手動で作成し、その要求に非同期コールバック構造を追加します。

非同期要求の XML データには、コールバックの受信側の URL を指定するエンドポイントが含まれている必要があります。 テスト中には、このエンドポイントの使用により、コールバックが実際の受信側ではなくテスターにリダイレクトされます。

コールバック構造

非同期サービスをテストするには、次の図に示すように、テストに非同期要求構造を作成する必要があります。

非同期要求構造の例
Web サービス要求、またはプレーンな XML 要求は、サブスクリプションのアクションを提供し、コールバック・エレメントを含んでいます。コールバック・エレメントは、テストの動作を以下の 3 つの状態によって記述します。
  • 並列 には、サブスクリプション要求の後、通知応答の待機中に実行されるテスト・エレメントが含まれます。
  • 受信 には、サービスから通知応答を受信すると実行されるテスト・エレメントが含まれます。
  • タイムアウト には、コールバック・エレメントで指定された遅延時間を経過しても通知応答が受信されない場合に実行されるテスト・エレメントが含まれます。

並列、受信、およびタイムアウトの各エレメントのすべての内容が実行された後は、テスト内の非同期要求の次のエレメントが続けて実行されます。

テスト内の非同期コールバック構造の生成方法は、以下に示すように、その非同期サービスが WS-Notification 仕様を使用するかどうかによって異なります。
  • WS-Notification サービス: 非同期要求をテスト内に作成します。
  • 独自のサービス: Web サービス要求または XML 要求をテスト内に手動で作成し、その要求に非同期コールバック構造を追加します。

フィードバック