(57)【要約】【課題】開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することを可能にする。【解決手段】連続する複数のジョブを処理目的ごとに異なる実行環境上で実行するために、バッチジョブ実行装置は、第１実行環境１０上で実行される先行ジョブ１１の次に第１実行環境１０と異なる第２実行環境２０上で実行される後続ジョブ２１を特定するための起動順序情報を出力する起動順序情報出力部１１ａと、起動順序情報を入力し、この起動順序情報に従って第２実行環境２０において後続ジョブ２１を起動するジョブ起動部２６と、を備える。【選択図】        図１
2010108095.tif 000002
【特許請求の範囲】
【請求項１】
第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力手段と、
前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動手段と、
を備えたことを特徴とするバッチジョブ実行装置。
【請求項２】
前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理手段と、
前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される前記第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力手段と、
前記第２起動順序情報を入力し、該第２起動順序情報に従って前記ジョブ起動管理手段に前記第３ジョブの実行待ちの状態を解除させる第２ジョブ起動手段と、
を備え、
前記ジョブ起動管理手段は、前記第２ジョブ起動手段によって前記第３ジョブの実行待ちの状態が解除された前記第３ジョブを起動することを特徴とする請求項１記載のバッチジョブ実行装置。
【請求項３】
前記第１起動順序情報は、第２実行環境上で次に起動される前記第２ジョブを特定するための識別情報を含み、
前記第１ジョブ起動手段は、前記識別情報を用いて前記第２ジョブを特定して該第２ジョブを起動することを特徴とする請求項１記載のバッチジョブ実行装置。
【請求項４】
前記第１起動順序情報は、前記第２実行環境上で起動される前記第２ジョブを特定するための第１識別情報と、第１実行環境上で先に起動された前記第１ジョブを特定するための第２識別情報と、を含み、
前記第２起動順序情報は、前記第２識別情報を含み、
前記第１ジョブ起動手段は、前記第１識別情報を用いて前記第２ジョブを特定して該第２ジョブを起動し、
前記第２ジョブ起動手段は、前記第２識別情報を用いて前記先に実行された第１ジョブを特定し、該特定した第１ジョブの次に前記第１実行環境上で起動される前記第３ジョブの実行待ちの状態を前記ジョブ起動管理手段に解除させることを特徴とする請求項２記載のバッチジョブ実行装置。
【請求項５】
前記第１起動順序情報出力手段は、前記第１ジョブに組み込まれていることを特徴とする請求項１〜４のいずれか一つに記載のバッチジョブ実行装置。
【請求項６】
前記第１起動順序情報出力手段は、前記第１ジョブに組み込まれており、
前記第２起動順序情報出力手段は、前記第２ジョブに組み込まれていることを特徴とする請求項２または４記載のバッチジョブ実行装置。
【請求項７】
前記第１実行環境と前記第２実行環境との間で非同期にメッセージを送受信する情報伝達手段を備え、
前記第１起動順序情報出力手段は、前記第１起動順序情報を含むメッセージを出力することを特徴とする請求項１〜６のいずれか一つに記載のバッチジョブ実行装置。
【請求項８】
前記メッセージは、前記第２ジョブが実行する際に使用する実行用パラメータを含むことを特徴とする請求項７記載のバッチジョブ実行装置。
【請求項９】
前記第１実行環境および前記第２実行環境の一方がメインフレーム上の実行環境であり、もう一方がＪａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ上の実行環境であることを特徴とする請求項１〜８のいずれか一つに記載のバッチジョブ実行装置。
【請求項１０】
第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力ステップと、
前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動ステップと、
を含むことを特徴とするバッチジョブ実行方法。
【請求項１１】
前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理ステップと、
前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力ステップと、
前記第２起動順序情報を入力し、該第２起動順序情報に従って前記第３ジョブの実行待ちの状態を解除するジョブ実行待ち解除ステップと、
前記実行待ちの状態が解除された前記第３ジョブを起動する第２ジョブ起動ステップと、
を含むことを特徴とする請求項１０記載のバッチジョブ実行方法。
【請求項１２】
第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力処理と、
前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動処理と、
を情報処理装置に実行させることを特徴とするバッチジョブ実行プログラム。
【請求項１３】
前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理処理と、
前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力処理と、
前記第２起動順序情報を入力し、該第２起動順序情報に従って前記第３ジョブの実行待ちの状態を解除するジョブ実行待ち解除処理と、
前記実行待ちの状態が解除された前記第３ジョブを起動する第２ジョブ起動処理と、
を前記情報処理装置に実行させることを特徴とする請求項１２記載のバッチジョブ実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチジョブ実行装置、バッチジョブ実行方法およびバッチジョブ実行プログラムに関し、特に連続する複数のジョブを処理目的ごとに異なる実行環境において実行するためのバッチジョブ実行装置、バッチジョブ実行方法およびバッチジョブ実行プログラムに関する。
【背景技術】
【０００２】
従来、メインフレームを利用した一般的な情報処理システムでは、１つのメインフレームに１つのジョブスケジュール管理システムが導入されていた。このため、例えば複数のジョブ・アプリケーション（以下、単にジョブという）を実行順序を制御しつつバッチ処理する必要がある場合には、このジョブスケジュール管理システムの管理下にバッチ処理する複数のジョブを配置する方法が採用されていた。したがって、複数のメインフレームを利用した情報処理システムでは、通常、メインフレームごとにジョブスケジューリング管理システムを導入することで、メインフレーム単位でジョブの実行順序を制御していた。また、近年では、より多くの仕事量をより速くバッチ処理するために、複数のメインフレーム間で連続するジョブをバッチ処理する情報処理システムが構築されている。
【０００３】
複数のメインフレーム間で連続するジョブをバッチ処理する情報処理システムでは、例えば、１つのジョブスケジュール管理システムを複数のメインフレームで共有する方法が採用される。しかし、この場合、メインフレーム間でジョブスケジュール管理システムの利用に競合が生じると、排他を獲得したメインフレームのみがジョブスケジュール管理システムを利用することができ、他のメインフレームは排他を獲得したメインフレームが利用を終えて排他を解除するまで待ちの状態に置かれる。このため、往々にしてジョブの処理に遅延が生じてしまう。
【０００４】
このような問題を解決するために、例えば以下に示す特許文献１には、メインフレームごとに導入したジョブスケジュール管理システム間に連絡用のファイルを設け、このファイルを介してジョブスケジュール管理システム同士が連絡を取り合うことで、メインフレーム間でジョブの実行順序を制御する方法が開示されている。
【０００５】
また、メインフレーム間のみならず、メインフレームとサーバとの間でジョブの実行順序を制御するために、例えば以下に示す特許文献２には、メインフレームとサーバとにそれぞれジョブスケジュール管理システムを導入し、このジョブスケジュール管理システム間でジョブをリンクすることにより、メインフレームとサーバとの間でジョブの実行順序を制御する方法が開示されている。
【０００６】
【特許文献１】特許第３５１６０４９号公報
【特許文献２】特開２００２−１５７１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで近年では、プログラミング言語としてＪａｖａ（登録商標）が注目されている。これは、Ｊａｖａ（登録商標）が完全なオブジェクト指向を備えることや、通常のインタプリタよりも高速で実行できることなどの特徴を備えているためである。このような特徴を活かすべく、近年では、従来サーバ上でのみ利用されてきたＪａｖａを、メインフレーム上で利用するためのソフトウエアが開発されている。
【０００８】
この結果、Ｊａｖａ言語で記述されたジョブ（以下、Ｊａｖａジョブという）は、特定のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やマイクロプロセッサなどに依存することなく、基本的にはあらゆるプラットホームで動作するという汎用性の高さを備えるに至り、その利用範囲が拡大された。
【０００９】
このような中、近年では、従来から蓄積されてきたＪａｖａ言語以外で記述されたジョブ（例えばＣＯＢＯＬ言語で記述されたジョブ；以下、ＣＯＢＯＬジョブという）とＪａｖａジョブとの実行順序を連携して制御する方法のような、連続する複数のジョブを異なる実行環境において実行することを可能にする方法が要求されるようになってきた。
【００１０】
ここで、従来のジョブスケジュール管理システムには、メインフレーム用のものとサーバ用のものとが存在する。なお、サーバとは、例えばＪａｖａジョブの実行環境であるＪａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅが組み込まれたサーバを指す。
【００１１】
しかしながら、従来におけるＪａｖａ用のジョブスケジュール管理システムでは、メインフレーム用のジョブスケジュール管理システムを用いてＪａｖａジョブの実行順序を制御することができない。このため、メインフレームのジョブスケジュール管理システムを共有する方法や、上記特許文献１が開示するところのメインフレームのジョブスケジュール管理システム間を連結する方法では、例えばＣＯＢＯＬジョブのようなＪａｖａジョブ以外のジョブとＪａｖａジョブとを連携させることは不可能である。
【００１２】
また、上記特許文献２では、サーバ用のジョブスケジュール管理システムでＪａｖａジョブの実行順序を制御することが可能であるため、例えばＣＯＢＯＬジョブのようなＪａｖａジョブ以外のジョブとＪａｖａジョブとを連続してバッチ処理することは可能であるが、これを実現するためには、メインフレーム用とサーバ用とで２種類のジョブスケジュール管理システムを導入しなければならない。このため、特許文献２による方法では、ジョブの関連付けが複雑化し、開発および保守管理のための作業が大幅に増大するという問題が発生する。
【００１３】
このように従来では、開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが困難であった。
【００１４】
そこで本発明は、上記の問題に鑑みてなされたものであり、開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置、バッチジョブ実行方法およびバッチジョブ実行プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
かかる目的を達成するために、本発明に係るバッチジョブ実行装置は、第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力手段と、前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動手段と、を備えたことを特徴としている。
【００１６】
上記した本発明に係るバッチジョブ実行装置は、前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理手段と、前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される前記第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力手段と、前記第２起動順序情報を入力し、該第２起動順序情報に従って前記ジョブ起動管理手段に前記第３ジョブの実行待ちの状態を解除させる第２ジョブ起動手段と、を備え、前記ジョブ起動管理手段が、前記第２ジョブ起動手段によって前記第３ジョブの実行待ちの状態が解除された前記第３ジョブを起動することを特徴としている。
【００１７】
上記した本発明に係るバッチジョブ実行装置は、前記第１起動順序情報が、第２実行環境上で次に起動される前記第２ジョブを特定するための識別情報を含み、前記第１ジョブ起動手段が、前記識別情報を用いて前記第２ジョブを特定して該第２ジョブを起動することを特徴としている。
【００１８】
上記した本発明に係るバッチジョブ実行装置は、前記第１起動順序情報が、前記第２実行環境上で起動される前記第２ジョブを特定するための第１識別情報と、第１実行環境上で先に起動された前記第１ジョブを特定するための第２識別情報と、を含み、前記第２起動順序情報が、前記第２識別情報を含み、前記第１ジョブ起動手段が、前記第１識別情報を用いて前記第２ジョブを特定して該第２ジョブを起動し、前記第２ジョブ起動手段が、前記第２識別情報を用いて前記先に実行された第１ジョブを特定し、該特定した第１ジョブの次に前記第１実行環境上で起動される前記第３ジョブの実行待ちの状態を前記ジョブ起動管理手段に解除させることを特徴としている。
【００１９】
上記した本発明に係るバッチジョブ実行装置は、前記第１起動順序情報出力手段が、前記第１ジョブに組み込まれていることを特徴としている。
【００２０】
上記した本発明に係るバッチジョブ実行装置は、前記第１起動順序情報出力手段が、前記第１ジョブに組み込まれており、前記第２起動順序情報出力手段が、前記第２ジョブに組み込まれていることを特徴としている。
【００２１】
上記した本発明に係るバッチジョブ実行装置は、前記第１実行環境と前記第２実行環境との間で非同期にメッセージを送受信する情報伝達手段を備え、前記第１起動順序情報出力手段は、前記第１起動順序情報を含むメッセージを出力することを特徴としている。
【００２２】
上記した本発明に係るバッチジョブ実行装置は、前記メッセージが、前記第２ジョブが実行する際に使用する実行用パラメータを含むことを特徴としている。
【００２３】
上記した本発明に係るバッチジョブ実行装置は、前記第１実行環境及び前記第２実行環境の一方がメインフレーム上の実行環境であり、もう一方がＪａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ上の実行環境であることを特徴としている。
【００２４】
また、本発明に係るバッチジョブ実行方法は、第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力ステップと、前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動ステップと、を含むことを特徴としている。
【００２５】
上記した本発明に係るバッチジョブ実行方法は、前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理ステップと、前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力ステップと、前記第２起動順序情報を入力し、該第２起動順序情報に従って前記第３ジョブの実行待ちの状態を解除するジョブ実行待ち解除ステップと、前記実行待ちの状態が解除された前記第３ジョブを起動する第２ジョブ起動ステップと、を含むことを特徴としている。
【００２６】
また、本発明に係るバッチジョブ実行プログラムは、第１実行環境上で実行される第１ジョブの次に該第１実行環境と異なる前記第２実行環境上で実行される第２ジョブを特定するための第１起動順序情報を出力する第１起動順序情報出力処理と、前記第１起動順序情報を入力し、該第１起動順序情報に従って前記第２実行環境上で前記第２ジョブを起動する第１ジョブ起動処理と、を情報処理装置に実行させることを特徴としている。
【００２７】
上記した本発明に係るバッチジョブ実行プログラムは、前記第１実行環境上で実行される前記第１ジョブの次に該第１実行環境上で起動される第３ジョブを実行待ちの状態とするジョブ起動管理処理と、前記第２実行環境上で実行される前記第２ジョブの次に前記第１実行環境上で実行される第３ジョブを特定するための第２起動順序情報を出力する第２起動順序情報出力処理と、前記第２起動順序情報を入力し、該第２起動順序情報に従って前記第３ジョブの実行待ちの状態を解除するジョブ実行待ち解除処理と、前記実行待ちの状態が解除された前記第３ジョブを起動する第２ジョブ起動処理と、を前記情報処理装置に実行させることを特徴としている。
【発明の効果】
【００２８】
本発明によれば、第１実行環境において先行して実行されている第１ジョブの次に後続のジョブとして起動される第２ジョブを特定するための第１起動順序情報が、第１実行環境と異なる第２実行環境においてジョブの起動を制御する第１ジョブ起動手段に入力されるため、第１ジョブ起動手段がこの第１起動順序情報に従って第１ジョブの次に第２ジョブを起動することが可能となる。これにより、それぞれの実行環境においてジョブのスケジュールを管理するための手段を設けることを必要としないため、開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置、バッチジョブ実行方法およびバッチジョブ実行プログラムを実現することが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を実施するための最良の形態を図面と共に詳細に説明する。
【００３０】
＜実施の形態１＞
まず、本発明の実施の形態１によるバッチジョブ実行装置の構成を、図面を参照して詳細に説明する。
【００３１】
（概略構成）
本実施の形態によるバッチジョブ実行装置は、異なる複数の実行環境が単一または複数の連携されたメインフレーム上で実現された構成を備え、これら異なる実行環境を跨いで連続する複数のジョブを処理目的ごとに異なる実行環境において連続して実行（バッチ処理）する。なお、本説明における実行環境とは、物理的な実行環境と論理的な実行環境との何れであっても良い。したがって、本発明は、以下で説明するような一つの物理環境（本例では単一または複数の連携されたメインフレーム）を複数の論理環境に区画してこれらを連携したシステムに限定されず、例えば１つ以上のメインフレームと１つ以上のサーバとの異なる物理環境が連携されたシステムなど、種々の情報処理システムに対して適用することが可能である。
【００３２】
図１（ａ）から図１（ｃ）は、本実施の形態によるバッチジョブ実行装置の概略構成を説明するためのブロック図である。なお、図１（ａ）は、まず第１実行環境１０において先行のジョブ（以下、先行ジョブという）１１を起動した後、第２実行環境２０において後続のジョブ（以下、後続ジョブという）２１を起動する場合（以下、これをケース１とする）を示し、図１（ｂ）は、まず第２実行環境２０において先行ジョブ２２を起動した後、第１実行環境１０において後続ジョブ１２を起動する場合（以下、これをケース２とする）を示し、また、図１（ｃ）は、まず第１実行環境１０において先行ジョブ１３を起動し、次いで第２実行環境２０において先行ジョブ１３に続く先行ジョブ２３を起動した後、第１実行環境１０において後続ジョブ１４を起動する場合（以下、これをケース３とする）を示している。
【００３３】
また、ケース１では、先行ジョブ１１（例えば第１ジョブ）と後続ジョブ２１（例えば第２ジョブ）とが連続する複数のジョブよりなるジョブ群において連続するように順序付けされており、ケース２では、先行ジョブ２２（例えば第１ジョブ）と後続ジョブ１２（例えば第２ジョブ）とが連続する複数のジョブよりなるジョブ群において直接連続するように順序付けされており、ケース３では、先行ジョブ１３（例えば第１ジョブ）と先行ジョブ２３（例えば第２ジョブ）と後続ジョブ１４（例えば第３ジョブ）とが連続する複数のジョブよりなるジョブ群において連続するように順序づけされている。さらに、上記各ケースにおいて、先行ジョブ１１、後続ジョブ１２、先行ジョブ１３および後続ジョブ１４は、第１実行環境１０において実行することが好適な目的の処理を実行するジョブであり、後続ジョブ２１、先行ジョブ２２および先行ジョブ２３は、第２実行環境２０において実行することが好適な目的の処理を実行するジョブである。
【００３４】
・ケース１
まず、ケース１を実現するためのバッチジョブ実行装置では、図１（ａ）に示すように、第１実行環境１０において先行して実行される先行ジョブ１１に、ジョブの起動順序を特定するための起動順序情報（例えば第１起動順序情報）を出力する起動順序情報出力部１１ａ（例えば第１起動順序情報出力手段）が組み込まれると共に、第２実行環境２０にジョブ起動部２６（例えば第１ジョブ起動手段）が設けられる。
【００３５】
図１（ａ）に示すバッチジョブ実行装置において、先行ジョブ１１が実行されると、これに組み込まれた起動順序情報出力部１１ａが実行される。起動順序情報出力部１１ａは、次に第２実行環境２０において起動される後続ジョブ２１を特定するための起動順序情報Ｆ１を出力する。
【００３６】
第１実行環境１０における先行ジョブ１１から出力された起動順序情報Ｆ１は、所定の情報伝達手段を介して第２実行環境２０におけるジョブ起動部２６に入力される。ジョブ起動部２６は、入力された起動順序情報Ｆ１に従って第２実行環境２０において次に起動する後続ジョブ２１を特定し、これを起動する。このようにして、第１実行環境１０における先行ジョブ１１の次に、第２実行環境２０において後続ジョブ２１を実行する一連のバッチ処理が実現できる。
【００３７】
・ケース２
また、ケース２を実現するためのバッチジョブ実行装置では、図１（ｂ）に示すように、第２実行環境２０において先行して実行される先行ジョブ２２に、ジョブの起動順序を特定するための起動順序情報（例えば第１起動順序情報）を出力する起動順序情報出力部２２ａ（例えば第１起動順序情報出力手段）が組み込まれると共に、第１実行環境１０にジョブ起動部１６（例えば第１ジョブ起動手段）が設けられる。
【００３８】
図１（ｂ）に示すバッチジョブ実行装置において、先行ジョブ２２が実行されると、これに組み込まれた起動順序情報出力部２２ａが実行される。起動順序情報出力部２２ａは、先行ジョブ２２の次に第１実行環境１０において起動される後続ジョブ１２を特定するための起動順序情報Ｆ２を出力する。
【００３９】
第２実行環境２０における先行ジョブ２２から出力された起動順序情報Ｆ２は、所定の情報伝達手段を介して第１実行環境１０におけるジョブ起動部１６に入力される。ジョブ起動部１６は、入力された起動順序情報Ｆ２に従って第１実行環境１０において次に起動する後続ジョブ１２を特定し、これを起動する。このようにして、第２実行環境２０における先行ジョブ２２の次に、第１実行環境１０において後続ジョブ１２を実行する一連のバッチ処理が実現できる。
【００４０】
・ケース３
また、ケース３を実現するためのバッチジョブ実行装置では、第１実行環境１０において先行して実行される先行ジョブ１３にジョブの起動順序を特定するための起動順序情報（例えば第１起動順序情報）を出力する起動順序情報出力部１３ａ（例えば第１起動順序情報出力手段）が組み込まれ、また、先行ジョブ１３に次いで第２実行環境２０において実行される先行ジョブ２３にジョブの起動順序を特定するための起動順序情報（例えば第２起動順序情報）を出力する起動順序情報出力部２３ａ（例えば第２起動順序情報出力手段）が組み込まれると共に、第２実行環境２０にジョブ起動部２６（例えば第１ジョブ起動手段）が設けられ、また、第１実行環境１０にジョブ起動部１６（例えば第２ジョブ起動手段）が設けられる。
【００４１】
図１（ｃ）に示すバッチジョブ実行装置において、先行ジョブ１３が実行されると、これに組み込まれた起動順序情報出力部１３ａが実行される。起動順序情報出力部１３ａは、先行ジョブ１３の次に第２実行環境２０において起動される先行ジョブ２３を特定するための起動順序情報Ｆ３を出力する。
【００４２】
第１実行環境１０における先行ジョブ１３から出力された起動順序情報Ｆ３は、所定の情報伝達手段を介して第２実行環境２０におけるジョブ起動部２６に入力される。ジョブ起動部２６は、入力された起動順序情報Ｆ３に従って第２実行環境２０において次に起動する先行ジョブ２３を特定し、これを起動する。このようにして、第１実行環境１０における先行ジョブ１３の次に、第２実行環境２０において先行ジョブ２３が実行される。
【００４３】
また、起動順序情報Ｆ３には、先行ジョブ２３に次いで第１実行環境１０において起動される後続ジョブ１４を特定するための起動順序情報も含まれる。したがって、第２実行環境２０において先行ジョブ２３が実行されてこれに組み込まれた起動順序情報出力部２３ａが実行されると、起動順序情報出力部２３ａは、入力された起動順序情報Ｆ３を用いて次に第１実行環境１０において起動される後続ジョブ１４を特定するための起動順序情報Ｆ２を生成し、これを出力する。
【００４４】
第２実行環境２０における先行ジョブ２３から出力された起動順序情報Ｆ２は、所定の情報伝達手段を介して第１実行環境１０におけるジョブ起動部１６に入力される。ジョブ起動部１６は、入力された起動順序情報Ｆ２に従って第１実行環境１０において次に起動する後続ジョブ１４を特定し、これを起動する。このようにして、第１実行環境１０において先行ジョブ１３を実行した後、第２実行環境２０において先行ジョブ２３を実行し、さらに、第１実行環境１０において後続ジョブ１４を実行する一連のバッチ処理が実現できる。
【００４５】
上記で説明した各ケースのように、本実施の形態では、後続のジョブ（後続ジョブ）が存在するジョブ（先行ジョブ）に、ジョブの起動順序を特定するための起動順序情報を出力する起動順序情報出力部を組み込み、これが出力した起動順序情報に従って、次に順序付けされたジョブを適切な実行環境において順次実行する。これにより、本実施の形態によれば、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置を実現することが可能となる。
【００４６】
（具体例）
次に、本実施の形態によるバッチジョブ実行装置のより具体的な構成例について説明する。なお、以下の説明において、第１実行環境１０は、例えばメインフレーム１００に組み込まれたＯＳなどによって実現される実行環境であり、第２実行環境２０は、例えばＪ２ＥＥ（Ｊａｖａ（登録商標）  ２  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）を搭載するＪＶＭ（Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）２００により実現される実行環境である。また、以下の説明では、メインフレーム１００上で実行されるジョブを例えばＣＯＢＯＬ言語で記述されたジョブ（以下、ＣＯＢＯＬジョブという）とし、ＪＶＭ２００上で実行されるジョブをＪａｖａ言語で記述されたジョブ（以下、Ｊａｖａジョブという）とする。
【００４７】
図２、図４および図６は、上述した各ケースを実現する際に動作するバッチジョブ実行装置の構成を模式化したブロック図である。図２、図４または図６に示すように、本実施の形態によるバッチジョブ実行装置は、メインフレーム１００上の一部にＪａｖａ実行環境を実現するためのＪＶＭ２００が組み込まれており、これにより、メインフレーム１００上にＣＯＢＯＬジョブが実行される区画（以下、これをＣＯＢＯＬ区画という）１００Ａと、Ｊａｖａジョブが実行される区画（以下、これをＪａｖａ区画という）２００Ａとの異なる実行環境が実現されている。なお、本説明では、ＣＯＢＯＬ区画１００Ａが例えば図１（ａ）から図１（ｃ）における第１実行環境１０に相当し、Ｊａｖａ区画２００Ａが例えば図１（ａ）から図１（ｃ）における第２実行環境２０に相当する。
【００４８】
例えば、メインフレーム１００上の情報伝達手段として、ＭＱ（Ｍｅｓｓａｇｅ  Ｑｕｅｕｉｎｇ）方式のメッセージング・システム（以下、ＭＱシステムという）１３０を導入する。このＭＱシステム１３０は、例えばＷｅｂＳｈｐｅｒｅ（登録商標）  ＭＱ（ＷＭＱ：ＩＢＭ（登録商標）社製、Ｖｅｒｓｉｏｎ  ５．３．１）がある。また、例えばＪＶＭ２００上の情報伝達手段としてＪＭＳ（Ｊａｖａ（登録商標）  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）＿ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を用いたメッセージング・システム（以下、ＪＭＳシステムという）を導入する。Ｊ２ＥＥ１．４以降の仕様では、ＭＱシステムを組み込みＪＭＳリソースアダプタとしてＪＭＳシステムにプラグインすることが可能であるため、ＭＱシステムとＪ２ＥＥとを組み合わせることで容易に異なる実行環境を連携させることが可能となる。また、ＭＱシステムやＪＭＳシステムは、伝達する情報をメッセージの形式で非同期に送受信することが可能であるため、これらを導入することで、情報伝達の信頼性を保証することが可能になるなどのメリットを享受することができる。
【００４９】
ケース１、ケース３のバッチジョブ実行装置では、Ｊａｖａ区画２００Ａにおいて対象のＪａｖａジョブを起動するための手段の一要素として、ＪＶＭ２００に組み込まれたメッセージ駆動型ビーン（Ｍｅｓｓａｇｅ  Ｄｒｉｖｅｎ  Ｂｅａｎ）機能（以下、単にＭＤＢ２４２という）を利用する。ＭＤＢ２４２は、メッセージリスナであって非同期メッセージコンシューマでもある特殊なＥＪＢコンテナによってサポートされるＥＪＢコンポーネントであるため、特定のメッセージ（本実施の形態ではメッセージ付きオブジェクト）をトリガとして起動することが可能である。また、ＭＤＢ２４２を利用することでメッセージを特定のアプリケーションに関連付けることが可能となる。したがって、ＭＤＢ２４２を利用することによって、メッセージをトリガとしたＪａｖａジョブの起動が可能となる。
【００５０】
ジョブ起動制御エンジン２１０は、ＭＤＢ２４２に目的のＪａｖａジョブを起動させるための手段である。ジョブ起動制御エンジン２１０は、例えばＪＶＭ２００上で動作するＪ２ＥＥプラットホーム用アプリケーションであり、ＣＯＢＯＬ区画１００ＡからＭＱシステム１３０を利用して入力されたメッセージを基に、特定のＪａｖａジョブと関連付けられたメッセージ付きオブジェクトを生成し、これをＪＭＳキュー（Ｃ）２４１に入力する。したがって、本実施の形態では、ＪＭＳキュー（Ｃ）２４１にメッセージ付きオブジェクトが入力されたことをトリガとしてＭＤＢ２４２が呼び出されることで、これに関連付けられたＪａｖａジョブが起動される。
【００５１】
上記において、ジョブ起動制御エンジン２１０とＭＤＢ２４２とを含む構成が、図１（ａ）または図１（ｃ）参照におけるジョブ起動部２６に相当する。ただし、ジョブ起動部２６には、ジョブ起動制御エンジン２１０およびＭＤＢ２４２それぞれを機能させるための他の構成が適宜含まれていても良い。
【００５２】
一方、ケース２、ケース３のバッチジョブ実行装置では、ＣＯＢＯＬ区画１００Ａにおいて目的のジョブを起動するための手段の一要素として、ＭＱメッセージ解析ジョブ１８０を備える。このＭＱメッセージ解析ジョブ１８０は、例えば必要に応じて起動されるアプリケーション・プログラムであり、入力したＭＱメッセージを解析することで目的のＣＯＢＯＬジョブを特定し、これを起動する。このＭＱメッセージ解析ジョブ１８０は、例えば図４または図６におけるイニシエーションキュー（Ｇ）１４２をモニタリングするトリガモニタ１５０によってＪＣＬ登録ライブラリ１６０から読み出されたＭＱメッセージ解析ＪＣＬ１６１がインターナルリーダ１７０に入力されて所定の実行領域に展開されることで実行される。
【００５３】
上記において、ＭＱメッセージ解析ジョブ１８０と、これを起動するためのトリガモニタ１５０、イニシエーションキュー（Ｇ）１４２（イニシエーションキュー（Ｇ）１４２を管理するＭＱシステム１３０を含んでも良い）、ＪＣＬ登録ライブラリ１６０に登録されたＭＱメッセージ解析ＪＣＬ１６１、および、インターナルリーダ１７０が、図１（ｂ）または図１（ｃ）におけるジョブ起動部１６に相当する。ただし、ジョブ起動部１６には、ＭＱメッセージ解析ジョブ１８０、トリガモニタ１５０、イニシエーションキュー（Ｇ）１４２（イニシエーションキュー（Ｇ）１４２を管理するＭＱシステム１３０を含んでも良い）、ＭＱメッセージ解析ＪＣＬ１６１（ＪＣＬ登録ライブラリ１６０を含んでも良い）およびインターナルリーダ１７０それぞれを機能させるための他の構成が適宜含まれていても良い。
【００５４】
なお、その他の構成については、説明の簡略化のため、後述する各ケースを実現する際のバッチジョブ実行装置の動作の説明において触れる。
【００５５】
（動作）
次に、上述した各ケースを実現する際のバッチジョブ実行装置の動作、すなわち、バッチジョブ実行方法について、図面を参照して詳細に説明する。
【００５６】
・ケース１
まず、上記ケース１の動作について、図面を参照して詳細に説明する。図３Ａおよび図３Ｂは、上記ケース１を実現する際のバッチジョブ実行装置の動作を説明するためのフローチャートである。なお、以下の説明では、図２に示すブロック図も適宜参照する。
【００５７】
〔先行ＣＯＢＯＬジョブ〕
以下に、図３Ａを用いて、先行ＣＯＢＯＬジョブ１２１の動作を説明する。
まず、例えば不図示のＡＰＩによって先行して実行されるＣＯＢＯＬジョブ（以下、これを先行ＣＯＢＯＬジョブという）１２１がメインフレーム１００上のＣＯＢＯＬ区画１００Ａにおいて起動され、これが図２に示すＣＯＢＯＬジョブ実行領域１２０に展開されて実行される。
【００５８】
先行ＣＯＢＯＬジョブ１２１は、起動後、まず、自身に組み込まれた所定の処理を実行する（ステップＳ１１１参照）。この処理には、例えば後続のジョブが使用するパラメータ等を算出する処理など、種々の処理を適用することができる。続いて、先行ＣＯＢＯＬジョブ１２１は、実行した処理が正常に終了したか否かを判定し（ステップＳ１１２参照）、正常に終了しなかった場合（ステップＳ１１２のＮｏ参照）、例えば異常終了であることをメインフレーム１００上の所定のＡＰＩに通知するなど、所定の異常終了処理を実行し（ステップＳ１１５参照）、処理を終了する。なお、所定の処理が異常終了した場合、例えばメインフレーム１００に組み込まれた所定のアプリケーションによってこのことがシステム管理者等に通知されるなどの構成としても良い。
【００５９】
また、先行ＣＯＢＯＬジョブ１２１には、図２に示すように、起動順序情報を例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のＭＱメッセージで出力するＭＱメッセージ出力部１２１ａが組み込まれている。したがって、先行ＣＯＢＯＬジョブ１２１が起動された後、例えば所定の処理が正常に終了すると（ステップＳ１１２のＹｅｓ参照）、その後の一連の実行処理によりＭＱメッセージ出力部１２１ａが実行される。
【００６０】
ＭＱメッセージ出力部１２１ａには、起動時に例えば外部のＡＰＩから先行ＣＯＢＯＬジョブ１２１に入力された起動順序情報が入力される。ただし、これに限定されず、例えばこの起動順序情報を先行ＣＯＢＯＬジョブ１２１が予め持っているなど、種々変形することが可能である。
【００６１】
起動順序情報には、第２実行環境２０であるＪａｖａ区画２００Ａにおいて次に起動される後続ジョブを特定するための識別情報として、例えばＪａｖａジョブ（以下、これを後続Ｊａｖａジョブという）２２１を識別するためのジョブＩＤ（以下、これを後続ＪａｖａジョブＩＤという）が含まれる。したがって、ＭＱメッセージ出力部１２１ａは、後続ＪａｖａジョブＩＤを起動順序情報として含む後続Ｊａｖａ起動用のＭＱメッセージ（ＸＭＬ：以下、省略する）Ｆ１１を生成し（図３ＡのステップＳ１１３参照）、これをＣＯＢＯＬ区画１００Ａのリモートキュー（Ａ）１３１へ出力する（図２、図３ＡのステップＳ１１４参照）（例えば第１起動順序情報出力ステップ／処理）。その後、先行ＣＯＢＯＬジョブ１２１は処理を終了する。
【００６２】
ＭＱメッセージＦ１１には、後続Ｊａｖａジョブ２２１の実行に使用する実行用パラメータ（以下、これを後続Ｊａｖａジョブ実行用パラメータという）が含まれていても良い。この後続Ｊａｖａジョブ実行用パラメータは、上述の後続ＪａｖａジョブＩＤのように、例えば外部のＡＰＩから入力されても、先行ＣＯＢＯＬジョブ１２１が予め持っていても良いし、先行ＣＯＢＯＬジョブ１２１が処理した演算結果などを用いても良い。
【００６３】
また、先行ＣＯＢＯＬジョブ１２１は、Ｊａｖａ区画２００Ａへジョブをキックする処理のみを実行する、いわゆるダミージョブであってもよい。この場合、先行ＣＯＢＯＬジョブ１２１は、例えば上述したＭＱメッセージＦ１１を生成してこれをリモートキュー（Ａ）１３１へ出力する動作（ＭＱメッセージ出力部１２１ａの動作）のみを実行し、その後終了する。
【００６４】
〔ＭＱシステム〕
先行ＣＯＢＯＬジョブ１２１から出力されたＭＱメッセージＦ１１は、ＭＱシステム１３０の制御の下、リモートキュー（Ａ）１３１を介してＪａｖａ区画２００Ａ側のローカルキュー（Ｂ）２３１へ送出される。ここで、Ｊａｖａ区画２００Ａにおけるメッセージ受取り側のローカルキュー（Ｂ）２３１は、ＪＶＭ２００上のＪＭＳキューとしても定義される。
【００６５】
〔ジョブ起動制御エンジン〕
以下に、図３Ｂを用いて、ジョブ起動制御エンジン２１０の動作を説明する。
まず、ＪＭＳキュー（Ｂ）２３１を、Ｊａｖａ区画２００Ａにおけるジョブ起動制御エンジン２１０に組み込まれたＭＱ＿ＡＰＩ２１１によって常時、定期的または必要に応じて不定期に監視する（ステップＳ１４１参照）。ジョブ起動制御エンジン２１０は、このＭＱ＿ＡＰＩ２１１によってＪＭＳキュー（Ｂ）２３１にＭＱメッセージＦ１１が格納されたことを検知すると（ステップＳ１４２のＹｅｓ参照）、ＪＭＳキュー（Ｂ）２３１からＭＱメッセージＦ１１を取り出す（ステップＳ１４３参照）。この際、ＪＶＭ２００の機能により、ＭＱメッセージＦ１１のコードがＣＯＢＯＬ区画１００Ａにおいて解読できるコードからＪａｖａ区画２００Ａにおいて解読できるコードに変換され、ＭＱメッセージＦ１２としてジョブ起動制御エンジン２１０に入力される。そして、そのＭＱメッセージＦ１２が後続ＪａｖａジョブＩＤを起動順序情報として含む後続Ｊａｖａ起動用のＭＱメッセージであるか否かを判断する（ステップＳ１４４参照）。そして、後続Ｊａｖａ起動用のＭＱメッセージであれば（ステップＳ１４４のＹｅｓ参照）、ジョブ起動制御エンジン２１０は、コード変換によって生成されたＭＱメッセージＦ１２を解析することで、次にＪａｖａ区画２００Ａにおいて起動する後続Ｊａｖａジョブ２２１を特定する（ステップＳ１４５参照）。
【００６６】
なお、ステップＳ１４４で、ＭＱメッセージＦ１２が後続Ｊａｖａ起動用のＭＱメッセージである（ステップＳＳ１４４のＹｅｓ）ということは、ケース１またはケース３における、先行ＣＯＢＯＬジョブ１２１（図２参照）または１２３（図６参照）の実行の後に、後続Ｊａｖａジョブ２２１（図２参照）または先行Ｊａｖａジョブ２２３（図６参照）が続いて実行されるということである。一方、後続Ｊａｖａ起動用のＭＱメッセージでない（ステップＳ１４４のＮｏ）ということは、後述するケース２またはケース３における、先行Ｊａｖａジョブ２２２（図４参照）または先行Ｊａｖａジョブ２２３（図６参照）が実行された後、後続ＣＯＢＯＬジョブ１２２（図４参照）または１２４（図６参照）が続いて実行されるということである。したがって、ＭＱメッセージＦ１２が後続Ｊａｖａ起動用のＭＱメッセージでない場合（ステップＳ１４４のＮｏ）、ジョブ起動制御エンジン２１０は、後述する図５Ｂの動作を実行する。
【００６７】
続いて、ジョブ起動制御エンジン２１０は、特定した後続Ｊａｖａジョブ２２１を起動するためのＪＭＳメッセージとして、この後続Ｊａｖａジョブ２２１に関連付けられたメッセージ付きオブジェクトＦ１３を生成し（ステップＳ１４６参照）、これをＪＭＳキュー（Ｃ）２４１へ出力する（ステップＳ１４７参照）。
【００６８】
〔後続Ｊａｖａジョブ〕
ＪＭＳキュー（Ｃ）２４１に後続Ｊａｖａジョブ２２１と関連付けられたメッセージ付きオブジェクトＦ１３が格納されると、これのリスナであるＭＤＢ２４２が呼び出され、これによって後続Ｊａｖａジョブ２２１が起動され（例えば第１ジョブ起動ステップ／処理）、これが図２に示すＪａｖａジョブ実行領域２２０に展開されて実行される。
【００６９】
以上のケース１で説明した動作により、本実施の形態によるバッチジョブ実行装置では、先にＣＯＢＯＬ区画１００Ａにおいて先行ＣＯＢＯＬジョブ１２１を実行し、次にＪａｖａ区画２００Ａにおいて後続Ｊａｖａジョブ２２１を実行する一連のバッチ処理が実現される。
【００７０】
・ケース２
次に、上記ケース２の動作について、図面を参照して詳細に説明する。図５Ａから図５Ｅは、上記ケース２を実現する際のバッチジョブ実行装置の動作を説明するためのフローチャートである。なお、以下の説明では、図４に示すブロック図および図３Ｂに示すフローチャートも適宜参照する。
【００７１】
〔先行Ｊａｖａジョブ〕
以下に、図５Ａを用いて、先行Ｊａｖａジョブ２２２の動作を説明する。
本ケース２では、まず、例えば不図示のＡＰＩによって先行して実行されるＪａｖａジョブ（以下、これを先行Ｊａｖａジョブという）２２２がＪＶＭ２００上のＪａｖａ区画２００Ａにおいて起動され、これが図４に示すＪａｖａジョブ実行領域２２０に展開されて実行される。
【００７２】
先行Ｊａｖａジョブ２２２は、起動後、まず、自身に組み込まれた所定の処理を実行する（ステップＳ２１１参照）。続いて、先行Ｊａｖａジョブ２２２は、自身に組み込まれた終了通知部２２２ａを起動して終了通知処理を行なう（ステップＳ２１２参照）。この終了通知処理では、自身に組み込まれた処理が正常に終了したか否かがＭＱメッセージＦ２１の形式でジョブ起動制御エンジン２１０に通知される。この際、起動順序情報もＭＱメッセージＦ２１に含ませてジョブ起動制御エンジン２１０へ通知される。この起動順序情報には、ケース１と同様に、第１実行環境１０であるＣＯＢＯＬ区画１００Ａにおいて次に起動される後続ジョブを特定するための識別情報として、例えば後続ＣＯＢＯＬジョブ１２２を識別するためのジョブＩＤ（以下、これを後続ＣＯＢＯＬジョブＩＤという）が含まれる。
【００７３】
このようにジョブの終了通知と共に起動順序情報をジョブ起動制御エンジン２１０へ通知すると、先行Ｊａｖａジョブ２２２は、その処理を終了する。
【００７４】
なお、ＭＱメッセージＦ２１には、後続ＣＯＢＯＬジョブ１２２の実行に使用する実行用パラメータ（以下、これを後続ＣＯＢＯＬジョブ実行用パラメータという）が含まれていてもよい。この後続ＣＯＢＯＬジョブ実行用パラメータは、上述の後続ＣＯＢＯＬジョブＩＤのように、例えば外部のＡＰＩから入力されても、先行Ｊａｖａジョブ２２２が予め持っていても良いし、先行Ｊａｖａジョブ２２２が処理した演算結果などを用いてもよい。
【００７５】
また、先行Ｊａｖａジョブ２２２は、ＣＯＢＯＬ区画１００Ａへジョブをキックする処理のみを実行する、いわゆるダミージョブであってもよい。この場合、先行Ｊａｖａジョブ２２２は、終了通知処理（終了通知部２２２ａの動作）のみを実行し、その後終了する。
【００７６】
終了通知処理によって先行Ｊａｖａジョブ２２２から出力されたＭＱメッセージＦ２１は、ＪＭＳキュー（Ｂ）２３１に一旦格納される。なお、ＪＭＳキュー（Ｂ）２３１は、上述のケース１のローカルキュー（Ｂ）２３１と同じであるが、Ｊａｖａから利用するローカルキューであることから、そのような場合は本明細書ではＪＭＳキュー（Ｂ）２３１として記載する。
【００７７】
〔ジョブ起動制御エンジン〕
以下に、図３Ｂおよび図５Ｂを用いて、ジョブ起動制御エンジン２１０の動作を説明する。ケース２におけるジョブ起動制御エンジン２１０の動作は、ケース１の動作のステップＳ１４１〜ステップＳ１４４までは同じであり、ステップＳ１４４の判断結果（ステップＳ１４４のＮｏ）で処理が分岐し、その後、図５Ｂの処理に続く。
【００７８】
Ｊａｖａ区画２００ＡにおけるＪＭＳキュー（Ｂ）２３１は、ジョブ起動制御エンジン２１０に組み込まれたＭＱ＿ＡＰＩ２１２によって常時、定期的または必要に応じて不定期に監視される（ステップＳ１４１参照）。ジョブ起動制御エンジン２１０は、このＭＱ＿ＡＰＩ２１２によってＪＭＳキュー（Ｂ）２３１にＭＱメッセージＦ２１が格納されたことを検知すると（ステップＳ１４２のＹｅｓ参照）、ＪＭＳキュー（Ｂ）２３１からＭＱメッセージＦ２１を取り出し（ステップＳ１４３参照）、入力する。そして、そのＭＱメッセージＦ２１が後続ＪａｖａジョブＩＤを起動順序情報として含む後続Ｊａｖａ起動用のＭＱメッセージであるか否かを判断する（ステップＳ１４４参照）。そして、後続Ｊａｖａ起動用のＭＱメッセージでない場合（ステップＳ１４４のＮｏ参照）、ジョブ起動制御エンジン２１０は、さらに先行Ｊａｖａジョブ２２２が正常終了したか否かのどちらを示すＭＱメッセージであるかを判断する（ステップＳ２２１参照）。そして、先行Ｊａｖａジョブ２２２が正常終了したことを示すＭＱメッセージである場合（ステップＳ２２１のＹｅｓ参照）、ジョブ起動制御エンジン２１０は、ＭＱメッセージＦ２１に後続ＣＯＢＯＬジョブＩＤ及び後続ＣＯＢＯＬジョブ実行用パラメータが含まれているかを確認し（ステップＳ２２２）、含まれている場合（ステップＳ２２２のＹｅｓ参照）、連携する後続ＣＯＢＯＬジョブ１２２が存在すると判断し、この判断に基づいてＭＱメッセージＦ２２を生成し（ステップＳ２２３）、これをＪａｖａ区画２００Ａのリモートキュー（Ｅ）２６１へ出力する（ステップＳ２２４参照）。
【００７９】
なお、上述のステップＳ２２１の判断の結果、正常終了でないことを示すＭＱメッセージである場合（ステップＳ２２１のＮｏ参照）、ジョブ起動制御エンジン２１０は、先行Ｊａｖａジョブの異常終了処理を実行し（ステップＳ２２５参照）、その後、処理を終了する。また、ステップＳ２２２の判断の結果、少なくとも後続ＣＯＢＯＬジョブＩＤが含まれていない場合（ステップＳ２２２のＮｏ参照）、ジョブ起動制御エンジン２１０は、連携する後続ＣＯＢＯＬジョブが存在しないと判断して、図３ＢのステップＳ１４１に戻る。
【００８０】
〔ＭＱシステム〕
以下に、図５Ｃを用いて、ＭＱシステム１３０の動作を説明する。
リモートキュー（Ｅ）２６１に格納されたＭＱメッセージＦ２２は、ＭＱシステム１３０の機能によって、ＣＯＢＯＬ区画１００Ａ側のローカルキュー（Ｆ）１４１へ送出される。この際、ＪＶＭ２００の機能により、ＭＱメッセージＦ２２のコードがＪａｖａ区画２００Ａにおいて解読できるコードからＣＯＢＯＬ区画１００Ａにおいて解読できるコードに変換される。そして、そのコード変換後のＭＱメッセージＦ２３が、ローカルキュー（Ｆ）１４１に格納される。
【００８１】
ここで、ＣＯＢＯＬ区画１００Ａにおけるメッセージ受取り側のローカルキュー（Ｆ）１４１は、ＭＱシステム１３０に組み込まれたＭＱ＿ＡＰＩ１４３によって常時、定期的または必要に応じて不定期に監視されている（ステップＳ２４１）。ＭＱシステム１３０は、このＭＱ＿ＡＰＩ１４３によってローカルキュー（Ｆ）１４１にＭＱメッセージＦ２３が格納されたことを検知すると（ステップＳ２４２のＹｅｓ参照）、ローカルキュー（Ｆ）１４１のプロセス定義に基づき、これに関係付けられているアプリケーションのＩＤ（以下、これをアプリケーションＩＤという）を特定する（ステップＳ２４３参照）。続いて、ＭＱシステム１３０は、特定したアプリケーションＩＤを含むトリガメッセージＦ２４を生成し（ステップＳ２４４参照）、生成したトリガメッセージＦ２４をイニシエーションキュー（Ｇ）１４２に格納する（ステップＳ２４５参照）。
【００８２】
〔トリガモニタ、インターナルリーダ〕
以下に、図５Ｄを用いて、トリガモニタ１５０及びインターナルリーダ１７０の動作の説明をする。
ここで、イニシエーションキュー（Ｇ）１４２は、ＭＱシステム１３０に組み込まれた特殊アプリケーションであるトリガモニタ１５０によって常時、定期的または必要に応じて不定期に監視される（ステップＳ２５１参照）。トリガモニタ１５０は、イニシエーションキュー（Ｇ）１４２にトリガメッセージＦ２４が格納されると（ステップＳ２５２のＹｅｓ参照）、イニシエーションキュー（Ｇ）１４２からトリガメッセージＦ２４を取り出し（ステップＳ２５３参照）、これを解析することで、トリガメッセージＦ２４に含まれるアプリケーションＩＤを特定する（ステップＳ２５４参照）。続いて、トリガモニタ１５０は、特定したアプリケーションＩＤを用いてＪＣＬ（Ｊｏｂ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）登録ライブラリ１６０を参照することで、ＪＣＬ登録ライブラリ１６０に予めアプリケーションＩＤと対応づけて登録されているＭＱメッセージ解析用のＪＣＬ（以下、これをＭＱメッセージ解析ＪＣＬという）１６１を取得し（ステップＳ２５５参照）、これをインターナルリーダ１７０に入力する（ステップＳ２５６参照）。
【００８３】
インターナルリーダ１７０は、トリガモニタ１５０からＭＱメッセージ解析ＪＣＬ１６１が入力されると（ステップＳ２６１参照）、これを解析し（ステップＳ２６２参照）、その内容に従うことで、ＣＯＢＯＬ区画１００Ａのローカルキュー（Ｆ）１４１に格納されているＭＱメッセージＦ２３を解析するためのＭＱメッセージ解析ジョブ１８０を起動する（ステップＳ２６３参照）。
【００８４】
〔ＭＱメッセージ解析ジョブ、インターナルリーダ〕
以下に、図５Ｅを用いて、ＭＱメッセージ解析ジョブ１８０及びインターナルリーダ１７０の動作を説明する。
起動されたＭＱメッセージ解析ジョブ１８０は、ローカルキュー（Ｆ）１４１からＭＱメッセージＦ２３を取得し（ステップＳ２７１参照）、これを解析する（ステップＳ２７２参照）。続いて、ＭＱメッセージ解析ジョブ１８０は、ＭＱメッセージＦ２３の解析結果に従ってＪＣＬ登録ライブラリ１６０を参照することで、ＪＣＬ登録ライブラリ１６０に予め登録された後続ＣＯＢＯＬジョブ１２２を起動するためのＪＣＬ（以下、これを後続ＣＯＢＯＬジョブＪＣＬという）１６２を取得し（ステップＳ２７３参照）、これをインターナルリーダ１７０に入力する（ステップＳ２７４参照）。なお、ＭＱメッセージ解析ジョブ１８０は、解析した結果、ＭＱメッセージＦ２３に後続ＣＯＢＯＬジョブ実行用パラメータが含まれていた場合、この後続ＣＯＢＯＬジョブ実行用パラメータを後続ＣＯＢＯＬジョブＪＣＬ１６２の所定の位置に付加した後に、これをインターナルリーダ１７０に出力する。
【００８５】
インターナルリーダ１７０は、ＭＱメッセージ解析ジョブ１８０から後続ＣＯＢＯＬジョブＪＣＬ１６２が入力されると（ステップＳ２８１参照）、これを解析し（ステップＳ２８２参照）、その内容に従うことで、後続ＣＯＢＯＬジョブ１２２を起動する（ステップＳ２８３参照）。これによって後続ＣＯＢＯＬジョブ１２２が起動され（例えば第１ジョブ起動ステップ／処理）、これが図４に示すＣＯＢＯＬジョブ実行領域１２０に展開されて実行される。
【００８６】
以上のケース２で説明した動作により、本実施の形態によるバッチジョブ実行装置では、先にＪａｖａ区画２００Ａにおいて先行Ｊａｖａジョブ２２２を実行し、次にＣＯＢＯＬ区画１００Ａにおいて後続ＣＯＢＯＬジョブ１２２を実行する一連のバッチ処理が実現される。
【００８７】
・ケース３
次に、上記ケース３の動作について、図面を参照して詳細に説明する。なお、本ケース３の動作を示すフローチャートは、上述したケース１の説明において使用した図３Ａおよび図３Ｂに示すフローチャートおよびケース２の説明において使用した図５Ａから図５Ｅに示すフローチャートを引用することで説明が可能であるため、ここでは図６と共にこれらを参照して説明する。
【００８８】
〔先行ＣＯＢＯＬジョブ〕
本ケース３では、まず、ケース１と同様に、例えば不図示のＡＰＩによって先行ＣＯＢＯＬジョブ１２３がメインフレーム１００上のＣＯＢＯＬ区画１００Ａにおいて起動され、これが図６に示すＣＯＢＯＬジョブ実行領域１２０に展開されて実行される。
【００８９】
先行ＣＯＢＯＬジョブ１２３は、ケース１と同様に、起動後、所定の処理を実行し（図３ＡのステップＳ１１１に相当）、これが正常に終了したか否かを検知して（図３ＡのステップＳ１１２に相当）、正常に終了しない場合（図３ＡのステップＳ１１２のＮｏに相当）、所定の異常終了処理を実行する（図３ＡのステップＳ１１５に相当）。また、正常に終了した場合（図３ＡのステップＳ１１２のＹｅｓに相当）、その後の実行処理に進む。なお、所定の処理が異常終了した場合、例えばメインフレーム１００に組み込まれた所定のアプリケーションによってこのことがシステム管理者等に通知されるなどの構成としても良い。
【００９０】
また、この先行ＣＯＢＯＬジョブ１２３には、ケース１の先行ＣＯＢＯＬジョブ１２１と同様に、ＭＱメッセージ出力部１２３ａが組み込まれている（図６参照）。ただし、本ケース３によるＭＱメッセージ出力部１２３ａは、先行ＣＯＢＯＬジョブ１２３の次に実行される先行Ｊａｖａジョブ２２３を識別するためのジョブＩＤ（以下、これを先行ＪａｖａジョブＩＤという）だけでなく、先行Ｊａｖａジョブ２２３の次に実行される後続ＣＯＢＯＬジョブ１２４を識別するためのジョブＩＤ（以下、これを後続ＣＯＢＯＬジョブＩＤという）も含むＭＱメッセージＦ３１を生成する。なお、先行ＪａｖａジョブＩＤは、第２実行環境２０であるＪａｖａ区画２００Ａにおいて次に起動される先行ジョブを特定するための第１識別情報に相当し、後続ＣＯＢＯＬジョブＩＤは、第１実行環境１０であるＣＯＢＯＬ区画１００Ａにおいて先行ジョブの次に実行される後続ジョブを特定するための第２識別情報に相当する。したがって、ＭＱメッセージ出力部１２３ａは、先行ＪａｖａジョブＩＤと後続ＣＯＢＯＬジョブＩＤとを起動順序情報として含む先行Ｊａｖａジョブ２２３起動用のＭＱメッセージＦ３１を生成し（図３ＡのステップＳ１１３に相当）、これをＣＯＢＯＬ区画１００Ａのリモートキュー（Ａ）１３１へ出力する（図６参照、図３ＡのステップＳ１１４に相当）（例えば第１起動順序情報出力ステップ／処理）。なお、本ケース３では、ＣＯＢＯＬ区画１００Ａにおいて先行ＣＯＢＯＬジョブ１２３の次に実行される後続ＣＯＢＯＬジョブ１２４を特定するために、ＭＱメッセージＦ３１に後続ＣＯＢＯＬジョブＩＤを含めるように構成したが、本発明はこれに限定されるものではない。例えばＣＯＢＯＬ区画１００Ａにおいて次に実行される後続ＣＯＢＯＬジョブ１２４が管理されていれば、後続ＣＯＢＯＬジョブ１２４を特定するための識別情報（本例では後続ＣＯＢＯＬジョブＩＤに相当）を含めずともよい。
【００９１】
ＭＱメッセージＦ３１には、上記ケース１と同様に、先行Ｊａｖａジョブ２２３を実行する際や、後続ＣＯＢＯＬジョブ１２４の実行にそれぞれ使用する実行用パラメータが含まれていてもよい。また、この実行用パラメータは、例えば外部のＡＰＩから入力されても、先行ＣＯＢＯＬジョブ１２３が予め持っていても良いし、先行ＣＯＢＯＬジョブ１２３が処理した演算結果などを用いても良い。
【００９２】
また、先行ＣＯＢＯＬジョブ１２３は、先行ＣＯＢＯＬジョブ１２１と同様に、Ｊａｖａ区画２００Ａへジョブをキックするための動作（ＭＱメッセージ出力部１２３ａの動作）のみを実行する、いわゆるダミージョブであってもよい。
【００９３】
〔ＭＱシステム〕
先行ＣＯＢＯＬジョブ１２３から出力されたＭＱメッセージＦ３１は、ＭＱシステム１３０の制御の下、リモートキュー（Ａ）１３１を介してＪａｖａ区画２００Ａ側のローカルキュー（Ｂ）２３１へ送出される（図６参照）。
【００９４】
〔ジョブ起動制御エンジン〕
このように、Ｊａｖａ区画２００Ａのローカルキュー（Ｂ）２３１にＭＱメッセージＦ３１が格納されると、ジョブ起動制御エンジン２１０は、ケース１において図３ＢのステップＳ１４１から図３ＢのステップＳ１４７までを用いて説明した動作と同様の動作を実行することで、コード変換後のＭＱメッセージＦ３２を入力し、これに基づいて先行Ｊａｖａジョブ２２３に関連付けられたメッセージ付きオブジェクトＦ３３を生成し、これをＪＭＳキュー（Ｃ）２４１へ出力する（図６参照）。ただし、本ケース３では、メッセージ付きオブジェクトＦ３３に、後続ＣＯＢＯＬジョブＩＤが含まれる。この後続ＣＯＢＯＬジョブＩＤは、メッセージ付きオブジェクトＦ３３のリスナであるＭＤＢ２４２を介して先行Ｊａｖａジョブ２２３に入力される。
【００９５】
〔先行Ｊａｖａジョブ〕
また、ＪＭＳキュー（Ｃ）２４１に先行Ｊａｖａジョブ２２３と関連付けられたメッセージ付きオブジェクトＦ３３が格納されると、これのリスナであるＭＤＢ２４２が呼び出され、これによって先行Ｊａｖａジョブ２２３が起動され（例えば第１ジョブ起動ステップ／処理）、これが図６に示すＪａｖａジョブ実行領域２２０に展開されて実行される。
【００９６】
先行Ｊａｖａジョブ２２３は、上記ケース２の先行Ｊａｖａジョブ２２２と同様に、自身に組み込まれた所定の処理を実行し（図５ＡのステップＳ２１１に相当）、続いて、自身に組み込まれた終了通知部２２３ａを起動して終了通知処理を行なう（図５ＡのステップＳ２１２に相当）。
【００９７】
終了通知処理によって先行Ｊａｖａジョブ２２３から出力されたＭＱメッセージＦ２１は、ＪＭＳキュー（Ｂ）２３１に一旦格納される（図６参照）。
【００９８】
〔ジョブ起動制御エンジン、ＭＱシステム、トリガモニタ、インターナルリーダ、ＭＱメッセージ解析ジョブ〕
その後、ケース２において、図３ＢのステップＳ１４１からステップＳ１４４、図５ＢのステップＳ２２１から図５ＥのステップＳ２８３を用いて説明した動作と同様の動作を実行することで、インターナルリーダ１７０を介して後続ＣＯＢＯＬジョブ１２４が起動され（例えば第２ジョブ起動ステップ／処理）、これが図６に示すＣＯＢＯＬジョブ実行領域１２０に展開されて実行される。
【００９９】
以上のケース３で説明した動作により、本実施の形態によるバッチジョブ実行装置では、先にＣＯＢＯＬ区画１００Ａにおいて先行ＣＯＢＯＬジョブ１２３を実行し、次いでＪａｖａ区画２００Ａにおいて先行Ｊａｖａジョブ２２３を実行した後、さらにＣＯＢＯＬ区画１００Ａにおいて後続ＣＯＢＯＬジョブ１２４を実行する一連のバッチ処理が実現される。
【０１００】
以上で説明したように、本実施の形態によるバッチジョブ実行装置では、第１実行環境１０（例えばＣＯＢＯＬ区画１００Ａ）において先行して実行されているジョブ（例えば１２１または１２３）の次に後続として起動されるジョブ（例えば２２１または２２３）を特定するための起動順序情報が、第１実行環境１０と異なる第２実行環境２０（例えばＪａｖａ区画２００Ａ）におけるジョブの起動を制御するジョブ起動部２６に入力されるため、ジョブ起動部２６がこの起動順序情報に従って先行して実行されているジョブ（例えば１２１または１２３）の次に後続のジョブ（例えば２２１または２２３）を起動することが可能となる。これにより、それぞれの実行環境においてジョブのスケジュールを管理するための手段を設けることを必要としないため、開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置およびバッチジョブ実行方法を実現することが可能となる。なお、これは、第１実行環境１０を例えばＪａｖａ区画２００Ａとし、第２実行環境２０を例えばＣＯＢＯＬ区画１００Ａとした場合でも同様である。この際の先行のジョブは例えば先行Ｊａｖａジョブ２２２または２２３であり、後続のジョブは例えば後続ＣＯＢＯＬジョブ１２２または１２４である。
【０１０１】
また、本実施の形態によるバッチジョブ実行装置またはバッチジョブ実行方法は、例えば上記した各処理を実行するように記述されたバッチジョブ実行プログラムによって実現される。このバッチジョブ実行プログラムは、例えば、ハードディスクドライブやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭなどの所定の記録媒体に記憶される。したがって、本実施の形態によるバッチジョブ実行装置およびバッチジョブ実行方法は、例えば、所定の記録媒体に記録されたバッチジョブ実行プログラムをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの所定の情報処理装置が読み出して所定のメモリ領域に展開して実行することで、実現することができる。ただし、これに限定されず、その実現方法は、例えばインターネットを利用してバッチジョブ実行プログラムを所定の情報処理装置が取得するなど、種々変形することが可能である。
【０１０２】
また、上記では、実行環境が切り替わる際の前後のジョブに着目した各ケースを例に挙げて説明したが、本発明はこれらのケースに限定されるものではなく、例えば同一の実行環境において複数の連続するジョブを実行した後、この実行環境と異なる実行環境において続きのジョブを実行するケースなどを当然に含む。なお、同一の実行環境において複数のジョブを連続して実行する場合、例えば後続のジョブが存在する先行のジョブにそれぞれ後続のジョブを特定するための起動順序情報を出力する起動順序情報出力部を組み込むと共に、この実行環境においてジョブを起動するためのジョブ起動部を設け、先行するジョブがこのジョブ起動部に起動順序情報を出力することでジョブ起動部が入力された起動順序情報に従って後続のジョブを起動するように構成される。ただし、これに限定されず、種々変形することが可能である。
【０１０３】
＜実施の形態２＞
次に、本発明の実施の形態２によるバッチジョブ実行装置の構成を図面を参照して詳細に説明する。なお、以下の説明において、本発明の実施の形態１と同様の構成および動作については、同一の符号を付し、また、その説明を引用することで詳細な説明を省略する。
【０１０４】
（概略構成）
本実施の形態によるバッチジョブ実行装置は、本発明の実施の形態１と同様に、異なる複数の実行環境が単一または複数の連携されたメインフレーム上で実現された構成を備え、これら異なる実行環境を跨いで連続する複数のジョブを処理目的ごとに異なる実行環境において連続して実行（バッチ処理）する。また、本実施の形態によるバッチジョブ実行装置には、例えば第１実行環境において実行されるジョブの起動順序を管理する手段が設けられる。
【０１０５】
図７（ａ）および図７（ｂ）は、本実施の形態によるバッチジョブ実行装置の概略構成を説明するためのブロック図である。なお、図７（ａ）は、まず第１実行環境１０において先行ジョブ１１を起動した後、第２実行環境２０において後続ジョブ２１を起動する場合（以下、これをケース４とする）を示し、図７（ｂ）は、まず第１実行環境１０において先行ジョブ１３を起動し、次いで第２実行環境２０において先行ジョブ１３に続く先行ジョブ２３を起動した後、第１実行環境１０において後続ジョブ１４を起動する場合（以下、これをケース５とする）を示している。なお、先に第２実行環境２０において先行ジョブを起動した後、次に第１実行環境１０において後続ジョブを実行するケースは、本実施の形態におけるジョブ起動管理部を介さずに実現することが可能であるため、その動作は、例えば本発明の実施の形態１におけるケース２と同様のものとなる。したがって、このケースの詳細な説明は省略する。
【０１０６】
また、本発明の実施の形態１と同様に、ケース４では、先行ジョブ１１（例えば第１ジョブ）と後続ジョブ２１（例えば第２ジョブ）とが連続する複数のジョブよりなるジョブ群において連続するように順序付けされており、ケース５では、先行ジョブ１３（例えば第１ジョブ）と先行ジョブ２３（例えば第２ジョブ）と後続ジョブ１４（例えば第３ジョブ）とが連続する複数のジョブよりなるジョブ群において連続するように順序づけされている。さらに、上記各ケースにおいて、先行ジョブ１１、先行ジョブ１３および後続ジョブ１４は、第１実行環境１０において実行することが好適な目的の処理を実行するジョブであり、後続ジョブ２１および先行ジョブ２３は、第２実行環境において実行することが好適な目的の処理を実行するジョブである。
【０１０７】
・ケース４
まず、ケース４を実現するためのバッチジョブ実行装置では、図７（ａ）に示すように、第１実行環境１０において先行して実行される先行ジョブ１１に、ジョブの起動順序を特定するための起動順序情報（例えば第１起動順序情報）を出力する起動順序情報出力部１１ａ（例えば第１起動順序情報出力手段）が組み込まれると共に、第１実行環境１０にジョブの起動順序を管理するジョブ起動管理部１７（例えばジョブ起動管理手段）が設けられ、第２実行環境２０にジョブ起動部２６（例えば第１ジョブ起動手段）が設けられる。
【０１０８】
図７（ａ）に示すバッチジョブ実行装置において、ジョブ起動管理部１７が所定のジョブ実行スケジュールに従って先行ジョブ１１を起動すると、この先行ジョブ１１に組み込まれた起動順序情報出力部１１ａが実行される。起動順序情報出力部１１ａは、先行ジョブ１１の次に第２実行環境２０において起動される後続ジョブ２１を特定するための起動順序情報Ｆ１を出力する。
【０１０９】
第１実行環境１０における先行ジョブ１１から出力された起動順序情報Ｆ１は、所定の情報伝達手段を介して第２実行環境２０におけるジョブ起動部２６に入力される。ジョブ起動部２６は、入力された起動順序情報Ｆ１に従って第２実行環境２０において次に起動する後続ジョブ２１を特定し、これを起動する。このようにして、ジョブ起動管理部１７によりジョブの起動順序が管理された第１実行環境１０において実行された先行ジョブ１１の次に、第２実行環境２０において後続ジョブ２１を実行する一連のバッチ処理が実現できる。
【０１１０】
・ケース５
また、ケース５を実現するためのバッチジョブ実行装置では、第１実行環境１０において先行して実行される先行ジョブ１３にジョブの起動順序を特定するための起動順序情報（例えば第１起動順序情報）を出力する起動順序情報出力部１３ａ（例えば第１起動順序情報出力手段）が組み込まれ、また、先行ジョブ１３に次いで第２実行環境２０において実行される先行ジョブ２３にジョブの起動順序を特定するための起動順序情報（例えば第２起動順序情報）を出力する起動順序情報出力部２３ａ（例えば第２起動順序情報出力手段）が組み込まれると共に、第１実行環境１０にジョブ起動管理部１７（例えばジョブ起動管理手段）およびジョブ起動部１８（例えば第２ジョブ起動手段）が設けられ、また、第２実行環境２０にジョブ起動部２６（例えば第１ジョブ起動手段）が設けられる。
【０１１１】
図７（ｂ）に示すバッチジョブ実行装置において、ジョブ起動管理部１７が所定のジョブ実行スケジュールに従って先行ジョブ１３を起動すると、この先行ジョブ１３に組み込まれた起動順序情報出力部１３ａが実行される。起動順序情報出力部１３ａは、先行ジョブ１３の次に第２実行環境２０において起動される先行ジョブ２３を特定するための起動順序情報Ｆ４を出力する。なお、起動した先行ジョブ１３の次に第１実行環境１０において実行される後続ジョブ１４は、例えばジョブ起動管理部１７によって実行待ちの状態に置かれている。
【０１１２】
第１実行環境１０における先行ジョブ１３から出力された起動順序情報Ｆ４は、所定の情報伝達手段を介して第２実行環境２０におけるジョブ起動部２６に入力される。ジョブ起動部２６は、入力された起動順序情報Ｆ４に従って第２実行環境２０において次に起動する先行ジョブ２３を特定し、これを起動する。このようにして、第１実行環境１０における先行ジョブ１３の次に、第２実行環境２０において先行ジョブ２３が実行される。
【０１１３】
また、起動順序情報Ｆ４には、先行ジョブ２３に先んじて第１実行環境１０において実行された先行ジョブ１３を特定するための起動順序情報も含まれる。したがって、第２実行環境２０において先行ジョブ２３が起動されてこれに組み込まれた起動順序情報出力部２３ａが実行されると、起動順序情報出力部２３ａは、入力された起動順序情報Ｆ４を用いて先に実行された先行ジョブ１３を特定するための起動順序情報Ｆ５を生成し、これを出力する。
【０１１４】
第２実行環境２０における先行ジョブ２３から出力された起動順序情報Ｆ５は、所定の情報伝達手段を介して第１実行環境１０におけるジョブ起動部１８に入力される。ジョブ起動部１８は、入力された起動順序情報Ｆ５を用いることで、第１実行環境１０において先に実行された先行ジョブ１３の次に実行される後続ジョブ１４の実行待ちの状態をジョブ起動管理部１７に解除させる。ジョブ起動管理部１７は、ジョブ起動部１８によって後続ジョブ１４の実行待ち状態が解除されると、この後続ジョブ１４を起動する。このようにして、第１実行環境１０において先行ジョブ１３を実行した後、第２実行環境２０において先行ジョブ２３を実行し、さらに、第１実行環境１０において後続ジョブ１４を実行する一連のバッチ処理が実現できる。
【０１１５】
上記で説明した各ケースのように、本実施の形態では、後続のジョブ（後続ジョブ）が存在するジョブ（先行ジョブ）に、ジョブの起動順序を特定するための起動順序情報を出力する起動順序情報出力部を組み込み、これが出力した起動順序情報に従って、次に順序付けされたジョブを適切な実行環境において順次実行する。これにより、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置を実現することが可能となる。
【０１１６】
（具体例）
次に、本実施の形態によるバッチジョブ実行装置のより具体的な構成について説明する。なお、以下の説明において、第１実行環境１０は、例えばメインフレームに組み込まれたＯＳなどによって実現される実行環境であり、第２実行環境２０は、例えばＪ２ＥＥを搭載するＪＶＭ２００により実現される実行環境である。また、以下の説明では、メインフレーム１００上で実行されるジョブを例えばＣＯＢＯＬジョブとし、ＪＶＭ２００上で実行されるジョブをＪａｖａジョブとする。
【０１１７】
図８および図１０は、上述した各ケースを実現する際に動作するバッチジョブ実行装置の構成を模式化したブロック図である。図８および図１０と、図２、図４および図６と、を比較すると明らかなように、本実施の形態によるバッチジョブ実行装置は、本発明の実施の形態１によるバッチジョブ実行装置と同様の構成において、ジョブスケジュール管理システム１１０がさらに設けられている。
【０１１８】
ジョブスケジュール管理システム１１０は、ＣＯＢＯＬ区画１００Ａにおいて実行されるＣＯＢＯＬジョブの実行順序を管理するための手段の一つであり、予めスケジュールされた実行順序に従って、所定のバッチジョブの開始時刻から複数のＣＯＢＯＬジョブをバッチ処理するように動作する。この際、ジョブスケジュール管理システム１１０は、先んじて実行しているＣＯＢＯＬジョブの次に実行するＣＯＢＯＬジョブを実行待ちの状態にセットする。
【０１１９】
なお、本実施の形態では、例えば、ジョブスケジュール管理システム１１０が、図７（ａ）または図７（ｂ）におけるジョブ起動管理部１７に相当する。ただし、ジョブ起動管理部１７には、ジョブスケジュール管理システム１１０を機能させるための他の構成が適宜含まれていても良い。
【０１２０】
また、本実施の形態によるバッチジョブ実行装置では、ＣＯＢＯＬ区画１００Ａにおいて目的のジョブを起動するための手段の一要素として、ＭＱメッセージ解析ジョブ１８０と後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０とを備える。ＭＱメッセージ解析ジョブ１８０は、例えば必要に応じて起動されるアプリケーションであり、入力したＭＱメッセージを解析することで、次にＣＯＢＯＬ区画１００Ａにおいて実行されるＣＯＢＯＬジョブの実行待ちの状態を解除するための後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０を起動する。後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０は、ＭＱメッセージ解析ジョブ１８０と同様に、例えば必要に応じて起動されるアプリケーションであり、入力したＭＱメッセージを解析することで、実行待ちの状態に置かれている目的のＣＯＢＯＬジョブの実行待ちの状態をジョブスケジュール管理システム１１０に解除させる。
【０１２１】
なお、ＭＱメッセージ解析ジョブ１８０は、例えば図１０におけるイニシエーションキュー（Ｇ）１４２をモニタリングするトリガモニタ１５０によってＪＣＬ登録ライブラリ１６０から読み出されたＭＱメッセージ解析ＪＣＬ１６１がインターナルリーダ１７０に入力されて所定の実行領域に展開されることで実行され、後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０は、例えばＭＱメッセージ解析ジョブ１８０によってＪＣＬ登録ライブラリ１６０から読み出された後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ１６３がインターナルリーダ１７０に入力されて所定の実行領域に展開されることで実行される。
【０１２２】
このように本実施の形態では、例えば、ＭＱメッセージ解析ジョブ１８０および後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０と、これらを起動するためのトリガモニタ１５０、イニシエーションキュー（Ｇ）１４２（イニシエーションキュー（Ｇ）１４２を管理するＭＱシステム１３０を含んでも良い）、ＪＣＬ登録ライブラリ１６０に登録されたＭＱメッセージ解析ＪＣＬ１６１および後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ１６３、ならびに、インターナルリーダ１７０が、図７（ｂ）におけるジョブ起動部１８に相当する。ただし、ジョブ起動部１８には、ＭＱメッセージ解析ジョブ１８０、トリガモニタ１５０、イニシエーションキュー（Ｇ）１４２（イニシエーションキュー（Ｇ）１４２を管理するＭＱシステム１３０を含んでも良い）、ＭＱメッセージ解析ＪＣＬ１６１および後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ１６３（ＪＣＬ登録ライブラリ１６０を含んでも良い）およびインターナルリーダ１７０それぞれを機能させるための他の構成が適宜含まれていても良い。
【０１２３】
なお、その他の構成については、本発明の実施の形態１によるバッチジョブ実行装置と同様であるため、ここでは詳細な説明を省略する。
【０１２４】
（動作）
次に、上述した各ケースを実現する際の本実施の形態によるバッチジョブ実行装置の動作、すなわち、本実施の形態によるバッチジョブ実行方法について、図面を参照して詳細に説明する。なお、本実施の形態によるバッチジョブ実行装置の動作において、本発明の実施の形態１によるバッチジョブ実行装置の動作と同様の動作については、その説明を引用することで詳細な説明を省略する。
【０１２５】
・ケース４
まず、上記ケース４の動作について、図面を参照して詳細に説明する。図９は、上記ケース４を実現する際のバッチジョブ実行装置の動作を説明するためのフローチャートである。なお、以下の説明では、図８に示すブロック図も適宜参照する。また、図９に示すフローチャート以外の動作は、例えば本発明の実施の形態１におけるケース１で図３Ａおよび図３Ｂに示すフローチャートを用いて説明した動作と同様であるため、ここではそれを引用する。
【０１２６】
〔ジョブスケジュール管理システム〕
本ケース４では、まず、ジョブスケジュール管理システム１１０が、所定のバッチジョブ実行開始時刻になると（図９のステップＳ４０１のＹｅｓ参照）、予め登録されたジョブの実行順序を示すジョブスケジュールを解析する（図９のステップＳ４０２参照）。続いて、ジョブスケジュール管理システム１１０は、解析したジョブスケジュールに従って、先にＣＯＢＯＬ区画１００Ａにおいて実行する先行ＣＯＢＯＬジョブ１２１を起動する（図９のステップＳ４０３参照）。
【０１２７】
このように先行ＣＯＢＯＬジョブ１２１を起動すると、本実施の形態によるバッチジョブ実行装置は、本発明の実施の形態１におけるケース１の説明において図３Ａおよび図３Ｂを用いて説明した動作と同様の動作を実行することで、Ｊａｖａ区画２００Ａにおいて後続Ｊａｖａジョブ２２１が起動され（例えば第１ジョブ起動ステップ／処理）、これが図８に示すＪａｖａジョブ実行領域２２０に展開されて実行される。
【０１２８】
これにより、本実施の形態によるバッチジョブ実行装置では、先にＣＯＢＯＬ区画１００Ａにおいて先行ＣＯＢＯＬジョブ１２１を実行し、次にＪａｖａ区画２００Ａにおいて後続Ｊａｖａジョブ２２１を実行する一連のバッチ処理が実現される。
【０１２９】
・ケース５
次に、上記ケース５の動作について、図面を参照して詳細に説明する。図９、図１１Ａ、図１１Ｂは、上記ケース５を実現する際のバッチジョブ実行装置の動作を説明するためのフローチャートである。なお、以下の説明では、図１０に示すブロック図も適宜参照する。また、図９、図１１Ａ、図１１Ｂまでに示すフローチャート以外の動作は、例えば本発明の実施の形態１におけるケース３で、図３Ａおよび図３Ｂ、および、図５Ａから図５Ｄまで、を用いて説明した動作と同様であるため、ここではそれを引用する。
【０１３０】
〔ジョブスケジュール管理システム〕
以下に、図９を用いて、ジョブスケジュール管理システム１１０の動作を説明する。
本ケース５では、まず、ケース４と同様に、ジョブスケジュール管理システム１１０が、所定のバッチジョブ実行開始時刻になると（ステップＳ４０１のＹｅｓ参照）、予め登録されたジョブの実行順序を示すジョブスケジュールを解析する（ステップＳ４０２参照）。続いて、ジョブスケジュール管理システム１１０は、解析したジョブスケジュールに従って、先にＣＯＢＯＬ区画１００Ａにおいて実行する先行ＣＯＢＯＬジョブ１２３を起動する（ステップＳ４０３参照）。なお、先行ＣＯＢＯＬジョブ１２３の次にＣＯＢＯＬ区画１００Ａにおいて実行するＣＯＢＯＬジョブ（後続ＣＯＢＯＬジョブ１２４）については、ジョブスケジュール管理システム１１０においてこれが実行待ちの状態であることを示す後続ＣＯＢＯＬ実行待フラグがセットされている。
【０１３１】
〔先行ＣＯＢＯＬジョブ、ＭＱシステム、ジョブ起動制御エンジン〕
このように先行ＣＯＢＯＬジョブ１２３を起動すると、本実施の形態によるバッチジョブ実行装置は、本発明の実施の形態１におけるケース３の説明において図３Ａおよび図３Ｂのフローチャートを引用して説明した動作と同様の動作を実行することで、メッセージ付きオブジェクトＦ４３を生成し、これをトリガとしてＭＤＢ２４２が動作することでＪａｖａ区画２００Ａにおいて先行Ｊａｖａジョブ２２３を起動する（図１０参照）（例えば第１ジョブ起動ステップ／処理）。ただし、本ケースでは、先行ＣＯＢＯＬジョブ１２３から出力されるＭＱメッセージＦ４１に、第１識別情報および第２識別情報として、先行ＣＯＢＯＬジョブ１２３の次に実行される先行Ｊａｖａジョブ２２３を特定するためのジョブＩＤ（先行ＪａｖａジョブＩＤ）およびＣＯＢＯＬ区画１００Ａにおいて先に実行された先行ＣＯＢＯＬジョブ１２３を特定するためのジョブＩＤ（先行ＣＯＢＯＬジョブＩＤ）が含まれる。
【０１３２】
〔先行Ｊａｖａジョブ、ジョブ起動制御エンジン、ＭＱシステム、トリガモニタ、インターナルリーダ〕
また、このように先行Ｊａｖａジョブ２２３を起動すると、本実施の形態によるバッチジョブ実行装置は、本発明の実施の形態１におけるケース３の説明において図５Ａから図５Ｄまでのフローチャートを引用して説明した動作と同様の動作を実行することで、先行Ｊａｖａジョブ２２３の終了通知部２２３ａからＭＱメッセージＦ５１を出力し（例えば第２起動順序情報出力ステップ／処理）、その後の各ステップを経ることで、トリガメッセージＦ５４をトリガとしてＭＱメッセージ解析ジョブ１８０を起動する（図１０参照）。
【０１３３】
ただし、本ケース５では、ジョブ起動制御エンジン２１０が、入力したＭＱメッセージＦ５１に含まれる先行ＣＯＢＯＬジョブＩＤに基づいて、実行待ちの状態に置かれている後続ＣＯＢＯＬジョブ１２４の実行待ちの状態を解除するためのジョブ（後述する後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０（図６参照））の識別情報（以下、これを後続ＣＯＢＯＬ実行待フラグ解除ジョブＩＤという）を生成し、これと先行ＣＯＢＯＬジョブＩＤと含むＭＱメッセージＦ５２を生成して出力する。そして、本ケース５におけるローカルキュー（Ｆ）１４１には、後続ＣＯＢＯＬ実行待フラグ解除ジョブＩＤと先行ＣＯＢＯＬジョブＩＤとを含むコード変換後のＭＱメッセージＦ５３が格納される。この際、ＪＶＭ２００の機能により、ＭＱメッセージＦ５２のコードがＪａｖａ区画２００Ａにおいて解読できるコードからＣＯＢＯＬ区画１００Ａにおいて解読できるコードに変換される。そして、そのコード変換後のＭＱメッセージＦ５３が、ローカルキュー（Ｆ）１４１に格納される。
【０１３４】
〔ＭＱメッセージ解析ジョブ、インターナルリーダ〕
以下に、図１１Ａを用いて、ＭＱメッセージ解析ジョブ１８０及びインターナルリーダ１７０の動作を説明する。
また、起動されたＭＱメッセージ解析ジョブ１８０は、本発明の実施の形態１におけるケース２と同様に、ローカルキュー（Ｆ）１４１からＭＱメッセージＦ５３を取得し（ステップＳ２７１参照）、これを解析する（ステップＳ２７２参照）。続いて、ＭＱメッセージ解析ジョブ１８０は、ＭＱメッセージＦ５３の解析結果に従ってＪＣＬ登録ライブラリ１６０を参照することで、ＪＣＬ登録ライブラリ１６０に予め登録された後続ＣＯＢＯＬジョブ１２４の実行待ちフラグ（後続ＣＯＢＯＬ実行待フラグ）を解除するジョブ（後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０）を起動するためのＪＣＬ（以下、これを後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬという）１６３を取得し（ステップＳ５７３参照）、これをインターナルリーダ１７０に出力する（ステップＳ５７４参照）。この際、ＭＱメッセージ解析ジョブ１８０は、解析した結果に含まれる先行ＣＯＢＯＬジョブＩＤを後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ１６３の所定の位置に付加した後、これをインターナルリーダ１７０に出力する。
【０１３５】
インターナルリーダ１７０は、ＭＱメッセージ解析ジョブ１８０から後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ１６３が入力されると（ステップＳ５８１参照）、これを解析し（ステップＳ５８２参照）、その内容に従うことで、後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０を起動する（ステップＳ５８３参照）。
【０１３６】
〔ジョブスケジュール管理システム、後続ＣＯＢＯＬ実行待フラグ解除ジョブ〕
以下に、図１１Ｂを用いて、ジョブスケジュール管理システム１１０及び後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０の動作を説明する。
起動された後続ＣＯＢＯＬ実行待フラグ解除ジョブ１９０は、ジョブスケジュール管理システム１１０に対し、実行待ちの状態に置かれている後続ＣＯＢＯＬジョブ１２４の実行待ちフラグ（後続ＣＯＢＯＬ実行待フラグ）の解除を要求する（ステップＳ５９１参照）。
【０１３７】
一方、ジョブスケジュール管理システム１１０は、後続ＣＯＢＯＬ実行待フラグの解除要求を受信すると（ステップＳ５０５参照）、自身が後続ＣＯＢＯＬジョブ１２４に対してセットした後続ＣＯＢＯＬ実行待フラグを解除し（ステップＳ５０６参照）（例えばジョブ実行待ち解除ステップ／処理）、その後、後続ＣＯＢＯＬジョブ１２４を起動する（ステップＳ５０７参照）（例えば第２ジョブ起動ステップ／処理）。これによって後続ＣＯＢＯＬジョブ１２４が起動され、これが図１０に示すＣＯＢＯＬジョブ実行領域１２０に展開されて実行される。
【０１３８】
上記のケース５で説明した動作により、本実施の形態によるバッチジョブ実行装置では、先にＣＯＢＯＬ区画１００Ａにおいて先行ＣＯＢＯＬジョブ１２３を実行し、次いでＪａｖａ区画２００Ａにおいて先行Ｊａｖａジョブ２２３を実行した後、さらにＣＯＢＯＬ区画１００Ａにおいて後続ＣＯＢＯＬジョブ１２４を実行する一連のバッチ処理が実現される。
【０１３９】
以上で説明したように、本実施の形態によるバッチジョブ実行装置では、第１実行環境１０（例えばＣＯＢＯＬ区画１００Ａ）において先行して実行されているジョブ（例えば１２１または１２３）の次に後続として起動されるジョブ（例えば２２１または２２３）を特定するための起動順序情報が、第１実行環境１０と異なる第２実行環境２０（例えばＪａｖａ区画２００Ａ）においてジョブの起動を制御するジョブ起動部２６に入力されるため、ジョブ起動部２６がこの起動順序情報に従って先行して実行されているジョブ（例えば１２１または１２３）の次に後続のジョブ（例えば２２１または２２３）を起動することが可能となる。これにより、それぞれの実行環境においてジョブのスケジュールを管理するための手段を設けることを必要としないため、開発および保守管理のための作業を大幅に増大させることなく、連続する複数のジョブを処理目的ごとに異なる実行環境において実行することが可能なバッチジョブ実行装置およびバッチジョブ実行方法を実現することが可能となる。なお、これは、第１実行環境１０を例えばＪａｖａ区画２００Ａとし、第２実行環境２０を例えばＣＯＢＯＬ区画１００Ａとした場合でも同様である。この際の先行のジョブは例えば先行Ｊａｖａジョブ２２３であり、後続のジョブは例えば後続ＣＯＢＯＬジョブ１２４である。
【０１４０】
また、本実施の形態によるバッチジョブ実行装置またはバッチジョブ実行方法は、例えば上記した各処理を実行するように記述されたバッチジョブ実行プログラムによって実現される。このバッチジョブ実行プログラムは、例えば、ハードディスクドライブやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭなどの所定の記録媒体に記憶される。したがって、本実施の形態によるバッチジョブ実行装置およびバッチジョブ実行方法は、例えば、所定の記録媒体に記録されたバッチジョブ実行プログラムをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの所定の情報処理装置が読み出して所定のメモリ領域に展開して実行することで、実現することができる。ただし、これに限定されず、その実現方法は、例えばインターネットを利用してバッチジョブ実行プログラムを所定の情報処理装置が取得するなど、種々変形することが可能である。
【０１４１】
また、上記実施の形態は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施の形態が可能であることは上記記載から自明である。
【０１４２】
例えば、上記では、実行環境が切り替わる際の前後のジョブに着目した各ケースを例に挙げて説明したが、本発明はこれらのケースに限定されるものではなく、例えば同一の実行環境において複数の連続するジョブを実行した後、この実行環境と異なる実行環境において続きのジョブを実行するケースなどを当然に含む。なお、同一の実行環境において複数のジョブを連続して実行する場合、例えばジョブ起動管理部を備えない実行環境では、後続のジョブが存在する先行のジョブにそれぞれ後続のジョブを特定するための起動順序情報を出力する起動順序情報出力部を組み込むと共に、この実行環境においてジョブを起動するためのジョブ起動部を設け、先行するジョブがこのジョブ起動部に起動順序情報を出力することでジョブ起動部が入力された起動順序情報に従って後続のジョブを起動するように構成される。また、例えばジョブ起動管理部を備える実行環境では、このジョブ起動管理部がこの実行環境において連続して実行されるジョブを管理して逐次起動するように構成される。ただし、これに限定されず、種々変形することが可能である。
【図面の簡単な説明】
【０１４３】
【図１】本発明の実施の形態１によるバッチジョブ実行装置の概略構成を説明するためのブロック図である。
【図２】本発明の実施の形態１によるケース１を実現するためのバッチジョブ実行装置の構成を模式化したブロック図である。
【図３Ａ】本発明の実施の形態１によるケース１を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図３Ｂ】本発明の実施の形態１によるケース１を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図４】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の構成を模式化したブロック図である。
【図５Ａ】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図５Ｂ】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図５Ｃ】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図５Ｄ】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図５Ｅ】本発明の実施の形態１によるケース２を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図６】本発明の実施の形態１によるケース３を実現するためのバッチジョブ実行装置の構成を模式化したブロック図である。
【図７】本発明の実施の形態２によるバッチジョブ実行装置の概略構成を説明するためのブロック図である。
【図８】本発明の実施の形態２によるケース４を実現するためのバッチジョブ実行装置の構成を模式化したブロック図である。
【図９】本発明の実施の形態２によるケース４及びケース５を実現するためのバッチジョブ実行装置の動作説明するためのフローチャートである。
【図１０】本発明の実施の形態２によるケース５を実現するためのバッチジョブ実行装置の構成を模式化したブロック図である。
【図１１Ａ】本発明の実施の形態２によるケース５を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【図１１Ｂ】本発明の実施の形態２によるケース５を実現するためのバッチジョブ実行装置の動作を説明するためのフローチャートである。
【符号の説明】
【０１４４】
１０  第１実行環境
１１、１３、２２、２３  先行ジョブ
１１ａ、１３ａ、２２ａ、２３ａ  起動順序情報出力部
１２、１４、２１  後続ジョブ
１６、１８、２６  ジョブ起動部
１７  ジョブ起動管理部
２０  第２実行環境
１００  メインフレーム
１００Ａ  ＣＯＢＯＬ区画
１１０  ジョブスケジュール管理システム
１２０  ＣＯＢＯＬジョブ実行領域
１２１、１２３  先行ＣＯＢＯＬジョブ
１２１ａ  ＭＱメッセージ出力部
１２２、１２４  後続ＣＯＢＯＬジョブ
１２３ａ  ＭＱメッセージ出力部
１３０  ＭＱシステム
１３１  リモートキュー（Ａ）
１４１  ローカルキュー（Ｆ）
１４２  イニシエーションキュー（Ｇ）
１４３、２１１、２１２、２１１、２１２  ＭＱ＿ＡＰＩ
１５０  トリガモニタ
１６０  ＪＣＬ登録ライブラリ
１６１  ＭＱメッセージ解析ＪＣＬ
１６２  後続ＣＯＢＯＬジョブＪＣＬ
１６３  後続ＣＯＢＯＬ実行待フラグ解除ＪＣＬ
１７０  インターナルリーダ
１８０  ＭＱメッセージ解析ジョブ
１９０  後続ＣＯＢＯＬ実行待フラグ解除ジョブ
２００  ＪＶＭ
２００Ａ  Ｊａｖａ区画
２１０  ジョブ起動制御エンジン
２２０  Ｊａｖａジョブ実行領域
２２１  後続Ｊａｖａジョブ
２２２、２２３  先行Ｊａｖａジョブ
２２２ａ  終了通知部
２２３ａ  終了通知部
２３１  ローカルキュー／ＪＭＳキュー（Ｂ）
２４１  ＪＭＳキュー（Ｃ）
２４２  ＭＤＢ
２６１  リモートキュー（Ｅ）
Ｆ１、Ｆ２、Ｆ３、Ｆ４、Ｆ５  起動順序情報
Ｆ１１、Ｆ２２、Ｆ２３、Ｆ３１、Ｆ３２、Ｆ４１、Ｆ４２、Ｆ５２、Ｆ５３  ＭＱメッセージ（ＸＭＬ）
Ｆ１２、Ｆ２１、Ｆ５１  ＭＱメッセージ
Ｆ１３、Ｆ３３、Ｆ４３  メッセージ付きオブジェクト
Ｆ２４、Ｆ５４  トリガメッセージ
【図１】
2010108095.tif 000003
【図２】
2010108095.tif 000004
【図３Ａ】
2010108095.tif 000005
【図３Ｂ】
2010108095.tif 000006
【図４】
2010108095.tif 000007
【図５Ａ】
2010108095.tif 000008
【図５Ｂ】
2010108095.tif 000009
【図５Ｃ】
2010108095.tif 000010
【図５Ｄ】
2010108095.tif 000011
【図５Ｅ】
2010108095.tif 000012
【図６】
2010108095.tif 000013
【図７】
2010108095.tif 000014
【図８】
2010108095.tif 000015
【図９】
2010108095.tif 000016
【図１０】
2010108095.tif 000017
【図１１Ａ】
2010108095.tif 000018
【図１１Ｂ】
2010108095.tif 000019