機能

本章では、OpenFrame Batchシステムを構成するTJES、ユーティリティ、ツールについて説明します。

1. TJES

TJES(Tmax Job Entry Subsystem)は、IBMメインフレームのJESに対応するOpenFrameシステムのバッチ・ジョブ管理システムです。

TJESシステムは、TPモニターであるTmax、Baseシステム、TACF(Tmax Access Control Facility)などの一連の基盤システム上に構築されたサブシステムとして、各システムと有機的に相互作用します。

figure 3 1
Batchシステムの構成図

OpenFrame Baseシステムは、TJESシステムがJCLに記述されたジョブを起動および実行するために欠かせないデータセットの入出力機能とカタログ管理などのデータ操作機能(レコードの読み取り/書き込み)を提供します。TJESシステムは、ジョブの実行に必要な入力とジョブ実行の結果を格納するスプール・データセットという独自のストレージを使用しています。

OpenFrame Baseシステムの詳細については、OpenFrame Base『Baseガイド』を参照してください。

以下は、TJESの機能です。

  • ロック

    TJESシステムはスケジューリング・ポリシーに従い、複数のジョブを並列で実行します。各ジョブは、データセットの入出力を行う際、データセットの独占的な使用を保証するために、データセットのロックを要求します。そしてデータベースのDBMS_LOCKパッケージを使用してデータセットにロックを実行します。ただし、すでに他のジョブによりロックされているデータセットについては、先行ジョブがロックを解除するまで待機します。すなわち、TJESシステムは同じデータへの同時アクセスを制限するため、データベースのDBMS_LOCKパッケージを介してデータの整合性が保証されます。

  • セキュリティ

    バッチ・ジョブは多くのリソースを使用します。システム全体においてリソースは重要な要素であるため、任意のユーザーからリソースを保護する必要があります。そのため、TJESシステムがバッチ・ジョブを行う際、リソースにアクセスする時点でアクセス権限が付与されているユーザーであるかどうかの判断をTACF(TMAX Access Control Facility)に依頼します。TACFは、リソースへのアクセス権限の有無を判断してTJESに通知します。これにより、システム・リソースへの不正アクセスを防ぎ、システムの重要なリソースを保護します。

  • Tmaxとの連携

    TJESシステムは、TmaxSoftのTPモニターであるTmaxをベースとするため、他ベンダーのシステムより安定したマルチ・ノードを構成して分散処理を行うことができ、一貫性のあるフェイルオーバーを実現します。

    • 分散処理

      TJESのすべてのプログラムはTmaxサーバーとして構成されており、ジョブを実行するプロセスは、Tmaxサーバーのサービスを呼び出す形で実現されます。バッチ・ジョブの増加により負荷が発生した場合は、Tmaxを利用してロードバランシングを行うか、または物理的にサーバーを増設して負荷分散を行い、簡単に問題を解決することができます。

    • フェイルオーバー

      システムの運用中に障害が発生しても、システムを停止することなく継続して使用できる必要があります。TJESシステムでは、特定のノードのTmaxサーバーが異常終了すると、Tmaxがその障害を自動的に検知してサーバーを再起動します。

      また、特定のノードが復旧不可能な状態になった場合は、そのノードへの要求は自動的に他のノードに転送されるため、障害が発生したノードからの影響を受けることなく、バッチ・ジョブを続行することができます。

2. ユーティリティ

ユーティリティはJCLのPGMに記述され、該当するジョブをサブミットした際、実際に実行されるプログラム要素です。

ユーティリティは機能に応じて以下のように分類できます。

  1. 各ユーティリティの詳細については、OpenFrame Batch『ユーティリティリファレンスガイド』を参照してください。

  2. DFSORTユーティリティの詳細については、OpenFrame Batch『SORTユーティリティリファレンスガイド』を参照してください。

2.1. データセット操作関連のユーティリティ

データセットの操作に関連するユーティリティは、すでにメインフレームでも提供されているユーティリティであり、データセットの削除、名前の変更、カタログ、アンカタログ、移動、コピー、マージ、修正などのデータセットの一般的な操作に対して利便性の高い機能を提供します。データセット関連のユーティリティには、システム・ユーティリティ、データセット・ユーティリティ、VSAMユーティリティなどがあります。

  • システム・ユーティリティ

    OpenFrameが提供するシステム・ユーティリティは以下のとおりです。

    ユーティリティ 説明

    IEHLIST

    区分データセット(PDS)の情報とメンバー・リストまたはボリューム情報とボリュームに含まれたデータセット・リストを提供します。

    IEHPROGM

    非VSAMデータセットを管理する機能を提供します。

  • データセット・ユーティリティ

    OpenFrameが提供するデータセット・ユーティリティは以下のとおりです。

    ユーティリティ 説明

    ADRDSSU

    IBMメインフレームのMVS環境で提供されるDFSMSdssの機能をJCLで呼び出す場合に使用されます。

    DFHJUP

    SMFデータセットに存在するCICSログ・データを検索および処理します。

    IEBCOMPR

    2つのSDSまたはPDSを比較して、その結果を表示します。

    IEBCOPY

    1つ以上のPDSのメンバーの全体または一部をコピーするか、マージします。

    IEBDG

    テスト・データセットを作成します。

    IEBEDIT

    ジョブ・ストリーム・データセットを作成および編集します。

    IEBGENER

    順次データセットまたはPDSのメンバーをコピーします。

    IEBPTPCH

    順次データセットまたはPDSの全体または一部を実際に出力する形式でデータを作成します。

    IEBUPDTE

    リソース(アプリケーション・ソース、JCLソースなど)を新規作成、更新、コピーします。

    IFASMFDP

    SMFデータセットを一般的なデータセットにダンプするか、内容を初期化します。

  • VSAMユーティリティ

    OpenFrameが提供するVSAMユーティリティは以下のとおりです。

    ユーティリティ 説明

    IDCAMS

    VSAMと非VSAMのデータセット、およびカタログ情報を作成および管理する機能を提供します。

2.2. データベース・ユーティリティ

OpenFrameが提供するデータベース・ユーティリティは以下のとおりです。

ユーティリティ 説明

DSNMTV01

アプリケーションでESQLやODBCなどのデータベースへのアクセスを使用する際、接続を実行します。

DSNTEP2

DB2データベースにSQLを発行します。

DSNTIAD

データベースへの問合せやデータベースを更新するためのデータ操作言語(DML)を実行します。

DSNTIAUL

IKJEFT01ユーティリティを介してDB2データベースの表データをOpenFrameデータセットにアンロードします。

DSNUTILB

データベースにコマンドを発行します。

INZUTILB

DB2データベースの表データをOpenFrameデータセットにアンロードします。

2.3. DFSORTユーティリティ

DFSORTは、大容量のデータを高速にソート、マージ、コピーするユーティリティです。DFSORTユーティリティは自らデータのソート、マージ、コピー処理を行うのではなく、TmaxSoftの外部高性能ソート・プログラムであるProSortと連携してデータの処理をサポートします。

UNIXで実行される外部高性能ソート・プログラムは、メインフレームで使用していたスクリプト形式を認識することや、メインフレームで使用していた非VSAM、VSAMなどのデータを処理することができません。

DFSORTユーティリティは外部の高性能ソート・プログラムと連携して、メインフレームで使用していた既存のソート・スクリプトを外部ソート・プログラムが処理できる形式に変更して転送します。また、非VSAM、VSAMデータを読み込んで外部ソート・プログラムに転送し、外部ソート・プログラムがソート、マージ、コピーを実行したデータを再び非VSAM、VSAMデータセットに保存する機能を提供します。

2.4. その他のユーティリティ

以下は、OpenFrameが提供するその他のユーティリティです。

ユーティリティ 説明

ADAPT

簡単なコマンドを使用してデータセットを自由に操作します。

DSDIFF

データセットのレコードごとの違いを表示します。

EZTPA00

JCLでSYSINとして入力されたCA-Easytrieve Plusスクリプトを実行します。

FTP

バッチ・ジョブでデータセットをリモート・ホストに送信するか、リモート・ホストからデータを受信してデータセットに保存します。

ICETOOL

SORTユーティリティを使用して1つのジョブ・ステップで複数のデータセットを多様な方法で出力します。

IEFBR14

JCLが正常に実行されるかどうかをテストします。

IKJEFT01

データベースを使用するバッチ・アプリケーションをJCLで実行する際、アプリケーションが実行される前にデータベース・システムへの接続を行います。

データベースを使用するCOBOLアプリケーションのソースにデータベース・システムの接続に必要なシステムの名前、ユーザー名、パスワードなどの情報をコーディングせずに、KEQEFT01ユーティリティの入力スクリプトに指定します。

ISRSUPC

2つのデータセットの比較または1つのデータセット内の特定の文字列を検索します。

PGMRTS00

共有オブジェクトとしてコンパイルされたバッチ・アプリケーションをJCLで実行する際、バッチ・エンジン・モジュールであるJCLランナーによって間接的に実行される実行環境制御ユーティリティです。

3. ツール

Batchシステムでツールは、バッチ・ジョブの実行には直接使用されません。BatchシステムのツールはTJESで使用されるシステム・データセットを作成および初期化したり、外部スケジューラーからバッチ・ジョブのサブミットを受けたりするなど、OpenFrameシステムの運用に必要な機能を提供しています。

Batchシステムが提供するツールは以下のとおりです。

  • TJESシステムの初期化ツール

    ツール 説明

    tjesinit

    TJESが使用するシステム表とスプール・データセットを初期化します。

  • 運用上の利便性を高めるツール

    ツール 説明

    dlclean

    一時データセットに移動させた既存のライブラリを自動的に削除します。

    dlupdate

    以前バージョンのユーザー・ライブラリを新バージョンに変更する際に使用します。現行のユーザー・ライブラリを終了せずに変更できる機能を提供します。

    textrun

    Control-MまたはA-AUTOなどの外部スケジューラーからバッチ・ジョブのサブミットを受け、そのバッチ・ジョブをモニタリングします。実行が終了したら、その実行結果を外部スケジューラーに通知します。

各ツールの詳細については、OpenFrame Batch『ツールリファレンスガイド』を参照してください。