ユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo Application Rehosting Workbenchカタロガ

 


概要

目的

この章の目的

このガイドには次情報が含まれます。

注意: これらのプラクティスおよび方法はRehosting Workbench製品の一部ではありませんが、新しいユーザーを支援する目的でこのガイドに示しています。そうでない場合は先に進み、独自の方法でRehosting Workbenchをカスタマイズし、独自の方法を作り出すことができます。

スキル

移行プロセスおよび概念

Rehosting Workbenchカタロガで使用されるプロセス、概念および用語を理解し、カタロガが必要とする入力、出力および構成を知り、どのようにしてすべてのコンポーネントを個別および一緒に分析して、アセットに一貫性があるか、移行できるかを決定するのかを知る必要があります。

Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドには、カタロガのすべての機能が詳しく記載されています。概念、用語、入力と出力、および構成の紹介について、カタロガの章の少なくとも最初の3つの項を読んでください。

UNIX/Linuxスキル

UNIX/Linuxスキルは、移行プラットフォーム環境で正しく作業し、カタログ化プロセスに伴う特定のアクションを実行するのに必要です。次のことを知っている必要があります。

z/OSスキル

z/OSコンポーネントおよびプログラミング言語を識別し理解できる必要があります。z/OS環境における一般的なスキル(COBOL、ファイル、DB2、CICS、JCL、ユーティリティ)は十分条件です。

関連項目

詳細は、以下を参照してください。

編成

Oracle Tuxedo Application Rehosting Workbenchカタロガは次の項に記載されています。

要件および前提条件

移行プラットフォームの準備

移行プラットフォームとは、カタロガなどの移行ツール(Rehosting Workbench)が実行するプラットフォームです。このプラットフォームはIntel互換のハードウェア・プラットフォーム上で実行するLinux をベースにしています。

アクションを実行する前に、Oracle Tuxedo Application Rehosting Workbenchインストレーション・ガイドに記載されている仕様および要件に従い、Rehosting Workbenchをインストールおよび構成する必要があります。

 


プラットフォーム移行プロセスにおけるカタロガの概要

この項では、カタログ化の手順の入力および出力と、プラットフォーム移行プロセスにおける他の移行の手順との依存関係を説明します。

サンプルのSimple Application

実行されるすべての移行アクティビティと、Rehosting Workbenchカタロガを使用してアセットに一貫性があるかどうか、ターゲット・プラットフォームに移行できるかどうかを判断する方法を説明するために、Simple Application STFILEORAを使用します。STFILEORAはRehosting Workbenchのツールのセットと共に提供されます。

カタログ化移行手順

カタログ化操作の説明を図で説明します。

  1. 構成ファイルと、カタログ化のために準備されたソース・ファイルの説明を読みます。
  2. ソース・アセットの各コンポーネントを解析し、パック・オブジェクト・ベースと呼ばれる内部表現(拡張子.pob)を作成します。これらのコンポーネントの内部的な不整合(構文エラーまたは未定義の変数への参照など)を特定します。
  3. COBOLプログラムからCOBOLサブプログラムへのCALL文などの、これらのコンポーネント間の相互参照を計算します。
  4. アセットから欠落しているサブプログラムへのCALL文の参照、またはアセットのどのCOBOLプログラムからも参照されないSQL表(未使用のコンポーネント)などの、これらの関係における相互の不整合を特定します。
  5. アセット内のすべてのコンポーネントをそのステータス(欠落、未使用または正常)と上記で検出されたすべての異常(不整合)とともにリストするCSV形式のレポートを作成します。

上記の操作は次の項で詳しく説明します。

 


カタログ化手順

アセットの作成

この手順はカタロガの前提条件で、移行プロセス全体の概要を説明するOracle Tuxedo Applicationのプロセス・ガイドで述べているように、ソース・プラットフォームのソース・ファイルを収集し、移行プラットフォームに転送し、適切なファイル構造にインストールし、移行の準備をするのはRehosting Workbenchのユーザーです。

アセットの作成は、ソースを取得してから、カタロガ・ツールへの有効な入力として使用できるように構成するまで、いくつかの手順からなります。

  1. z/OSから移行するソースの収集
  2. ソースのRehosting Workbenchプラットフォームへの転送
    1. ソース・ファイルは移行プラットフォームで理解できるようにASCIIコードセットに変換される必要があります。この変換はファイル転送ユーティリティを使用するか、または個別のEBCDIC/ASCII変換手順を適用するかのどちらかで行うことができます。
    2. 転送手順によってソースの内容が破損していないことを確認する必要があります。
  3. Cataloguerの必要に応じたタイプ別にソースをディスパッチおよび準備します。
    1. すべてのコンポーネントをUNIX形式に変換します(dos2unixコマンドなどを使用)。
    2. COBOLコンポーネントをCOBOLコンバータによるリクエストに応じた自由形式に変換します。カタロガ自体はどちらの形式も受け入れますが、cobol-left-marginおよびcobol-right-marginオプションだけは設定する必要があります。
    3. コンポーネントをタイプ別に構成します。すべてのCICSプログラムはサブディレクトリを含む1つのディレクトリに入れ、COBOLインクルード、Batchプログラム、Jobなども同様です。
    4. 各タイプにファイルの拡張子を追加します。COBOLプログラムには.cbl、COBOLインクルードには.cpy、Jobには.jclです。
  4. z/OSからの抽出後または転送中に追加された特定の文字または行からのコンポーネントのクリーンアップなど、その他のアクションが必要な場合もあります。

作業環境の初期化と構成

Rehosting Workbenchカタロガは移行プロセスで使用されるOracle Tuxedo Application Workbenchスイートの最初のツールなので、実行するプロジェクト全体に一般的な構成手順をここで説明します。

構成の目的

推奨するファイル構造

作業領域を構成および標準化すればするほど、移行タスクはより容易になり自動化されます。

次のサンプルで、典型的な構造を示し、同じ構造で作業することをお薦めします。

リスト2-1 サンプル・アプリケーションの階層
SampleApp
|-- CVS_DELIVRY
|-- Logs
|-- param
|   `-- system.desc
|-- source
|   `-- makefile
|-- tools

各ディレクトリの内容

環境および作業変数の設定

Rehosting Workbenchを使用してプロジェクトで作業するたびに、後で有用になる特定の環境変数を設定することをお薦めします。環境変数で必須なのはREFINEDISTRIBのみで、他は単純化の目的で使用できます。

表2-1は、提案された変数の使用方法を説明しています。

表2-1 Rehosting Workbench環境変数
変数
使用方法
REFINEDISTRIB
Linux64またはLinux32
Rehosting Workbenchバイナリ・ファイルのアーキテクチャを指定します。
PROJECT
${HOME}
作業領域内のプロジェクトのルート。HOMEは研修用に使用されます。しかし値は/project/SampleAppのようになります
CVSROOT
${PROJECT}/CVS_DELIVRY
ソースおよび構成ファイルを含むのに使用するCVSリポジトリ。
LOGS
${PROJECT}/Logs
Rehosting Workbenchのログが格納される構造体
PARAM
${PROJECT}/param
パラメータ・ファイルが格納されるディレクトリ
SOURCE
${PROJECT}/source
変換されるソース・ファイルが格納される構造体
REFINEDIR
/<InstallDir>/refine
Rehosting Workbenchバイナリおよびユーティリティのルート
PHOENIX
${REFINEDIR}
Rehosting Workbenchにより使用される変数
TMPPROJECT
${PROJECT}/tmp
Rehosting WorkbenchのR4Z用の一時構造体
PATH
${PATH}:/platform/Tools
PATH補完

プロジェクト例のSimple Applicationでは、export Linuxコマンドを使用してすべての初期化を含む$PROJECT/.projectという名前の設定ファイルを使用します。このファイルはプロジェクトで作業するために新しいLinuxセッションが開かれるたびに実行されます。

リスト2-2 Simple Application .projectファイルからの抽出
echo "Welcome to SampleApp"
export GROUP=refine
export PROJECT=${HOME}/SampleApp
export CVS_LIV=${PROJECT}/CVS_DELIVRY
export CVSROOT=${PROJECT}/CVS_DELIVRY
export LOGS=${PROJECT}/Logs
export SOURCE=${PROJECT}/source
export PARAM=${PROJECT}/param
export REFINEDIR=/product/art_wb11gR1/refine
export PHOENIX=${REFINEDIR}
export TMPPROJECT=${PROJECT}/tmp
export REFINEDISTRIB=Linux64

プロジェクトの初期化の概要

新しいプロジェクトを初期化するには、次の順序で実行します。

  1. 前述のファイル構造を作成します。
  2. サンプルの構成(system.desc、version.mk、options-catalogなど)をSimple Applicationから$PROJECT/paramディレクトリにコピーし、必要な変更を行います。
  3. makefileをソース(SimpleApp)から$PROJECT/sourceへコピーします。
  4. ファイル.project$PROJECTの下に作成し、環境および作業変数の設定にリストした変数で初期化します。このファイルの変数はプロジェクトで作業するたびにエクスポートされます。
  5. 準備したソース・ファイルを$PROJECT/sourceにコピーします。
  6. オプション: ソースおよび構成ファイルをCVSで管理します。

構成

少なくとも2つの構成ファイルを設定する必要があり、追加の構成ファイルについては高度な使用の項で説明します。

次の2つの構成ファイルがカタロガでは必要です。

システム記述ファイル

システム記述ファイルはRehosting Workbenchツールのメイン構成ファイルです。

Simple Applicationの例の場合

グローバル・オプション

カタロガのオプション・ファイルの目的は、動作に影響する追加の情報をカタロガに与えることです。

Simple Applicationの例では、3つのオプションのみを使用しますが、もちろん他のオプションも使用できます。全部のオプションのリストについては、Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドを参照してください。

リスト2-4 Simple Applicationのグローバル・オプション
%% Options for cataloging the system
job-card-optional.

カタロガの実行

1つの操作

カタログ化を1つのコマンドで実行することができます。すべての操作は順次実行されます。

コマンドライン構文の例を示します。

${REFINEDIR}/refine r4z-catalog -s $PARAM/system.desc

説明:

このサンプルでのコマンドは次のとおりです。

ディレクトリ$LOGS/catalogからコマンドを実行します。

${REFINEDIR}/refine r4z-catalog -s $PARAM/system.desc

実行ログは画面に出力され、同時に、コマンドを開始したディレクトリの下のログ・ファイルにリダイレクトされます。

手順ごと

解析

この手順の実行は、カタログ化全体を待つことなく、特定のプログラムをチェックして結果を見たい場合に有用です。

リスト2-5 解析例
# parse only one program 
${REFINEDIR}/refine r4z-preparse-files -s $PARAM/system.desc CICS/PGMM000.cbl
# parse a list of programs
# build a list that contains programs with path from source (CICS/PGMM000.cbl)
${REFINEDIR}/refine r4z-preparse-files -s $PARAM/system.desc -f list-of-file
分析

この手順の結果は、コンポーネント間の情報を示すsymtab-SampleApp.pobという名前のバイナリ・ファイルです。

リスト2-6 分析例
cd $LOGDIR/catalog
${REFINEDIR}/refine r4z-analyze -s $PARAM/system.desc
レポートの印刷

この手順で、バイナリ・ファイルに格納された情報が収集され、CSV形式のレポートに印刷されます。

リスト2-7 レポート例の印刷
cd $LOGDIR/catalog
$REFINEDIR/refine r4z-fast-final -v M2_L3_3 -s $PARAM/system.desc

Simple Applicationでは、レポートは$PROJECT/source/Reports-SampleAppに生成されます。

この他のレポートはOracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドに記載されています。

結果の分析と検証

カタログ化レポートを使用して、移行する正確なアセット・セットの作成のための様々なアクションを実行し、Rehosting Workbenchの手順のCOBOL変換、JCL変換およびデータ変換を開始できます。

注意: これは、カタログ化および変換アクティビティが厳密に順次であるということを意味しているわけではなく、それらは重なる可能性があります。

インベントリ

カタログ化の後、各プログラム、Copy、Job、Includeにはその使用に応じたステータスが与えられます。

表2-2 インベントリ・ステータス
ステータス
説明
CORRECT
コンポーネントはソースに存在し、使用されています。
  • 少なくとも1つのプログラムにより使用されているコピーブック。
  • 少なくとも1つのトランザクション、JCLまたはプログラムにより使用されているプログラム。
  • 使用されていると見なされるすべてのジョブ。
  • 少なくとも1つのジョブにより使用されているJCLサブファイル。
アクション: 受け入れます
UNUSED
コンポーネントは存在しますが使用されていません。
  • プログラムから呼び出されていないコピーブック
  • トランザクションまたはジョブから呼び出されていないプログラム、またはプログラムからサブプログラムとして呼び出されていないプログラム。
  • ジョブにより使用されていないJCLサブファイル
アクション: コンポーネントを保持するかアセットから削除するかを決定します。
MISSING
コンポーネントがアセットに存在しませんが、そこへの参照が少なくとも1つ見つかりました。
  • 少なくとも1つのプログラムにより使用されているコピーブック。
  • 少なくとも1つのトランザクション、JCLまたはプログラムにより使用されているプログラム。
  • 少なくとも1つのジョブにより使用されているJCLサブファイル。
アクション: 欠落しているコンポーネントを追加するか、使用されていないまたは必要のない呼出しコンポーネントを削除するかを決定します。

異常分析

異常レポートに報告されたすべてのエラーは分析する必要があります。

変換に進む前に、アセットに重大なエラーが含まれないようにする必要があります。

完了条件

カタログ化はすべての必要な出力(POBファイルおよびカタログ化レポート)が生成されたら完了と見なすことができます。

プロセスとして、プロジェクトの内容によりますが、一般的にカタログ化は次の場合に完了したと見なされます。

 


Makeユーティリティの使用

makeはターゲットの構成(ファイルまたはアクション)を自動化および最適化するためのUNIXユーティリティです。

makeを使用して移行プロセスを構成する様々な操作を実行することを強くお薦めする理由は次のとおりです。

すべての操作が実装されるソース・ディレクトリにmakefileという名前の記述子ファイルが存在する必要があります(プロジェクトの初期化中にmakefileがソース・ディレクトリに準備される)。

次の2つの項でmake構成およびmakeによるカタロガ機能の使用方法について説明します。

Make構成

Version.mk

$PARAM内のversion.mk構成ファイルはmakeユーティリティが必要とする変数およびパラメータを設定するのに使用されます。

このファイルでは、各タイプのコンポーネントがインストールされる場所とその拡張機能、使用される様々なツールのバージョンを指定します。このファイルにはログ・ファイルの構成方法も記述されます。

リスト2-8 Simple Applicationのversion.mkからの抽出
 Root =  ${PROJECT}
#
# Define directory Project
#
Find_Jcl = JCL
Find_Prg = BATCH
Find_Tpr = CICS
Find_Spg =
Find_Map = MAP
SCHEMAS = AV
#Logs organisation
#
LOGDIR                := $(LOGS)
CATALDIR              := $(LOGS)/catalog
PARSEDIR              := $(LOGS)/parse
TRADJCLDIR            := $(LOGS)/trans-jcl
TRADDIR               := $(LOGS)/trans-cbl
DATADIR               := $(LOGS)/data

MakeFile

makefileの内容は実行するタスクの要約です。

Simple Applicationとともに提供されるmakefileは自動的にドキュメント化されます。

解析

すべてのプログラムの解析

$SOURCEディレクトリから次のコマンドを実行します。

>  make pob

ログ・ファイルが$LOGS/parseに生成されます。

解析の必要性のチェック

>  make pob VERIF=TRUE
Check : Parse of BATCH/PGMMB02.cbl Need Process .. To obtain BATCH/pob/PGMMB02.cbl.pob

1つのプログラムの解析

サンプル: プログラムBATCH/PGMMB02.cblの解析

>  make BATCH/pob/PGMMB02.cbl.pob 

ログ・ファイルが$LOGS/parseに生成されます。

カタログ化

カタログ化を起動するには次を使用します。

make catalog

ログ・ファイルが$LOGS/catalogに生成されます。

Makeの高度な使用

ターゲットを追加または更新する場合

Makefileを更新して、ターゲットを追加または既存のターゲットを更新できます。

たとえば、独自のスクリプト(report.sh)を作成して、基本のカタログ化レポートを基にしてカスタマイズしたレポートを生成する場合、そのスクリプトは$TOOLSディレクトリに置きます。

次のようにMakefileを変更できます。

Makeターゲットのデバッグ

構成の不足が原因でmakeによるコマンドが正常に動作しないことがあります。

次の順に実行します。

  1. 現在の操作を妨げないように、使用したmakefileをデバッグ・コピー(makfile.debug)にコピーします。
  2. REAL_CMDをCOMMENTに変更してmakefile.debugを変更します。
  3. catalog:
            @$(COMMENT)  ${REFINEDIR}/refine r4z-catalog -v $(CATALOG) -s $(SYSTEM) $(LOG_FILE_FLAGS_CAT)
オプションVERIF=TRUEを指定してコマンドを使用
>  make catalog VERIF=TRUE -f makefile.debug

すべての変数の置換後、実行するコマンドが出力されます。


  先頭に戻る       前  次