Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

アプリケーションがライブラリーにアクセスする方法の決定

言語環境プログラムを実動状態に移行するための一般的方法としては、言語環境プログラムを LNKLST/LPALST に 追加する方法と、STEPLIB アプローチを使用する方法の 2 種類 があります。

LNKLST/LPALST

言語環境プログラムを LNKLST/LPALST に追加すると、言語環境プログラムは すべてのアプリケーションから使用可能になります。言語環境プログラムを LNKLST/LPALST に 追加する前に、すべてのアプリケーションが言語環境プログラムで正しく機能するように するためには、言語環境プログラムを LNKLST/LPALST に一時的にインストールするか、 または STEPLIB を使用します。

アプリケーションがランタイムに使用できる PL/I ランタイム・ライブラリーは、1 つだけ である必要があります。例えば LNKLST には、言語環境プログラム用の SCEERUN などの PL/I ランタイム・ ライブラリーが 1 つだけ含まれるようにする必要があります。 複数のライブラリーが存在すると、ライブラリーが見つからないというエラーや、 連結内に使用されないロード・ライブラリーが含まれるという事態が発生します。言語環境プログラムを LNKLST/LPALST に 追加する場合は、他のすべての PL/I ランタイム・ライブラリーを除去してください。

LNKLST/LPALST への一時的インストールまたは STEPLIB の使用

言語環境プログラムの LNKLST/LPALST への一時的インストールに関する 提案としては、次のものがあります。

注:
z/OS および OS/390 の数多くのエレメントが言語環境プログラム・ランタイム・ ライブラリーに依存していますが、z/OS と OS/390 のどちらの場合でも言語環境プログラムを LNKLST に インストールする必要はありません。(ただし、言語環境プログラムは z/OS および OS/390 と 同じゾーンにインストールする必要があります。) 言語環境プログラムを LNKLST に配置しない 場合は、言語環境プログラムを必要とする個々の z/OS または OS/390 PROC で、言語環境プログラムに対して STEPLIB を 使用する必要があります。どのエレメントが言語環境プログラムを 必要とするかについては、下記を参照してください。

STEPLIB

STEPLIB アプローチを使用することにより、言語環境プログラムを段階的に 導入できます。STEPLIB に言語環境プログラム・ランタイムを指定する場合 には、1 つの領域 (CICS または IMS)、バッチ (アプリケーションのグループ)、または ユーザー (TSO) を同時に導入します。

STEPLIB を使用すると、JCL を変更することになりますが、段階的に移行するほうが、 すべてのアプリケーションを一度に移行するよりも簡単になる可能性があります。なお、STEPLIB を 使用した場合、プログラムは LNKLST/LPALST を通じてランタイム・ライブラリーに アクセスする場合よりも動作が遅くなり、より多くの仮想記憶域を使用することに注意してください。

注:
複数のプロセッサーがチャネル間接続で相互にリンクされている 場合は、システム全体を 1 つのプロセッサーとして扱い、サブシステムごとに 移行する必要があります。CEEDUMP のデフォルトの割り振りがユーザーのショップのニーズに 合わない場合は、初期セットアップ時に JCL を変更して STEPLIB に言語環境プログラム・ランタイム を指定することに加えて、CEEDUMP DD も指定する必要が生じる場合が あります。(CEEDUMP は、言語環境プログラムがダンプ出力を 書き込む DD 名です。)

STEPLIB と IMS プログラムに関する問題

STEPLIB を IMS/DC オンライン上で使用して言語環境プログラム・ランタイム にアクセスすると、プリロードし言語環境プログラム・ライブラリー・ルーチンは、 読み取り専用ストレージにはロードされません。アプリケーションにエラーがあり、 アプリケーション以外のストレージを上書きした場合、プリロードしたランタイム・ ルーチンは破壊され、使用すると異常終了を発生させる可能性があります。再入可能としてマーク されたこれらのプリロード済みルーチンは、LPA または LNKLST/LPALST からロードされた 場合を除き、リフレッシュ時にリフレッシュされません。そのため、異常終了は繰り返し発生します。

注:
これは、MVS (OS/390)、IMS、および STEPLIB に関して 20 年前から存在する 問題ですが、言語環境プログラムに段階的に移行するために提案した STEPLIB アプローチに関連して、 ここで説明しました。

この問題を回避するには、次のいずれかの方法を使用します。

影響を最小限にとどめる方法
リカバリーの方法

複数の異なるアプリケーションが同じ領域で実際に異常終了していたら、 下に示す IMS コマンドを使用し、その領域を停止して再始動します。

  1. 次のコマンドを発行して、領域の番号を判別します。’/DISPLAY ACTIVE’
  2. 次のコマンドを発行して、領域を停止します。’/STOP REGION region#’
  3. 次のコマンドを発行して、領域を再始動します。’/START REGION region-name’

STEPLIB の例

次に、STEPLIB を用いて言語環境プログラムを段階的に導入する方法の例を 示します。この例では、中央の開発センター (すべてのコンパイル作業と リンク作業を 1 箇所で行う) と、それとは独立した複数の実動場所を持つ 組織を想定しています。これは非常に無難なアプローチですが、 実動アプリケーションが絶対に停止しないことを要求する多くのお客様によって 使用されています。

  1. 中央の開発センターで言語環境プログラムと Enterprise PL/I を証明する。
  2. 言語環境プログラムを中央の開発センターのシステムにインストールし、テストを実行する。
  3. バックアウト戦略を準備する。
  4. 言語環境プログラム・ランタイムを 1 箇所の実動場所にインストールする。
  5. 言語環境プログラム・ランタイムをすべての実動場所にインストールする。

可能な範囲で、最も大きな作業単位の移行を試行してください。オンライン領域、 アプリケーション、あるいは実行単位の全体を一度に移行することで、1 つのアプリケーション や実行単位に含まれるプログラム間の相互作用を確実にテストできます。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)