はじめに
Virtualize では、メッセージ プロキシの「レスポンスの学習」機能を使用して、HTTP トラフィックのデータ学習が可能です。この機能により、Virtualize はライブ HTTP エンドポイントから記録されたレスポンスを学習してエミュレートし、仮想アセットを最新の状態に更新します。実際のエンドポイントが利用できない場合は、仮想化されたエンドポイントを信頼性の高いフェイルオーバーとして使用できます。これにより、サービス仮想化に関連するセットアップ作業が最小限に抑えられ、保守コストが削減され、サービスを仮想化する最も簡単な方法が提供されます。
概要
一般的に、データ学習環境の設定には次の手順が含まれます。
- データ学習用のメッセージ プロキシを設定します。
AI アシスタント
ライセンスに LLM 統合が含まれており、LLM プロバイダーの設定を行っている場合は、「メッセージ プロキシの作成」、「サービスの仮想化」、または「トラフィックの学習」を要求して、テスト対象アプリケーションのサービス URL を提供すると、AI アシスタント でこれを実行できます。AI アシスタントへのアクセス方法の詳細については、「AI アシスタント」を参照してください。LLM は不正確な情報を提供する可能性があり、この機能に影響を及ぼす可能性があります。デューデリジェンスを行うことを推奨します。
- メッセージ プロキシの URL を指すようにテスト対象アプリケーションを更新します。
- テスト対象アプリケーションを呼び出して、データ学習用のメッセージ プロキシを呼び出します。
- データ学習から自動生成された仮想アセットとトラフィック ファイルを確認します。
- メッセージ プロキシを更新して、仮想アセット エンドポイントを指すようにします。
このトピックでは、一般的なプロセスについて説明し、ParaBank のパブリック版を使用して実際にそのプロセスを示します。
メッセージ プロキシを構成する
- Virtualize サーバーを起動し、新しいメッセージ プロキシを作成します。プロキシを開きます。
- [HTTP リスナー] タブで、接続のリスナーを構成します (たとえば、ポート 9088)。HTTP リスナーは、HTTP トラフィックを記録するための接続設定を容易にします。
- [接続] タブで、次の構成で HTTP リバース メッセージ プロキシを追加します。
- [リバース プロキシ] メニューから、以前に作成したリスナーを選択します。
- プロキシ リッスン パスを [すべて] に設定して、サービスのすべてのパスをリッスンします。必要な変更はホストとポートの更新だけなので、これによりテスト対象アプリケーションの更新が容易になります (例:
http://my-machine.domain.com:9088/)。 - プライマリ URL をテスト対象アプリケーションのサービス エンドポイントを指すように設定します (例:
http://remote-machine.domain.com:80)。プロキシ URL に送信されたパスとクエリー部分はすべて、プライマリ URL に自動的に転送されます。「サービス転送パスとプロキシ リッスン パス」を参照してください。 - セカンダリ エンドポイントを仮想アセットへのパスを指すように設定します。この仮想アセットは既に存在している必要はありません。実行時に、セカンダリ エンドポイントで指定されたパスと同じ名前を使用して仮想アセットが自動的に生成されます。したがって、パスとして
/my-virtual-assetと入力すると、my-virtual-asset という名前のアセットが作成されます。 - [選択されたモードが失敗する場合に他の接続を使用する] をオンにします。
- [レスポンスの学習] をオンにします。
ParaBank で実行する
パブリックの ParaBank を使用するには、プライマリ URL を http://parabank.parasoft.com に設定し、セカンダリ エンドポイントを /parabank などに設定します。
プロキシ URL を指定する
Virtualize メッセージ プロキシが実行されている場所を指定するようにクライアント アプリケーションを変更します。HTTP リスナーは以前に設定してあるため、ホストとポートを変更するだけで済みます。たとえば、次の状況が当てはまるとします。
- REST API サービスは
remote-machine.domain.com:80で実行されています。 - プロキシ URL は
my-machine.domain.com:9088です。 - クライアント アプリケーションは、次のエンドポイントを使用して REST API サービスを呼び出します。
http://remote-machine.domain.com:80/ABC/XYZ/11111/data
メッセージ プロキシがこのように構成されているので、クライアント アプリケーションを更新するために必要なのは、そのエンドポイントのホストとポートを変更することだけです。http://my-machine.domain.com:9088/ABC/XYZ/11111/data
ParaBank で実行する
ParaBank を使用する場合、REST API サービスはエンドポイント http://parabank.parasoft.com:80/parabank/services/bank/customers/12212/accounts を使用して、顧客 12212 に登録されているすべてのアカウントを取得します。設定したリバース メッセージ プロキシを使用して Virtuailze をローカルで実行する場合は、代わりに http://localhost:9088/parabank/services/bank/customers/12212/accounts を使用します。
プロキシを呼び出してデータ学習アセットが作成されたことを確認する
クライアント アプリケーションから、いくつかの呼び出しを行ってメッセージ プロキシを呼び出し、データ学習を開始します。次に、Virtualize を開いて次の操作を行います。
- [Virtual Asset Explorer] タブをクリックし (まだ開いていない場合は、[Parasoft] > [ビューの表示] > [Virtual Asset Explorer] に移動します)、
/VirtualAssets/generated_by_data_learningディレクトリを開きます。 - そこにある my-virtual-asset.pva を展開します。自動的に生成された リクエスト/レスポンス ファイル レスポンダーが表示されます。
- [プロジェクト エクスプローラー] タブをクリックし (まだ開いていない場合は、[Parasoft] > [ビューの表示] > [プロジェクト エクスプローラー] に移動)、
/VirtualAssets/generated_by_data_learning/my-virtual-asset_files/data_learningディレクトリを開きます。生成されたトラフィック ファイルがいくつか表示されます。これらは、受信メッセージの照合に使用されます。
ParaBank で実行する
ブラウザを開いて、http://localhost:9088/parabank/services/bank/customers/12212/accounts にアクセスします。これで、必要なディレクトリを作成してデータの保存を開始でき、仮想アセット エクスプローラーにリクエスト/レスポンス ファイル レスポンダーが表示され、
プロジェクト エクスプローラーにトラフィック ファイルが表示されます。
メッセージ プロキシを仮想アセット エンドポイントに向ける
[Virtualize サーバー] タブに戻り、このプロセスの最初に作成したメッセージ プロキシを右クリックします。仮想アセットにトラフィックをルーティングするには、[HTTP モードの設定: セカンダリ] を有効にします。
この構成では、トラフィックはライブ サービスの前に仮想アセットにルーティングされます。アセットが受信リクエストを生成されたトラフィック ファイルと照合できない場合、プロキシはライブ サービスにフォールバックし、新しい学習データ用の新しいトラフィック ファイルを生成します。相関関係とデータ保持オプションで考慮されるリクエスト項目の詳細については、「リクエスト/レスポンス ファイル オプション」を参照してください。



