このセクションでは、 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] ビューでは以下のオプションを使用できます。

[ヘッダー] タブ

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

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

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

値セルで [スクリプト] を選択した場合、カスタム コードを記述してフィールドの値を生成できます。使用例として、コンテンツを暗号化したり 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. このメッセージ レスポンダーがどの着信メッセージを処理するか決定するために、一覧にフィールド値を追加します。

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

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

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

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

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

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

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