MFBSI アーキテクチャ

MFBSI を使用する場合、スケジューラーは MFBSIJCL という COBOL プログラムを起動します。このプログラムは、CASSUB/CASOUT コマンドを実行します。その後、MFBSIJCL はイベント マネージャー ユーザー出口 MFBSIEMX を使用して Enterprise Server/JCL と通信します。

MFBSIJCL は、Enterprise Server/JCL のジョブ実行が終了するのを待ってから、JCL ジョブ戻りコードまたは特定の戻りコードをスケジューラーに返します。

パフォーマンス/可用性クラスター (PAC) 外で実行する場合は、MFBSIJCLMFBSIEMX の間の通信は、JOBnnnnn.Sem (nnnnn は、Enterprise Server/MSS JCL によって割り当てられたジョブ番号) というセマフォ ファイルを通じて行われます。これらのファイルは、すべての MFBSIJCL インスタンスおよび MFBSIEMX によって共有されるフォルダーにあります。このフォルダーは環境変数 MFBSI_DIR によって指定されます。複数の Enterprise Server/MSS JCL サーバーを使用する場合は、Enterprise Server クラスター化の使用時を除き、各サーバーには固有の MFBSI_DIR 設定が必要になります。

PAC 内で実行する場合は、MFBSIEMX はセマフォ データを Redis スケールアウト リポジトリ (SOR) に格納します。これには追加の構成が必要です。詳細については、「MFBSI 構成ファイル」を参照してください。

MFBSIEMX は、Enterprise Server/JCL がジョブ実行を開始するとゼロ バイトのファイルを作成し、ジョブが終了すると JCL 戻り情報を含むレコードを追加します。

MFBSIJCL は、JOBnnnnn.Sem を作成するジョブの開始を待ってから、Enterprise Server/MSS での JOBnnnnn.Sem を更新するジョブの終了を待ちます。終了すると、MFBSIJCLJOBnnnnn.Sem から読み取った戻りコードで実行を停止します。戻りコードの詳細については、「MFBSIJCL 戻りコード」を参照してください。

この手法を使用すると、MFBSIJCL および Enterprise Server は、異なるマシン上で、また異なるオペレーティング システム上でも動作できます。必要になるのは、マシン間のファイル共有のみです。たとえば、スケジューラー エージェントは、Windows 上で動作し、適切なパラメーターを使用して MFBSIJCL を起動し、UNIX を実行しているマシンにジョブをサブミットできます。Windows 上で実行された MFBSIJCL プロセスは、Samba などのネットワーク共有ユーティリティを使用して、UNIX マシン上に存在する任意のディレクトリを監視できます。

MFBSIJCL には、インスタンスがフィードバックなしに無限に実行されるのを防止するためにタイムアウト メカニズムが組み込まれています。起動タイムアウトまたは実行タイムアウトが検出された場合は、アラートをスケジューラーに送信することができます。アラートは ESMAC で適切なアクションを呼び出します。

MFBSIJCL は、ユーザー出口 MFBSIALR を使用してアラートをスケジューラーに送信できます。ユーザーは、特定のスケジューラー対話用に MFBSIALR をカスタマイズおよびコンパイル/リンクする必要があります。MFBSIALR のスケルトン プログラムは、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib (Windows)、または $COBDIR/cpylib (UNIX/Linux) に用意されています。