(57)【要約】      （修正有）【課題】修正、性能改善開発作業の効率化（自動化）を図り、コンパイル後のテスト環境でのバージョン不整合をなくし、アプリケーションサーバ使用の排他制御を可能にする。【解決手段】開発対象のアプリケーシュンを実行するテスト用サーバ２０３と、アプリケーションを実際に記述する開発用マシン２０１ａ〜２０１ｂと、ソースやバージョン管理、テスト用サーバ２０３への制御命令を発行するバージョン管理サーバ２０２と、バージョン管理サーバ２０２がバージョン情報を格納するために利用するデータベース２２０と、成果物であるソースファイルやバイナリファイルを格納するファイルサーバ２２４とを有し、1)開発用クライアント２０１への表示処理、2)開発用クライアント２０１からテスト用サーバ２０３のバイナリファイルの差替え処理、および、3)開発用クライアント２０１からテスト用サーバ２０３での実行処理を、それぞれ自動化する。【選択図】図２
2006302066.tif 000002
【特許請求の範囲】
【請求項１】
テスト実行用サーバで開発されたアプリケーションを実行するメンテナンスシステムにおいて、
開発対象であるアプリケーションの差替え処理およびテスト実行処理を行うテスト用サーバと、該アプリケーションを実際に記述する開発用クライアントマシンと、ソースプログラムやバージョンを管理し、該テスト用サーバへ差替え処理およびテスト実行処理の制御命令を発行するバージョン管理サーバと、該バージョン管理サーバがバージョン情報を格納するために利用するデータベースと、管理対象のソフトウェア成果物であるソースファイルやバイナリファイルを格納するファイルサーバと、上記各サーバおよびクライアントマシンを相互接続するネットワークとを具備することを特徴とするリモート実行機能を備えたメンテナンスシステム。
【請求項２】
請求項１に記載のリモート実行機能を備えたメンテナンスシステムにおいて、
前記開発用クライアントマシンは、テストサーバの差替処理を実施した後、前記バージョン管理サーバにサーバ実行命令を送信し、
該バージョン管理サーバは、該サーバ実行命令を受信すると、前記データベースから動作中のプログラムが存在しない場合に、現行バージョンと要求されたバージョンとを比較回路で比較し、比較の結果、相違がない場合には前記テスト用サーバにサーバ実行命令を送信し、
該テスト用サーバは、該サーバ実行命令を受信すると、ライブラリ実行ファイルにアクセスして、開発アプリケーションを読み出し、該アプリケーションを起動して実行し、実行結果を該バージョン管理サーバに送信することを特徴とするリモート実行機能を備えたメンテナンスシステム。
【請求項３】
請求項１に記載のリモート実行機能を備えたメンテナンスシステムにおいて、
前記開発用クライアントマシンは、前記バージョン管理サーバに差替え要求を送信し、
該バージョン管理サーバは、該差替え要求を受けると、要求バージョンが未登録の場合にはデータベースに登録し、現行バージョンと要求されたバージョンと比較回路で比較し、比較の結果、相違がある場合には前記テスト用サーバへバイナリバージョン情報を送信し、
該テスト用サーバは、該バイナリバージョン情報を受信すると、該テスト用サーバの動作プログラムがない場合には、当該バージョンファイルを前記ファイルサーバから取り込み、差替え処理を実行し、実行結果を該バージョン管理サーバへ送信することを特徴とするリモート実行機能を備えたメンテナンスシステム。
【請求項４】
バージョン情報表示処理を行うメンテナンス方法において、
開発用クライアントマシンは、現編集中ソースの最終更新時間を取り込み、新規に表示要求を受けた場合には、バージョン管理サーバに該当プログラムバージョン要求を送信し、
該バージョン管理サーバは、バージョン要求を受信すると、データベースにアクセスして該データベースからバージョン全情報を読み出し、該開発用クライアントマシンに該情報を送信し、該情報を表示させ、
該バージョン管理サーバは、該開発用クライアントマシンから二度目以降の表示要求を受信すると、該データベースにアクセスして最終更新時間以後の変更情報を検索し、変更分の履歴情報を読み出し、該開発用クライアントマシンに該情報を送信し、
該バージョン管理サーバは、該開発用クライアントマシンから変更バージョン情報の要求を受信すると、該データベースにアクセスして変更バージョン情報を読み出し、該情報を該開発用クライアントマシンに送信して、該クライアントマシンの表示部に表示させることを特徴とするリモート実行機能を備えたメンテナンス方法。
【請求項５】
テストサーバ差替処理を行うメンテナンス方法において、
開発用クライアントマシンは、差替え要求を受けると、現在編集中コードを利用するか否かをチェックし、該コードを利用する場合には、非編集ソースのバージョンを取得し、該ソースをコンパイルした後、当該ソースとコンパイルしたバイナリファイルをファイルサーバに送信し、バージョン管理サーバに新規バージョンソフトウェア構成情報を送信し、
また、編集中コードを利用することなく、既に存在するバージョンを要求した場合には、該バージョン管理サーバへ差替えバージョン情報を送信し、
該バージョン管理サーバは、差替え要求を受信すると、要求バージョンが未登録の場合には、データベースに登録し、現行バージョンと要求されたバージョンとを比較回路で比較し、現行バージョンと同一の場合には、同一である結果を該クライアントマシンに送信し、相違している場合には、テスト用サーバへバイナリバージョン情報を送信し、
テスト用サーバは、差替え要求を受信すると、該テスト用サーバが動作している場合には差替え不可能として、結果を該バージョン管理サーバに返送し、動作していない場合には当該バージョンファイルを該ファイルサーバから取り込み、差替え処理を実行し、実行結果を該バージョン管理サーバに返送し、
該バージョン管理サーバは、差替えが終了している場合には、該データベースにアクセスして情報を更新し、その結果を該クライアントマシンに送信することを特徴とするリモート実行機能を備えたメンテナンス方法。
【請求項６】
テストサーバ実行処理を行うメンテナンス方法において、
開発用クライアントマシンは、サーバ実行命令を受信すると、まずテストサーバ差替え処理を実行し、バージョン管理サーバにサーバ実行命令を送信し、
該バージョン管理サーバは、該サーバ実行命令を受信すると、データベースにアクセスして動作中のプログラムが存在するか否かを確認し、存在しない場合には、現行バージョンと要求されたバージョンとを比較回路で比較し、相違がない場合に該データベースにアクセスして情報を更新し、テスト用サーバにサーバ実行命令を送信し、また、動作中プログラムが存在する場合あるいは現行バージョンと異なるバージョンの場合には、開発用クライアントマシンに非実行の結果を送信し、
該テスト用サーバは、該サーバ実行命令を受信すると、開発アプリケーションを起動して、該アプリケーションを実行し、実行が終了すると、実行終了を該バージョン管理サーバに送信し、
該バージョン管理サーバは、該データベースの情報を更新し、更新結果を該クライアントマシンに送信することを特徴とするリモート実行機能を備えたメンテナンス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト実行用サーバでのリモート実行機能を備えたプログラムメンテナンスシステムとその方法に関し、特にアプリケーション開発環境、バージョン管理およびプログラムテストをサーバとクライアント端末間で行うことができるリモート実行機能を備えたメンテナンスシステムおよびその方法に関する。
【背景技術】
【０００２】
クライアントサーバ型ソフトウェア開発プロセスにおいて、統合開発環境を提供するアプリケーション（プログラム）は、コンパイル環境、ソースコード編集環境、およびシステム開発プロセスにおけるドキュメント作成等の機能を提供している。
一方、ソフトウェア構成管理システムは、ソフトウェア成果物等の管理、特にソースコードの変更履歴やバージョン管理を主に提供しており、大規模プロジェクトにおける開発のみならず、少人数での開発においても重要なファクターとなる。
一旦リリースしたソフトウェアにおいても、バージョンアップやバグ修正といったメンテナンス作業がある。上述のようなソフトウェア構成管理システムでは、リリースのバージョン管理とそのソースとの関連情報を保持し、メンテナンスを可能にしている。
【０００３】
また、メンテナンス作業の一つとして、性能改善作業が挙げられる。この性能改善作業においても、新規開発時の統合開発環境や構成管理システムを使用する。しかし、この作業の特質である性能測定をするためには、サーバとクライアントの両方で統合開発環境を使用し、テストを行うこと、ならびに、手作業によるテストプログラムの差し替えによるテストを行うこと、はいずれも可能である。
しかしながら、性能測定は繰り返し実施して、評価を行うため、時間と手数がかかって効率的ではない。それに加えて、サーバ・クライアントの両方で統合開発環境を利用することは、性能測定上、正確な測定値を取得することが困難であった。
【０００４】
従来におけるプログラムメンテナンス環境の提案としては、例えば、特開平６−８９１６５号公報（特許文献１参照）に記載の『実行形式プログラムの世代管理方式』がある。
これは、開発環境上でのバイナリ形式ファイルの世代管理方法、およびその表示方法について提案したものである。すなわち、従来、ソースプログラムでのみ管理されていたプログラムの世代管理について、実行形式プログラム（バイナリ形式ファイル）まで、その管理方法を広げている。このことは、昨今の対話形式アプリケーションの増加に伴って、障害の原因追求に対しての手段がソースファイルのみでは困難であり、同一バージョンでの構成テストの必要性が生じたからである。
【０００５】
また、特開２００４−１２６９６０号公報（特許文献２参照）に記載の『リモートメンテナンスシステム』がある。これは、保守サーバからのソフトウェアの更新、戻しといったリモートメンテナンスを提供することを可能にするものである。このシステムでは、分散されたネットワーク（ＬＡＮ）環境において、新しいバージョンのソフトウェアを配布する保守サーバと分散ネットワーク上に存在する現バージョンを利用する複数のクライアントが存在する。保守サーバは、各クライアントの更新情報を元に新バージョンを配布する。各クライアントでは、新バージョンソフトウェアを格納する手段、および配布された新バージョンソフトウェアを更新する手段を持っている。
【０００６】
また、特開平９−６２４９４号公報（特許文献３参照）に記載の『開発プログラムにおけるリビジョン管理装置』がある。この装置では、複数開発者によるプログラム生成時に、更新プログラムを他者が参照している場合、最新に保たれないという問題を、システム全体の開発状況を検索可能にすることにより解決している。修正履歴はリビジョン管理用のデータとして保存され、登録・更新日付や修正のタイトル等で簡易的に目視できる機能を有している。
【０００７】
【特許文献１】特開平６−８９１６５号公報
【特許文献２】特開２００４−１２６９６０号公報
【特許文献３】特開平９−６２４９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のように、ソフトウェア開発／修正作業において、従来の開発環境では、ソースプログラムについて世代管理を行い、ライブラリ・実行ファイルなどのバイナリファイルについては、その都度コンパイルによって作成されていた。サーバに依存しないスタンドアローンアプリケーションでは、上記のようにその都度コンパイルによりバイナリファイルを作成する方法で十分である。しかし、上記特許文献１のように、実行形式のバイナリファイルを世代管理することは、メンテナンス作業に対して効果を奏する。
【０００９】
一方、昨今のアプリケーションでは、単一のサーバが処理を行い、クライアントがその処理の結果を受け取るクライアント・サーバモデル型のものも多く見受けられる。この場合、開発作業の一つである実行テストに関して、１）コンパイル、２）サーバへのコピー、３）サーバでのライブラリ，実行ファイルの登録、４）サーバ上での実行、といった手作業が発生する。この作業は、特にメンテナンス作業（バグ修正、性能改善、機能修正）の際に多く発生する。
また、サーバ上でのライブラリや実行ファイルの相互互換性（実行保証）を保ちながら、差し替えと実行を繰り返す作業であるが、その互換性を保つのは、複数人の開発環境である場合には容易ではない。
【００１０】
（目的）
本発明の目的は、上記の問題を解消するとともに、修正、性能改善開発作業の効率化（自動化）、コンパイル後のテスト環境でのバージョン不整合をなくすこと、ならびに、アプリケーションサーバ使用の排他制御を可能にするリモート実行機能を備えたメンテナンスシステムおよびその方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明によるリモート実行機能を備えたメンテナンスシステムは、ソフトウェアソースのバージョン管理、バイナリ（実行形式、ライブラリ）のバージョン管理、ソフトウェア構成管理を、世代管理といった更新を原則とせず、バージョンとして格納、管理する。
上述の課題を解消するため、サーバ上で発生する手作業を、サーバ上に差し替え処理を実施するエージェントを動作させる。サーバ上のエージェントには、差し替え処理機能と、テスト実行処理機能を持たせ、開発用マシンよりの差し替え、テスト実行処理命令を機能として組み込む。また、バージョン管理サーバ上のバージョン管理ソフトウェアにより、アプリケーションサーバの排他実行機能を持たせることにより、複数人の開発環境での課題も解決することができる。
【発明の効果】
【００１２】
本発明によれば、テスト実行用サーバによるリモート実行機能を自動化することにより、１）修正、性能改善の開発作業を効率化することができ、２）コンパイル後のテスト環境におけるバージョン不整合を回避することができ、さらに、３）アプリケーションサーバ使用の際に、排他制御を行うことができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例を、図面により詳細に説明する。
図１は、本発明の一実施例に係るリモート実行機能を備えたメンテナンスシステムの概略構成図である。
本実施例のシステムは、開発対象であるアプリケーションを実行するテスト用サーバ１０１と、アプリケーションを実際に記述する開発用マシンＡ，Ｂ，Ｃ（開発用クライアント）１０２ａ〜１０２ｃと、ソースやバージョン管理、テスト用サーバ１０１への制御命令を発行するバージョン管理サーバ１０３と、バージョン管理サーバ１０３がバージョン情報を格納するために利用するデータベース１０５と、管理対象のソフトウェア成果物であるソースファイルや実行ファイル、ライブラリファイル等のバイナリファイルを格納するファイルサーバ１０６と、それらが相互に接続するためのＬＡＮ、あるいはネットワーク１０４とから構成されている。
【００１４】
テスト用サーバ１０１には、開発アプリケーションと、処理を実行する処理実行部および差替えを実行する差替処理部などを備えたバージョン管理エージェントが具備されている。また、開発用マシン１０２ａ〜１０２ｃには、各クライアントのバージョン情報を保持するためのバージョン管理ソフトウェアとバージョン管理サーバ１０３との間の通信を実行するためのインターフェースとが具備されている。また、バージョン管理サーバ１０３には、バージョン管理用のソフトウェアや開発用マシン１０２あるいはテスト用サーバ１０１との間の通信を実行するためのインターフェース（図示省略）とソースバージョン情報、コンパイルコードバージョン情報およびプログラム構成情報からなるデータベース群１０５とが具備されている。また、ファイルサーバ１０６には、ソースコードが格納されるソースファイルとバイナリコードが格納されるライブラリ実行ファイルとが具備されている。
【００１５】
図２は、図１のさらに詳細な構成図である。
図２に示すように、システムの最上位にファイルサーバ２２４が位置し、下部に開発用クライアント２０１ａ，ｂ，ｃ・・・、開発用サーバ（バージョン管理サーバ）２０２、およびテスト用サーバ２０３が接続されている。開発用クライアント２０１ａ〜２０１ｂには、サーバ実行命令処理部２０５、差替命令処理部２０６、管理バージョン表示処理部２０７、そして管理バージョン表示部２０９が備えられている。また、開発用サーバ（バージョン管理サーバ）２０２には、サーバ実行命令制御部２１２、差替処理制御部２１３、差替処理制御部２１３に対してソフト構成管理データベース群内のソースバージョン情報データベース２２１、バイナリバージョン情報データベース２２２、ソフトウェア構成情報データベース２２３にアクセスし、各成果物の管理処理、情報提供を実施するソースバージョン管理部２１４、バイナリバージョン管理部２１５、ソフトウェア構成管理部２１６が備えられている。
【００１６】
開発アプリケーションをテストするテスト用サーバ２０３には、開発アプリケーション実行環境２１９が備えられ、開発アプリケーションを動作させる処理実行部２１７と、開発アプリケーションのバージョンを差替える差替処理部２１８とからなるバージョン管理エージェント２１６が備えられている。上位のファイルサーバ２２４には、当該開発アプリケーションの成果物を格納するファイルが備えられる。
図２の実施例の構成において、１）実行ファイル、ライブラリファイルのバージョン情報を開発クライアント２０１ａ〜２０１ｃへ表示する方法、２）開発用クライアントから、開発したアプリケーションの差替え処理を実施する方法、３）テスト用サーバ２０３上での実行を開発用クライアント２０１から命令し、実際にテスト用サーバ２０３上で動作させるまでの処理を実施する方法を、以下に説明する。
【００１７】
図５は、上記実行ファイル、ライブラリファイルのバージョン情報を開発クライアントへ表示する方法を実行して、図２の開発用クライアントの管理バージョン表示部２０９に表示した画像を示す図である。
すなわち、バージョン情報保持部２０８に取り込むことにより、開発用クライアント２０１ａへのバージョン情報を取得し、管理バージョン表示部２０９への表示処理を実行する。
画面には、例えば図５に示すように、テストアプリケーション１の内訳として、実行ファイル１のライブラリ１、その詳細として、テストバージョン１のリリース１．０、その詳細として、アクセス改善テスト１、アクセス改善テスト２、機能追加１が、また、テストバージョン１のリリース１．１が、表示され、また、実行ファイル１のライブラリ２、および通信ライブラリが表示されている。
【００１８】
（１）（実行ファイル、ライブラリファイルのバージョン情報を開発クライアント２０１ａ〜２０１ｃへ表示する方法）
図３および図４は、バージョン情報の表示方法の処理フローチャートである。
図３は開発用クライアント２０１側の処理、図４は開発用サーバ２０２側の処理を示している。
開発用クライアント２０１ａにおいて、表示要求を受けると（ステップ３０１）、バージョン情報保持部２０８より現編集中ソースの最終更新時間を取得する（ステップ３０２）。一度も表示要求を受けていないと判断されると（新規表示要求と判断されると）（ステップ３０３）、管理バージョン表示処理部２０７は該当プログラムバージョン要求をバージョン管理サーバ２０２に送信する（ステップ３０８）。
【００１９】
図４のバージョン管理サーバ２０２では、差替処理制御部２１３がバージョン表示要求を受け、バイナリバージョン管理部２１５にその処理を渡す。バイナリバージョン管理部２１５は新規要求を受けると（ステップ４０１）、変更履歴要求であるか否かを判断し（ステップ４０２）、新規要求であるので（ステップ４０５）、バイナリバージョン情報データベース２２２にアクセスして、バージョン全情報を取得し（ステップ４０８）、差替処理制御部２１３が開発用クライアント２０１ａにこれを送信する（ステップ４０６）。
【００２０】
図３の開発用クライアント２０１ａの管理バージョン表示処理部２０７では、バージョン情報を受信すると（ステップ３０９）、バージョン情報保持部２０８の情報を追加し（ステップ３１１）、管理バージョン表示部２０９へ表示する（ステップ３１２）。
一旦表示した以降、表示要求（変更確認要求）を受けると（ステップ３０１）、最終更新時間を取得し（ステップ３０２）、開発用サーバ２０２の差替処理制御部２１３に変更確認要求を送信する（ステップ３０３，３０４）。
図４に示すように、開発用サーバ２０２の差替処理制御部２１３が要求を受けると（ステップ４０１，４０２）、バイナリバージョン管理部２１５にその処理を渡す。変更情報要求を受けたバージョン管理サーバ２０２は、最終更新時間以後の変更情報を検索する（ステップ４０３）。変更分の履歴情報を取得すると（ステップ４０４）、差替処理制御部２１３が開発用クライアント２０１ａにこの情報を送信する（ステップ４０６）。
【００２１】
図３に示すように、開発用クライアント２０１ａの管理バージョン表示処理部２０９は、変更情報を受信すると（ステップ３０５）、変更情報が存在しない場合、バージョン情報保持部２０８よりバージョン情報を取得し（ステップ３０６）、管理バージョン表示部２０９へ表示する（ステップ３１２）。変更情報が存在する場合には、再度、変更開発用サーバ２０２の差替処理制御部２１３に変更バージョン情報要求を送信する（ステップ３０７）。
図４に示すように、差替処理制御部２１３が要求を受けると（ステップ４０１，４０２，４０５）、バイナリバージョン管理部２１５に処理を渡し、変更バージョン情報を取得する（ステップ４０７）。差替処理制御部２１３が開発用クライアント２０１ａにこれを送信する（ステップ４０６）。
開発用クライアント２０１ａの管理バージョン表示処理部２０７は、バージョン情報を受信すると（ステップ３０９）、バージョン情報保持部２０８の情報を更新し（ステップ３１０，３１１）、管理バージョン表示部２０９へこれを表示する（ステップ３１２）。
【００２２】
（２）（開発用クライアントから、開発したアプリケーションの差替え処理を実施する方法）
図６，図７および図８は、開発用クライアントからテスト用サーバ２０３のバイナリファイルの差替え処理のフローチャートである。図６は開発用クライアント２０１側の処理、図７は開発用サーバ２０２側の処理、図８はテスト用サーバ２０３側の処理である。
図６に示すように、開発用クライアント２０１ａにおいて、差替え要求を受けると（ステップ６０１）、現在編集中コードを利用するか否かをチェックする（ステップ６０２）。利用する場合、開発用クライアント２０１は未だこのコードを持っていないため、非編集ソースのバージョンを取得して（ステップ６０４）、コンパイルする（スイップ６０５）。次に、当該ソースと、コンパイルしたバイナリファイルををファイルサーバ２２４へ配置し（ステップ６０６）、開発用サーバ２０２へ新規バージョンソフトウェア構成情報を送信する（スイップ６０７）。
【００２３】
一方、現在編集中コードを利用しない場合には（ステップ６０２）、既に存在するバージョンを要求しているので、差替命令処理部２０６は開発用サーバ２０２の差替処理制御部２１３に差替えバージョン情報を送信する（ステップ６０３）。
開発用サーバ２０２では、図７に示すように、差替処理制御部２１３が差替え要求を受信すると（ステップ７０１）、要求バージョンが未登録か否かを確認する（ステップ７０２）。未登録である場合、ソースファイル情報、新規バイナリファイル情報、ソース、バイナリの構成情報を、それぞれソースバージョン管理部２１４、バイナリバージョン管理部２１５、ソフトウェア構成管理部２１６を通じてソフト構成管理データベース群２２０へ登録する（ステップ７０３，７０４，７０５）。
【００２４】
図９、図１０および図１１は、本発明の一実施例に係るソースバージョン情報データベース、バイナリバージョン情報データベース、および、ソフトウェア構成情報データベースのデータ構成図である。
図９のソースバージョン情報データベース２２１には、ソースＩＤ、バイナリＩＤ、バージョンＩＤ、題名、変更日付、ソースへのパスがそれぞれ登録される。
図１０のバイナリバージョン情報データベース２２２には、バイナリＩＤ、バージョンＩＤ、題名、更新日付、バイナリへのパスがそれぞれ登録される。
図１１のソフトウェア構成情報データベース２２３には、バージョンＩＤ、アプリケーション名称、構成部品ＩＤ、構成部品バージョンＩＤ、ステータスがそれぞれ登録される。
【００２５】
図７において、差替処理制御部２１３は、次にソースバージョン情報に対して未登録バージョンではない場合と同様に、現行バージョンとの比較を行う（ステップ７０６）。この比較処理は、ソフトウェア構成情報ステータス列から対象アプリケーションで、「ｉｎｓｔａｌｌ」１１０１あるいは「ｏｐｅｒａｔｉｎｇ」１１０２である列を検索し、当該列のバージョンと比較する。現行バージョンと同一である場合には、何もせず、結果の通知を開発クライアント２０１へ送信する（ステップ７１０）。すなわち、この場合には、ステータスが「ｏｐｅｒａｔｉｎｇ」１１０２であるため、比較結果と実行中である旨を結果として、開発クライアント２０１へ通知する。一方、相違有りの場合には、ステータスが「ｉｎｓｔａｌｌ」１１０１であるため、テスト用サーバ２０３へバイナリバージョン情報を送信する（ステップ７０７）。
【００２６】
テスト用サーバ２０３では、図８に示すように、差替え処理は差替処理部２１８が唆替情報を受信し（ステップ８０２）、テスト用サーバ２０３が動作しているか否かを確認する（ステップ８０３）。動作している場合には、テストサーバ動作プログラムが有るので、差替え不可能として結果を開発用サーバ２０２に返送する（ステップ８０６）。
一方、動作していない場合には、テストサーバ動作プログラムが無しであるので、当該バージョンファイルをファイルサーバ２２４から取得し（ステップ８０４）、差替え処理を実行する（ステップ８０５）。そして、同じように、結果を開発用サーバ２０２に返送する（ステップ８０６）。
【００２７】
開発用サーバ２０２の差替処理制御部２１３は、図７に示すように、結果の通知を受信すると（ステップ７０８）、差替えが終了している場合には、ソフトウェア構成管理部２１６を通じて、ソフトウェア構成情報データベース２２３に現行バージョンのステータス列を「ｉｎｓｔａｌｌ」１１０１に更新する（ステップ７０９）。そして、結果を開発用クライアント２０１へ送信する（ステップ７１０）。差替えが終了しない場合でも、そのまま結果を開発用クライアント２０１へ送信する（ステップ７１０）。
開発用クライアント２０１では、差替命令処理部２０６は、図６に示すように、バージョン情報の登録（ステップ６０８）、および、差替完了の可、不可の通知（ステップ６０９）をそれぞれ受信し、差替命令を終了する（ステップ６１０）。
【００２８】
（３）（テスト用サーバ２０３上での実行を開発用クライアント２０１から命令し、実際にテスト用サーバ２０３上で動作させるまでの処理を実施する方法）
図１２、図１３および図１４は、本発明における開発用クライアントからテスト用サーバでの実行処理の動作フローチャートである。図１２は開発用クライアント側の動作、図１３は開発用サーバ側の動作、図１４はテスト用サーバ側の動作を示している。
図１２に示すように、開発用クライアント２０１ａは、サーバ実行命令を受け取ると（ステップ１２０１）、まず差替命令処理部２０６がテストサーバ差替処理を実施する（ステップ１２０２）。次に、サーバ実行命令処理部２０５が開発用サーバ２０２にサーバ実行命令を送信する（ステップ１２０３）。
【００２９】
図１３に示すように、開発用サーバ２０２のサーバ実行命令制御部２１２は、サーバ実行命令を受信すると（ステップ１３０２）、ソフトウェア構成管理情報データベース２２３から「ｏｐｅｒａｔｉｎｇ」が存在するか否か（動作中のプログラムが存在するか否か）を確認する（ステップ１３０３）。動作中のプログラムが存在しない場合（テストサーバ動作プログラム無しの場合）には、現行バージョンと要求されたバージョンとの比較を行い（ステップ１３０４）、相違がない場合のみソフトウェア構成情報の該当バージョンのステータス列を「ｏｐｅｒａｔｉｎｇ」に更新する（ステップ１３０５）。更新終了後、サーバ実行命令制御部２１２からテスト用サーバ２０３の処理実行部２１７に対してサーバ実行命令を送信する（ステップ１３０６）。
一方、動作中のプログラムが存在する場合、あるいは、現行バージョンと要求されたバージョンとの比較の結果、両者が異なる場合には、開発クライアント２０１ａに対して非実行の結果を送信する（ステップ１３０８）。
【００３０】
図１４に示すように、テスト用サーバ２０３の処理実行部２１７は、開発用サーバ２０２からサーバ実行命令を受信すると（ステップ１４０２）、開発アプリケーション２１９を起動し、これを実行する（ステップ１４０３）。そして、開発用サーバ２０２に対して実行結果を送信する（ステップ１４０４）。
図１３に示すように、開発用サーバ２０２のサーバ実行命令制御部２１２は、実行結果を受信すると（ステップ１３０７）、ソフトウェア構成管理部２１６を介してソフトウェア構成情報データベース２２３にアクセスし、該当バージョンのステータス列を「ｉｎｓｔａｌｌ」に更新し（ステップ１３０８）、その結果を開発用クライアント２０１ａに送信する（ステップ１３０９）。
図１２に示すように、開発用クライアント２０１ａのサーバ実行命令処理部２０５は、実行・非実行の結果を受信すると（ステップ１２０４）、サーバ実行の処理を終了する（ステップ１２０５）。
【００３１】
なお、上記（２）テストサーバ差替処理と（３）テストサーバ実行処理の過程において、ソフトウェア構成情報データベース２２３のステータスの確認を行っている。これは、「ｉｎｓｔａｌｌ」であるとき、テスト用サーバ２０３のアプリケーションバージョンがその列のバージョンであることを示し、「ｏｐｅｒａｔｉｎｇ」であるとき、その列のバージョンが、テスト用サーバ２０３上で実行中であることを示している。つまり、実行アプリケーションのプロセスを、テスト用サーバ２０３上のバージャン管理エージェント２１６によって実行されている。
本実施例においては、差替え時のチェック（図７のステップ７０６）により、差替えの排他性が確保され、実行時のチェック（図１３のステップ１３０４）により、実行の排他性が確保できる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例に係るリモート実行機能を備えたメンテナンスシステムの概略構成図である。
【図２】図１におけるリモート実行機能を備えたメンテナンスシステムの詳細構成図である。
【図３】本発明における開発用クライアントの管理バージョン情報表示処理のフローチャートである。
【図４】本発明における開発用サーバの管理バージョン情報制御のフローチャートである。
【図５】本発明における開発用クライアントの管理バージョン情報表示部の表示例を示す図である。
【図６】本発明における開発用クライアントの差替処理のフローチャートである。
【図７】本発明における開発用サーバの差替処理制御のフローチャートである。
【図８】本発明におけるテスト用サーバの差替処理実行のフローチャートである。
【図９】本発明におけるソースバージョン情報データベースの格納例を示す図である。
【図１０】本発明におけるバイナリバージョン情報データベースの格納例を示す図である。
【図１１】本発明におけるソフトウェア構成情報データベースの限納例を示す図である。
【図１２】本発明における開発用クライアントのサーバ実行命令処理のフローチャートである。
【図１３】本発明における開発用サーバのサーバ実行命令制御のフローチャートである。
【図１４】本発明におけるテスト用サーバのサーバ実行処理のフローチャートである。
【符号の説明】
【００３３】
１０１：開発対象のアプリケーションをテスト動作させるテスト用サーバ
１０２ａ〜１０２ｃ：アプリケーションを開発するための開発用クライアント
１０３：バージョン管理制御，差替え制御，実行処理制御を処理するバージョン管理サーバ
１０４：ＬＡＮまたはネットワーク
１０５：バージョン管理のためのアプリケーションソフトウェア構成情報を格納するデータベース群
１０６：バージョン管理対象であるアプリケーションのコンパイル済みバイナリファイル及びソースファイルを備えたファイルサーバ
２０１ａ〜２０１ｂ：コーディング，コンパイル，実行命令を出す開発用クライアント
２０２：バージョン管理制御，差替え制御，実行処理制御を処理する開発用サーバ
２０３：開発対象のアプリケーションをテスト動作させるテスト用サーバ
２０４：テストサーバでの実行を命令するサーバ実行命令処理部
２０５：テストサーバでのバイナリ差替えを命令する差替命令処理部
２０６：管理されているバージョンの一覧を表示するための管理バージョン表示処理部
２０７：クライアントが一覧の表示，編集バージョンの情報の表示処理を行う管理バージョン表示処理部
２０８：クライアントが一覧の表示，編集バージョンの情報を持つバージョン情報保持部
２０９：管理されているバージョンの一覧を表示するための表示部
２１１：バージョン管理サーバ
２１２：バージョン管理サーバ内のサーバ実行の命令制御を処理するサーバ実行命令制御部
２１３：バージョン管理サーバ内のバージョン管理制御と差替え制御を処理する差替処理制御部
２１４：差替処理制御部内のソースを管理するソースバージョン管理部
２１５：差替処理制御部内のバイナリを管理するバイナリバージョン管理部
２１６：差替処理制御部内のソフトウェア構成を管理するソフトウェア構成管理部
２１６Ａ：テスト用サーバ内の実行、差替処理を行うバージョン管理エージェント
２１７：テスト用サーバ内の開発対象アプリケーションをテスト動作させる処理実行部
２１８：テスト用サーバ内の開発対象アプリケーションのバイナリファイルを差替える差替処理部
２１９：開発対象アプリケーション（実行環境）
２２０：バージョン管理サーバよりアクセスされるソフト構成管理データベース群
２２１：ソースバージョン情報データベース
２２２：バイナリバージョン情報データベース
２２３：ソフトウェア構成情報データベース
２２４：当該アプリケーションの開発成果物であるソースとバイナリを格納するファイルサーバ
２２５：編集したソースをコンパイルするコンパイラ
１１０１：ステータスの「ｉｎｓｔａｌｌ」
１１０２：ステータスの「ｏｐｅｒａｔｉｎｇ」
【図１】
2006302066.tif 000003
【図２】
2006302066.tif 000004
【図３】
2006302066.tif 000005
【図４】
2006302066.tif 000006
【図５】
2006302066.tif 000007
【図６】
2006302066.tif 000008
【図７】
2006302066.tif 000009
【図８】
2006302066.tif 000010
【図９】
2006302066.tif 000011
【図１０】
2006302066.tif 000012
【図１１】
2006302066.tif 000013
【図１２】
2006302066.tif 000014
【図１３】
2006302066.tif 000015
【図１４】
2006302066.tif 000016