| この記事の要点 |
|
JP1/AJS3 とは
JP1/AJS3 は、日立製作所の運用管理製品群 JP1 のうちジョブ管理を担う製品です。正式名称は JP1/Automatic Job Management System 3 で、公式マニュアルでは「業務処理を自動化・省力化するためのプログラム」と位置付けられています。夜間バッチ、日次集計、データ連携、バックアップなど「決まった順番で、決まった時刻に、決まった条件で動かしたい処理」を、複数のサーバーにまたがって一元的に自動実行・監視するのが役割です。
2026 年時点で日立の公式マニュアルサイトに掲載されている最新系列は JP1 Version 13 です。Version 12 以前の環境も現役で多く残っているため、手順やコマンドを調べるときは自分の環境のバージョンに合ったマニュアルを参照してください(探し方は親記事を参照)。
Linux の cron や Windows のタスクスケジューラーとの一番の違いは、処理どうしの前後関係・異常時の分岐・再実行・カレンダー(営業日)・複数ホストへの配布をまとめて扱える点です。cron は「時刻が来たらコマンドを 1 本起動する」仕組みなので、前の処理の成否で後続を変えたり、途中から再実行したりする仕組みは自前で作る必要があります。
JP1/AJS3 の構成(Manager / Agent / View / Web Console)
JP1/AJS3 は役割ごとに複数のプログラムに分かれています。導入ガイドに記載された構成を整理すると次のとおりです。
| プログラム | 役割 | 置く場所の例 |
|---|---|---|
| JP1/AJS3 - Manager | ジョブネットやスケジュールの定義を管理し、実行順序を制御する中核。Agent にジョブの実行を指示し、進捗と結果を管理する。Manager 自身もジョブを実行できる | ジョブ管理サーバー |
| JP1/AJS3 - Agent | Manager の指示でジョブを実行し、状況と結果を Manager に報告する | 業務サーバー(DB サーバー、AP サーバーなど) |
| JP1/AJS3 - View | ジョブネットとスケジュールの定義・実行・監視を行う GUI(Windows クライアント) | 運用担当者の端末 |
| JP1/AJS3 - Web Console | Web GUI と API のインターフェースを提供し、Manager と連携して情報取得・操作を行う | Web サーバー(Manager と同居も可) |
| JP1/Base | 前提製品。JP1 ユーザーの認証・権限管理と JP1 イベントの通信を担当する | Manager・Agent の各ホスト |
Web GUI ではジョブネットの監視と実行はできますが、ジョブネットやジョブの定義はできません。定義は JP1/AJS3 - View、コマンド(ajsdefine など)、または Excel テンプレートで一括定義する JP1/AJS3 - Definition Assistant で行います。
ジョブ・ジョブネット・ジョブグループの関係
JP1/AJS3 では、業務を構成する要素をまとめてユニットと呼び、階層で管理します。ファイルシステムのディレクトリに近いイメージで、各ユニットは /業務A/日次/売上集計 のような「完全名」で一意に識別されます。
| ユニット | 説明 |
|---|---|
| ジョブグループ | ジョブネットを分類・整理するための入れ物。それ自体は実行されない。カレンダー情報(運用日・休業日)を持てる |
| プランニンググループ | 期間ごとに使うルートジョブネットを切り替えるための特殊なグループ |
| ルートジョブネット | 最上位のジョブネット。スケジュール情報を持ち、実行登録の単位になる |
| ネストジョブネット | ジョブネットの中に入れたジョブネット。処理のまとまりを部品化できる |
| ジョブ | 処理の最小単位。実行ファイルやスクリプトを動かす |
| ジョブネットコネクタ | 別のルートジョブネットとの実行順序(終了待ち合わせ・同期起動)を制御する |
ジョブネットの中では、ジョブを関連線で結んで実行順序を表します。先行ジョブが正常終了すると後続ジョブが動くのが基本です。これとは別に「リカバリー」属性を付けたユニットは先行が異常終了したときだけ実行されるため、障害時の後処理(ロック解除や通知など)を業務フローの中に組み込めます。
主なジョブの種類
| 分類 | 代表例 | 用途 |
|---|---|---|
| 標準ジョブ | UNIX ジョブ、PC ジョブ、QUEUE ジョブ、フレキシブルジョブ | シェルスクリプト・バッチファイル・実行ファイルを動かす |
| 判定ジョブ | 終了コード判定、ファイルの有無判定、変数比較 | 前の処理の結果で後続を分岐する |
| イベントジョブ | JP1 イベント受信監視、ファイル監視、メール受信監視、ログファイル監視など | 「ファイルが届いたら」など事象の発生を待つ |
| アクションジョブ | JP1 イベント送信、メール送信など | 事象の通知や連携を行う |
| その他 | OR ジョブ、カスタムジョブ(JP1/FTP 連携など)、引き継ぎ情報設定ジョブ、HTTP 接続ジョブ | 先着条件、他製品連携、値の受け渡し、Web API 呼び出し |
カレンダー(運用日・休業日)と基準日・基準時刻
「営業日だけ動かす」「休日に当たったら前営業日に寄せる」といった要件は、カレンダーで表現します。運用日と休業日はジョブグループ単位で定義し、そのジョブグループ配下のジョブネットのスケジュール計算に使われます。下位のジョブグループは、上位ジョブグループのカレンダー情報とマージされます。
- 基準日: 月の開始日。日付指定(毎月 21 日始まりなど)、曜日指定(第 1 月曜日始まりなど)、指定なし(1 日)から選ぶ。締め日が月末でない業務で使う
- 基準時刻: 1 日の開始時刻。初期値は 0:00。基準時刻から 24 時間を「1 日」として扱う
注意点として、公式マニュアルは実行登録済みのジョブネットがある状態で基準日・基準時刻を変えないことを求めています。意図しない日時に実行予定が作られたり、即時に実行されたりするおそれがあるためです。カレンダーの編集は View の[年間カレンダー編集][月間カレンダー編集]ウィンドウで行えます。
スケジュールの考え方
スケジュールはルートジョブネットに「スケジュールルール」として定義します。1 つのジョブネットに設定できるスケジュールルールは最大 144 個です。主な設定項目は次のとおりです。
| 項目 | 内容 |
|---|---|
| 実行開始日 | 絶対日・相対日・運用日・休業日などの種別と、日付指定・月末指定・曜日指定を組み合わせる |
| 実行開始時刻 | 0:00〜47:59 を分単位で指定 |
| 処理サイクル | 「7 日ごと」「1 か月ごと」など一定周期で繰り返す |
| 休業日の振り替え | 実行しない/前の運用日に振り替え/次の運用日に振り替え/振り替えずに実行、の 4 方法。振り替え猶予日数も指定できる |
| 起算スケジュール | 実行予定日から運用日数または日数で前後にずらす |
| 排他スケジュール | 指定した別のジョブネットが実行される日は自分を実行しない |
| 遅延監視 | 開始遅延・終了遅延を絶対時刻・相対時刻で監視する |
| 起動条件 | イベントジョブを使い「ファイル到着で起動」のような事象駆動にする |
24 時間制と 48 時間制
ルートジョブネットのスケジュールには 24 時間制と 48 時間制があります。24 時間制では 24:00 以降の時刻は翌日扱いになり、48 時間制では 0:00〜47:59 を同じ日の業務として扱えます。ネストジョブネットはルートの設定にかかわらず 48 時間制で扱われるため、日をまたぐ夜間バッチではルートも 48 時間制にしておくと実行日のずれが起きにくく、公式マニュアルでも 48 時間制(基準時刻 0:00)での運用が推奨されています。
実行登録の 3 つの方式
ジョブネットは定義しただけでは動きません。実行登録という操作をして初めてスケジュールが組まれ、実行されます。方式は 3 種類です。
| 方式 | 動き | 向いている場面 | ajsentry のオプション例 |
|---|---|---|---|
| 計画実行登録 | スケジュール定義とカレンダーから次回予定を算出する。スケジュール定義を変えると以降の予定も追従する | 通常の定期運用 | -s、-f |
| 確定実行登録 | 期間・未来世代数・日時を指定して予定を確定させる。後から定義を変えても確定分は変わらない | 特定期間だけ動かす、予定を固定したい | -d と -t、-b と -e、-g |
| 即時実行登録 | スケジュールに関係なく、登録と同時に実行する | 手動実行、臨時実行 | -n |
実行登録されたジョブネットの 1 回分の実行を世代と呼び、実行登録番号(YYYYMMDDNNN 形式)で区別します。再実行や強制終了などの操作は、どの世代に対して行うかを意識する必要があります。コマンドでの操作方法は兄弟記事の「JP1/AJS3 のコマンド一覧」で詳しく扱っています。
ジョブネットとジョブの状態
監視画面やコマンドで表示される主な状態です。障害対応ではまずここを読み解きます。
| 状態 | 意味 |
|---|---|
| 未計画 | 実行予定がない |
| 開始時刻待ち/先行終了待ち | 開始時刻の到来、または先行ユニットの終了を待っている |
| 保留中 | 保留属性によって止められている |
| 実行待ち/キューイング | 実行先への配信や実行枠の空きを待っている |
| 実行中 | 処理中 |
| 正常終了/警告検出終了/異常検出終了 | 終了コードとしきい値で判定された結果 |
| 未実行終了 | 先行ユニットの異常などで実行されずに終わった |
| 計画未実行 | スケジュールが合わず実行されなかった |
| 繰り越し未実行 | 打ち切り時間を過ぎて実行されなかった |
| 中断/強制終了 | オペレーター操作などで止められた |
よく使う画面
JP1/AJS3 - View の代表的なウィンドウです。初めて触る場合は、まずこの 5 つの役割を押さえると迷いません。
- [JP1/AJS3 - View]ウィンドウ: 起点となるメイン画面。ジョブグループやジョブネットを一覧し、新規作成・スケジュール設定・実行登録などのメニューを呼び出す
- [ジョブネットエディタ]ウィンドウ: ジョブのアイコンをドラッグして配置し、関連線で順序を定義する編集画面。編集時は排他編集にする
- [ジョブネットモニタ]ウィンドウ: 実行中・実行済みの世代を色付きのアイコンで表示し、どのジョブで止まったかを確認する
- [デイリースケジュール]ウィンドウ: 1 日単位で実行予定と実績を確認する
- [マンスリースケジュール]ウィンドウ: 1 か月単位で予定と実績、運用日・休業日の反映を確認する
ブラウザーから使う Web GUI には、業務の監視・操作用のジョブポータルと、システムの状態監視用のマネジメントポータルがあります。
ユーザーと権限の仕組み
JP1/AJS3 へのログインは OS ユーザーではなく、JP1/Base に登録した JP1 ユーザーで行います。ジョブが実際に動くときは、実行先ホストで JP1 ユーザーを OS ユーザーに対応付けるユーザーマッピングが使われます。Manager ホストとジョブを実行する Agent ホストの両方でマッピングが必要です。
操作できる範囲は、ユニットを JP1 資源グループに割り当て、JP1 ユーザーに権限レベルを付けて制御します。JP1/AJS3 用の権限レベルには JP1_AJS_Admin、JP1_AJS_Manager、JP1_AJS_Editor、JP1_AJS_Operator、JP1_AJS_Guest があり、たとえば参照だけの担当者には Guest、実行操作まで行う運用担当には Operator、といった割り当てをします。
初心者がつまずきやすい点
- 定義したのに動かない: 実行登録をしていない、またはカレンダーで休業日になっている。マンスリースケジュールで予定が入っているかを確認する
- 定義を変更できない: 実行登録済みのルートジョブネットとその上位は更新できない。登録を解除するか、ルート以外ならジョブネットをサスペンドしてから変更する
- 深夜帯の実行日がずれる: 24 時間制のまま日またぎの時刻を指定している。48 時間制を検討する
- ジョブが起動失敗になる: 実行先ホストのユーザーマッピングがない、Windows の OS ユーザーのパスワード変更が JP1/Base 側に反映されていない、など
- 基準時刻を後から変えた: 実行登録中に変えると予定が崩れる。変更は登録解除してから行う
よくある質問
Q. JP1/AJS3 と JP1/AJS2 の違いは?
A. AJS3 は AJS2 の後継です。プランニンググループ、リモートジョブネット、QUEUE ジョブ、キューレスジョブなど AJS2 時代からの機能は、AJS3 でも「引き続き使用できる機能」として導入ガイドに整理されています。
Q. 1 台のサーバーだけでも使える?
A. 使えます。Manager 自身がジョブを実行できるため、Manager だけの構成でもジョブネットを自動実行できます。業務サーバーが複数ある場合に Agent を追加します。
Q. 定義を大量に作る・移行するには?
A. ajsprint -a で定義をテキストに出力し ajsdefine で取り込む方法と、Excel で一括編集する JP1/AJS3 - Definition Assistant を使う方法があります。
関連
公式情報: JP1/Automatic Job Management System 3 導入ガイド(日立製作所)
子ページはありません
- JP1/AJS3 とは
- JP1/AJS3 のコマンド一覧
- JP1/IM とは
- JP1/Base とは
- JP1/FTP(JP1/FTS)とは
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- JP1/FTS(File Transmission Server/FTP)とは|伝送カードとftstranの使い方 NEW 2026-10-02 22:03:11
- 日立 JP1 (Job Management Partner 1) 完全ガイド (AJS3 / IM / Base / PFM) 2026-10-02 22:03:11
- JP1/Baseとは|ユーザー認証・ユーザーマッピング・イベントサービスの仕組みと主要コマンド NEW 2026-10-02 22:03:10
- JP1/IM(JP1/IM2・IM3)とは|JP1イベントによる統合監視の仕組みとJP1/Baseとの関係 NEW 2026-10-02 22:03:10
- JP1/AJS3 コマンド一覧|ajsentry・ajsshow・ajsrerunなど主要コマンドの使い方とオプション NEW 2026-10-02 22:03:09
- JP1/AJS3とは?ジョブネット・スケジュール・Manager/Agent/Viewの構成を初心者向けに解説 NEW 2026-10-02 22:03:09
- クラウドネットワークの記事一覧 2026-10-02 16:08:51
- ルーティングとスイッチング完全ガイド — 静的/動的ルーティング/RIP/OSPF/BGP/VLAN/STP 2026-10-02 16:08:51
- ネットワークのアドレッシング完全ガイド — IP/MAC/ポート/サブネット/CIDR/IPv6/NAT 2026-10-02 16:08:51
- 本番環境のdll内で参照しているdllファイルの置き場所 2026-10-02 16:08:50
- 【Visual Studio】 C#のForm自動生成時に「値が有効な範囲にありません」エラー 2026-10-02 16:08:50
- 【Laravelエラー】does not comply with psr-4 autoloading standard. Skipping. 2026-10-02 16:08:50
- 【Laravelエラー】could not find driver(Windows, MySQL編) 2026-10-02 16:08:49
- The following channel memory did not pass cpu memory test. 2026-10-02 16:08:49
- 【pycharm】connecting to console が終わらない 2026-10-02 16:08:49