このセクションでは、 ISO 8583 サービスを仮想化するためのヒントを提供します。

セクションの内容:

概要

ISO 8583 は、カード所有者とカード発行者との間で「金融取引カード始発メッセージ」をやりとりするための標準規格です。

Parasoft Virtualize はさまざまなメッセージのパッケージ構造で、ISO 8583 メッセージ タイプ上のアプリケーションの振る舞いを仮想化できます。Parasoft Virtualize はメッセージを視覚的にモデル化できます。同様に、応答条件や、データ ソースの使用を含む動的レスポンスのロジックを視覚的に設定できます。

ISO 8583 メッセージングは、HTTP または MQ といった、ビルトイン トランスポート間でサポートされています。ISO 8583 トランスポートを介してメッセージを送信するには、まず ISO 8583 リスナー プラグインをインストールします。ISO 8583 リスナー プラグインはParasoft Marketplace からダウンロードすることができます。このプラグインは「カスタム トランスポート、メッセージ形式、およびツールの使用」で説明する拡張 API を使用します。

ISO 8583 メッセージの記録

ISO 8583 メッセージが HTTPS、MQ または JMS を介して交換される場合、関連するウィザードを使用してそれらのメッセージを記録します。詳細については、以下のセクションを参照してください。

その他のトランスポート チャンネルを介した記録は現在サポートされていません。

ISO 8583 のメッセージ レスポンダーの構成

ISO 8583 メッセージ パッケージャーの構成

ISO 8583 用のメッセージ レスポンダーを構成する前に、適切なパッケージャーを選択する必要があります。次の操作を行います。

  1. メッセージ レスポンダーのコンフィギュレーション パネルを開きます。
  2. [サービス オプション] タブで、[ISO 8583 パッケージャー] を選択し、適切なパッケージャーを選択します。利用可能なオプションは jPOS (www.jpos.org) によって提供された構成に基づきます。各設定はメッセージで許可される [フィールド ID] と、どのデータ タイプと長さを持つべきかを確立します。
    ドロップダウン メニューから [カスタム] を選択すると、ユーザーの特定のメッセージ構成を定義したパッケージャー ファイルを検索できます。カスタム パッケージャーは、jPOS ベースの XML ファイルです。このようなパッケージャー ファイルのサンプルは、www.jpos.org を参照してください。http://jpos.svn.sourceforge.net/viewvc/jpos/trunk/jpos6/modules/jpos/cfg/packager/ にはさまざまな XML パッケージャー設定が あります。



レスポンス メッセージの構成

リテラル (テキスト) 表現の ISO 8583 メッセージが利用可能な場合、そのメッセージをメッセージ レスポンダーの [リテラル] ビューに貼り付け、その後 [フォーム ISO 8583] ビューに切り替えます。提供されたメッセージが選択したパッケージと相反する場合、エラー メッセージが表示され、フォーム ビューへの変換は失敗します。

あるいは、サンプル メッセージが利用できない場合やバイナリ形式である場合、[フォーム ISO 8583] ビューを使用してゼロからレスポンス メッセージをビルドできます。このビューは、メッセージ ボディとメッセージ ヘッダーを定義するためのタブから構成されます。


データ ソースが利用可能な場合、これらのタブのフィールドの値をパラメータライズできます。「データ ソース値、変数、および抽出した値でツールをパラメータライズ」を参照してください。

[追加] ボタンをクリックして新しいフィールドを追加できます。フィールドを削除するには、フィールドを選択して [削除] ボタンをクリックします (Ctrl キーを押しながらクリックすると、複数のフィールドを選択できます)。1 つのフィールドを選択した場合はドラッグすることもできます。

[ISO 8583 メッセージ] ビューで宣言した際のフィールドの順番は、実際にフィールドが送られる順番には影響しません。フィールドは、常にフィールド ID の数字に基づいて昇順で送られます。これは ISO 8583 のメッセージ仕様に準拠しています。ただし、どの値を最初に初期化するかに関してスクリプトを使用している場合、フィールドの順序が問題になることがあります。詳細については Scripting ISO 8583 Header Message Fields」を参照してください。

[メッセージ] タブ

[フォーム ISO 8583] ビューでは以下のオプションを使用できます。

  • フィールド ID: 数値を入力します。メッセージ フィールド構成 (またはパッケージャー ファイル) で宣言された値だけが使用できます。ただし、実際に使用するフィールドよりも多くのフィールドをパッケージャーで宣言することは可能です。
  • : 特定のフィールド値のエリアをクリックするときに、[固定] または [スクリプト] を選択できます。レスポンダーからデータ ソースが見える場合、パラメータライズも利用できます。
  • タイプ: [文字列] または [バイナリ] を選択できます。[バイナリ] は、値がコンテンツのリテラル 16 進表現であり、16 進の各 2 桁が 1 byte を表すことを示します。[文字列] は、そのフィールドに対してメッセージ パッケージャー (メッセージ フィールド構成) で指定したタイプに基づいて値が解釈されることを示します。
  • 説明: (任意) メッセージの説明を指定できます。このオプションは、送られるメッセージにまったく影響しません。
  • データソースの使用: 空文字列を除外: (データソースが利用できる場合にのみ表示) このセルのチェック ボックスをオンにした場合、値をデータ ソース列にマッピングできます。レスポンダーがデータ ソース行を反復するときに、データ ソース行のその列が空かどうかに基づいて、指定された ISO フィールドを包含または除外します。データ ソース値が空の場合には常にフィールドが除外されます。

[ヘッダー] タブ

[ヘッダー] タブでは、ISO 8583 メッセージのカスタム バイナリ ヘッダーを設定できます。ヘッダー フィールドの順番はドラッグ アンド ドロップで変更できます。また、[追加] ボタンで新しいフィールドを追加したり、[削除] ボタンでフィールドを削除したりすることができます。複数のフィールドを一度に削除するには、Ctrl キーを押しながらクリックしてフィールドを選択します。ボタンの横に表示されるサイズは、すべてのフィールドのサイズの合計です。

[ヘッダー] タブでは以下のオプションを指定できます。

  • 名前: ヘッダーの名前を指定します。
  • : 特定のフィールド値のエリアをクリックするときに、[固定] または [スクリプト] を選択できます。レスポンダーからデータ ソースが見える場合、パラメータライズも利用できます。
  • タイプ: ヘッダー フィールドのデータ タイプを指定します。利用できるタイプは、値セルの内容がどのように送られるかに影響します。[バイナリ (16 進)] オプションは、値セルがバイナリ コンテンツの 16 進表現であり、そのまま送られるべきであることを示します。また、16 進の各 2 桁が 1 byte を表すものと想定します。
  • サイズ: フィールドのサイズを表します。
  • 除外: (データソースが利用できる場合にのみ表示)このセルのチェック ボックスをオンにした場合、値をデータ ソース列にマッピングできます。レスポンダーがデータ ソース行を反復するときに、データ ソース行のその列が空かどうかに基づいて、指定された ISO フィールドを包含または除外します。データ ソース値が空の場合には常にフィールドが除外されます。

ヘッダー メッセージ フィールドのスクリプト化

値セルで [スクリプト] を選択した場合、カスタム コードを記述してフィールドの値を生成できます。使用例として、コンテンツを暗号化したり MAC 値を生成したりするケースが挙げられます。

スクリプトのメソッドは、ゼロ、1、または 2 個の引数を取ることができます。

1 個の引数を宣言した場合、この引数は現行のリクエスト ISO 8583 メッセージの ISOMsg オブジェクト表現を参照します。ISOMsg オブジェクトは、そのフィールドを現行フィールドまで初期化します。

たとえば、10 番目のフィールドをスクリプト化している場合、ISOMsg オブジェクトはその前の 9 フィールドすべてを、それらのフィールド値に基づいて設定します。ISO フィールドの順番の変更は、送信メッセージの実際のフィールドの順番に影響しません。しかし、順番の変更が影響するのがこのスクリプト化の部分です。

2 番目の引数を宣言した場合、この引数は Context を参照し、環境変数、データ ソース値などへのアクセスを可能にします。詳細については Virtualize 拡張 API ドキュメントを参照してください。拡張 API のドキュメントには、[Parasoft] > [ヘルプ] メニューからアクセスすることができます (『Parasoft Virtualize 拡張 API』というブックを探してください)。

レスポンダー応答条件の構成

複数のメッセージ レスポンダーが使用される場合、次のようにレスポンダー応答条件を構成する必要があります。

  1. メッセージ レスポンダーの [レスポンダー応答条件] タブで、 [ISO 8583 応答条件] を開きます。
  2. [応答条件の 有効化] をオンにします。
  3. このメッセージ レスポンダーがどの着信メッセージを処理するか決定するために、一覧にフィールド値を追加します。
    • たとえば、 [フィールド ID] が 0 の [値] を 0200 に設定した場合、ISO 8583 の着信メッセージからフィールド ID が 0 の値を取得し、0200 と比較するという一致条件を追加することになります。着信メッセージの値が 0200 と一致する場合、このメッセージに応答するためにレスポンダーが使用されます。一致しない場合、レスポンダー スイート内の次のメッセージ レスポンダーで評価が実施されます (レスポンダー スイート内に複数のメッセージ レスポンダーが存在する場合。そうでない場合は、エラー応答メッセージが返されます)。
    • 照合する追加のフィールドをリストに追加できます。



フィールド ID の存在 (または不在) に基づいた照合

レスポンダーを構成して、 ISO 8583 の着信リクエスト メッセージのフィールド ID の存在 (または不在) を応答条件として使用できます。

  • 指定のフィールド ID が存在する場合にレスポンダーがメッセージに応答するように設定するには、[値] で [オカレンス] を選択し、さらに [存在する] を選択します。
  • 指定のフィールド ID が存在しない場合にレスポンダーがメッセージに応答するように設定するには、[値] で [オカレンス] を選択し、さらに [存在しない] を選択します。

たとえば、次の構成のレスポンダーは、ISO 8583 の着信リクエスト メッセージが、フィールド ID 7 を含まない場合に応答します。

ISO 8583 データ ソース応答条件の使用

メッセージ レスポンダーのデータ ソース応答条件についての一般的な情報については、「 [ データソース応答条件] タブ」を参照してください。

フィールド ID (着信メッセージのために提供された) は、 1 つ以上のデータ ソース列名に一致できます (XPath、 URL パラメーターなどの扱われ方と似ています)。その後、 ISO 8583 フィールドからさまざまなデータ ソース列でパラメータライズできます。

[フォーム ISO 8583] フィールドは [データ ソースの使用: 空文字列を除外] をサポートします。そのため、動的なフィールドで ISO 8583 メッセージを生成し、関連するデータ ソース行のデータに基づいて包含/ 除外できます。この機能の詳細については、「フォーム XML ビューでデータ ソースを使用:フォーム XML ビューのオプション#Using Data Sources with Form XML Parameterized Values要素と属性の除外」を参照してください。

  • No labels