サービス・スタブの概要

サービス・スタブは実際のサービスのシミュレーションであり、テスト環境では機能的に実際のサービスの代わりとすることができます。スタブ・サーバーは、実際のアプリケーション・サーバーに代わります。

クライアント・アプリケーションの観点からは、サービス・スタブはシミュレートしている実際のサービスと同じに見えます。 実際のサービスの代わりにサービス・スタブを使用するには、 クライアント・アプリケーション内の元のサービスの URL をスタブ・サーバーの URL と置き換える必要が あります。

ユースケース例

場合によっては、テストに実際のサービスを使用せず、スタブ・サービスをデプロイする方が便利なケースもあります。
  • 別のリモート・サービスのデータを使用するローカル・サービスをテストする場合、テスト中のサービスにリモート・サービスから特定のコンテンツを挿入しなければならない場合があります。 サービス・スタブでリモート・サービスをシミュレートして、ローカル・サービスが特定の入力に適切に応答することを確認できます。
  • 商用サービスには、呼び出しのたびにユーザーに課金するものがあります。 そのようなサービスをテストする場合、実際のサービスの WSDL に基づくスタブ・サービスに対してテストを開発およびデバッグできます。そうすることにより、商用サービスから課金されることはありません。
  • 複数のクライアントおよびサー ビスを含む大規模アプリケーションの統合中、サービスによっては WSDL 仕様が使用可能でも動作しない場合があります。 サービス・スタブでこの欠落したサービスをシミュレートして、 統合作業を進めることができます。

サービス・スタブのアーキテクチャー

サービス・スタブは、既存の WSDL 仕様を指定 して作成します。サービス・スタブは、元のサービスとまったく同じポートとバインディングで生成されるため、まったく同じインターフェースで処理できます。 サービスの各操作は、WSDL で定義されたデフォルト・タイプの応 答を戻します。

サービス・スタブをスタブ・エディターで編集してデフォルトの応答を変更できます。または、元のサービスの実際の応答をシミュレートする、条件付きの応答を作成できます。

サービス・スタブの編集が完了したら、ワークベンチで実行するローカル・スタブ・サーバーにデプロイすることができます。スタブ・サーバーは、実際のアプリケーション・サーバーをシミュレートしており、複数のサービス・スタブをホストできます。 スタブ・サーバーはスタブ・モニター・ビューから制御します。

最後に、元のサービスの代わりにサービス・スタブを使用するには、クライアント・アプリケーションの使用する URL を、元のアプリケーション・サーバーではなく、ローカル・スタブ・サーバーを指すように変更します。 この URL はサービス・スタブの WSDL と同様に、スタブ・モニター・ビューで提供されます。

リモート・スタブ・サーバー

リモート・スタブ・サーバーは、 IBM Rational Service Tester for SOA Quality に適用されません。

パフォーマンス・テストの場合、Windows または Linux プラットフォームで Agent Controller を実行しているリモート・コンピューターにスタ ブ・サーバーをデプロイできます。 これによって、ローカル・コンピューターの負荷を減らし、あるいは複数のスタブ・サーバーを使用したさまざまなネットワーク構成をテストできます。

また、スタブ・サーバーをパフォーマンス・スケジュールの一部としてデプロイすることもできます。


フィードバック