コンポーネント インスタンスにメッセージ プロキシを構成する場合、既存のメッセージ プロキシを選択するか、新しいプロキシを作成できます。プロキシが有効化されると、CTP から記録を開始または終了できます。

既存のプロキシでコンポーネント インスタンスを設定する

  1. 環境ダイアグラムを編集し、コンポーネントのドロップダウンから [新規インスタンス] を選択します。ホバーにメニューが表示されます。詳細については、「コンポーネント インスタンスの追加」 を参照してください。 
  2. 名前を指定し、[メッセージ プロキシの選択] をクリックします。
  3. 利用可能なプロキシに対してすべての接続を選択する場合、[選択] をクリックします。 

    • 利用可能なプロキシに対して特定の接続を選択する場合 (3 つの HTTP 接続、1 つの MQ 接続、1 つの JMS 接続が設定されているが、今は MQ 接続しか使用しない場合など)、プロキシの上にカーソルを位置づけ、表示される [接続] リンクをクリックし、追加する接続の [選択] リンクをクリックします。[すべて選択] をクリックして、表示されたすべての接続を選択することもできます。利用可能な接続のリスナー/プロキシ パスおよびフォワード/ターゲット パスが表示されます。
       
  4. (現在のプロキシの状態を引き継いだ) プロキシ設定を変更するには、[編集] アイコンをクリックし、任意の変更を加えます。利用可能なオプションは「プロキシ設定の詳細」で説明されています。 
     
  5. メッセージ プロキシ接続を追加するには、+ アイコンをクリックし、「プロキシ設定の詳細」の説明に従って接続設定を指定します。

新規プロキシの作成

コンポーネント インスタンスの設定時に新規プロキシを作成して追加するには、次の操作を行います。

  1. 環境ダイアグラムを編集し、コンポーネントのドロップダウン メニューから [新規インスタンス] を選択します。ホバーにメニューが表示されます。詳細については「コンポーネント インスタンスの追加 」を参照してください。 
  2. 新規プロキシをデプロイする Virtualize サーバーの右側の[新規プロキシの作成] リンクをクリックします。
     
  3. [プロキシ名] フィールドにプロキシの識別可能な名前を入力します。デフォルトでは、プロキシは VirtualAssets フォルダーに保存されます。このプロキシを保存する VirtualAssets フォルダーのサブフォルダーを指定するには、[フォルダー] フィールドに入力します。先頭に "/" を付ける必要はありません。たとえば、プロキシを /VirtualAssets/parasoft/proxies に保存するには parasoft/proxies と入力します。フォルダーを指定しない場合、プロキシはルートの VirtualAssets フォルダーに保存されます。
  4. プロキシ設定を指定します。[接続先のアプリケーション] 接続の設定は、現在のインスタンスに対して指定された実エンドポイントまたは仮想エンドポイントの設定に一致していなければならないことに注意してください。詳細は「Proxy Settings Details」を参照してください。
  5. [適用] アイコンをクリックします。


コンポーネントを保存すると、指定した Virtualize サーバーにプロキシが追加され、CTP で利用できるようになります。プロキシ名は、Virtualize サーバーによって割り当てられます (例: Proxy-2)。新しく作成されたプロキシを Virtualize の UI で参照するには、Virtualize の UI で [Virtualize サーバー] ビューを更新します。

コンポーネント インスタンスをセットアップするまで、新しいプロキシは無効のままです。セットアップの時点でプロキシが有効化され、設定されます。プロキシから作成されるトラフィック ファイルは、デフォルトでは、Virtualize の VirtualAssets プロジェクトに保存されます。

プロキシの有効化

プロキシを有効化する方法はいくつかあります。

  • プロキシを使用するコンポーネント インスタンスを含む環境をセットアップする
  • プロキシのページレベル アクション メニューの [有効化] をクリックする
     
  • Virtualize の UI でプロキシを有効化する
  • Virtualize API の適切なオペレーションを呼び出す

プロキシの記録の開始と終了

記録を開始する前に、プロキシを有効化する必要があります。プロキシの有効化は CTP (プロキシを持つインスタンスをセットアップするか、プロキシの詳細ページから有効化する) または Virtualize ( Virtualize Server ビューから) 行うことができます。プロキシの記録の開始と終了は、Virtualize の UI、Virtualize API、または CTP から行うことができます。

CTP から記録を開始するには、次の操作を行います。

  • 編集モードで、有効化されたプロキシが設定されたコンポーネントの上にカーソルを位置づけ、ドロップダウン メニューの [記録の開始] をクリックします。


     


右下隅のボックスに、記録が開始されたことの確認が表示されます。

記録を終了するには、次の操作を行います。

  • 編集モードで、コンポーネントのドロップダウン メニューの [記録の停止] をクリックします。

記録が停止した後、記録されたトラフィックからすぐに仮想アセットを作成するか、後で作成するかを尋ねるダイアログが表示されます。

[今すぐ] をクリックすると、このトラフィックのための新規仮想アセットが設定された新規コンポーネント インスタンスが自動的に作成されます。設定を確認して、必要があればインスタンス名を変更し、[終了] をクリックすると、新規仮想アセットが作成され、デプロイされます。

プロキシ設定の詳細

「PUT」キューは常に AUT/クライアントがリクエストをプット/送信する場所です。「GET」キューは、クライアント/AUT がレスポンス メッセージを取得する場所です。Virtualize はクライアント PUT キューに送信されたリクエスト メッセージをキャプチャし、サーバー PUT キューに転送してメッセージを処理します。サーバー GET キューは、サーバーが (リクエスト メッセージを処理した後に) レスポンス メッセージを送信する場所です。Virtualize はそれらのメッセージをキャプチャしてクライアント GET キューに転送します。

HTTP オプション

HTTP 経由で接続するメッセージ プロキシを設定するには、プロキシ タイプ ドロップダウン メニューから [HTTP] を選択します。

オプション
説明
トラフィック ファイル

プロキシが記録モードに設定されたときにキャプチャしたトラフィック データを保存する場所を指定します。後でこのトラフィックファイルを使用して、記録モードでキャプチャした実際のトラフィックを表現する仮想アセットを生成できます。

デフォルトでは、トラフィックは %n_%d_%t.txt (<プロキシ名>_<現在日付>_<現在時刻>.txt) という名前のファイルに記録され、recorded_traffic folder フォルダーに格納されます (フォルダーがまだ存在しない場合は作成されます)。メッセージ プロキシを含むインスタンスをセットアップするとき、トラフィック ファイルが仮想アセット プロジェクト内に存在しなければなりません。仮想アセット プロジェクト外の場所を指定すると、セットアップ リクエスト (PUT リクエスト) は失敗します。ただし、プロキシが Virtualize を使用して設定された場合、CTP は仮想アセット プロジェクト外にあるトラフィック ファイルを読み取る (GET リクエスト) ことができます。

ファイル名の指定では、%d (現在日付)、%t (現在時刻)、%n (プロキシ名)、および %u (ユニークな時刻ベースの ID) などの変数を使用できます。ワイルドカードと名前を混ぜて使用できます。たとえば、%nProxyTraffic%d または %u_%d%nTraffic と指定できます。

複数のプロキシ接続が同じトラフィック ファイルに同時に書き込むことがないように設定してください。複数の接続が同じファイルに同時に書き込むと、トラフィック ファイルが壊れます。 


トラフィック データの追記このオプションをオンにすると、新しいトラフィック データを既存のファイル ([トラフィック ファイル] フィールドに指定されたファイル) に追加します。指定されたファイルがまだ存在しない場合、新しいファイルが作成されます。
HTTP リスナーの使用

プロキシ固有のポートを指定するには、このオプションをオンにします。

クライアントが SSL 経由でトラフィックを送信する場合、[セキュア] オプションをオンにし、認証オプションを指定します。

  • [キー ストアの使用] をオンにし、サーバーサイド認証設定を指定します。
  • [クライアント認証の実行] をオンにし、トラスト ストアの検証設定を指定します。

バージョン互換性

HTTP リスナーを使用するには、Virtualize 9.10.4 以降が必要です。

プロキシごとに 1 つのリスナーを設定できます。複数の HTTP リスナーを使用したい場合、複数のコンポーネントを作成して別個に設定する必要があります。 HTTP リスナーの詳細に関しては、「Virtualize Desktop documentation」を参照してください。

プロキシ リスン パス

プロキシが受信接続を待機するパスを入力します。複数のメッセージ プロキシが、同じプロキシ パスまたは既存の仮想アセットの HTTP パスと一致する HTTP 接続を持つことはできません。

最も単純なケースでは、プロキシ リスン パスにサービスのパスを指定し、サービス転送パスは空のままにします。この設定では、プロキシは受信したすべてのメッセージをサービス ホストおよびサービス ポートと同じパスに転送します。

プロキシがサービスのパス以外のパスを待機する必要がある場合は、受信したメッセージを送信する実際のパスをサービス転送パスに指定します。プロキシは、パスおよびすべてのクエリー パートをターゲット サービスに転送します。

プロキシ リスン パスサービス転送パスが異なっている場合、プロキシ リスン パスの後のリクエスト内のすべてのセグメントが転送されたリクエストに付加されます。プロキシ リスン パスは、本質的にはサービス転送パスに置き換えられるため、全体のパス (プロキシによって受信されたとおり) がサービスに送信されます。

モードプライマリ転送接続とセカンダリ転送接続が両方とも存在する場合に、どちらをアクティブにするかを決定します。アクティブな接続に障害が発生した場合、非アクティブな接続をフォールバック接続として使用できます(後述の「フォールバック接続の使用」を参照)。たとえば、記録セッション中に、メッセージ プロキシがプライマリ接続としてライブ サービスに転送し、セカンダリ接続として仮想サービスにフォールバックするようにしたい場合があります。 この場合、モードをプライマリに設定し、[フォールバック接続の使用] を有効にすると、プライマリ モードに障害が発生したときにCTP がセカンダリ接続を使用するようになります。
記録に使用
プライマリ接続とセカンダリ接続の両方が定義されている場合に、どちらの転送接続を記録に使用するかを決定します。どちらか一方を有効にする必要がありますが、両方を有効にすることもできます。正確な動作は、記録に使用する接続によって若干異なります。
  • 両方の接続: プライマリ接続とセカンダリ接続の両方のトラフィックを記録します。アクティブな接続からレポートされたエラー メッセージは記録されません。メッセージはバックアップ接続に送信され、レスポンスが記録されます。バックアップ接続からレポートされたエラーは記録されます。
  • プライマリ接続のみ: アクティブな接続のトラフィックを記録します。エラーは記録しません。
  • セカンダリ接続のみ: エラーも含め、バックアップ接続のトラフィックを記録します。
サービス ホスト
サービスが存在するマシンのホスト名を入力します。プロキシがメッセージを送信する先となるマシンです。
HTTP 接続を消費せずにローカルの Virtualize サーバーの仮想アセットに転送するには、実際のホスト名ではなく localhost または 127.0.0.1 を入力します。
サービス ポート
サービスがリスンしているポートを入力します。プロキシがメッセージを送信するポートです。
サービス転送パス
(任意) プロキシが受信したメッセージを転送する先となるパスを入力します。空の場合、デフォルト値は [プロキシ リスン パス] フィールドの値です。HTTP プロキシがメッセージを localhost に送信する場合、プロキシは自分自身に転送できないため、サービス転送パスに入力する必要があります。サービス転送パスがリダイレクトを送信する場合、プロキシはリダイレクトに従ってからレスポンスを返します。リダイレクトをクライアントに返すことはありません。
その他のオプション
  • フォールバック接続の使用: プライマリ接続が失敗した場合、またはレスポンダー/仮想アセットが利用できない場合にトラフィックをフォールバック接続 (セカンダリ プロキシ エンドポイント) にリダイレクトするには、このオプションをオンにします。詳細については 次のセクションを参照してください。
  • 有効なレスポンス コード: メッセージ プロキシのフェイルオーバーの動作をカスタマイズし、200 番台以外のHTTPレスポンス コードを成功とすることができます。コードおよび/またはコードの範囲をカンマで区切って入力します。たとえば「404, 500-599」を使用した場合、「404 のコード」 または「500 番台の任意のコード」が許容されます。このオプションは、[フォールバック接続を使用] が有効になっている場合にのみ使用できます。
  • Learn responses: 仮想化しているサービスにファイル レスポンダーである内部エンドポイントがあり (詳細は「リクエスト/レスポンス ファイル」を参照)、ライブ エンドポイントから記録されたレスポンスをエミュレートするように学習させたい場合は、このオプションを有効にします。このオプションは、[フォールバック接続を使用] が有効になっている場合にのみ使用できます。
  • サーバーへの接続に SSL を使用する: 仮想化するサービスが SSL を使用している場合、このオプションをオンにして、表示されるフィールドに入力します。
  • NTLM を使用する: 仮想化するサービスが SSL を使用している場合、このオプションをオンにして、表示されるフィールドに入力します。
  • Kerberos サービスを使用する: サービスが Kerberos 認証を要求する場合、このオプションをオンにし、リクエストを認証するためのサービス プリンシパルを指定します。
  • Use proxy server: メッセージ プロキシにサーバーを指定し、異なるメッセージ プロキシとのトラフィックに異なるプロキシ サーバーを設定できるようにしたい場合は、このオプションを有効にします。この構成により、テスト対象アプリケーションと特定のメッセージ プロキシ間のトラフィックを処理するプロキシ サーバーを制御できます。オプションをオンにすると表示されるプロキシ設定フィールドで適切に詳細を指定します。なお、SSL はサポートされません。
     

仮想アセットまたは実エンドポイントの指定

プロキシは、Virtualize サーバーの仮想アセットをターゲット サービスとして使用できます。それには、次の操作を行います。

  1. 仮想アセットがデプロイされた Virtualize サーバーのサービス ホストおよびポートを設定します。HTTP 接続を消費せずにローカルの Virtualize サーバーの仮想アセットに転送するには、実際のホスト名ではなく localhost または 127.0.0.1 を入力します。
  2. プロキシ接続のサービス転送パスに仮想アセットのパスを指定します。

JMS オプション

オプション
説明
トラフィック ファイル

プロキシが記録モードに設定されたときにキャプチャしたトラフィック データを保存する場所を指定します。後でこのトラフィックファイルを使用して、記録モードでキャプチャした実際のトラフィックを表現する仮想アセットを生成できます。

デフォルトでは、トラフィックは %n_%d_%t.txt (<プロキシ名>_<現在日付>_<現在時刻>.txt) という名前のファイルに記録され、recorded_traffic folder フォルダーに格納されます (フォルダーがまだ存在しない場合は作成されます)。メッセージ プロキシを含むインスタンスをセットアップするとき、トラフィック ファイルが仮想アセット プロジェクト内に存在しなければなりません。仮想アセット プロジェクト外の場所を指定すると、セットアップ リクエスト (PUT リクエスト) は失敗します。ただし、プロキシが Virtualize を使用して設定された場合、CTP は仮想アセット プロジェクト外にあるトラフィック ファイルを読み取る (GET リクエスト) ことができます。

ファイル名の指定では、%d (現在日付)、%t (現在時刻)、%n (プロキシ名)、および %u (ユニークな時刻ベースの ID) などの変数を使用できます。ワイルドカードと名前を混ぜて使用できます。たとえば、%nProxyTraffic%d または %u_%d%nTraffic と指定できます。

[トラフィック データの追記] オプションをオンにすると、新しいトラフィック データを既存のファイル ([トラフィック ファイル] フィールドに指定されたファイル) に追加します。指定されたファイルがまだ存在しない場合、新しいファイルが作成されます。

プロバイダー URL
JMS Administered Object の場所を指定します。
初期コンテキスト
すべての JMS プロパティ マッピングを含む Java クラスを指定します。
接続ファクトリ
初期コンテキストから MOM 固有のファクトリを検索するときに使用するキーを指定します。キュー接続ファクトリまたはトピック接続ファクトリのどちらでもかまいません。
ユーザー名/パスワード
認証ユーザー名とパスワードを入力します。
キュー/トピック

キューの場合 (ポイントツーポイント): Virtualize はクライアント送信先キューに送信されたリクエスト メッセージをキャプチャし、メッセージを処理するためにサーバーの返信先キューに転送します。サーバーの宛先キューは、サーバーが (リクエスト メッセージを処理した後に) レスポンス メッセージを送信するキューです。Virtualize はそれらのメッセージをキャプチャしてクライアントの返信先キューに転送します。

トピックの場合 (パブリッシュアンドサブスクライブ): Virtualize は、クライアントのサブスクライブ トピックで受信リクエストをモニターし、サーバーのパブリッシュ トピックで送信レスポンスをモニターします。

Use JMS ReplyTo


メッセージの JMSReplyToQueueName ヘッダーを使用してレスポンスの送信先を決定するかどうかを指定します。このオプションがオンの場合、受信リクエストの値を使用してレスポンスの送信先が決定されます。このオプションがオフの場合、レスポンスは UI で指定されたキューに送信されます。JMS メッセージ ヘッダーの値は無視されます。

ワーカー数

ワーカー数は、作成されるリスナーのワーカー スレッド数に影響を与えます。ワーカー数を増やすと、同時実行環境でのパフォーマンス向上に役立ちます。 

追加の初期コンテキスト JNDI プロパティこのデプロイメントに適用する追加の初期コンテキスト JNDI プロパティを指定します。

MQ オプション

オプション
説明
トラフィック ファイル

プロキシが記録モードに設定されたときにキャプチャしたトラフィック データを保存する場所を指定します。後でこのトラフィックファイルを使用して、記録モードでキャプチャした実際のトラフィックを表現する仮想アセットを生成できます。

デフォルトでは、トラフィックは %n_%d_%t.txt (<プロキシ名>_<現在日付>_<現在時刻>.txt) という名前のファイルに記録され、recorded_traffic folder フォルダーに格納されます (フォルダーがまだ存在しない場合は作成されます)。メッセージ プロキシを含むインスタンスをセットアップするとき、トラフィック ファイルが仮想アセット プロジェクト内に存在しなければなりません。仮想アセット プロジェクト外の場所を指定すると、セットアップ リクエスト (PUT リクエスト) は失敗します。ただし、プロキシが Virtualize を使用して設定された場合、CTP は仮想アセット プロジェクト外にあるトラフィック ファイルを読み取る (GET リクエスト) ことができます。

ファイル名の指定では、%d (現在日付)、%t (現在時刻)、%n (プロキシ名)、および %u (ユニークな時刻ベースの ID) などの変数を使用できます。ワイルドカードと名前を混ぜて使用できます。たとえば、%nProxyTraffic%d または %u_%d%nTraffic と指定できます。

[トラフィック データの追記] オプションをオンにすると、新しいトラフィック データを既存のファイル ([トラフィック ファイル] フィールドに指定されたファイル) に追加します。指定されたファイルがまだ存在しない場合、新しいファイルが作成されます。

ホスト
MQ を実行するホスト名を指定します。
ポート
MQ を実行するポートを指定します。
キュー マネージャー
キュー マネージャーを指定します。
チャネルサーバー定義チャネル名を指定します。
ユーザー名/パスワード認証ユーザー名とパスワードを入力します。
replyToQueueName を使用メッセージの replyToQueueName ヘッダーを使用してレスポンスの送信先を決定するかどうかを指定します。MQMT_REQUEST タイプの MQ メッセージへのレスポンスに影響を与えます。
クライアントおよびサーバー キュークライアントおよびサーバー キューを指定します。PUT キューは常にテスト対象のアプリケーション/クライアントがリクエスト メッセージをプット/送信する場所です。GET キューは、クライアント/テスト対象のアプリケーションがレスポンス メッセージを取得する場所です。
ワーカー数ワーカー数は、作成されるリスナーのワーカー スレッド数に影響を与えます。ワーカー数を増やすと、同時実行環境でのパフォーマンス向上に役立ちます。 


MQ キュー マネージャー

1 つのプロキシ接続内で複数の異なる MQ サーバーにデプロイされたキューを構成する場合 (特定のプロキシ接続で 2 つの MQ サーバーにデプロイされた 2 つのキューを使用する場合など)、Virtualize でグローバルに定義し、CTP でプロキシを設定する際に参照できます。

フォールバック接続/セカンダリ エンドポイントの指定 (HTTP/S プロキシのみ)

プライマリ接続が失敗した場合、またはレスポンダー/仮想アセットが利用できない場合にトラフィックをフォールバック接続 (セカンダリ プロキシ エンドポイント) にリダイレクトするとき、[フォールバック接続の使用] オプションをオンにし、代替エンドポイントの詳細な接続設定を指定します。デフォルトでは、レスポンス ステータス コードが 400 レベル以上の場合、接続は "失敗" とみなされます。これは、[有効なレスポンスコード] フィールドを変更することで変更できます (詳細については、「HTTP オプション」を参照してください)。

たとえば、実エンドポイントが利用できない場合に仮想アセットを使用したいときなどにセカンダリ エンドポイントを指定します。あるいは、仮想アセットが特定のユース ケースを処理できない場合、セカンダリ エンドポイントを使用して実エンドポイントにトラフィックをリダイレクトできます。さらにオプションとして、実トラフィックを記録し、そのユース ケースをカバーする新しい仮想アセットを作成することもできます。

プライマリ接続およびセカンダリ接続の両方に関して、ボタンを使用して記録のオン/オフをすばやく切り替えることができます。記録を行うには、少なくとも 1 つの接続が有効化されていなければなりません。

  • 両方の接続を記録に使用: プライマリ接続とセカンダリ接続の両方のトラフィックを記録します。プライマリ接続からレポートされたエラー メッセージは記録されません。メッセージはセカンダリ接続に送信され、レスポンスが記録されます。セカンダリ接続からレポートされたエラーは記録されます。
  • プライマリ接続だけを記録に使用する: プライマリ接続のトラフィックを記録します。エラーは記録しません。
  • セカンダリ接続だけを記録に使用する: エラーも含め、セカンダリ接続のトラフィックを記録します。

プロキシ設定の注意

ターゲット アプリケーションの接続設定はエンドポイントの設定と一致していなければならない

[接続先のアプリケーション] 接続の設定は、現在のインスタンスに対して指定された実エンドポイントまたは仮想エンドポイントの設定に一致していなければならないことに注意してください。接続設定は、さまざまなプロキシ フィールドから派生します。[接続先のアプリケーション] エリアに接続設定が表示されます。

たとえば、HTTP プロキシがある場合、プロキシの [サービス ホスト]、[サービス ポート]、[サービス転送パス] は実エンドポイントまたは仮想エンドポイントの [ホスト]、[ポート]、[パス] に一致します。

エンドポイントおよびプロキシ設定の自動更新

プロキシ>エンドポイント

プロキシの作成時にまだエンドポイントが定義されていない場合、プロキシ設定を適用すると、自動的にプロキシ設定がエンドポイント エリアにコピーされます。
入力したプロキシの設定値が対応するエンドポイント値に一致しない場合、プロキシ設定を適用すると、自動的にエンドポイント値が更新されます。

エンドポイント>プロキシ

プロキシが既に定義されている場合、エンドポイント設定を編集すると、対応するプロキシの値が自動的に更新されます。

仮想アセットとプロキシの両方を持つインスタンス

コンポーネント インスタンスに仮想アセットが設定されている場合、以下のプロキシ フィールドだけが編集できます。

  • HTTP の場合: リスン パス
  • JMS キューの場合: クライアント キュー、JMSReplyTo を使用、ワーカー数、JNDI プロパティ
  • JMS トピックの場合: JMSReplyTo を使用、ワーカー数、JNDI プロパティ、JMSReplyTo を使用
  • MQ の場合: クライアント GET キューおよび PUT キュー、ワーカー数、replyToQueueName を使用


その他のプロキシ設定の詳細およびヒントについては、『Virtualize ユーザーズ ガイド』を参照してください。

  • No labels