JP2006302066A - リモート実行機能を備えたメンテナンスシステムおよびその方法 - Google Patents
リモート実行機能を備えたメンテナンスシステムおよびその方法 Download PDFInfo
- Publication number
- JP2006302066A JP2006302066A JP2005124574A JP2005124574A JP2006302066A JP 2006302066 A JP2006302066 A JP 2006302066A JP 2005124574 A JP2005124574 A JP 2005124574A JP 2005124574 A JP2005124574 A JP 2005124574A JP 2006302066 A JP2006302066 A JP 2006302066A
- Authority
- JP
- Japan
- Prior art keywords
- version
- server
- execution
- information
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】修正、性能改善開発作業の効率化(自動化)を図り、コンパイル後のテスト環境でのバージョン不整合をなくし、アプリケーションサーバ使用の排他制御を可能にする。
【解決手段】開発対象のアプリケーシュンを実行するテスト用サーバ203と、アプリケーションを実際に記述する開発用マシン201a〜201bと、ソースやバージョン管理、テスト用サーバ203への制御命令を発行するバージョン管理サーバ202と、バージョン管理サーバ202がバージョン情報を格納するために利用するデータベース220と、成果物であるソースファイルやバイナリファイルを格納するファイルサーバ224とを有し、1)開発用クライアント201への表示処理、2)開発用クライアント201からテスト用サーバ203のバイナリファイルの差替え処理、および、3)開発用クライアント201からテスト用サーバ203での実行処理を、それぞれ自動化する。
【選択図】図2
【解決手段】開発対象のアプリケーシュンを実行するテスト用サーバ203と、アプリケーションを実際に記述する開発用マシン201a〜201bと、ソースやバージョン管理、テスト用サーバ203への制御命令を発行するバージョン管理サーバ202と、バージョン管理サーバ202がバージョン情報を格納するために利用するデータベース220と、成果物であるソースファイルやバイナリファイルを格納するファイルサーバ224とを有し、1)開発用クライアント201への表示処理、2)開発用クライアント201からテスト用サーバ203のバイナリファイルの差替え処理、および、3)開発用クライアント201からテスト用サーバ203での実行処理を、それぞれ自動化する。
【選択図】図2
Description
本発明は、テスト実行用サーバでのリモート実行機能を備えたプログラムメンテナンスシステムとその方法に関し、特にアプリケーション開発環境、バージョン管理およびプログラムテストをサーバとクライアント端末間で行うことができるリモート実行機能を備えたメンテナンスシステムおよびその方法に関する。
クライアントサーバ型ソフトウェア開発プロセスにおいて、統合開発環境を提供するアプリケーション(プログラム)は、コンパイル環境、ソースコード編集環境、およびシステム開発プロセスにおけるドキュメント作成等の機能を提供している。
一方、ソフトウェア構成管理システムは、ソフトウェア成果物等の管理、特にソースコードの変更履歴やバージョン管理を主に提供しており、大規模プロジェクトにおける開発のみならず、少人数での開発においても重要なファクターとなる。
一旦リリースしたソフトウェアにおいても、バージョンアップやバグ修正といったメンテナンス作業がある。上述のようなソフトウェア構成管理システムでは、リリースのバージョン管理とそのソースとの関連情報を保持し、メンテナンスを可能にしている。
一方、ソフトウェア構成管理システムは、ソフトウェア成果物等の管理、特にソースコードの変更履歴やバージョン管理を主に提供しており、大規模プロジェクトにおける開発のみならず、少人数での開発においても重要なファクターとなる。
一旦リリースしたソフトウェアにおいても、バージョンアップやバグ修正といったメンテナンス作業がある。上述のようなソフトウェア構成管理システムでは、リリースのバージョン管理とそのソースとの関連情報を保持し、メンテナンスを可能にしている。
また、メンテナンス作業の一つとして、性能改善作業が挙げられる。この性能改善作業においても、新規開発時の統合開発環境や構成管理システムを使用する。しかし、この作業の特質である性能測定をするためには、サーバとクライアントの両方で統合開発環境を使用し、テストを行うこと、ならびに、手作業によるテストプログラムの差し替えによるテストを行うこと、はいずれも可能である。
しかしながら、性能測定は繰り返し実施して、評価を行うため、時間と手数がかかって効率的ではない。それに加えて、サーバ・クライアントの両方で統合開発環境を利用することは、性能測定上、正確な測定値を取得することが困難であった。
しかしながら、性能測定は繰り返し実施して、評価を行うため、時間と手数がかかって効率的ではない。それに加えて、サーバ・クライアントの両方で統合開発環境を利用することは、性能測定上、正確な測定値を取得することが困難であった。
従来におけるプログラムメンテナンス環境の提案としては、例えば、特開平6−89165号公報(特許文献1参照)に記載の『実行形式プログラムの世代管理方式』がある。
これは、開発環境上でのバイナリ形式ファイルの世代管理方法、およびその表示方法について提案したものである。すなわち、従来、ソースプログラムでのみ管理されていたプログラムの世代管理について、実行形式プログラム(バイナリ形式ファイル)まで、その管理方法を広げている。このことは、昨今の対話形式アプリケーションの増加に伴って、障害の原因追求に対しての手段がソースファイルのみでは困難であり、同一バージョンでの構成テストの必要性が生じたからである。
これは、開発環境上でのバイナリ形式ファイルの世代管理方法、およびその表示方法について提案したものである。すなわち、従来、ソースプログラムでのみ管理されていたプログラムの世代管理について、実行形式プログラム(バイナリ形式ファイル)まで、その管理方法を広げている。このことは、昨今の対話形式アプリケーションの増加に伴って、障害の原因追求に対しての手段がソースファイルのみでは困難であり、同一バージョンでの構成テストの必要性が生じたからである。
また、特開2004−126960号公報(特許文献2参照)に記載の『リモートメンテナンスシステム』がある。これは、保守サーバからのソフトウェアの更新、戻しといったリモートメンテナンスを提供することを可能にするものである。このシステムでは、分散されたネットワーク(LAN)環境において、新しいバージョンのソフトウェアを配布する保守サーバと分散ネットワーク上に存在する現バージョンを利用する複数のクライアントが存在する。保守サーバは、各クライアントの更新情報を元に新バージョンを配布する。各クライアントでは、新バージョンソフトウェアを格納する手段、および配布された新バージョンソフトウェアを更新する手段を持っている。
また、特開平9−62494号公報(特許文献3参照)に記載の『開発プログラムにおけるリビジョン管理装置』がある。この装置では、複数開発者によるプログラム生成時に、更新プログラムを他者が参照している場合、最新に保たれないという問題を、システム全体の開発状況を検索可能にすることにより解決している。修正履歴はリビジョン管理用のデータとして保存され、登録・更新日付や修正のタイトル等で簡易的に目視できる機能を有している。
上述のように、ソフトウェア開発/修正作業において、従来の開発環境では、ソースプログラムについて世代管理を行い、ライブラリ・実行ファイルなどのバイナリファイルについては、その都度コンパイルによって作成されていた。サーバに依存しないスタンドアローンアプリケーションでは、上記のようにその都度コンパイルによりバイナリファイルを作成する方法で十分である。しかし、上記特許文献1のように、実行形式のバイナリファイルを世代管理することは、メンテナンス作業に対して効果を奏する。
一方、昨今のアプリケーションでは、単一のサーバが処理を行い、クライアントがその処理の結果を受け取るクライアント・サーバモデル型のものも多く見受けられる。この場合、開発作業の一つである実行テストに関して、1)コンパイル、2)サーバへのコピー、3)サーバでのライブラリ,実行ファイルの登録、4)サーバ上での実行、といった手作業が発生する。この作業は、特にメンテナンス作業(バグ修正、性能改善、機能修正)の際に多く発生する。
また、サーバ上でのライブラリや実行ファイルの相互互換性(実行保証)を保ちながら、差し替えと実行を繰り返す作業であるが、その互換性を保つのは、複数人の開発環境である場合には容易ではない。
また、サーバ上でのライブラリや実行ファイルの相互互換性(実行保証)を保ちながら、差し替えと実行を繰り返す作業であるが、その互換性を保つのは、複数人の開発環境である場合には容易ではない。
(目的)
本発明の目的は、上記の問題を解消するとともに、修正、性能改善開発作業の効率化(自動化)、コンパイル後のテスト環境でのバージョン不整合をなくすこと、ならびに、アプリケーションサーバ使用の排他制御を可能にするリモート実行機能を備えたメンテナンスシステムおよびその方法を提供することにある。
本発明の目的は、上記の問題を解消するとともに、修正、性能改善開発作業の効率化(自動化)、コンパイル後のテスト環境でのバージョン不整合をなくすこと、ならびに、アプリケーションサーバ使用の排他制御を可能にするリモート実行機能を備えたメンテナンスシステムおよびその方法を提供することにある。
本発明によるリモート実行機能を備えたメンテナンスシステムは、ソフトウェアソースのバージョン管理、バイナリ(実行形式、ライブラリ)のバージョン管理、ソフトウェア構成管理を、世代管理といった更新を原則とせず、バージョンとして格納、管理する。
上述の課題を解消するため、サーバ上で発生する手作業を、サーバ上に差し替え処理を実施するエージェントを動作させる。サーバ上のエージェントには、差し替え処理機能と、テスト実行処理機能を持たせ、開発用マシンよりの差し替え、テスト実行処理命令を機能として組み込む。また、バージョン管理サーバ上のバージョン管理ソフトウェアにより、アプリケーションサーバの排他実行機能を持たせることにより、複数人の開発環境での課題も解決することができる。
上述の課題を解消するため、サーバ上で発生する手作業を、サーバ上に差し替え処理を実施するエージェントを動作させる。サーバ上のエージェントには、差し替え処理機能と、テスト実行処理機能を持たせ、開発用マシンよりの差し替え、テスト実行処理命令を機能として組み込む。また、バージョン管理サーバ上のバージョン管理ソフトウェアにより、アプリケーションサーバの排他実行機能を持たせることにより、複数人の開発環境での課題も解決することができる。
本発明によれば、テスト実行用サーバによるリモート実行機能を自動化することにより、1)修正、性能改善の開発作業を効率化することができ、2)コンパイル後のテスト環境におけるバージョン不整合を回避することができ、さらに、3)アプリケーションサーバ使用の際に、排他制御を行うことができる、という効果を奏する。
以下、本発明の実施例を、図面により詳細に説明する。
図1は、本発明の一実施例に係るリモート実行機能を備えたメンテナンスシステムの概略構成図である。
本実施例のシステムは、開発対象であるアプリケーションを実行するテスト用サーバ101と、アプリケーションを実際に記述する開発用マシンA,B,C(開発用クライアント)102a〜102cと、ソースやバージョン管理、テスト用サーバ101への制御命令を発行するバージョン管理サーバ103と、バージョン管理サーバ103がバージョン情報を格納するために利用するデータベース105と、管理対象のソフトウェア成果物であるソースファイルや実行ファイル、ライブラリファイル等のバイナリファイルを格納するファイルサーバ106と、それらが相互に接続するためのLAN、あるいはネットワーク104とから構成されている。
図1は、本発明の一実施例に係るリモート実行機能を備えたメンテナンスシステムの概略構成図である。
本実施例のシステムは、開発対象であるアプリケーションを実行するテスト用サーバ101と、アプリケーションを実際に記述する開発用マシンA,B,C(開発用クライアント)102a〜102cと、ソースやバージョン管理、テスト用サーバ101への制御命令を発行するバージョン管理サーバ103と、バージョン管理サーバ103がバージョン情報を格納するために利用するデータベース105と、管理対象のソフトウェア成果物であるソースファイルや実行ファイル、ライブラリファイル等のバイナリファイルを格納するファイルサーバ106と、それらが相互に接続するためのLAN、あるいはネットワーク104とから構成されている。
テスト用サーバ101には、開発アプリケーションと、処理を実行する処理実行部および差替えを実行する差替処理部などを備えたバージョン管理エージェントが具備されている。また、開発用マシン102a〜102cには、各クライアントのバージョン情報を保持するためのバージョン管理ソフトウェアとバージョン管理サーバ103との間の通信を実行するためのインターフェースとが具備されている。また、バージョン管理サーバ103には、バージョン管理用のソフトウェアや開発用マシン102あるいはテスト用サーバ101との間の通信を実行するためのインターフェース(図示省略)とソースバージョン情報、コンパイルコードバージョン情報およびプログラム構成情報からなるデータベース群105とが具備されている。また、ファイルサーバ106には、ソースコードが格納されるソースファイルとバイナリコードが格納されるライブラリ実行ファイルとが具備されている。
図2は、図1のさらに詳細な構成図である。
図2に示すように、システムの最上位にファイルサーバ224が位置し、下部に開発用クライアント201a,b,c・・・、開発用サーバ(バージョン管理サーバ)202、およびテスト用サーバ203が接続されている。開発用クライアント201a〜201bには、サーバ実行命令処理部205、差替命令処理部206、管理バージョン表示処理部207、そして管理バージョン表示部209が備えられている。また、開発用サーバ(バージョン管理サーバ)202には、サーバ実行命令制御部212、差替処理制御部213、差替処理制御部213に対してソフト構成管理データベース群内のソースバージョン情報データベース221、バイナリバージョン情報データベース222、ソフトウェア構成情報データベース223にアクセスし、各成果物の管理処理、情報提供を実施するソースバージョン管理部214、バイナリバージョン管理部215、ソフトウェア構成管理部216が備えられている。
図2に示すように、システムの最上位にファイルサーバ224が位置し、下部に開発用クライアント201a,b,c・・・、開発用サーバ(バージョン管理サーバ)202、およびテスト用サーバ203が接続されている。開発用クライアント201a〜201bには、サーバ実行命令処理部205、差替命令処理部206、管理バージョン表示処理部207、そして管理バージョン表示部209が備えられている。また、開発用サーバ(バージョン管理サーバ)202には、サーバ実行命令制御部212、差替処理制御部213、差替処理制御部213に対してソフト構成管理データベース群内のソースバージョン情報データベース221、バイナリバージョン情報データベース222、ソフトウェア構成情報データベース223にアクセスし、各成果物の管理処理、情報提供を実施するソースバージョン管理部214、バイナリバージョン管理部215、ソフトウェア構成管理部216が備えられている。
開発アプリケーションをテストするテスト用サーバ203には、開発アプリケーション実行環境219が備えられ、開発アプリケーションを動作させる処理実行部217と、開発アプリケーションのバージョンを差替える差替処理部218とからなるバージョン管理エージェント216が備えられている。上位のファイルサーバ224には、当該開発アプリケーションの成果物を格納するファイルが備えられる。
図2の実施例の構成において、1)実行ファイル、ライブラリファイルのバージョン情報を開発クライアント201a〜201cへ表示する方法、2)開発用クライアントから、開発したアプリケーションの差替え処理を実施する方法、3)テスト用サーバ203上での実行を開発用クライアント201から命令し、実際にテスト用サーバ203上で動作させるまでの処理を実施する方法を、以下に説明する。
図2の実施例の構成において、1)実行ファイル、ライブラリファイルのバージョン情報を開発クライアント201a〜201cへ表示する方法、2)開発用クライアントから、開発したアプリケーションの差替え処理を実施する方法、3)テスト用サーバ203上での実行を開発用クライアント201から命令し、実際にテスト用サーバ203上で動作させるまでの処理を実施する方法を、以下に説明する。
図5は、上記実行ファイル、ライブラリファイルのバージョン情報を開発クライアントへ表示する方法を実行して、図2の開発用クライアントの管理バージョン表示部209に表示した画像を示す図である。
すなわち、バージョン情報保持部208に取り込むことにより、開発用クライアント201aへのバージョン情報を取得し、管理バージョン表示部209への表示処理を実行する。
画面には、例えば図5に示すように、テストアプリケーション1の内訳として、実行ファイル1のライブラリ1、その詳細として、テストバージョン1のリリース1.0、その詳細として、アクセス改善テスト1、アクセス改善テスト2、機能追加1が、また、テストバージョン1のリリース1.1が、表示され、また、実行ファイル1のライブラリ2、および通信ライブラリが表示されている。
すなわち、バージョン情報保持部208に取り込むことにより、開発用クライアント201aへのバージョン情報を取得し、管理バージョン表示部209への表示処理を実行する。
画面には、例えば図5に示すように、テストアプリケーション1の内訳として、実行ファイル1のライブラリ1、その詳細として、テストバージョン1のリリース1.0、その詳細として、アクセス改善テスト1、アクセス改善テスト2、機能追加1が、また、テストバージョン1のリリース1.1が、表示され、また、実行ファイル1のライブラリ2、および通信ライブラリが表示されている。
(1)(実行ファイル、ライブラリファイルのバージョン情報を開発クライアント201a〜201cへ表示する方法)
図3および図4は、バージョン情報の表示方法の処理フローチャートである。
図3は開発用クライアント201側の処理、図4は開発用サーバ202側の処理を示している。
開発用クライアント201aにおいて、表示要求を受けると(ステップ301)、バージョン情報保持部208より現編集中ソースの最終更新時間を取得する(ステップ302)。一度も表示要求を受けていないと判断されると(新規表示要求と判断されると)(ステップ303)、管理バージョン表示処理部207は該当プログラムバージョン要求をバージョン管理サーバ202に送信する(ステップ308)。
図3および図4は、バージョン情報の表示方法の処理フローチャートである。
図3は開発用クライアント201側の処理、図4は開発用サーバ202側の処理を示している。
開発用クライアント201aにおいて、表示要求を受けると(ステップ301)、バージョン情報保持部208より現編集中ソースの最終更新時間を取得する(ステップ302)。一度も表示要求を受けていないと判断されると(新規表示要求と判断されると)(ステップ303)、管理バージョン表示処理部207は該当プログラムバージョン要求をバージョン管理サーバ202に送信する(ステップ308)。
図4のバージョン管理サーバ202では、差替処理制御部213がバージョン表示要求を受け、バイナリバージョン管理部215にその処理を渡す。バイナリバージョン管理部215は新規要求を受けると(ステップ401)、変更履歴要求であるか否かを判断し(ステップ402)、新規要求であるので(ステップ405)、バイナリバージョン情報データベース222にアクセスして、バージョン全情報を取得し(ステップ408)、差替処理制御部213が開発用クライアント201aにこれを送信する(ステップ406)。
図3の開発用クライアント201aの管理バージョン表示処理部207では、バージョン情報を受信すると(ステップ309)、バージョン情報保持部208の情報を追加し(ステップ311)、管理バージョン表示部209へ表示する(ステップ312)。
一旦表示した以降、表示要求(変更確認要求)を受けると(ステップ301)、最終更新時間を取得し(ステップ302)、開発用サーバ202の差替処理制御部213に変更確認要求を送信する(ステップ303,304)。
図4に示すように、開発用サーバ202の差替処理制御部213が要求を受けると(ステップ401,402)、バイナリバージョン管理部215にその処理を渡す。変更情報要求を受けたバージョン管理サーバ202は、最終更新時間以後の変更情報を検索する(ステップ403)。変更分の履歴情報を取得すると(ステップ404)、差替処理制御部213が開発用クライアント201aにこの情報を送信する(ステップ406)。
一旦表示した以降、表示要求(変更確認要求)を受けると(ステップ301)、最終更新時間を取得し(ステップ302)、開発用サーバ202の差替処理制御部213に変更確認要求を送信する(ステップ303,304)。
図4に示すように、開発用サーバ202の差替処理制御部213が要求を受けると(ステップ401,402)、バイナリバージョン管理部215にその処理を渡す。変更情報要求を受けたバージョン管理サーバ202は、最終更新時間以後の変更情報を検索する(ステップ403)。変更分の履歴情報を取得すると(ステップ404)、差替処理制御部213が開発用クライアント201aにこの情報を送信する(ステップ406)。
図3に示すように、開発用クライアント201aの管理バージョン表示処理部209は、変更情報を受信すると(ステップ305)、変更情報が存在しない場合、バージョン情報保持部208よりバージョン情報を取得し(ステップ306)、管理バージョン表示部209へ表示する(ステップ312)。変更情報が存在する場合には、再度、変更開発用サーバ202の差替処理制御部213に変更バージョン情報要求を送信する(ステップ307)。
図4に示すように、差替処理制御部213が要求を受けると(ステップ401,402,405)、バイナリバージョン管理部215に処理を渡し、変更バージョン情報を取得する(ステップ407)。差替処理制御部213が開発用クライアント201aにこれを送信する(ステップ406)。
開発用クライアント201aの管理バージョン表示処理部207は、バージョン情報を受信すると(ステップ309)、バージョン情報保持部208の情報を更新し(ステップ310,311)、管理バージョン表示部209へこれを表示する(ステップ312)。
図4に示すように、差替処理制御部213が要求を受けると(ステップ401,402,405)、バイナリバージョン管理部215に処理を渡し、変更バージョン情報を取得する(ステップ407)。差替処理制御部213が開発用クライアント201aにこれを送信する(ステップ406)。
開発用クライアント201aの管理バージョン表示処理部207は、バージョン情報を受信すると(ステップ309)、バージョン情報保持部208の情報を更新し(ステップ310,311)、管理バージョン表示部209へこれを表示する(ステップ312)。
(2)(開発用クライアントから、開発したアプリケーションの差替え処理を実施する方法)
図6,図7および図8は、開発用クライアントからテスト用サーバ203のバイナリファイルの差替え処理のフローチャートである。図6は開発用クライアント201側の処理、図7は開発用サーバ202側の処理、図8はテスト用サーバ203側の処理である。
図6に示すように、開発用クライアント201aにおいて、差替え要求を受けると(ステップ601)、現在編集中コードを利用するか否かをチェックする(ステップ602)。利用する場合、開発用クライアント201は未だこのコードを持っていないため、非編集ソースのバージョンを取得して(ステップ604)、コンパイルする(スイップ605)。次に、当該ソースと、コンパイルしたバイナリファイルををファイルサーバ224へ配置し(ステップ606)、開発用サーバ202へ新規バージョンソフトウェア構成情報を送信する(スイップ607)。
図6,図7および図8は、開発用クライアントからテスト用サーバ203のバイナリファイルの差替え処理のフローチャートである。図6は開発用クライアント201側の処理、図7は開発用サーバ202側の処理、図8はテスト用サーバ203側の処理である。
図6に示すように、開発用クライアント201aにおいて、差替え要求を受けると(ステップ601)、現在編集中コードを利用するか否かをチェックする(ステップ602)。利用する場合、開発用クライアント201は未だこのコードを持っていないため、非編集ソースのバージョンを取得して(ステップ604)、コンパイルする(スイップ605)。次に、当該ソースと、コンパイルしたバイナリファイルををファイルサーバ224へ配置し(ステップ606)、開発用サーバ202へ新規バージョンソフトウェア構成情報を送信する(スイップ607)。
一方、現在編集中コードを利用しない場合には(ステップ602)、既に存在するバージョンを要求しているので、差替命令処理部206は開発用サーバ202の差替処理制御部213に差替えバージョン情報を送信する(ステップ603)。
開発用サーバ202では、図7に示すように、差替処理制御部213が差替え要求を受信すると(ステップ701)、要求バージョンが未登録か否かを確認する(ステップ702)。未登録である場合、ソースファイル情報、新規バイナリファイル情報、ソース、バイナリの構成情報を、それぞれソースバージョン管理部214、バイナリバージョン管理部215、ソフトウェア構成管理部216を通じてソフト構成管理データベース群220へ登録する(ステップ703,704,705)。
開発用サーバ202では、図7に示すように、差替処理制御部213が差替え要求を受信すると(ステップ701)、要求バージョンが未登録か否かを確認する(ステップ702)。未登録である場合、ソースファイル情報、新規バイナリファイル情報、ソース、バイナリの構成情報を、それぞれソースバージョン管理部214、バイナリバージョン管理部215、ソフトウェア構成管理部216を通じてソフト構成管理データベース群220へ登録する(ステップ703,704,705)。
図9、図10および図11は、本発明の一実施例に係るソースバージョン情報データベース、バイナリバージョン情報データベース、および、ソフトウェア構成情報データベースのデータ構成図である。
図9のソースバージョン情報データベース221には、ソースID、バイナリID、バージョンID、題名、変更日付、ソースへのパスがそれぞれ登録される。
図10のバイナリバージョン情報データベース222には、バイナリID、バージョンID、題名、更新日付、バイナリへのパスがそれぞれ登録される。
図11のソフトウェア構成情報データベース223には、バージョンID、アプリケーション名称、構成部品ID、構成部品バージョンID、ステータスがそれぞれ登録される。
図9のソースバージョン情報データベース221には、ソースID、バイナリID、バージョンID、題名、変更日付、ソースへのパスがそれぞれ登録される。
図10のバイナリバージョン情報データベース222には、バイナリID、バージョンID、題名、更新日付、バイナリへのパスがそれぞれ登録される。
図11のソフトウェア構成情報データベース223には、バージョンID、アプリケーション名称、構成部品ID、構成部品バージョンID、ステータスがそれぞれ登録される。
図7において、差替処理制御部213は、次にソースバージョン情報に対して未登録バージョンではない場合と同様に、現行バージョンとの比較を行う(ステップ706)。この比較処理は、ソフトウェア構成情報ステータス列から対象アプリケーションで、「install」1101あるいは「operating」1102である列を検索し、当該列のバージョンと比較する。現行バージョンと同一である場合には、何もせず、結果の通知を開発クライアント201へ送信する(ステップ710)。すなわち、この場合には、ステータスが「operating」1102であるため、比較結果と実行中である旨を結果として、開発クライアント201へ通知する。一方、相違有りの場合には、ステータスが「install」1101であるため、テスト用サーバ203へバイナリバージョン情報を送信する(ステップ707)。
テスト用サーバ203では、図8に示すように、差替え処理は差替処理部218が唆替情報を受信し(ステップ802)、テスト用サーバ203が動作しているか否かを確認する(ステップ803)。動作している場合には、テストサーバ動作プログラムが有るので、差替え不可能として結果を開発用サーバ202に返送する(ステップ806)。
一方、動作していない場合には、テストサーバ動作プログラムが無しであるので、当該バージョンファイルをファイルサーバ224から取得し(ステップ804)、差替え処理を実行する(ステップ805)。そして、同じように、結果を開発用サーバ202に返送する(ステップ806)。
一方、動作していない場合には、テストサーバ動作プログラムが無しであるので、当該バージョンファイルをファイルサーバ224から取得し(ステップ804)、差替え処理を実行する(ステップ805)。そして、同じように、結果を開発用サーバ202に返送する(ステップ806)。
開発用サーバ202の差替処理制御部213は、図7に示すように、結果の通知を受信すると(ステップ708)、差替えが終了している場合には、ソフトウェア構成管理部216を通じて、ソフトウェア構成情報データベース223に現行バージョンのステータス列を「install」1101に更新する(ステップ709)。そして、結果を開発用クライアント201へ送信する(ステップ710)。差替えが終了しない場合でも、そのまま結果を開発用クライアント201へ送信する(ステップ710)。
開発用クライアント201では、差替命令処理部206は、図6に示すように、バージョン情報の登録(ステップ608)、および、差替完了の可、不可の通知(ステップ609)をそれぞれ受信し、差替命令を終了する(ステップ610)。
開発用クライアント201では、差替命令処理部206は、図6に示すように、バージョン情報の登録(ステップ608)、および、差替完了の可、不可の通知(ステップ609)をそれぞれ受信し、差替命令を終了する(ステップ610)。
(3)(テスト用サーバ203上での実行を開発用クライアント201から命令し、実際にテスト用サーバ203上で動作させるまでの処理を実施する方法)
図12、図13および図14は、本発明における開発用クライアントからテスト用サーバでの実行処理の動作フローチャートである。図12は開発用クライアント側の動作、図13は開発用サーバ側の動作、図14はテスト用サーバ側の動作を示している。
図12に示すように、開発用クライアント201aは、サーバ実行命令を受け取ると(ステップ1201)、まず差替命令処理部206がテストサーバ差替処理を実施する(ステップ1202)。次に、サーバ実行命令処理部205が開発用サーバ202にサーバ実行命令を送信する(ステップ1203)。
図12、図13および図14は、本発明における開発用クライアントからテスト用サーバでの実行処理の動作フローチャートである。図12は開発用クライアント側の動作、図13は開発用サーバ側の動作、図14はテスト用サーバ側の動作を示している。
図12に示すように、開発用クライアント201aは、サーバ実行命令を受け取ると(ステップ1201)、まず差替命令処理部206がテストサーバ差替処理を実施する(ステップ1202)。次に、サーバ実行命令処理部205が開発用サーバ202にサーバ実行命令を送信する(ステップ1203)。
図13に示すように、開発用サーバ202のサーバ実行命令制御部212は、サーバ実行命令を受信すると(ステップ1302)、ソフトウェア構成管理情報データベース223から「operating」が存在するか否か(動作中のプログラムが存在するか否か)を確認する(ステップ1303)。動作中のプログラムが存在しない場合(テストサーバ動作プログラム無しの場合)には、現行バージョンと要求されたバージョンとの比較を行い(ステップ1304)、相違がない場合のみソフトウェア構成情報の該当バージョンのステータス列を「operating」に更新する(ステップ1305)。更新終了後、サーバ実行命令制御部212からテスト用サーバ203の処理実行部217に対してサーバ実行命令を送信する(ステップ1306)。
一方、動作中のプログラムが存在する場合、あるいは、現行バージョンと要求されたバージョンとの比較の結果、両者が異なる場合には、開発クライアント201aに対して非実行の結果を送信する(ステップ1308)。
一方、動作中のプログラムが存在する場合、あるいは、現行バージョンと要求されたバージョンとの比較の結果、両者が異なる場合には、開発クライアント201aに対して非実行の結果を送信する(ステップ1308)。
図14に示すように、テスト用サーバ203の処理実行部217は、開発用サーバ202からサーバ実行命令を受信すると(ステップ1402)、開発アプリケーション219を起動し、これを実行する(ステップ1403)。そして、開発用サーバ202に対して実行結果を送信する(ステップ1404)。
図13に示すように、開発用サーバ202のサーバ実行命令制御部212は、実行結果を受信すると(ステップ1307)、ソフトウェア構成管理部216を介してソフトウェア構成情報データベース223にアクセスし、該当バージョンのステータス列を「install」に更新し(ステップ1308)、その結果を開発用クライアント201aに送信する(ステップ1309)。
図12に示すように、開発用クライアント201aのサーバ実行命令処理部205は、実行・非実行の結果を受信すると(ステップ1204)、サーバ実行の処理を終了する(ステップ1205)。
図13に示すように、開発用サーバ202のサーバ実行命令制御部212は、実行結果を受信すると(ステップ1307)、ソフトウェア構成管理部216を介してソフトウェア構成情報データベース223にアクセスし、該当バージョンのステータス列を「install」に更新し(ステップ1308)、その結果を開発用クライアント201aに送信する(ステップ1309)。
図12に示すように、開発用クライアント201aのサーバ実行命令処理部205は、実行・非実行の結果を受信すると(ステップ1204)、サーバ実行の処理を終了する(ステップ1205)。
なお、上記(2)テストサーバ差替処理と(3)テストサーバ実行処理の過程において、ソフトウェア構成情報データベース223のステータスの確認を行っている。これは、「install」であるとき、テスト用サーバ203のアプリケーションバージョンがその列のバージョンであることを示し、「operating」であるとき、その列のバージョンが、テスト用サーバ203上で実行中であることを示している。つまり、実行アプリケーションのプロセスを、テスト用サーバ203上のバージャン管理エージェント216によって実行されている。
本実施例においては、差替え時のチェック(図7のステップ706)により、差替えの排他性が確保され、実行時のチェック(図13のステップ1304)により、実行の排他性が確保できる。
本実施例においては、差替え時のチェック(図7のステップ706)により、差替えの排他性が確保され、実行時のチェック(図13のステップ1304)により、実行の排他性が確保できる。
101:開発対象のアプリケーションをテスト動作させるテスト用サーバ
102a〜102c:アプリケーションを開発するための開発用クライアント
103:バージョン管理制御,差替え制御,実行処理制御を処理するバージョン管理サーバ
104:LANまたはネットワーク
105:バージョン管理のためのアプリケーションソフトウェア構成情報を格納するデータベース群
106:バージョン管理対象であるアプリケーションのコンパイル済みバイナリファイル及びソースファイルを備えたファイルサーバ
201a〜201b:コーディング,コンパイル,実行命令を出す開発用クライアント
202:バージョン管理制御,差替え制御,実行処理制御を処理する開発用サーバ
203:開発対象のアプリケーションをテスト動作させるテスト用サーバ
204:テストサーバでの実行を命令するサーバ実行命令処理部
205:テストサーバでのバイナリ差替えを命令する差替命令処理部
206:管理されているバージョンの一覧を表示するための管理バージョン表示処理部
207:クライアントが一覧の表示,編集バージョンの情報の表示処理を行う管理バージョン表示処理部
208:クライアントが一覧の表示,編集バージョンの情報を持つバージョン情報保持部
209:管理されているバージョンの一覧を表示するための表示部
211:バージョン管理サーバ
212:バージョン管理サーバ内のサーバ実行の命令制御を処理するサーバ実行命令制御部
213:バージョン管理サーバ内のバージョン管理制御と差替え制御を処理する差替処理制御部
214:差替処理制御部内のソースを管理するソースバージョン管理部
215:差替処理制御部内のバイナリを管理するバイナリバージョン管理部
216:差替処理制御部内のソフトウェア構成を管理するソフトウェア構成管理部
216A:テスト用サーバ内の実行、差替処理を行うバージョン管理エージェント
217:テスト用サーバ内の開発対象アプリケーションをテスト動作させる処理実行部
218:テスト用サーバ内の開発対象アプリケーションのバイナリファイルを差替える差替処理部
219:開発対象アプリケーション(実行環境)
220:バージョン管理サーバよりアクセスされるソフト構成管理データベース群
221:ソースバージョン情報データベース
222:バイナリバージョン情報データベース
223:ソフトウェア構成情報データベース
224:当該アプリケーションの開発成果物であるソースとバイナリを格納するファイルサーバ
225:編集したソースをコンパイルするコンパイラ
1101:ステータスの「install」
1102:ステータスの「operating」
102a〜102c:アプリケーションを開発するための開発用クライアント
103:バージョン管理制御,差替え制御,実行処理制御を処理するバージョン管理サーバ
104:LANまたはネットワーク
105:バージョン管理のためのアプリケーションソフトウェア構成情報を格納するデータベース群
106:バージョン管理対象であるアプリケーションのコンパイル済みバイナリファイル及びソースファイルを備えたファイルサーバ
201a〜201b:コーディング,コンパイル,実行命令を出す開発用クライアント
202:バージョン管理制御,差替え制御,実行処理制御を処理する開発用サーバ
203:開発対象のアプリケーションをテスト動作させるテスト用サーバ
204:テストサーバでの実行を命令するサーバ実行命令処理部
205:テストサーバでのバイナリ差替えを命令する差替命令処理部
206:管理されているバージョンの一覧を表示するための管理バージョン表示処理部
207:クライアントが一覧の表示,編集バージョンの情報の表示処理を行う管理バージョン表示処理部
208:クライアントが一覧の表示,編集バージョンの情報を持つバージョン情報保持部
209:管理されているバージョンの一覧を表示するための表示部
211:バージョン管理サーバ
212:バージョン管理サーバ内のサーバ実行の命令制御を処理するサーバ実行命令制御部
213:バージョン管理サーバ内のバージョン管理制御と差替え制御を処理する差替処理制御部
214:差替処理制御部内のソースを管理するソースバージョン管理部
215:差替処理制御部内のバイナリを管理するバイナリバージョン管理部
216:差替処理制御部内のソフトウェア構成を管理するソフトウェア構成管理部
216A:テスト用サーバ内の実行、差替処理を行うバージョン管理エージェント
217:テスト用サーバ内の開発対象アプリケーションをテスト動作させる処理実行部
218:テスト用サーバ内の開発対象アプリケーションのバイナリファイルを差替える差替処理部
219:開発対象アプリケーション(実行環境)
220:バージョン管理サーバよりアクセスされるソフト構成管理データベース群
221:ソースバージョン情報データベース
222:バイナリバージョン情報データベース
223:ソフトウェア構成情報データベース
224:当該アプリケーションの開発成果物であるソースとバイナリを格納するファイルサーバ
225:編集したソースをコンパイルするコンパイラ
1101:ステータスの「install」
1102:ステータスの「operating」
Claims (6)
- テスト実行用サーバで開発されたアプリケーションを実行するメンテナンスシステムにおいて、
開発対象であるアプリケーションの差替え処理およびテスト実行処理を行うテスト用サーバと、該アプリケーションを実際に記述する開発用クライアントマシンと、ソースプログラムやバージョンを管理し、該テスト用サーバへ差替え処理およびテスト実行処理の制御命令を発行するバージョン管理サーバと、該バージョン管理サーバがバージョン情報を格納するために利用するデータベースと、管理対象のソフトウェア成果物であるソースファイルやバイナリファイルを格納するファイルサーバと、上記各サーバおよびクライアントマシンを相互接続するネットワークとを具備することを特徴とするリモート実行機能を備えたメンテナンスシステム。 - 請求項1に記載のリモート実行機能を備えたメンテナンスシステムにおいて、
前記開発用クライアントマシンは、テストサーバの差替処理を実施した後、前記バージョン管理サーバにサーバ実行命令を送信し、
該バージョン管理サーバは、該サーバ実行命令を受信すると、前記データベースから動作中のプログラムが存在しない場合に、現行バージョンと要求されたバージョンとを比較回路で比較し、比較の結果、相違がない場合には前記テスト用サーバにサーバ実行命令を送信し、
該テスト用サーバは、該サーバ実行命令を受信すると、ライブラリ実行ファイルにアクセスして、開発アプリケーションを読み出し、該アプリケーションを起動して実行し、実行結果を該バージョン管理サーバに送信することを特徴とするリモート実行機能を備えたメンテナンスシステム。 - 請求項1に記載のリモート実行機能を備えたメンテナンスシステムにおいて、
前記開発用クライアントマシンは、前記バージョン管理サーバに差替え要求を送信し、
該バージョン管理サーバは、該差替え要求を受けると、要求バージョンが未登録の場合にはデータベースに登録し、現行バージョンと要求されたバージョンと比較回路で比較し、比較の結果、相違がある場合には前記テスト用サーバへバイナリバージョン情報を送信し、
該テスト用サーバは、該バイナリバージョン情報を受信すると、該テスト用サーバの動作プログラムがない場合には、当該バージョンファイルを前記ファイルサーバから取り込み、差替え処理を実行し、実行結果を該バージョン管理サーバへ送信することを特徴とするリモート実行機能を備えたメンテナンスシステム。 - バージョン情報表示処理を行うメンテナンス方法において、
開発用クライアントマシンは、現編集中ソースの最終更新時間を取り込み、新規に表示要求を受けた場合には、バージョン管理サーバに該当プログラムバージョン要求を送信し、
該バージョン管理サーバは、バージョン要求を受信すると、データベースにアクセスして該データベースからバージョン全情報を読み出し、該開発用クライアントマシンに該情報を送信し、該情報を表示させ、
該バージョン管理サーバは、該開発用クライアントマシンから二度目以降の表示要求を受信すると、該データベースにアクセスして最終更新時間以後の変更情報を検索し、変更分の履歴情報を読み出し、該開発用クライアントマシンに該情報を送信し、
該バージョン管理サーバは、該開発用クライアントマシンから変更バージョン情報の要求を受信すると、該データベースにアクセスして変更バージョン情報を読み出し、該情報を該開発用クライアントマシンに送信して、該クライアントマシンの表示部に表示させることを特徴とするリモート実行機能を備えたメンテナンス方法。 - テストサーバ差替処理を行うメンテナンス方法において、
開発用クライアントマシンは、差替え要求を受けると、現在編集中コードを利用するか否かをチェックし、該コードを利用する場合には、非編集ソースのバージョンを取得し、該ソースをコンパイルした後、当該ソースとコンパイルしたバイナリファイルをファイルサーバに送信し、バージョン管理サーバに新規バージョンソフトウェア構成情報を送信し、
また、編集中コードを利用することなく、既に存在するバージョンを要求した場合には、該バージョン管理サーバへ差替えバージョン情報を送信し、
該バージョン管理サーバは、差替え要求を受信すると、要求バージョンが未登録の場合には、データベースに登録し、現行バージョンと要求されたバージョンとを比較回路で比較し、現行バージョンと同一の場合には、同一である結果を該クライアントマシンに送信し、相違している場合には、テスト用サーバへバイナリバージョン情報を送信し、
テスト用サーバは、差替え要求を受信すると、該テスト用サーバが動作している場合には差替え不可能として、結果を該バージョン管理サーバに返送し、動作していない場合には当該バージョンファイルを該ファイルサーバから取り込み、差替え処理を実行し、実行結果を該バージョン管理サーバに返送し、
該バージョン管理サーバは、差替えが終了している場合には、該データベースにアクセスして情報を更新し、その結果を該クライアントマシンに送信することを特徴とするリモート実行機能を備えたメンテナンス方法。 - テストサーバ実行処理を行うメンテナンス方法において、
開発用クライアントマシンは、サーバ実行命令を受信すると、まずテストサーバ差替え処理を実行し、バージョン管理サーバにサーバ実行命令を送信し、
該バージョン管理サーバは、該サーバ実行命令を受信すると、データベースにアクセスして動作中のプログラムが存在するか否かを確認し、存在しない場合には、現行バージョンと要求されたバージョンとを比較回路で比較し、相違がない場合に該データベースにアクセスして情報を更新し、テスト用サーバにサーバ実行命令を送信し、また、動作中プログラムが存在する場合あるいは現行バージョンと異なるバージョンの場合には、開発用クライアントマシンに非実行の結果を送信し、
該テスト用サーバは、該サーバ実行命令を受信すると、開発アプリケーションを起動して、該アプリケーションを実行し、実行が終了すると、実行終了を該バージョン管理サーバに送信し、
該バージョン管理サーバは、該データベースの情報を更新し、更新結果を該クライアントマシンに送信することを特徴とするリモート実行機能を備えたメンテナンス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005124574A JP2006302066A (ja) | 2005-04-22 | 2005-04-22 | リモート実行機能を備えたメンテナンスシステムおよびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005124574A JP2006302066A (ja) | 2005-04-22 | 2005-04-22 | リモート実行機能を備えたメンテナンスシステムおよびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006302066A true JP2006302066A (ja) | 2006-11-02 |
Family
ID=37470263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005124574A Pending JP2006302066A (ja) | 2005-04-22 | 2005-04-22 | リモート実行機能を備えたメンテナンスシステムおよびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006302066A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009048442A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Software Eng Co Ltd | 構成管理システム |
JP2013143087A (ja) * | 2012-01-12 | 2013-07-22 | Hitachi Systems Ltd | 画面設計レビューシステム、画面設計レビュー表示方法、およびプログラム |
JP2014063352A (ja) * | 2012-09-21 | 2014-04-10 | Nomura Research Institute Ltd | プログラム開発統合管理システム |
US10481926B2 (en) | 2016-11-30 | 2019-11-19 | Lsis Co., Ltd. | Apparatus for compiling script |
-
2005
- 2005-04-22 JP JP2005124574A patent/JP2006302066A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009048442A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Software Eng Co Ltd | 構成管理システム |
JP2013143087A (ja) * | 2012-01-12 | 2013-07-22 | Hitachi Systems Ltd | 画面設計レビューシステム、画面設計レビュー表示方法、およびプログラム |
JP2014063352A (ja) * | 2012-09-21 | 2014-04-10 | Nomura Research Institute Ltd | プログラム開発統合管理システム |
US10481926B2 (en) | 2016-11-30 | 2019-11-19 | Lsis Co., Ltd. | Apparatus for compiling script |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019256B2 (en) | Systems and methods for incremental software development | |
US7133874B2 (en) | Prototyping model for components of a software program | |
US7984424B2 (en) | Isolating declarative code to preserve customizations | |
JP4845153B2 (ja) | 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム | |
JP4828271B2 (ja) | 複数osバージョン用ソフトウェア生成装置及び複数osバージョン用ソフトウェア生成支援プログラム | |
CN101821711B (zh) | 二进制库 | |
US7428559B2 (en) | Versioning model for software program development | |
US20030121024A1 (en) | System and method for building a runtime image from components of a software program | |
CN107193607B (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
US20060080638A1 (en) | Automated multi-platform build and test environment for software application development | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
US9542173B2 (en) | Dependency handling for software extensions | |
US11055078B2 (en) | Systems and methods for deploying software products to environments | |
US7861236B2 (en) | System and method for version control for software development | |
Railić et al. | Architecting continuous integration and continuous deployment for microservice architecture | |
JP7115342B2 (ja) | デバッグ支援システムおよびデバッグ支援方法 | |
JP2006302066A (ja) | リモート実行機能を備えたメンテナンスシステムおよびその方法 | |
Seybold et al. | Experiences of models@ run-time with EMF and CDO | |
US20160335068A1 (en) | Checks for software extensions | |
CN113220279A (zh) | 一种代码索引管理方法、装置、设备及介质 | |
CN108205462A (zh) | 用于内容-应用分离的系统和方法 | |
CN101236507A (zh) | 安装或升级方法和装置 | |
JP2007115155A (ja) | プログラム構造管理装置及びプログラム構造管理プログラム | |
JP2009098963A (ja) | モジュール自動生成システム | |
US9477447B1 (en) | Semantic representations of software extensions |