このセクションでは、ISO 8583 Client ツールについて説明します。ISO 8583 Client ツールを使用すると、さまざまなチャネルとメッセージ パッケージング構成を使用して ISO 8583 メッセージを送受信することができます。
このセクションの内容:
ISO 8583 は、カード所有者がクレジット カードを使用して行う電子的金融取引のデータを交換するシステムのための規格です。しかし、ISO 8583 規格に基づくトランザクションをテストする際には、いくつかの課題があります。
Parasoft SOAtest は、このような課題を解決する包括的なテスト フレームワークであり、一貫性のある先進的な方法で ISO 8583 規格に基づくシステムの品質を管理することを可能にし、ISO 8583 規格を全体的な SOA/IT 品質ガバナンスの一部とします。また、SOAtest の生産性向上に役立つフレームワーク (データ ソース、テスト スイート、豊富なデータ検証機能など) を利用し、継続的な回帰テスト基盤を構築して電子支払システムを安全に拡張することができます。
ISO 8583 ツールには使いやすい GUI があり、わかりにくいバイナリ メッセージ形式を扱うことができます。ISO 8583 を使用して以下を行うことができます。
テスト ケース エクスプローラーで ISO 8583 ツールのノードをダブルクリックするとツールの構成パネルが表示され、オプションを設定できます。
[ツール設定] タブでは、以下の基本的なツール設定を指定することができます。
メッセージ交換パターン: 同期レスポンスを期待する: SOAtest がレスポンスを受け取るかどうかを指定します。[同期レスポンスを期待する] を選択した場合、SOAtest はメッセージを送信してレスポンスを受け取ります。 [同期レスポンスを期待する] を選択しない場合、SOAtest は一方向のメッセージを送信し、レスポンスを受け取りません。
ドロップダウン メニューで [カスタム] を選択すると、ユーザー独自のチャネル実装を指定できます。[カスタム] を選択すると、ドロップダウン メニューの隣にテキスト フィールドが表示され、完全修飾クラス名を指定できます。カスタム チャネル クラスは、org.jpos.ISOChannel インターフェイスを実装するか、org.jpos.BaseChannel を拡張する必要があります。次の URL でチャネル実装のサンプルを参照することができます: http://jpos.svn.sourceforge.net/viewvc/jpos/trunk/jpos6/modules/jpos/src/org/jpos/iso/channel/
カスタム チャネル クラスを作成したら、SOAtest のクラスパスにチャネル クラス追加する必要があります。SOAtest のクラスパスに Jar を追加する方法の詳細については、「システム プロパティの設定」を参照してください。
[入力タイプ] タブでは、ISO 8583 メッセージの構成を行うことができます ([メッセージ] サブタブ)。また、任意のヘッダーを設定することもできます ([ヘッダー] サブタブ)。
[メッセージ] タブでは、以下のオプションを設定できます。
[リテラル XML] および [フォーム XML] ビューを使用すると、XML 形式で ISO 8583 メッセージを構成できます。実際のメッセージは、jPOS XML チャネルおよび XML パッケージャーが選択されている場合を除き、(XML ではなく) バイナリ形式で送信されます。メッセージの XML 表現は、次のように定義されます。
<isomsg> <header>{Hexadecimal representation binary content}</header> <field id="{INTEGER}" value="{STRING}" [type="binary"]/>+ </isomsg> |
サンプル メッセージは以下のようになります:
<isomsg> <header>16380c18601860a186b01868fff486e0bb21</header> <field id="0" value="0100"/> <field id="2" value="5048993400009931"/> <field id="3" value="031000"/> ... <field id="128" value="0D0F030D040C0602" type="binary"/> </isomsg> |
[ヘッダー] タブを使用すると、ISO 8583 メッセージのカスタム バイナリ ヘッダーを構成できます。ドラッグ & ドロップ操作でヘッダー フィールドを並べ替えたり、ボタンをクリックして新規フィールドの追加やフィールドの削除を行うことができます。複数のフィールドをまとめて削除するには、CTRL キーを押しながら複数のフィールドを選択します。ボタンの隣に表示されるサイズは、すべてのフィールドのサイズを合計したものです。
[ヘッダー] タブには、以下のオプションがあります。
ISO 8583 テストを実行すると、送受信されたメッセージの XML 表現がトラフィック ビューアーに表示されます。解析を容易にするために XML 表現が使用されます。XML 表現は実際に送受信されたバイト ストリームを表してはいません。ソケット レベルでキャプチャされたままのメッセージの十六進数ダンプは、Traffic Viewer の [ヘッダー] セクションに表示されます。
ISO 8583 のメッセージ交換を行うシナリオをセットアップした後、レスポンス メッセージに対して回帰コントロールやさまざまな検証機能を適用できます。
回帰コントロールを適用するには、次の操作を行います。
値セルで [スクリプト] を選択すると、カスタム コードを記述してフィールド値を生成できます。このような使用方法の例としては、コンテンツを暗号化する場合や、MAC 値を生成する場合などが挙げられます。
スクリプト メソッドは、0 個、1 個、または2 個の引数を受け取ります。
1 つの引数が宣言されている場合、引数は現在のリクエスト ISO 8583 メッセージを表す ISOMsg オブジェクトを参照します。ISOMsg オブジェクトは、現在のフィールドまでが初期化されています。
たとえば、10 番目のフィールドにスクリプトが指定されている場合、ISOMsg オブジェクトはその前にある 9 個のフィールドをフィールド値に基づいて設定します。そのため、ISO フィールドの順序を変更すると、実際に送信されるメッセージのフィールド順序には影響がありませんが、結果が異なる場合があります。2 つ目の引数が宣言されている場合、この引数は Context を参照します。Context を使用すると、環境変数やデータ ソースの値などにアクセスすることができます。
詳細については、SOAtest Extensibility API のマニュアルを参照してください。Extension framework API のマニュアルを参照するには、[Parasoft] メニューの [ヘルプ] をクリックし、『Parasoft SOAtest Extensibility API』というブックを探してください。