このセクションでは、[トラフィックからパラメータライズされたメッセージを生成] ウィザードの [データの再利用] ページの設定方法について説明します。このページの設定に基づいて、トラフィック ファイルの新規データで既存のリポジトリ データ セットおよびデータ レポートを拡張および/または更新する方法が決定されます。 セクションの内容: 左側のパネルには、データ セットが表示されます。指定されたリポジトリに存在するすべてのデータ セットに (existing) というラベルが表示されます。
CTP を使用している場合、制約の推論オプションも選択できます。制約とは、データと関連づけられた追加のプロパティであり、モデルを作成したり、テスト データを生成することを可能にします (「Data Modeling」を参照)。たとえば、データに文字列、数値、日付、ブール型などの制約をかけることができます。 トラフィック ウィザードで既存のリポジトリを選択すると、既存の制約は上書きされます。CTP で制約を参照および変更できます。「Data Modeling」を参照してください。 レコード ID とは、レコード タイプのフィールドのサブセットであり、そのレコードを一意に識別します。たとえば、銀行の顧客レコード タイプに 15 のフィールドがあっても、社会保障番号および口座番号だけでレコードを識別できる場合もあるでしょう。書籍のレコードであれば、その ID としてISBN を使用するかもしれません。 識別フィールドを使用してインポートされたトラフィック データと既存のデータ リポジトリのレコードを関連付けます。この関連付けは、トラフィック ファイルのどのデータが新しく、どのデータが既存データに一致するかを判断するのを助けます。一致するデータが検出されると、レコードのインポート設定によって、既存のレコードを参照/共有するか、あるいは更新するかが決定されます。 レコード ID の詳細については「レコード識別フィールドの指定」を参照してください。 このトラフィック ファイルに関連付けられたデータ セットに対して、レコード ID をまだ指定していない場合、ウィザードのレコード タイプ ツリーで設定することができます。 すでに ID の一部であるフィールドは、緑の矢印アイコンでマークされます。(既存) ラベルが付いている既存のレコード タイプについては、ID をウィザードで変更することはできません (ウィザードで ID を削除したり新規に追加することはできません)。既存のデータ セットの ID 設定を変更したい場合は、データ リポジトリ エディターを使用する必要があります (「レコード識別フィールドの指定」を参照)。 既存の ID が存在せず、フィールドを ID として使用することを指定したい場合、以下の操作を行います。 ID からフィールドを削除するには、以下の操作を行います。 インポートするデータのスキーマをさらにコントロールしたい場合、作成するレコード タイプとフィールドの名前を変更できます。名前をカスタマイズするだけでなく、別の名前でマークされた項目が実際には同じであることを示すことができます。 既存のレコードとフィールドの名前を変更することはできませんが、新規に複製して作成することは可能です。 フィールドのレコード タイプ名を変更するには、適切なツリー ノードを右クリックして [名前の変更] を選択し、新しい名前を入力します。 新しい名前は、矢印の右側に表示され、赤いアスタリスク (*) でマークされます。 なお、既存のレコード タイプまたはフィールドの名前を変更する場合、元のエントリは変更されず、その直下に新しいレコード タイプまたはフィールドが追加される点に注意してください。トラフィック ファイルのデータは、新しいレコード タイプまたはフィールドを使用します。 記録されたトラフィックが、実際には同じアドレス タイプである複数の要素 (たとえば address、work_address、home_address) を参照しているものとします。デフォルトでは、要素の名前が異なるためにウィザードはこれらの要素を別のタイプとして扱います。名前を変更することで、同じタイプとして扱うよう指定できます。 work_address を右クリックして名前を address に変更した場合、work_address になかった address 子ノードが work_address に追加されます。さらに、address になかった work_address 子ノードが address に追加されます。 home_address を address に名前変更した場合、home_address、work_address、そして address がマージされます。どのタイプがマージされているかがノード テキストに表示されます。3 つのすべてのタイプにマージが適用された後に、残りの設定と識別設定が適用されます。 マージされたタイプの名前を変更するとき、マージされているすべてのタイプに変更を適用するか、それとも選択したタイプにだけ変更を適用するかの確認があります。たとえば、あるマージされたタイプの名前を addr に変更して、この変更をマージされたすべてのタイプに適用した場合、結果は以下の図のようになります。 次に、もしも work_address を secondary_address に名前変更し、この変更を「選択したノード」にだけ適用した場合、「選択したノード」は他から " マージ解除" され (つまり「選択したノード」の子は元に戻り)、名前が変更されます。今後、ウィザードはこのノードを addr とは異なるタイプとして扱います。 2 つのレコード タイプにおいて、トラフィック ファイルのどこかで一方のレコードタイプがもう一方の先祖である場合、それらのレコード タイプをマージすることはできません。 以下のオプションを選択して、トラフィック ファイルからの新規データがどのように既存のリポジトリ データ セットとデータ レコードを拡張あるいは更新するかを設定できます。 それぞれのオプションがどのように動作するかを説明するために、以下の既存のデータ セットがあるものとします (CustomerID がキー列です)。 また、以下のデータがある新規トラフィックがあるものとします。 既存データを削除し、新規データを追加します。 上記の例では「置換」の結果は以下のようになります。 既存データを変更せずに、新規データをインポートします。 上記の例では「マージ」の結果は以下のようになります。 一致するレコードを新規データで更新し、必要に応じて新規レコードを作成します。 上記の例では「更新」の結果は以下のようになります。 一致するキーを持つ、一致するレコードを新規データで更新します。新規レコードは作成しません。 新しいデータ セットにトラフィックをインポートする場合、たとえ一致するキーがなくても、新規レコードが作成されます。 上記の例では「上書き」の結果は以下のようになります。 レコード インポート オプションを使用することで、一致するデータ (ID で決定されるように、既存のレコード タイプに一致するデータ) が既存のレコード タイプを再利用するか、それとも既存のレコードを更新するかを設定できます。以下のオプションを利用できます。 たとえば、SocialSec の ID と、FirstName、LastName、SocialSec、および Email を持つ既存レコードについて考えてみましょう。 [更新] オプションの場合: [再利用] オプションの場合: 重複するレコード タイプを別の名前で作成したい場合は、一致するレコード タイプの名前をダブルクリックして [名前の変更] オプションを選択し、新しいレコード タイプ名を入力します。 ツリーには、元のレコード タイプと新しい (名前変更された) レコード タイプの両方が表示されます。データ セットおよびレコード タイプの表示
制約の推論
Constraint:String
Pattern:(###) ###-####
Char map:0123456789
詳細については「データ制約の推論」を参照してください。
Virtualize での WSDL の使用については「パラメータライズされたメッセージ レスポンダーのトラフィックからの作成」を、SOAtest での WSDL の使用については「WSDL からのテスト作成」を参照してください。レコード ID とは
ウィザードからのレコード ID の指定
レコード タイプ/フィールド名の変更とマッピング
サンプル
注意
データ セットのインポート オプション
SOAtest のオプション
Virtualize のオプション
CustomerID FirstName LastName 1 Darth Vader 2 Luke Skywalker 3 Han Solo CustomerID FirstName LastName 1 Darth Maul 2 Luke Skywalker 4 Obi-Wan Kenobi 置換
CustomerID FirstName LastName 1 Darth Maul 2 Luke Skywalker 4 Obi-Wan Kenobi マージ
CustomerID FirstName LastName 1 Darth Vader 2 Luke Skywalker 3 Han Solo 4 Obi-Wan Kenobi 更新
CustomerID FirstName LastName 1 Darth Maul 2 Luke Skywalker 3 Han Solo 4 Obi-Wan Kenobi 上書き
CustomerID FirstName LastName 1 Darth Maul 2 Luke Skywalker 3 Han Solo レコード インポート オプション
SOAtest のデータ再利用ページ
Virtualize のデータ再利用ページ
Overview
Content Tools