このセクションの内容

はじめに

この拡張機能は COBOL の copybook をサポートし、Parasoft ソリューションが copybook メッセージを設定、送信、検証、仮想化できるようにします。Parasoft Marketplace からダウンロードできるファイルは、ビルダー実行モジュールです。実行モジュールを実行し、SOAtest/Virtualize にインストールする JAR ファイルを生成します。ダウンロードしたビルダー jar ファイルは、Virtualize/ SOAtest にインストールする copybook jar ではありません。ビルダーを使用して任意の数の copybook jar ファイルを生成できます。複数の copybook jar ファイルを Virtualize/SOAtest にインストールできます。

ビルダーを実行すると、以下を含む jar ファイルが生成されます。

  • 各 copybook の XML スキーマ
  • copybook データを操作するための Java クラス
  • Parasoft SOAtest および Virtualize のメッセージ タイプとして copybook を統合するための XML ファイル

copybook JAR を生成しインストールすると、 Copybook Responder (Virtualize の場合) および Copybook Client (SOAtest の場合) を作成できるようになります。どちらも Parasoft 製品標準のグラフィカルなメッセージ ツリーや「リテラル」モード (プレーン テキスト) で copybook メッセージを操作するのに使用できます。 

このツールは、構文的に正しい copybook をサポートし、また以下をサポートします。

  • COMP-3 (Packed Decimal) を含むすべての COBOL 数値型
  • 要素およびグループ レベル フィールドの複数のオカレンス (OCCURS 文)
  • ネストされた copy 文

ツールは OCCURS DEPENDING ON 文および COPY REPLACING 文をサポートしません。

前提条件

  • Java 6 または 7 (Java 8 ではない)
  • 適切な JDK 
  • Parasoft Virtualize または Parasoft SOAtest 9.9.4 以上

Copybook ファイルの準備

Copybook ツールは、実行時に指定されたディレクトリのリストから copybook ファイルを検索します。各ディレクトリで、ツールは処理対象の copybook のファイル名およびワイルドカードのリストを検索します。

copybook ファイルに COBOL ソース コードとは異なる拡張子を付けるか (.cob ではなく .cpy)、COBOL ソース コードとは別のディレクトリに copybook ファイルを保存するよう推奨します。

Z/OS システムの copybook ファイル名は 8 文字に制限されていますが、Copybook ツールにはこの制限はありません。

copybook ファイルに COPY 文が含まれている場合、Copybook ツールは、実行時に指定された拡張子を持つ同じ名前のファイルをチェックして名前を解決します。

たとえば、copybook に COPY ACCTDATA という文があり、ファイル名リストが *.cpy,*cbl だった場合、Copybook ツールは実行時に指定されたディレクトリ リストで ACCTDATA.cpy または ACCTDATA.cbl を探します。

使用方法

SOAtest および Virtualize は、さまざまなタイプのリクエスト (SOAtest) および Responder (Virtualize) をサポートしています。タイプには XML、JSON、CSV、プレーン テキスト、固定長データなどがあります。Parasoft Copybook Builder の出力を SOAtest および Virtualize に統合すると、新しく Copybook Message というタイプが作成されます。各 copybook が Copybook フォーマットのリクエストとレスポンダーに対応する Message Format になります。Copybook Message タイプを使用するには、次の手順を行います。

Copybook JAR の生成

次のコマンドを使用して com.parasoft.soavirt.messages.copybook-<VERSION>.jar ファイルを実行し、copybook ファイルを読み込んで UI に統合する JAR ファイルを生成します。

java -jar <path to executable copybook.jar> -copybookinput <path to copybook directory> -filenames <filename1, filename2, and so on> -name <name> -apijar <path to com.parasoft.api.jar>

コマンドは次の引数を使用します。

-jarParasoft Marketplace から取得した Copybook 拡張機能を指定します。
-copybookinput

copybook ディレクトリ、または複数の copybook ディレクトリのカンマ区切りのリストを指定します。指定されていない場合、カレント ディレクトリが使用されます。

ビルダーはサブディレクトリを再帰的に処理しません。サブディレクトリは個別のエントリとして指定します。ディレクトリ名に空白または特殊文字が含まれる場合は引用符で囲みます。

-filenamescopybooks ファイルのリストをカンマ区切りで指定します (ワイルドカードを使用可)。
-nameビルダーが生成する copybook jar ファイル拡張の名前を指定します。この名前が Virtualize/SOAtest で UI ラベルとして使用されます。–name が指定されていない場合、jar ファイルの名前は copybook.jar になります。
-apijar

com.parasoft.api.jar ファイルへの絶対パスを指定します。-name 引数を使用する場合、この引数が必須です。

バージョン 2020.1 以前の場合、jar ファイルは <INSTALL>/eclipse/plugins/com.parasoft.xtest.libs.web_<VERSION>/root/com.parasoft.api.jar にあります。

バージョン 2020.2 以降の場合、jar ファイルは <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/com.parasoft.api.jar にあります。

-logコンソール メッセージのログ記録レベルを設定します。DEBUGINFOWARNERROR を指定できます。
-preprocess前処理が完了したら処理を中断することを指定します。
-helpヘルプを表示します。

java -jar parasoft_copybook_builder.jar -copybookinput "C:\My Projects\proj_a\cobol_src","C:\My Projects\proj_a\cobol_src\copy books" -filenames *.cbl,*.cpy -name Ps01CommArea -apijar com.parasoft.api.jar

この例は、以下のフォルダーを検索します。

  • C:\My Projects\prog_a\cobol_src
  • C:\My Projects\proj_a\cobol_src\copy books

ワイルドカード *.cbl または *.cpy に一致するファイルが copybook として処理されます。

Copybook ツールの実行が完了すると、ディレクトリに次の 2 つのファイルが作成されています: copybook.jar および velocity.logエラーがなかった場合、velocity.log は削除してかまいません。「Integrating the Copybook Extension」の説明に従って copybook.jar ファイルを統合します。

Copybook 拡張機能の統合

Copybook ツールは、「Generating the Copybook JAR」で JAR の実行によって作成されたシステム JAR ファイルとして SOAtest および Virtualize の UI に統合されます。

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] を選択します。
  2. 既存の copybook.jar があれば削除します。  
  3. [Add JARs] をクリックし、「Generating the Copybook JAR」で JAR の実行によって作成された copybook.jar を参照します。
  4. [開く] をクリックし、変更を適用します。
  5. SOAtest/Virtualize を再起動します。

設定プロパティ ファイルで system.properties.classpath プロパティに copybook.jar ファイルを追加すると、コマンド ラインから拡張機能をインストールできます。例:

system.properties.classpath=<PATH_TO_JAR>/copybook1.jar

また、VirtualAssets/system_jars フォルダー (フォルダーがまだ存在しない場合、作成します) に copybook.jar ファイルを追加します。次の API 呼び出しを実行して jar をリロードします。

http://<VIRTUALIZE_SERVER_HOST>:<VIRTUALIZE_SERVER_PORT>/soavirt/api/<VERSION>/preferences/systemProperties/reload

Responder での Copybook の使用

トラフィックから Copybook Responder および Copybook Client を作成したり、手動で追加できます。手動で追加する場合、[メッセージ タイプ] ドロップダウンから目的の copybook を選択します。copybook を選択すると、copybook に基づいてツリーに値が設定されます。このサンプルは、copybook から Virtualize のレスポンダーを作成する方法を示しています。

  1. Virtualize パースペクティブで [Parasoft] > [Vieビューの表示] > [仮想アセット エクスプローラー] を選択します。
  2. [VirtualAssets] フォルダーを右クリックし、[新規追加] > [仮想アセット (.pva) ファイル] を選択します。 
  3. ファイル名を入力し、[次へ] をクリックします。
  4. [] を選択し、 [終了] をクリックします。VirtualAssets フォルダーに新規 .pva ファイルが作成されます。
  5. 新規 .pva の下の [レスポンダー スイート] を右クリックし、[新規追加] > [Responder] を選択します。
  6. [CopyBook Message Responder] を選択し、[終了] をクリックします。
  7. 作成したばかりの Copybook Message Responder を開きます。 
  8. [メッセージ タイプ] メニューには、利用可能な copybook がすべて表示されています。copybook を選択すると、copybook のフィールドがレスポンダー フィールドとして表示されます。

同じ手順で、SOAtest 環境で copybook リクエストを作成できます。 

  • No labels