(58)【調査した分野】(Int.Cl.,DB名)
前記表示手段が、一覧表示された先行ジョブについて承認者が実行可否を判断するために必要な先行ジョブ、後続ジョブの詳細情報を表示することを特徴とする請求項1に記載のジョブ運用管理システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記技術の場合、ジョブ定義の編集に関して、承認者の確認作業の負担を軽減する仕組みとして、変更差分を表示し、オペレーターが編集した内容を承認者が確認し易くする技術があるが、ジョブ実行に関しては、承認者の確認作業の負担を軽減する仕組みはない。
ジョブ運用管理システムは、業務フローに従ってジョブの起動順序を制御して実行している。ジョブとジョブの間に先行、後続の順序関係を定義すれば、先行するジョブが実行完了してから、後続のジョブが実行開始するようにコントロールすることができる。
先行ジョブの実行が承認されて終了しない限り、承認者が後続ジョブ実行の承認を行っていても、後続ジョブは実行を開始することができない。
【0005】
そこで、実際の業務運用においては、後続ジョブの実行を開始する際、事前に先行ジョブの運用計画についても確認する必要があるが、大規模な業務システムの場合、すべての先行ジョブの運用計画を手作業で確認することは困難であり、先行ジョブ実行に対する承認漏れにより、後続ジョブの実行が開始しない状況に陥る可能性がある。
また、マルチテナント運用や部署をまたがる運用など、先行ジョブと後続ジョブそれぞれの承認者が異なると、後続ジョブの承認者は、先行ジョブの実行を承認することができないため、電話やメールなどの手段で先行ジョブの承認者に承認のフォローをする必要があり、承認者の負担が大きくなるという問題があった。
さらに、先行ジョブ実行の承認依頼も実施されていなければ、承認者はそのジョブの所有者を調査し、承認依頼をするようにフォローする必要があり、負担はさらに大きくなる。
【0006】
例えば、
図9のような先行、後続関係を有するジョブJOB001を実行する場合において、部門Aの承認者がの実行を承認する際、JOB003の実行を承認し、かつ部門Bの承認者がJOB008、JOB009の実行を承認する必要がある。JOB001、JOB003、JOB008、JOB009のいずれか一つでも実行が承認されない場合、JOB001は実行を開始することができない。
【0007】
本発明の目的は、ジョブ実行に関する承認者の承認プロセスの負担を軽減することが可能になるジョブ運用管理システムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明にかかるジョブ運用管理システムは、後続ジョブに先行する先行ジョブの実行が承認されている条件でのみ後続ジョブの実行を許可するジョブ運用管理システムにおいて、後続ジョブ実行の承認時に、当該後続ジョブに先行する全ての先行ジョブを抽出し、一覧表示する表示手段
と、前記一覧表示された先行ジョブについて、当該先行ジョブの実行が承認されておらず、オペレーターから承認者に対して承認依頼が届いていた場合、後続ジョブと同時に先行ジョブの実行を承認可能とする手段と、を備えることを特徴とする。
また、前記表示手段が、一覧表示された先行ジョブについて承認者が実行可否を判断するために必要な先行ジョブ、後続ジョブの詳細情報を表示することを特徴とする。
また、前記一覧表示された先行ジョブについて、先行ジョブの実行が承認されておらず、先行ジョブの実行について承認する権限が承認者である場合、予め定義された先行ジョブの承認者に対して自動配信メールで実行承認依頼をフォローする手段を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、次のような効果が得られる。
すなわち、後続ジョブ実行の承認時に、先行ジョブの実行が承認されているかを確認し、承認時に依存関係にあるジョブを抽出して、一覧表示し、一覧上から、承認者が実行可否を判断するために必要な先行ジョブ、後続ジョブの詳細情報を表示できるようにすることによって、承認者が先行ジョブの運用計画を確認する作業の負担を軽減できる。
また、後続ジョブの承認時に、先行ジョブの実行が承認されておらず、オペレーターから承認者に対して承認依頼が届いていた場合、後続ジョブと同時に先行ジョブの実行を承認することを可能とし、承認者の承認漏れによるジョブの実行が開始されない状況を防止できる。
さらに、後続ジョブの承認時に、先行ジョブの実行が承認されておらず、先行ジョブの実行を承認する権限がない場合、先行ジョブの承認者に自動配信メールでフォローすることで、承認者の先行ジョブの状況確認・フォロー作業の負担を軽減できる。
【発明を実施するための形態】
【0011】
以下、本発明を適用したジョブ運用管理システムの形態について説明する。
図1は、本発明の実施の形態の一例を示すシステム構成図であり、本実施の形態によるジョブ運用管理システム100には、データ格納プログラム101とデータ読み込みプログラム102、承認制御プログラム103、画面表示プログラム104の各プログラムがある。
また、ジョブ運用管理システム100は、ジョブの実行順序が格納されているスケジュール定義データベース110、ジョブ、所有者などの定義情報が格納されているジョブ定義データベース111、ユーザーの定義情報が格納されているユーザー定義データベース112、承認情報が格納されている承認情報データベース113の各データベース、一時的な承認情報が格納される一時承認情報ファイル114を備えている。そして、部門毎の承認者が使用する複数の承認端末120a〜120nを備えている。
【0012】
次に、システム全体の処理の概要について説明する。
まず、承認端末120aに表示された入力画面に、キーボードなどの入力装置を用いてジョブの定義、ジョブのスケジュール、ジョブの先行や後続の定義についてのパラメーター等の情報を入力する。すると、データ格納プログラム101が、ジョブの定義とジョブの先行や後続についての定義をジョブ定義データベース111に格納し、またジョブのスケジュールをスケジュール定義データベース110に格納し、ユーザー名・権限・権限の範囲・メールアドレスをユーザー定義データベース112に格納し、承認状態・ジョブ名・操作内容・編集種別・オペレーター名・承認期限・承認者名を承認情報データベース113に格納する。
【0013】
図2はユーザー定義データベース112に格納されているユーザー情報の構成の一例を示す図である。
図に示すように、ユーザー名201、権限202、権限の範囲203、メールアドレス204から構成される。各設定内容について以下に示す。
ユーザー名201には、ユーザー名を格納する。
権限202には、ユーザー名201が有する権限を格納する。権限の種類としては、"承認"、"実行"、"定義"であり、複数の属性を同時指定できる。
権限の範囲203には、ユーザー名201が有する権限の範囲を格納する。
メールアドレス204には、ユーザー名201のメールアドレスを格納する。
【0014】
図3は承認情報データベース113に格納されている承認情報の構成の一例を示す図である。
図に示すように、承認状態301、ジョブ名302、操作内容303、編集種別304、オペレーター名305、承認期限306、承認者名307から構成される。各内容について以下に示す。
承認状態301には、承認依頼中を示す"承認依頼"、承認済みを示す"承認済"、承認却下を示す"却下"、操作が完了したことを示す"完了"のいずれかを格納する。
ジョブ名302には、編集、更新、実行、削除の対象となるジョブ名称を格納する。
操作内容303には、"編集"、"更新"、"実行"、"削除"のいずれかを格納する。
編集種別304には、操作内容が"編集"の場合、ジョブ定義の新規作成であれば"追加"、ジョブ定義の変更であれば"変更"のいずれかを格納する。また、未格納の状態であれば"変更"として扱う。
オペレーター名305には、各操作を実施するオペレーター名を格納する。
承認期限306には、オペレーターからの承認依頼に対して、承認者が承認を行う期限を格納する。承認者は、この承認期限までに承認または却下する必要がある。
承認者名307には、オペレーターが承認を依頼する承認者の名称を格納する。
【0015】
図4は一時承認情報ファイル114に格納されている一時的な承認情報の構成の一例を示す図である。
一時承認情報ファイル114は、承認時に依存関係にあるジョブを一覧表示する際に利用し、承認プロセスの完了後は削除する。
図に示すように、ジョブ名401、アクション402、宛先ユーザー名403、メールアドレス404から構成される。各設定内容について以下に示す。
ジョブ名401には、対象となるジョブ名称を格納する。
アクション402には、ジョブ名401の実行を承認することを示す"実行を承認"、ジョブ名401の承認者に対して実行の承認をフォローすることを示す"実行の承認をフォロー"、ジョブ名401の所有者に対して実行の承認依頼をフォローすることを示す"実行の承認依頼をフォロー"のいずれかを格納する。
宛先ユーザー名403には、アクション402に"実行の承認をフォロー"または"実行の承認依頼をフォロー"が格納された場合にフォロー対象となるユーザー名を格納する。
メールアドレス404には、宛先ユーザー名403のユーザーのメールアドレスを格納する。
【0016】
図5、6、7は、承認者が、あるジョブの承認プロセスを開始してから、完了するまでの承認制御プログラム103の処理の流れを示すフローチャートである。
図5は、あるジョブの実行の承認が実施される処理の延長で行われる処理の流れである。
まず、あるジョブの承認プロセスが開始されると、ステップ501においてデータ読み込みプログラム102が、ジョブ定義データベース111から当該ジョブの先行ジョブの定義情報を読み込む。
ステップ501の実行の結果、当該ジョブに先行ジョブが存在するか判定する(ステップ502)。
ステップ502の判定の結果、当該ジョブに先行ジョブが存在しない場合は、当該ジョブの承認状態301を"承認済"に更新する(ステップ509)。つまり、実行を承認されていない先行ジョブがなければ、当該ジョブは"承認済"となって実行開始する。当該ジョブに先行ジョブが存在する場合は、すべての先行ジョブの実行が承認されているか判定する(ステップ503)。
【0017】
ステップ503の判定の結果、すべての先行ジョブの実行が承認されている場合は、当該ジョブの承認状態301を"承認済"に更新する(ステップ509)。一つでも実行が承認されていない先行ジョブがある場合は、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行を承認"を一時承認情報ファイル114に格納する(ステップ504)。
次に、ステップ505において、ステップ501の結果リストのすべてに対してループし、ステップ506を繰り返す。ステップ506では、ステップ501の結果リストの結果の中から1件ずつ、先行ジョブに対して
図6のルーチン2を呼ぶ。
ルーチン2の601では、当該ジョブ(判定しようとしていたジョブの先行ジョブ)の実行が承認されているか判定する。
判定の結果、当該ジョブの実行が承認されている場合は、ルーチン2を終了する。
【0018】
当該ジョブの実行が承認されていない場合は、データ読み込みプログラム102が、ユーザー定義データベース112から承認者が有する権限の範囲を読み込み、当該ジョブに対して権限があるか判定する(ステップ602)。
ステップ602の判定で、当該ジョブに対して権限がない場合は、データ読み込みプログラム102が、ユーザー定義データベース112、承認情報データベース113から当該ジョブの承認者名、当該ジョブの承認者のメールアドレスを読み込み、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行の承認をフォロー"、宛先ユーザー名403に当該ジョブの承認者名、メールアドレス404に当該ジョブの承認者のメールアドレスを一時承認情報ファイル114に格納し、ルーチン2を終了する(ステップ607)。
【0019】
ステップ602の判定で、当該ジョブに対して権限がある場合は、データ読み込みプログラム102が、承認情報データベース113から当該ジョブの承認状態301、操作内容303、承認者307を読み込み、承認者に対して当該ジョブの実行の承認依頼が届いているか判定する(ステップ603)。
承認依頼が届いていない場合は、データ読み込みプログラム102が、ジョブ定義データベース111、ユーザー定義データベース112から当該ジョブの所有者名、当該ジョブの所有者のメールアドレスを読み込み、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行の承認依頼をフォロー"、宛先ユーザー名403に当該ジョブの所有者、メールアドレス404に当該ジョブの所有者のメールアドレスを一時承認情報ファイル114に格納し、ルーチン2を終了する(ステップ606)。
ステップ603の判定で、承認依頼が届いている場合は、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行を承認"を一時承認情報ファイル114に格納する(ステップ604)。次に、先行ジョブに対して、
図7のルーチン3を呼ぶ(ステップ605)。
【0020】
図7のルーチン3のステップ701では、一時承認情報ファイル114に当該ジョブ(判定しようとしていたジョブの先行ジョブ)の情報が既に存在するかを判定する。
一時承認情報ファイル114に当該ジョブの情報が既に存在する場合、ルーチン3を終了する。これにより、実行順序がループしている場合に無限ループに陥ることを防止する。
一時承認情報ファイル114に当該ジョブの情報がない場合、データ読み込みプログラム102が、ジョブ定義データベース111から当該ジョブの先行ジョブの定義情報を読み込む(ステップ702)。そして、当該ジョブに先行ジョブが存在するか判定する(ステップ703)。
【0021】
判定の結果、当該ジョブに先行ジョブが存在しない場合は、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行を承認"を一時承認情報ファイル114に格納する(ステップ707)。当該ジョブに先行ジョブが存在する場合は、すべての先行ジョブの実行が承認されているか判定する(ステップ704)。
【0022】
判定の結果、すべての先行ジョブの実行が承認されている場合は、ジョブ名401に当該ジョブのジョブ名、アクション402に"実行を承認"を一時承認情報ファイル114に格納する(ステップ707)。一つでも実行が承認されていない先行ジョブがある場合は、ステップ705でステップ702の結果リストのすべてに対してループし、ステップ706を繰り返す。ステップ706では、ステップ702の結果リストの結果の中から1件ずつ、再帰的に先行ジョブに対して
図6のルーチン2を呼ぶ。
【0023】
ルーチン2の繰り返しが終了すると、一時承認情報ファイル114に格納されている情報をもとに、
図8のような、承認時に依存関係にあるジョブを抽出して、一覧表示し、各ジョブに対して、どう対処するか確認する画面を表示する(ステップ507)。
ステップ508では、ステップ507で選択された操作を一括して実行する。例えば、
図9のような運用において、JOB001の承認プロセスが開始されると、
図8のような画面を表示する。
【0024】
図8は選択チェックボックス801、ジョブ名802、ジョブ詳細803、アクション804、宛先ユーザー名805、OKボタン807、キャンセルボタン808で構成される画面である。
参照806が選択されると、データ読み込みプログラム102が、スケジュール定義データベース110、ジョブ定義データベース111から承認者が実行可否を判断するために必要なジョブのスケジュール、ジョブの先行や後続の定義についてのパラメーターなどの詳細情報を読み込み、その情報を表示する。これにより、承認者は実行可否を判断できる。OKボタン807が押されると、選択チェックボックス801で選択されたアクション804を実行する。キャンセルボタン808が押されると、すべてのジョブの承認プロセスをキャンセルして終了する。
【0025】
図8の選択チェックボックス801の選択状態でOKボタンが押された場合、JOB001、JOB003の実行を承認し、承認者B1に対して、JOB008の実行を承認するようにフォローのメールを送信する。
具体的には、
図9において、ジョブJOB001の実行条件は先行ジョブJOB003、JOB008、JOB009の全ての実行が承認され、実行が完了していることである。
そこで、ジョブJOB001、JOB003の実行権限を有するA部門のオペレータA3が、A部門の承認者A1に対して、ジョブJOB001の実行承認依頼を行い、承認者A1がJOB001の承認プロセスを開始すると、当該ジョブJOB001が依存関係にあるJOB003、JOB008、JOB009を抽出し、
図8のように依存関係にあるジョブの一覧を表示する。
図8の選択チェックボックス801の選択状態で承認者A1がOKボタン807を押すと、承認者A1の権限でJOB001、JOB003の実行を承認する。
そして、ジョブJOB008、JOB009については、
図8の選択チェックボックス801の選択状態で承認者A1がOKボタン807を押すと、承認者A1が承認権限を持っていないため、これらのジョブJOB008、JOB009の実行承認を促進するために、承認制御プログラム103がジョブJOB009の所有者(定義者)B3に対してジョブJOB009の実行承認依頼をフォローするメールを送信する。さらに承認制御プログラム103がジョブJOB008の承認者B1に対しては当該ジョブJOB008の実行を承認するようにフォローするメールを送信する。
【0026】
このようにすることにより、先行ジョブの実行に関する承認者の承認プロセスを自動的に進めることができりようになり、依存関係のあるジョブに関わる承認者(特に後続ジョブの承認者)の負担を軽減することが可能である。