COBOLの最新バージョンへの移行時の最初のステップ

COBOLの最新バージョンへの移行時の最初のステップ

  • メインフレーム
6分で読めます 更新日 Jan 24, 2017

ポイント: COBOLプログラムの最適化には、最新バージョンへの移行、特にCOBOL 5または6が含まれます。重要なステップには、移行ガイドを読むこと、テスト用のテンプレートアプリケーションを選択すること、過去のコンパイルバージョンのためにロードライブラリモジュールを分析することが含まれます。

  • メインフレームプロファイリングツールを使用してパフォーマンスベースラインを設定します。
  • COBOLパフォーマンスと移行に対するハードウェアの影響を理解します。

今日、デジタルビジネスは、BMCの調査によると、より多くのメインフレーム活動を促進しています。少しのコストを節約するためにアプリケーションパフォーマンスを犠牲にするのではなく、メインフレームプログラムを最適化して、デジタルエンゲージメントからの新しい要求に対してうまく機能するようにすべきです。COBOLプログラムを最適化する最良の方法は、COBOLの最新バージョンに移行することです。COBOLバージョン5と6を対象としています。その戦略の最初の部分は、ロードマップの計画を含みます。

COBOLの最新バージョンへの移行時の最初のステップ

COBOLの最新バージョンへの移行を開始する前に取るべきいくつかの最初のステップがあります:

1. アップグレードするCOBOLリリースの移行ガイドを読む。

正しいガイドは、IBM Enterprise COBOL for z/OS ドキュメントライブラリを介して見つけることができます。移行に関連する注意点を提供しますが、事前に考慮すべきいくつかの点があります:

  • OS/VS COBOLおよびVS COBOL IIから新しいCOBOLバージョンへの移行時のソース言語の非互換性
  • コンパイラによって検出されないデータ問題は、繰り返しテストで見つける必要があります(役立つコンパイラオプション: SSRANGE、RULESおよびDIAGTRUNC)。
  • JCL、REGIONサイズ、その他の作業データセットが必要です(REGIONサイズに大きな変更があります)
  • NUMPROC(MIG)などの一部のコンパイラオプションが削除されました(完全なリストについては移行ガイドを参照してください)
  • 実行可能ファイルはPDSEライブラリに存在する必要があります
  • OS/VS COBOLまたはVS COBOL IIプログラムは、COBOLバージョン5または6で再コンパイルする前にCOBOL 4.2にアップグレードする必要があります

2. 他のアプリケーションのアップグレード用のテンプレートとして機能するビジネスアプリケーションを決定します。

提案されたアプローチは、COBOLバージョン5または6で問題のあるコードを再コンパイルする潜在的な影響を確認するために、長い実行時間に遭遇したビジネスアプリケーションを使用することです。すべてのプログラムを再コンパイルする必要はなく、新しいコンパイラと高度な最適化から利益を得る可能性があるものだけを選んでください。メインフレームプロファイリングツールを使用して、開始前にパフォーマンスベースラインを設定します。たとえば、Compuware Strobeは、アプリケーションパフォーマンスの監視と分析ツールであり、後で使用するための情報をキャプチャできます。

3. ビジネスアプリケーションが最後にコンパイルされたCOBOLリリースを特定するために、ロードライブラリモジュールを分析します。

これを行う際には、移行ガイドを参照して、COBOLの以前のバージョンでコンパイルされたモジュールのコード内で行う必要がある変更について学びます。また、削除されている可能性のあるコンパイルオプション、機能が変更されているもの、新しいオプションが提供されているものもあります。ポートフォリオアナライザー—Compuware File-AIDファイルおよびデータ管理ツールのライブラリユーティリティ(3.1)を介してアクセス可能—を使用すると、すべてのリリースのCOBOLおよびPL/IコンパイラオプションをCSVファイルとして表示およびエクスポートし、後で分析することができます。これらの手順に加えて、移行の実行を容易にするための他の予備作業があり、自分自身や他人の失敗から学び、ハードウェアマシンを理解していることを確認することが含まれます。

失敗から学ぶ

古いCOBOLプログラムを最新バージョンのCOBOLに移行することは、Javaに変換するよりも落とし穴が少ないですが、移行の過程で発生する可能性のある危険を考慮する必要があります。まず、同時に多くの作業を引き受ける可能性があります。最初に小さなアプリケーションまたはアプリケーションセットに固執するのが最善です。前述のポイント2で述べたように、その経験から学び、新しい理解を他のアプリケーションの移行に適用して、繰り返されるミスを防ぐことができます。また、移行する前にプログラムに関して仮定をしないようにしてください。最初にいくつかの分析を行う必要があります。プログラムについての事実を知ることで、その構成と動作を理解し、問題を防ぎ、問題を引き起こさないための良い判断ができるようになります。

ハードウェアマシンを知っておく: ARCHとOPT

COBOLやさまざまなバージョンがパフォーマンスに与える影響についての背景情報を理解することが重要です。COBOLのバージョンタイプは、アプリケーションを移行する方法に大きな影響を与えます。言語の観点から見ると、COBOLは何度もアップグレードされてきました。OS/VS COBOLはANSI 74標準の機能を持ち、VS COBOL IIはCOBOL 85標準の機能を持ち、COBOLバージョン5はISO標準2002の要素を含んでおり、将来のCOBOLバージョンには新しい標準の要素が含まれる可能性があります。しかし、パフォーマンスの観点から見ると、COBOLに対する過去の批評の一つは、最新のプロセッサハードウェアマシンを活用しなかったことでした。IBMのメインフレーム顧客は巨大な新しいマシンを購入しましたが、COBOLは最新の機能を使用していませんでした。これは、VS COBOL II(1985年)からエンタープライズCOBOLバージョン4.2(2009年)までのすべてのCOBOLバージョンが同じバックエンドを使用し、同じコードを生成していたことを意味します。したがって、25年間にわたり、同じ古い非効率的なコードがCOBOL用に生成され、z Systemsマシンの新機能(z900/800(CY2000)から始まる)を使用しませんでした。幸いにも、これはCOBOLバージョン5.1で変わりました。バージョン5.1以降のすべてのCOBOLレベルは、最新のマシンハードウェアを活用するように設計されています。新しいハードウェアマシンには、使用されると、作業をハードウェアにオフロードし、CPU消費を削減し、より効率的に実行される機能があります。COBOL ARCHコンパイル時オプションは、これらの機能を制御します。ARCH(6)はz990/890システム用で、z13ではARCH(11)が使用されます。同様に、COBOL OPTコンパイル時オプションは、生成される最適化の複雑さと潜在的により効率的なものを制御します。OPT(0)は最小の最適化レベルで、OPT(2)レベルは最大です(OPT(0)は「なし」を意味するのではなく、「最小限の量」を意味します)。高いARCHレベルは、最新のマシン機能の使用を増やし、高いOPTレベルは、より効率的な最適化を生成する傾向があります。すべてのCOBOLバージョンはOPT(0)がデフォルトです。COBOLバージョン5.1はARCH(6)がデフォルトで、z990/z890コードベースです。(注:COBOLバージョン5.1はARCH(11)をサポートしておらず、ARCH(10)でコンパイルされたプログラムはz13で実行できますが、z13専用のコードを生成することはありません。)COBOLバージョン5.2および6.1はARCH(7)がデフォルトで、z9コードベースです。ただし、すべてのCOBOLバージョンは、顧客がデフォルトを変更できるようにしています。それでも、重要な懸念は標準を設定する必要があります:どのCOBOLコンパイルの最高ARCHレベルも、企業内の任意のマシンの最低ARCHレベルに設定する必要があります。たとえば、企業がz10、z11、z12で構成されている場合、デフォルトをARCH(8)に設定すると、そのプログラムはz11とz12で問題なく実行できます。しかし、デフォルトをARCH(10)に設定すると、プログラムがz10で実行されると問題が発生します。災害サイトのハードウェアも特別な懸念事項であり、災害サイトは本番機よりも異なるARCHマシンレベルにある可能性があります。前述の例で、災害サイトにz9がある場合、問題が発生します。なぜなら、災害復旧マシンよりも高いARCHタイプのハードウェア命令が生成される可能性があるからです。

移行するCOBOLの最新バージョンを決定する

これらの初期の準備ステップの後、どこに移行したいかを考え始めるべきです:COBOLバージョン5.2または6.1。私たちの意見では、まず5.2に移行して経験を最大化し、いくつかのテストセットを通じてバグを排除することをお勧めします。COBOLバージョン5.2で移行を開始してから6.1にジャンプする技術的な理由はありませんが、顧客は自分の環境にとって何が適切かを判断する必要があります。以下を考慮してください:

  • COBOLバージョン6.1から開始すると、コンパイラのアップグレードを2回繰り返す必要がなくなります、1回は5.2に、もう1回は6.1に。ただし...
  • IBM Enterprise COBOLのトライアルを利用して、COBOLバージョン5.2と6.1の両方で最大の経験とアプリケーションの快適さを得てから、正式にアップグレードする決定を下すことでコストを節約できます。これらのトライアル期間中は、シングルバージョン課金(SVC)の変更はありません。詳細については、IBMの発表文書Enterprise COBOL Developer Trial for z/OS, V6.1を参照してください。

これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を表すものではありません。

メインフレームの関連記事

BMCからのさらなる情報に興味がありますか?

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーションに関する月刊メールです:研究、顧客ストーリー、製品ニュース、イベント。

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ザ・ブリーフに登録しました

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーション—BMC AMIおよびControl-M—に関するアナリストの研究、顧客の展開、両者にわたるイベントを網羅しています。