(57)【要約】【課題】保守担当者の作為が介在する余地を無くし、ソースプログラムファイルと実行形式プログラムファイルとを関連付けつつ漏れなく更新履歴を管理することが可能なプログラム更新管理システム、プログラム更新管理方法、及びコンピュータプログラムを提供する。【解決手段】第１の計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、第２の計算機は、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別し、前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて特定のプロシージャにしたがって前記実行要求のあったジョブを実行するように構成した。【選択図】図２
2008217318.tif 000002
【特許請求の範囲】
【請求項１】
第１の計算機において更新されたソースプログラムファイルと、当該ソースプログラムファイルに基づき第１の計算機とは異なる第２の計算機により作成され実行可能に登録された実行形式プログラムファイルと、の更新履歴を管理するプログラム更新管理システムであって、
前記第２の計算機は、
更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成する処理、当該実行形式プログラムファイルを実行可能に登録する処理、及び前記更新履歴を登録する処理の手順を少なくとも定義した特定のプロシージャを記憶する記憶手段と、
前記第１の計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別する判別手段と、
前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行する実行手段と、
を備えることを特徴とするプログラム更新管理システム。
【請求項２】
請求項１に記載のプログラム更新管理システムにおいて、
前記判別手段は、更に前記当該ソースプログラムファイルの更新者が、前記特定のプロシージャを指定しているか否かを判別し、
前記実行手段は、前記ソースプログラムファイルの更新者が、前記権限の与えられた者であり且つ前記特定のプロシージャを指定している場合にのみ、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行することを特徴とするプログラム更新管理システム。
【請求項３】
請求項１又は２に記載のプログラム更新管理システムにおいて、
前記判別手段による判別は、前記オペレーティングシステムによるチェックルーチンで行われることを特徴とするプログラム更新管理システム。
【請求項４】
コンピュータを、請求項１乃至３の何れか一項に記載の第２の計算機として機能させることを特徴とするコンピュータプログラム。
【請求項５】
第１の計算機において更新されたソースプログラムファイルと、当該ソースプログラムファイルに基づき第１の計算機とは異なる第２の計算機により作成され実行可能に登録された実行形式プログラムファイルと、の更新履歴を管理するプログラム更新管理方法であって、
前記第２の計算機が、
更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成する処理、当該実行形式プログラムファイルを実行可能に登録する処理、及び前記更新履歴を登録する処理の手順を少なくとも定義した特定のプロシージャを記憶するステップと、
前記第１の計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別する判別ステップと、
前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行する実行ステップと、
を備えることを特徴とするプログラム更新管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム等の更新履歴を管理するプログラム更新管理システム等の技術分野に関する。
【背景技術】
【０００２】
同一の実行形式プログラムが複数のコンピュータ（以下、「実機」という）上で動作しているような例えば企業の大規模システムにおいて、当該システムにおける機能拡張、或いは不具合是正等のために、上記実行形式プログラムを編集更新する場合、保守担当者が当該実行形式プログラムの元になるソースプログラムの修正や一部追加等の変更を行うことで、そのソースプログラムファイルの更新（バージョンアップ）がなされる。そして、このように更新されたソースプログラムファイル（保守担当者が理解可能なプログラム言語により記述されたもの）は、実行形式プログラムファイル（計算機で実行可能な機械語により記述されたもの）に変換（コンパイル）された後、上記複数の実機に組み込まれる（インストール）されることになる。
【０００３】
このように、上述したような大規模システムに適用されるプログラムが更新された場合、その更新履歴が厳格に管理される必要がある。特に、プログラムの変更要望の内容、ソースプログラムファイル、及び実行形式プログラムファイルとの対応付け（バージョンの整合のための関連付け）は、重要な管理要素である。また、会計監査制度の充実と企業の内部統制強化を求める法規制である日本版ＳＯＸ（サーベインス・オクスレー）法においては、上記更新履歴の管理に対する要請が厳しくなっている。
【０００４】
特許文献１には、プログラムのバージョンアップを行うためのシステムが開示されている。このシステムにおいては、開発管理サーバと現用機サーバを分け、バージョンアップ指示により、開発担当者により変更されたソースプログラムファイルが開発管理サーバから現用機管理サーバへ転送され、世代管理が行われた後、当該ソースプログラムファイルは現用機に送信され、実行形式プログラムファイルに変換されるようになっている。このシステムによれば、開発担当と運用担当を分掌し、それぞれに必要十分な権限のみを与えることにより、開発担当者により変更されたソースプログラムファイルの更新履歴の管理を的確に行うことができると考えられる。
【特許文献１】特開２００４−３１０２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、一刻も早くバージョンアップを行わなければならないような緊急時においては、開発担当者により変更されたソースプログラムファイルは現用機に直接送信されるようになっており、ソースプログラムファイルの世代の整合性を担保する処理が行われるものの、開発担当者（保守担当者）の作為が介在する可能性が否定できなと共に、更新履歴の管理を的確に行うことが困難なことが想定される。
【０００６】
本発明は、上記点等に鑑みてなされたものであり、保守担当者の作為が介在する余地を無くし、ソースプログラムファイルと実行形式プログラムファイルとを関連付けつつ漏れなく更新履歴を管理することが可能なプログラム更新管理システム、プログラム更新管理方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、第１の計算機において更新されたソースプログラムファイルと、当該ソースプログラムファイルに基づき第１の計算機とは異なる第２の計算機により作成され実行可能に登録された実行形式プログラムファイルと、の更新履歴を管理するプログラム更新管理システムであって、前記第２の計算機は、更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成する処理、当該実行形式プログラムファイルを実行可能に登録する処理、及び前記更新履歴を登録する処理の手順を少なくとも定義した特定のプロシージャを記憶する記憶手段と、前記第１計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別する判別手段と、前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行する実行手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のプログラム更新管理システムにおいて、前記判別手段は、更に前記当該ソースプログラムファイルの更新者が、前記特定のプロシージャを指定しているか否かを判別し、前記実行手段は、前記ソースプログラムファイルの更新者が、前記権限の与えられた者であり且つ前記特定のプロシージャを指定している場合にのみ、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行することを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載のプログラム更新管理システムにおいて、前記判別手段による判別は、前記オペレーティングシステムによるチェックルーチンで行われることを特徴とする。
【００１０】
請求項４に記載のコンピュータプログラムの発明は、コンピュータを、請求項１乃至３の何れか一項に記載の第２の計算機として機能させることを特徴とする。
【００１１】
請求項５に記載の発明は、第１の計算機において更新されたソースプログラムファイルと、当該ソースプログラムファイルに基づき第１の計算機とは異なる第２の計算機により作成され実行可能に登録された実行形式プログラムファイルと、の更新履歴を管理するプログラム更新管理方法であって、前記第２の計算機が、更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成する処理、当該実行形式プログラムファイルを実行可能に登録する処理、及び前記更新履歴を登録する処理の手順を少なくとも定義した特定のプロシージャを記憶するステップと、前記第１の計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別する判別ステップと、前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行する実行ステップと、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、第１の計算機において更新されたソースプログラムファイルに基づき実行形式プログラムファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、第２の計算機は、当該ソースプログラムファイルの更新者が、権限の与えられた者であるか否かを判別し、前記ソースプログラムファイルの更新者が、前記権限の与えられた者である場合には、当該ソースプログラムファイルについて前記特定のプロシージャにしたがって前記実行要求のあったジョブを実行するように構成したので、保守担当者に当該特定のプロシージャを強制的に使わせ、これに定義された手順を確実に守らせることにより、保守担当者の作為が介在する余地を無くし、ソースプログラムファイルと実行形式プログラムファイルとを関連付けつつ漏れなく更新履歴を管理することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の最良の実施形態を図面に基づいて説明する。
【００１４】
先ず、図１を参照して本発明の一実施形態に係るプログラム更新管理システムの構成及び機能について説明する。
【００１５】
図１は、本発明の一実施形態に係るプログラム更新管理システムの概要構成例を示す図である。
【００１６】
図１に示すように、本実施形態に係るプログラム更新管理システムＳは、第１の計算機の一例としての担当者端末１、リポジトリサーバ２、及び第２の計算機の一例としての実機（本番号機）３等を備えて構成されており、担当者端末１において更新されたソースプログラムファイル（以下、「ソースファイル」という）と、当該ソースファイルに基づき担当者端末１とは異なる実機３により作成され実行可能に登録された実行形式プログラムファイル（以下、「実行ファイル」という）と、の更新履歴を管理するようになっている。
【００１７】
担当者端末１及び実機３は、ＬＡＮ（Local Area Network）等のネットワークによりリポジトリサーバ２に接続され、通信可能になっている。なお、担当者端末１及び実機３は、複数設けられるが、図１の例では、説明の便宜上一つのみ示している。
【００１８】
担当者端末１は、例えば汎用のパーソナルコンピュータからなり、図示しないが、ＣＰＵを主体として構成された制御部、ＨＤ（ハード・ディスク）ドライブ等からなる記憶部、保守担当者からの指示を入力するためのキーボード及びマウス等からなる操作部、ＣＲＴディスプレイ又は液晶ディスプレイ等（ＬＣＤ：Liquid Crystal Display）からなる表示部、及びネットワークに接続するための通信機器からなる通信部等を備えている。
【００１９】
担当者端末１においては、更新者としての保守担当者が、操作部を操作してソースファイルを編集更新するようになっており、更新されたソースファイルは、保守担当者からの指示に従いネットワークを介してリポジトリサーバ２に送信され、登録されるようになっている。また、このとき、更新されたソースファイルに基づき実行ファイルを作成し実行可能に登録するためのジョブの実行要求（以下、「ファイル更新ジョブ実行要求」という）が担当者端末１からリポジトリサーバ２に送信され、登録されることになる。
【００２０】
かかるファイル更新ジョブ実行要求には、当該更新されたファイルを登録する権限が与えられた保守担当者に付与された権限者ＩＤ（識別情報）、後述するカタログ式プロシージャ（以下、「カタプロ」という）を示す情報（例えば、カタプロ名）および変更管理Ｎｏ（ナンバー）が含まれている。
【００２１】
保守担当者は、担当者端末１において、ソースファイルを編集更新する際に、自身に与えられた権限者ＩＤを、操作部を操作して入力してログインするようになっており、更新されたソースファイルをリポジトリサーバ２に登録する際には、操作部を操作して例えばカタプロ名を指定（例えば、所定のフォームに入力）することになる。
【００２２】
なお、本実施形態におけるソースとは、例えば、ＣＯＢＯＬ、Ｃ、ＰＬ／Ｉ、ＰＬ／ＳＱＬ等のプログラミング言語により作成されたプログラムである。
【００２３】
また、リポジトリサーバ２、及び実機３は、図示しないが、ＣＰＵを主体として構成された制御部、ＨＤ（ハード・ディスク）ドライブ等からなる記憶部、及びネットワークに接続するための通信機器からなる通信部等を備えている。リポジトリサーバ２における記憶部には、担当者端末１からの更新されたソースファイル、及びファイル更新ジョブ実行要求が登録（記憶）される。
【００２４】
また、実機３のＣＰＵ（本発明における判別手段及び実行手段の一例）は、種々のジョブを順次実行（バッチ処理）している。そして、実機３のＣＰＵは、例えばリポジトリサーバ２から上記ファイル更新ジョブ要求を取得すると、当該ソースファイルの更新者が、権限の与えられた者であるか否かを判別（当該ファイル更新ジョブ実行要求に含まれるＩＤが、上記権限者ＩＤであるか否かにより判別）し、かつ当該ソースファイルの更新者が、特定のカタプロ（本発明における特定のプロシージャの一例）を指定しているか否かを判別（当該ファイル更新ジョブ実行要求に含まれるカタプロ名が、特定のカタプロ名を示しているかにより判別）するようになっており、当該ソースファイルの更新者が、権限の与えられた者であり、且つ特定のカタプロを指定している場合にのみ、当該ソースファイルについて特定のカタプロにしたがって上記実行要求のあったジョブを実行するようになっている。なお、当該ソースファイルの更新者が、権限の与えられた者でない場合、或いは上記特定のカタプロを指定していない場合には、当該ソースファイルに基づく実行ファイルの作成及び登録が禁止されることになる。
【００２５】
ここで、上記特定のカタプロ（このカタプロ名を「カタプロＡ」という）は、更新されたソースファイルに基づき実行ファイルを作成（つまり、ソースファイルから実行ファイルへ変換（コンパイル））する処理（以下、「コンパイル処理」という）、当該実行ファイルを実行可能に登録する処理（以下、「連携編集処理」という）、及び更新履歴を登録する処理（以下、「履歴登録処理」という）の手順を少なくとも定義（ジョブ制御言語（ＪＣＬ：Job Control Language））により記述）しており、実機３に予め記憶されている。
【００２６】
このようなカタプロＡを強制的に使わせ、上記手順を確実に守らせることにより、保守担当者の作為が介在する余地を無くし、ソースファイルと実行ファイルとを関連付けつつ漏れなく更新履歴を管理するのである。
【００２７】
次に、図２を参照して、ファイル更新ジョブ実行要求があった場合における実機３での処理を説明する。
【００２８】
図２は、ファイル更新ジョブ実行要求があった場合における実機３での処理を示すフローチャートである。
【００２９】
図２の処理は、ファイル更新ジョブ実行要求を取得した場合に開始され、ステップＳ１では、取得されたファイル更新ジョブ実行要求に含まれるＩＤが、上記権限者ＩＤ（これは、予め実機３に記憶）であるか否かが判断されることにより、当該ソースファイルの更新者が権限の与えられた者であるか否が判別され、ソースファイルの更新者が権限の与えられた者でない場合には（ステップＳ１：ＮＯ）、当該処理が終了（ＪＯＢ ＦＡＩＬＥ）され、ソースファイルの更新者が権限の与えられた者である場合には（ステップＳ１：ＹＥＳ）、ステップＳ２に進む。
【００３０】
ステップＳ２では、取得されたファイル更新ジョブ実行要求に含まれるカタプロ名が、上記カタプロＡ（これは、当該更新されたファイルを登録するために必要なカタプロとして実機３に記憶）であるか否かが判断されることにより、ソースファイルの更新者がカタプロＡを指定しているか否かが判別され、ソースファイルの更新者がカタプロＡを指定していない場合（例えば、カタプロＡとは異なるカタプロＢを指定している）には（ステップＳ２：ＮＯ）、当該処理が終了（ＪＯＢ ＦＡＩＬＥ）され、ソースファイルの更新者がカタプロＡを指定している場合には（ステップＳ２：ＹＥＳ）、当該ソースファイルについて当該カタプロＡにしたがってジョブを実行する（図２に示すステップＳ３〜Ｓ８）。
【００３１】
なお、上記ステップＳ１及びＳ２の処理は、オペレーティングシステムレベルで動くチェックルーチンで行われるものであるが、ファイルを登録するためのジョブ以外のジョブに対しては行われないように構成している。これにより、実機３への負荷を最小限に留めることができる。
【００３２】
図２に示すステップＳ３では、コンパイル処理が行われる。かかるコンパイル処理においては、ファイル更新ジョブ実行要求に係るソースファイル（更新されたソースファイル）がリポジトリサーバ２から取得され、当該ソースファイルに基づき実行ファイルを作成（つまり、ソースファイルから実行ファイルへ変換（コンパイル））される。
【００３３】
次いで、ステップＳ４では、更新日時登録処理が行われる。かかる更新日時登録処理においては、上記作成（変換）された実行ファイル内に更新日時が組み込まれる（タイムスタンプ）。
【００３４】
次いで、ステップＳ５では、取得されたファイル更新ジョブ実行要求に含まれるＩＤが、ライブラリーの更新権限が与えられた者のＩＤであるか否かが判断されることにより、当該ソースファイルの更新者がライブラリーの更新権限が与えられた者であるか否が判別され、ソースファイルの更新者がライブラリーの更新権限が与えられた者でない場合には（ステップＳ５：ＮＯ）、当該処理が終了（ＪＯＢ ＦＡＩＬＥ）され、ソースファイルの更新者がライブラリーの更新権限が与えられた者である場合には（ステップＳ５：ＹＥＳ）、ステップＳ６に進む。
【００３５】
ステップＳ６では、取得されたファイル更新ジョブ実行要求に含まれるＩＤが、連携編集プログラムの使用権限が与えられた者のＩＤであるか否かが判断されることにより、当該ソースファイルの更新者が連携編集プログラム（ＰＧＭ）の使用権限が与えられた者であるか否が判別され、ソースファイルの更新者が連携編集プログラムの使用権限が与えられた者でない場合には（ステップＳ６：ＮＯ）、当該処理が終了（ＪＯＢ ＦＡＩＬＥ）され、ソースファイルの更新者が連携編集プログラムの使用権限が与えられた者である場合には（ステップＳ６：ＹＥＳ）、ステップＳ７に進む。
【００３６】
ステップＳ７では、上記連携編集プログラムが実行され、連携編集処理が行われる。かかる連携編集処理においては、上記タイムスタンプされた実行ファイルが実行可能に登録される。
【００３７】
そして、ステップＳ８では、履歴登録処理が行われる。かかる履歴登録処理においては、例えば、プログラムの変更要望（例えば、実機３での機能追加等）に対応付けられた変更管理Ｎｏ、当該ファイル更新ジョブ実行要求に係るジョブ名、当該ソースファイルのファイル名、当該実行ファイルのファイル名（又はモジュールＩＤ）、ライブラリー名、及び当該ファイルの更新対象となった実機３の識別情報等の更新履歴がデータベースに登録されることになる。
【００３８】
以上説明したように、上記実施形態によれば、担当者端末１において更新されたソースファイルに基づき実行ファイルを作成し実行可能に登録するためのジョブの実行要求があった場合に、実機３は、当該ソースファイルの更新者が、権限の与えられた者であるか否かを判別し、かつ当該ソースファイルの更新者が、特定のカタプロを指定しているか否かを判別し、当該ソースファイルの更新者が、権限の与えられた者であり、且つ特定のカタプロを指定している場合にのみ、当該ソースファイルについて特定のカタプロにしたがって実行要求のあったジョブを実行するように構成したので、保守担当者に当該特定のカタプロを強制的に使わせ、これに定義された手順を確実に守らせることにより、保守担当者の作為が介在する余地を無くし、ソースファイルと実行ファイルとを関連付けつつ漏れなく更新履歴を管理することができる。
【００３９】
また、オペレーティングシステムレベルで動くチェックルーチンで、ファイルを登録するためのジョブのみに対してステップＳ１及びＳ２の処理を実行するように構成したので、実施３への負荷を最小限に留めることができる。
【００４０】
以上、この実施の形態を図面を参照して詳述してきたが、具体的な構成はこの実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係るプログラム更新管理システムの概要構成例を示す図である。
【図２】ファイル更新ジョブ実行要求があった場合における実機３での処理を示すフローチャートである。
【符号の説明】
【００４２】
１  担当者端末
２  リポジトリサーバ
３  実機
Ｓ  プログラム更新管理システム
【図１】
2008217318.tif 000003
【図２】
2008217318.tif 000004