Java Programming Language

Javaを使ったバッチアプリケーションの開発と運用の標準化を目指した新しい仕様「JSR 352: Batch Applications for the Java Platform」の策定作業が開始された。IBMから提出された仕様で、Java SEとJava EEの双方における利用を想定。策定目標時期は2012年第2四半期とされており、かなりアグレッシブに作業を進める気概であることがわかる。

JSR 352ではバッチアプリケーションの開発と、ジョブをスケジュールに従って実行するための実行環境の2つに対して、標準化されたプログラミングモデルを実現することを目指している。提案されている資料では「バッチジョブ」「バッチジョブステップ」「バッチアプリケーション」「バッチイグゼキュタ」「バッチジョブマネージャ」を定義しモデリング対象を明確化している。

「バッチジョブ」は近い関係にある一連の処理プロセスを指す。大量データの読み込み、展開、変換などの処理が典型的にバッチジョブと分類される。「バッチジョブステップ」はジョブにおける実行単位。個々の実行タスクを指す。ジョブは1つ以上のステップを含むことになり、また、ステップは連続して実行することも並列して処理させることも可能。

「バッチアプリケーション」は1つ以上のジョブを含んだデプロイ可能な単位。「バッチイグゼキュタ」はバッチジョブの実行を管理するコンテナ。「バッチジョブマネージャ」はジョブの実行を開始するもの。

どのバージョンのJava SEおよびJava EEを対象にしているかといった表記は見あたらないが、時期を考えると少なくともJava SE 8以降ということになる。成立のタイミングを考えるとJava SE 9以降が妥当ではないかと見られる。エンタープライズではバッチ処理が要求されるシーンが多く、こうした分野の実装に標準化モデルが登場することには意味がある。