このセクションでは、Virtualize サーバーにデプロイされた個々の仮想アセットを設定する方法について説明します。Virtualize サーバーを設定する方法については、「サーバーおよびデプロイメント設定」を参照してください。

 このセクションの内容:

仮想アセットの構成設定へのアクセス

仮想アセットの構成設定にアクセスするには、[Virtualize サーバー] ビューで仮想アセットをダブルクリックします。または、仮想アセットを右クリックして [開く] を選択することもできます。  

仮想アセットの振る舞いを設定する

さまざまなリクエスト/レスポンスのユース ケース、エラー条件、その他の振る舞いで仮想アセットをカスタマイズする方法については、「メッセージ レスポンダーの概要」に記載のように関連するメッセージ レスポンダー ツールをカスタマイズします。

[全般] タブ

[全般] タブでは、次の設定を指定できます。

レスポンダー スイート

メッセージ レスポンダーが設定されているレスポンダー スイート (本質的には .pva ファイル) を指定します。この仮想アセットのデプロイメント定義に使用されるファイルを変更するには、ローカルのワークスペースまたはファイル システム内で .pva ファイルを選択します。ファイルのパスは、VirtualAssets プロジェクト フォルダーからの相対パスです。

説明

仮想アセットの説明を提供します。

クラスパスに JAR ファイルを必ず追加する

JMS および/または MQ 上に仮想アセットをデプロイする前に、 Virtualize クラスパスに適切な JAR ファイルを必ず追加してください。手順の詳細については、「システム プロパティの設定」を参照してください。

最終更新者

仮想アセットを最後に変更したユーザーのユーザー名を表示します。このフィールドは編集できません。ユーザー名は Parasoft の設定から取得されます。 ユーザー名を変更する場合は、[Parasoft] > [設定] に移動し、[Parasoft] をクリックします。

[トランスポート] タブ

[トランスポート] タブには、どのように仮想アセットがメッセージを受信して応答するかについての設定があります。

HTTP の設定

以下の HTTP 設定を指定できます。

パス

仮想アセットが HTTP 経由で着信メッセージをリッスンするサーバー上のパスを指定します。値を指定しない場合、JMS、 MQ、またはカスタム トランスポートのリスナー設定だけが受信するメッセージに適用されます。 

着信メッセージに応答するように構成されたレスポンダーを検索するときに、 Virtualize に複数の仮想アセットを検査したい場合を除いて、各仮想アセットには一意の HTTP パスを与えることを推奨します。 

同じ HTTP パス上に 1 つ以上の仮想アセットをデプロイする場合、 Virtualize はレスポンダー応答条件に基づいて、メッセージに一致するレスポンダーを見つけるまで各仮想アセットを検査します。そして、発見したレスポンダーおよび仮想アセットを応答に使用します。この場合、仮想アセットが評価される順番は固定ではありません。Virtualize は評価中に最初に発見した仮想アセットを使用します。

パスセグメントに動的な値を使用するために、ワイルドカードを使用できます。たとえば、2 つのリクエストが /path/1/service/path/2/service というパスで Virtualize に送信されたと仮定します。両方のリクエストが同じプロキシを通るには、パスを /path/*/service に設定します。

ワイルドカードはパスのセグメント全体を置換します。例:

  • /path/*/service — 有効
  • /path/1*2/service — 無効

HTTP エンドポイント

(JMS や MQ でなく) HTTP を使用している場合、ここが仮想アセットに接続できる場所となります。仮想アセットを実行するには、アプリケーションが実際のリソースの URL の代わりにこの URL を使用するように設定します。このエンドポイントにアクセスできるマシンは、仮想アセットにアクセスして使用できます。

JMS の設定

キューまたはトピックとメッセージを送受信するように仮想アセットを設定できます。JMS の設定については「JMS」を参照してください。

  • 特定の Virtualize サーバーで適用されるグローバル JMS 設定を構成するには、 [Virtualizeサーバー] ビューで適切なサーバー マシンのノードをダブルクリックします。
  • 特定の仮想アセットのために JMS 設定を構成するには、[Virtualize サーバー] ビューで適切な仮想アセット ノードをダブルクリックします。

次の設定を指定できます。

Point-to-Point

このオプションを有効にすると、Destination キューと replyTo キューが指定されているメッセージング モデルが指定されます。メッセージング モデルを有効にした後、[ローカル設定] セクションで各接続の設定を入力するか、Virtualize サーバー レベルで定義されたグローバル JMS 接続を参照できます (「接続タブConfiguring Server and Deployment Settings Virtualize#Connections Tab」を参照)。

Publish-and-Subscribe

Publish および Subscribe トピックが指定されているメッセージング モデルを指定するには、このオプションを有効にします。メッセージング モデルを有効にした後、[ローカル設定] セクションで各接続の設定を入力するか、Virtualize サーバー レベルで定義されたグローバル JMS 接続を参照できます (「[接続] タブ」を参照)。

Client Publish (Publish-and-Subscribe モード)

クライアント アプリケーションによって要求されたトピックの名前を指定し、[設定] メニューから接続構成オプションを選択します

[ローカル設定] を選択して、[ローカル設定] セクションで指定されたプロバイダー URL、初期コンテキスト クラス、接続ファクトリ、およびログイン資格情報を使用するか、[Virtualize サーバー接続] タブで設定された接続を選択します (「Using Global JMS Connections」を参照)。

Destination キュー (Point-to-Point モード)

メッセージ宛先キューの名前を指定し、[設定] メニューから接続構成オプションを選択します。

[ローカル設定] を選択して、[ローカル設定] セクションで指定されたプロバイダー URL、初期コンテキスト クラス、接続ファクトリ、およびログイン資格情報を使用するか、[Virtualize サーバー接続] タブで設定された接続を選択します (「Using Global JMS Connections」を参照)。

Client Subscription (Publish-and-Subscribe モード)

クライアントアプリケーションが応答のためにサブスクライブするトピックの名前を指定し、[設定] メニューから接続構成オプションを選択します。

[ローカル設定] を選択して、[ローカル設定] セクションで指定されたプロバイダー URL、初期コンテキスト クラス、接続ファクトリ、およびログイン資格情報を使用するか、[Virtualize サーバー接続] タブで設定された接続を選択します (「Using Global JMS Connections」を参照)。

Reply to キュー (Point-to-Point モード)

レスポンスを送信するキューの名前を指定し、[設定] メニューから接続構成オプションを選択します。

[ローカル設定] を選択して、[ローカル設定] セクションで指定されたプロバイダー URL、初期コンテキスト クラス、接続ファクトリ、およびログイン資格情報を使用するか、[Virtualize サーバー接続] タブで設定された接続を選択します (「Using Global JMS Connections」を参照)。

レスポンスに JMSReplyTo を使用する

レスポンスの送信先を判断するためにメッセージの replyTo ヘッダーを使用する場合、このオプションをオンにします。 

[レスポンスに JMSReplyTo を使用する] オプションがオンの場合、着信リクエストの値を使用してレスポンスの送信先が決定されます。無効な場合、レスポンスは GUI で指定されたキューに送られます。JMS メッセージヘッダーの値は無視されます。 

メッセージ セレクター

(任意) 複数のサービスによって同じキューが使用されているとき、メッセージ セレクター式を指定すると役立ちます。たとえば、メッセージ セレクター式が product = 'virtualize''virtualize'" である場合、仮想アセットは JMS メッセージ プロパティの product 値が virtualize であるキュー/トピックのメッセージだけを選択します。ヒントについては「メッセージ セレクター フィルターの使用」を参照してください。

ワーカー カウント

ワーカー カウントは作成されるリスナー ワーカー スレッドの数に影響します。詳細については、「Adjusting the Worker Count」 を参照してください。

ローカル設定

キューまたはトピックの接続設定を構成するときに [ローカル設定] を選択し、次の設定を構成します。サーバー レベルで構成された設定を使用するには、「Using Global JMS Connections」を参照してください。 

プロバイダー URL

JNDI javax.naming.InitialContext コンストラクターに渡される javax.naming.Context.PROVIDER_URL プロパティの値を指定します。 

初期コンテキスト クラス

javax.naming.Context.INITIAL_CONTEXT_FACTORY プロパティの文字列の値として JNDI javax.naming.InitialContext コンストラクターに渡される完全修飾クラス名の文字列を指定します。

接続ファクトリ

初期コンテキストから MOM 固有ファクトリをルックアップするために使用するキーを指定します。「キュー接続ファクトリ」または「トピック接続ファクトリ」を指定できます。関連する jar を必ず Virtualize のクラスパスに追加してください。特定の JMS プロバイダー用にどのファクトリクラスを追加するかのヒントについては、「JMS プロバイダーの設定」を参照してください。

ユーザー名/パスワード

必要に応じて、JMS プロバイダーのログイン資格情報を指定します。

追加の初期コンテキスト JNDI プロパティ

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

グローバル JMS 接続の使用

Virtualize サーバー構成で定義された接続設定を使用できます。グローバルな JMS 接続設定の構成の詳細については、[接続] タブ を参照してください。グローバル JMS 接続を使用するには、[設定] メニューから接続を選択します。 

あらかじめ定義されたグローバル接続の詳細を確認するには、[設定の表示] をクリックします。

JMS メッセージ タイプのサポート

ビルトイン JMS メッセージ リスナーは、javax.jms.TextMessage メッセージ タイプを受信し応答します。

JMS 上にデプロイされた仮想アセットの振る舞い

リクエストメッセージの JMSMessageID は、レスポンス メッセージの JMSCorrelationID として送信されます。

JMS 上にデプロイされた仮想アセットは、通常と同じように指定の宛先にアプリケーションからメッセージを送信またはパブリッシュすることによって簡単に呼び出すことができます。Virtualize はその宛先のメッセージを使用します。[メッセージ セレクター式] フィールドに値を指定した場合、その式に一致するメッセージを使用します。

キュー コンテンツの検索 - JMS 上にデプロイされた仮想アセットのデバッグとテスト

環境をデバッグしたり仮想アセットの設定をテストしたりするとき、キュー ブラウザーを使用してキューのコンテンツを確認できます。キュー ブラウザーは、予期しない振る舞いの理解を理解して解決しようとするときに非常に役立ちます。詳細については、「キューのブラウズ (SOAtest)」または「キューのブラウズ (Virtualize)」を参照してください。

MQ の設定

仮想アセットは必要な MQ 設定を構成する場合、 IBM WebSphere MQ キュー上で通信するサービスをエミュレートできます。詳細については「IBM WebSphere MQ」を参照してください。

以下の MQ 設定を指定できます。

Get キュー

Virtualize がリクエスト メッセージを取得するキュー (get または pull とも呼ばれる) を指定し、[設定] メニューから接続設定を選択します。

[ローカル設定] を選択して、[ローカル設定] セクションで構成された接続設定を使用するか、Virtualize サーバー構成の [接続] タブで構成された設定を選択します (「Using Global MQ Queues」を参照)。 

Put キュー

Virtualize がレスポンス メッセージを送信するキュー (put または push とも呼ばれる) を指定し、[設定] メニューから接続設定を選択します。 

[ローカル設定] を選択して、[ローカル設定] セクションで構成された接続設定を使用するか、Virtualize サーバー構成の [接続] タブ で構成された設定を選択します (「Using Global MQ Queues」を参照)。

レスポンスに replyToQueueName を使用する

レスポンスの送信先を判断するためにメッセージの replyToQueueName ヘッダーを使用する場合、このオプションをオンにします。MQMT_REQUEST タイプの MQ メッセージへのレスポンスに影響を与えます。

[レスポンスに replyToQueueName を使用する] オプションがオンの場合、受信リクエストの値を使用してレスポンスの送信先を決定します。オプションが有効ではない場合、レスポンスは GUI で指定されたキューに送られます。具体的には以下のとおりです。

  • [レスポンスに replyToQueueName を使用する] オプションがオンであり、MQMD.replyToQueueManagerName と MQMD.replyToQueueName の両方の値が指定されている場合、これらの値によって、キュー マネージャーとレスポンスの送信先のキュー名の両方が決定されます。
  • [レスポンスに replyToQueueName を使用する] レスポンスに replyToQueueName を使用するオプションがオンであり、MQMD.replyToQueueManagerName または MQMD.replyToQueueName がリクエストにない場合、それらの値のかわりに GUI で指定された値が使用されます。

[レスポンスに replyToQueueName を使用する] オプションがオフの場合、MQ リクエストメッセージの replyToQueueManagerName およびreplyToQueueName フィールドは無視されます。GUI の設定によって、メッセージの送信先が決定されます。

メッセージ セレクター 

(任意) 複数のアプリケーションによって同じキューが使用されている場合 ( または同じキューを介して複数のタイプのメッセージがやり取りされている場合)、Virtualize によってピックアップされたメッセージにフィルターを掛けることは不可欠です。このフィールドの値 (値が入力されている場合) は、キューのメッセージの MQMD applicationIdData フィールドに対して照合されます。このケースでは MQ API MQC.MQGMO_BROWSE_NEXT フラグはキューからメッセージを取得するのに使用されます。

ワーカー カウント

ワーカー カウントは作成されるリスナー ワーカー スレッドの数に影響します。詳細については、「Adjusting the Worker Count」 を参照してください。

ローカル設定

キューまたはトピックの接続設定を構成するときに [ローカル設定] を選択し、次の設定を構成します。SSL は、ローカル設定の構成設定ではサポートされていません。Virtualize サーバーの Connections Tab で SSL を使用するようにグローバル MQ キューを構成し、[設定] メニューからキューを選択する必要があります (「Using Global MQ Queues」を参照)。   

モード

以下のいずれかのモードを選択します:

  • Default モード: 接続の詳細情報 (たとえばホスト、ポート、チャネルなど) を手動で入力できます。
  • CCDT モード: 接続の詳細情報が記載されたクライアント チャネル定義テーブル (CCDT) ファイルを指定できます。 

ホスト (Default モード)

MQ キュー マネージャーのホストを指定します。

ポート (Default モード)

MQ キュー マネージャーのポートを指定します。

チャネル (Default モード)

MQ キュー マネージャーのチャネルを指定します。

CCDT ファイル (CCDT モード)

接続の詳細を提供するクライアント チャネル定義テーブル ファイルの場所を指定します。 

リモート サーバーで CCDT モードを使用している場合、Virtualize Server ツリーの [Files] ノードに表示されるときと同じように、CCDT ファイルへの相対パスを指定します。ワークスペースまたはファイル システムでファイルを参照するオプションは使用できません。 

現在ローカルサーバーでデプロイされているが後でリモート サーバーでデプロイする仮想アセットを設定する場合、.pva ファイルと並行して CCDT ファイルを残すことを推奨します。リモート サーバーに仮想アセットをデプロイする前に、そのリモート サーバーに CCDT ファイルをデプロイする必要があります。詳細については「リモート サーバーとローカル マシン間でのファイル転送」を参照してください。

キューマネージャー

キュー マネージャーの名前を指定します。

ユーザー名

ログイン資格情報が必要な場合は、このフィールドにユーザー名を指定します。

Password

ログイン資格情報が必要な場合は、このフィールドにパスワードを指定します。

グローバル MQ キューの使用

1 つの仮想アセット内で異なる MQ サーバーにデプロイされるようキューを設定したい場合 (たとえば特定の仮想アセットで、異なる MQ サーバーにデプロイされる 2 つのキューを使用したい場合)、Virtualize サーバー レベルでグローバルに定義し、ここで参照することができます。詳細については「Connections Tab」を参照してください。

キュー コンテンツの検索 - MQ 上にデプロイされた仮想アセットのデバッグとテスト

環境をデバッグしたり仮想アセットの設定をテストしたりするとき、キュー ブラウザーを使用してキューのコンテンツを確認できます。キュー ブラウザーは、予期しない振る舞いの理解を理解して解決しようとするときに非常に役立ちます。詳細については「キューのブラウズ」を参照してください。

ワーカーのカウントを調整する

各ワーカーが MQ/JMS プロバイダーに独自の接続を作成します。たとえば、20 のワーカーがある場合、WebSphere MQ Explorer では、仮想アセットがリスンするリクエスト (get) キューの Open input count 列の値として 20 が表示されるはずです。デフォルト値の 1 より多いワーカーのカウントで仮想アセットがデプロイ/再デプロイされると、コンソールに「Started x listener(s)」というメッセージが表示されます (x には構成されたワーカー数が入ります)。

ワーカーのカウントを増やすことは並列時のパフォーマンスに役立ちます。仮想アセットのメッセージ処理チェーン全体が並列化され、各ワーカーのスレッドは他のスレッドと並行してメッセージ応答条件、レスポンス メッセージの生成などを行います。しかし、高いワーカーのカウントを提供すると、作成/破棄する接続が増えるため、アセットのデプロイ/アンデプロイ/再デプロイに時間が掛かります。また、 MQ インフラストラクチャまたは JMS プロバイダーに許可する同時接続数の制限を持たせることが可能です。ユーザーのインフラストラクチャで構成/許可された数を越えるべきではありません。 

ワーカー カウント機能は、Tomcat server.xml の maxThreads 属性と同等です。

Virtualize に高い数の同時仮想ユーザーを与えるとき ( 例: 負荷テスト中など)、通常はこれらの値を増やすことでより良いパフォーマンスを期待できます。

カスタム トランスポート仮想アセットの設定

カスタム リスナーの設定は [カスタム] タブから行うことができます。 

カスタム リスナーが 1 個だけの場合、[カスタム] タブはそのカスタム フォーマットの設定専用になります。

複数のカスタム リスナーがある場合、使用するカスタム リスナーを [実装の選択] メニューから選択し、利用可能なコントロールを使って設定します。 

[パフォーマンス] タブ

パフォーマンス プロファイルの使用」を参照してください。

[データ ソース] タブ

データ グループの使用」を参照してください。

仮想データベースデプロイメント設定

SQL レスポンダーを含む .pvas に関して特別な制限はありません。任意のパスを使用できます。デフォルトでは、Parasoft JDBC ドライバーは/virtualDb にデプロイされた仮想アセットを呼び出します (Virtualize またはHybrid モードの場合)。別のエンドポイントにデプロイされた仮想アセットを呼び出すよう構成するには、「Parasoft JDBC ドライバーが呼び出す仮想アセットの指定」で説明するように、適切なプロパティを追加します。 

1 つ以上の仮想アセットに同じパスを設定できます。この場合、Virtualize は着信クエリーに対応する仮想アセットおよび SQL レスポンダーを見つけます。 

また、1 つのデータベース記録を複数の仮想アセットで使用し、それぞれ異なるパス/エンドポイントにデプロイすることもできます。こうすると、たとえば 3 つの異なるテスト対象アプリケーションがあり、すべて同じ仮想化されたデータベースの振る舞いを必要とする場合も、同じ記録から3 つの仮想アセットを作成し、各テスト対象アプリケーションが ( 別々のエンドポイントにデプロイされた) 異なる仮想アセットを指すよう設定できます。 

  • No labels