株式会社オンネット・システムズ
会社情報事業紹介ニュース掲載誌求人情報会員ページお問い合わせ
ホーム  |   サイトマップ
Loading
ホーム > 事業紹介 > onDevelop / OnnetJobManager(ジョブ管理システム)
onSupport
  • onDevelop(システム開発事業)
  • onProduct
  • onDevelop
  • onSupport

OnnetJobManager(OJM)

OnnetJobManagerの概要

コンピュータにプログラム実行を指示する場合、一般的には、コマンドライン指示、アイコンクリックという事になります。

しかし、ある程度規模の業務システムを考えた場合、そのプログラム本数は数十本、数百本にもなります。それを手動起動していたのでは大変です。また、その処理結果が正常終了なのか否かも重要です。

そこで、それらのプログラムを自動起動するためにOnnetJobManager(以下OJMと表記)が必要になります。

当社では、2008年にOJMの原型を構築し、ある企業の生産管理システムに適用し、毎日150本前後のジョブ(複数のプログラムを実行単位に束ねたもの)自動起動しており、大変大きな省力化効果を上げています。 以来、発生しました問題、不足機能を明確にしながら改善活動を重ねております。

処理イメージ

複数のプログラムをシェルスクリプトなどで接続し、実行単位にしたものをJOBと呼んでいます。

今日、このJOBは複数のサーバに分散されて実行されています。 OJMは、このJOBを複数のカレンダ(本社カレンダ、工場カレンダなど)によって予めスケジュール(日、時間、順序などで)された定義情報で自動実行する仕組みです。

処理イメージ
処理イメージ
現状の課題

システムの自動実行を考えた時、UNIX系、Windowsの場合、シェルスクリプト、VBスクリプトなどを作成し、crontab、タスクスケジューラなどに登録して実行しているのが現状です。

しかし、その環境下では以下の不便さが発生していると思われます。

JOB定義情報がサーバ単位に散在している

現在のシステム運用では、JOB定義情報は個々のサーバ内に定義されています。この状態では、どんなJOBが定義され実行されているかをサーバごとに確認しなければなりません。サーバ台数が増えるに、企業情報システム全体の管理・運用が難しくなります。

実行状態、結果の確認が難しい

JOB実行がいつ実行され、結果がどうであったかの確認は重要です。 何の工夫もしなければ、結果確認のために、個々のサーバで確認する必要があります。
メール連絡の措置を講じている場合は、少し運用の手間が省けます。しかし、その工夫はJOB毎に設定する必要があり、非効率です。 実行結果連絡の仕組み(検出方法と連絡方法)は、システム全体で統一されるべきです。

複数のカレンダでスケジュールできない

JOBの自動実行はカレンダに紐付けされて実行されます。しかし、実際の業務では、複数のカレンダが必要です。
例えば、本社と工場では、営業日の違いなどからカレンダが異なる場合があります。また、通常の暦と会社カレンダが異なる場合もあります。夏休み、年末年始などです。JOBの自動実行のためには、どうしても複数のカレンダが必要になります。

JOB実行結果による条件分岐など複雑な定義が記述できない

crontab、タスクスケジューラでは、単純にコマンド、プログラムの順序羅列に過ぎません。
確かにスクリプトによって少しばかりの実行順序制御はできますが、一度異常終了したJOBを再度自動実行させるか否か、時間が掛かり過ぎるJOBの停止、同時に動作できないJOBの制御など複雑な処理に対応していません。

プンプン
OJMの特長
■複数サーバのJOBを一括管理
JOB実行は複数のサーバ(現時点ではWindows、Linux版は開発中)で分散実行可能です。JOB管理は一台のサーバに統合して行います。
これにより、「処理の分散、管理の集中」が達成されます。運用管理者は複数のサーバ処理を集中して管理でき、運用コストの大幅削減が可能です。
■実行状態把握が簡単
JOBがどのステップを実行しているか、いつ実行されいつ終了しているか。そしてその終了は正常か、異常かがコンソール画面により簡単に把握できます。
異常時の連絡も定義可能ですので、障害発生の検出と対応が迅速になります。
実行結果はDB内に記録されていますので、いつでも遡って検索できます。
■多様な起動方法
手動実行、カレンダによる自動実行、メール受信実行、HTTPリクエスト実行、プログラムAPI実行など多彩です。
■複数カレンダ、「日にちまたがり」の対応
複数のカレンダを保持できます。カレンダごとに、JOBを定義できます。また1日24時間で終了しないスケジュールにも対応可能です。例えば、1日のスタートが午前7時で、終了が午前2時の場合、日付は進みますが、JOB管理上は1日の範囲内です。TV番組表を思い浮かべて頂ければ分かり易いでしょう。
■複雑なJOB定義対応
複雑なJOBとは、概ね以下のものを指します。
  • スタートしたJOBから他のJOBへの制御遷移
  • JOBの終了状態(異常か正常か)により障害連絡、次回の実行を停止
  • プログラム終了状態による実行分岐
  • 同時に実行できないJOB実行の起動抑制
  • 直列実行ではなく並行実行を行い、処理時間短縮
■連絡機能
異常時も連絡は各JOBに組み込むのでは無く、OJM内に組み込まれています。連絡先を予め登録しておくことにより、簡単にメール連絡可能です。必要によりパトランプなどの点灯、鳴動も可能です。
■統計情報等の取得
実行JOBは、一箇所に統合管理されています。その中には、実行JOBの実行実績情報(開始時刻、終了時刻など)もあります。これらの情報を定期的に分析すれば、実行時間の増大、サーバごとの多重度、負荷などを趨勢分析することが可能になります。
また、登録JOBから構成されているプログラムが分かります。それによりプログラム資産の一覧や実行タイミング表などの保守ドキュメントを作成できます。
■関連ファイルと対応付けができる
予め、ジョブステップ単位に入出力するテキストファイルを関連付けしておきます。実行結果の内容がOJMから簡単に確認できます。通常、ログファイルなどをテキストファイルに出力しますので、その内容が簡単に確認できる事は、運用管理上大変重要です。
この機能が無い場合は、エクスプローラなどで、ログ出力場所に移動してテキストエディタなどで確認する必要があり、ログ出力場所を確認しなければならない等、不便さがありました。
■リカバリー実行、部分実行、一時保留ができる
JOB運用は、データ増大によるディスク容量オーバーや、潜在バグ、ハードトラブル等により異常終了する場合があります。また、外部システムトラブルなど事前に障害が予想されることもあります。
その場合、次の実行を止める、「一時保留」。障害ポイント以降を実行する「リカバリー実行」、JOBの一部分を実行する「部分実行」などを用意しています。
■当社製品SQLSの有効利用
システムは、画面を伴うオンラインプログラムと、画面を伴わないバッチプログラムとに分類されます。JOB自動実行で扱うのは、後者の画面を伴わないバッチプログラムです。
SQLSは、業務用のDBさえあれば、SQL記述のみで業務システム開発を可能にする製品です。
OJM+SQLSにより、汎用機、オフコンで稼働していた大規模システムを、容易に安価なサーバシステムに移行することができます。
OJMの利用手順

1.カレンダ登録

カレンダは、複数登録できます。例えば、本社用、工場用などに分かれる場合や、複数の会社業務を集約して実行制御する場合などに複数登録が必要になります。

2.JOB定義

JOB定義では、複数のプログラムの流れ(順序と実行条件)を定義します。OJMでは、Visioを利用したOJMデザイナーによって、フローチャートを描くようにJOB定義を行います。 デザイナーでは、新規登録するJOBだけでなく、DBに登録されたJOBも読み出して視覚化できます。必要により新たなJOBとして引用登録することも出来ますので、大変便利です。

OJMデザイナー
OJMデザイナー

3.実行定義

登録されたJOBに対し、スケジューリング情報を結び付けます。スケジューリング情報として、カレンダによる実行、周期実行(日、週、月)、プログラムによる実行、手動実行などがあります。

4.実行監視

実行されたジョブの監視を行います。 監視は、実行ジョブの一覧、実行ステップ表示、実行結果履歴などを画面で監視します。同時にメールとも連動していますので、異常把握とその対応措置がスムーズに行えます。
実行ジョブ一覧表示
実行ジョブ一覧表示
実行ジョブステップ一覧表示
実行ジョブステップ一覧表示
実行結果ログ表示
実行結果ログ表示
実行履歴表示
実行履歴表示

5.管理

ジョブ情報はDBに一元管理されています。そしてそれらのジョブがいつ実行され結果がどうであったかという情報も管理されています。これらの情報から

  • 資産管理・・・プログラム資産の一覧表を作成することが可能です。
  • 内部統制・・・どのジョブ、プログラムがいつ実行されたかを、いつでも抽出することが可能です。
実行環境

本体
JOB統合管理サーバです。

  • Windowsサーバ(2003及び2008)環境
  • .NETFrameWork2.0以上
  • Oracle10g以上(実行サーバ台数分のライセンスが必要です)

エージェント
プログラムを実行するサーバにインストールして、情報をJOB統合管理サーバと通信します。JOBを起動するサーバ毎にインストール(コピー)します。

  • .NETFrameWork2.0以上が動作するサーバ(エージェントのLinux対応を現在計画中です。)

デザイナー
JOBをグラフィカルにデザインするツールです。

  • Visio2007が動作するPCもしくはサーバ
販売時期など

現在、製品化に向けて最終調整をしています(当社開発システムでは稼働中です)。
個別対応では供給可能ですのでお問い合わせください。

供給方法は、原則的には当社側で専用サーバにインストールしてお渡しします。JOB管理機能を専用サーバとして分離した方が実際的であると判断しているためです。 しかし、自社サーバインストール希望の場合にも対応可能です。

OJMの利用実績

OJISは、以下の稼働実績があります。

1.システム概要
汎用機で動作していた、化学製品製造企業の生産管理、原価計算システム(COBOL800本規模、Windowsサーバに再構築)のJOB管理として稼働
※関連資料はこちら→「COBOL(500本)の機能をSQLSに変換」(PDF)

2.運用規模
日次150本のJOB、月次50本のJOBがスケジュールされ自動実行されている。画面プログラム起動、手動起動のJOBもある。

3.利用感

  • JOBの異常終了を検知しメール連絡している。そのメールで異常JOBを特定し対処している。JOBの実行確認と異常検知工数が手動に比べ極めて小さい。
  • JOBの運用実績から時間の掛かるJOBの特定が可能になっている。遅延の多くは、データ量の増大と同時実行禁止JOBの待ちによるものだった。問題箇所の特定と改善作業を的確に行える様になっている。
  • 3台以上のサーバに機能が分担されている。例えば汎用機からのデータ収集、メイン業務処理、サブシステム渡しなどである。これらの機能が一つの処理として実行している。
問い合わせフォームへ
お問合せ先 TEL:03-5807-5081 / FAX:03-5807-5082 平日9:00~18:00 土日祝日休業    | お問い合わせ | 個人情報について