(57)【要約】    【課題】  アプリケーション開発に際し、プログラムソースのバージョンの食い違いやソースの破壊を効果的に防ぎ、かつ、大規模アプリケーション開発におけるリポジトリ検索時のトラフィック負荷の分散を実現する複数サーバ間のプログラム一元管理システムを提供する。    【解決手段】  アプリケーション開発におけるプログラムソースを一元管理するプログラム管理システムは、最新のプログラムソースを格納するディレクトリであるリポジトリマスタ（１１）を備える特定のサーバ（１０）、リポジトリマスタをミラーリングしたディレクトリであるディレクトリミラー（２１、３１）を備える他のサーバ（２０、３０）、他のサーバのディレクトリミラーに対するプログラムソースの取り出しを行う権限だけが与えられた開発者端末（６０）、特定のサーバのリポジトリマスタの更新を行う権限が与えられた管理者端末（７０）とを含む。【選択図】    図１
2005078157.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション開発におけるプログラムソースを一元管理するプログラム管理システムであって、
最新のプログラムソースを格納するディレクトリであるリポジトリマスタを備える特定のサーバと、
前記リポジトリマスタをミラーリングしたディレクトリであるディレクトリミラーを備える他のサーバと、
前記他のサーバの前記ディレクトリミラーに対する前記プログラムソースの取り出しを行う権限だけが与えられた開発者端末と、
前記特定のサーバの前記リポジトリマスタの更新を行う権限が与えられた管理者端末とを含むことを特徴とするプログラム管理システム。
【請求項２】
前記特定のサーバの前記リポジトリマスタの内容によって、前記他のサーバの前記ディレクトリミラーを一定の時間毎に更新することを特徴とする請求項１に記載のプログラム管理システム。
【請求項３】
前記管理者端末は、前記開発者端末からの前記リポジトリマスタの更新依頼を受け、更新内容が適正である場合に前記リポジトリマスタの更新を行うことを特徴とする請求項１又は請求項２に記載のプログラム管理システム。
【請求項４】
前記ディレクトリミラーを備える前記他のサーバを複数有することを特徴とする請求項１から請求項３の何れか１項に記載のプログラム管理システム。
【請求項５】
アプリケーション開発におけるプログラムソースを一元管理するプログラム管理方法であって、
特定のサーバに、最新のプログラムソースを格納するディレクトリであるリポジトリマスタを格納し、
他のサーバのディレクトリミラーに、前記リポジトリマスタをミラーリングし、
アプリケーション開発の開発者端末に対して、前記他のサーバの前記ディレクトリミラーに対する前記プログラムソースの取り出しを行う権限だけを与え、
管理者端末に対して、前記特定のサーバの前記リポジトリマスタの更新を行う権限を与えることを特徴とするプログラム管理方法。
【請求項６】
前記特定のサーバの前記リポジトリマスタの内容によって、前記他のサーバの前記ディレクトリミラーを一定の時間毎に更新することを特徴とする請求項５に記載のプログラム管理方法。
【請求項７】
前記管理者端末が、前記開発者端末からの前記リポジトリマスタの更新依頼を受け、更新内容が適正である場合に前記リポジトリマスタの更新を行うことを特徴とする請求項５又は請求項６に記載のプログラム管理方法。
【請求項８】
複数の前記他のサーバの複数の前記ディレクトリミラーに、前記リポジトリマスタのミラーリングを行うことを特徴とする請求項５から請求項７の何れか１項に記載のプログラム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発におけるプログラム管理システムに関し、特に、アプリケーション開発に際し、プログラムソースのバージョンの食い違いやソースの破壊を効果的に防ぐことのできるプログラム管理システムに関する。
【背景技術】
【０００２】
サーバに接続された開発者端末からアクセスすることにより、複数の開発者がサーバ上のプログラムソースに対して修正や新規ソースの追加を行うアプリケーション開発においては、プログラムソースの管理やバージョンの管理によってプログラムソースの同期をとり、バージョンの食い違い等の不都合が発生しないようになっている。
【０００３】
一般的には、サーバ上のプログラムソースが置かれているディレクトリである１つのリポジトリによって管理を行うのが通例である。
【０００４】
従来のアプリケーション開発におけるプログラム管理に関する技術としては、例えば、特開平０２−３００９３３号公報（特許文献１）には、コンピュータシステムに必要不可欠なソースユニット、コンパイルユニット、ロードモジュールを含むコンピュータシステムのプログラム情報を、プログラム管理ファイルによって一元管理することで、プログラムの開発及び管理や保守を支援するプログラム開発管理支援システムが開示されている。
【０００５】
さらに、特開平０７−３１９６７９号公報（特許文献２）には、ＣＳＳ環境においてプログラミングを行う際に、汎用的な処理をプログラミングパーツとして作成し、サーバにリポジトリとして保持し、開発者端末からプログラムパーツのメンテナンスが行われた場合には、影響のある開発者端末に対してパーツの更新を通知することで、複数の開発者によるプログラミングにおいて発生しやすいバージョンのずれを防止するプログラミング支援方式が開示されている。
【特許文献１】特開平０２−３００９３３号公報
【特許文献２】特開平０７−３１９６７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、大規模なアプリケーション開発においては、短期間に数百名に及ぶ開発者により同時のアプリケーション開発が行われることがあり、このような場合、従来のリポジトリによるプログラム管理方法では、サーバ上の１つのリポジトリへのアクセスが集中してトラフィック負荷が増大し、このことがアプリケーション開発のボトルネックとなると共に、リポジトリ（プログラムソース）の破壊や、プログラムソースのバージョンの食い違いが発生する可能性があった。
【０００７】
本発明の目的は、アプリケーション開発に際し、プログラムソースのバージョンの食い違いやソースの破壊を効果的に防ぎ、かつ、大規模アプリケーション開発におけるリポジトリ検索時のトラフィック負荷の分散を実現する複数サーバ間のプログラム一元管理システムを提供する。
【課題を解決するための手段】
【０００８】
本発明の特徴は、ある一つのサーバ上のリポジトリマスタを複数サーバにミラーリングし、かつソースプログラムの利用権限の制限することにより、プログラムソースを一元管理して、プログラムソースのバージョンの食い違いやソースの破壊を効果的に防ぎ、かつ、大規模アプリケーション開発におけるリポジトリ検索時のトラフィック負荷の分散を実現することである。
【０００９】
本発明のプログラム管理システムによれば、アプリケーション開発におけるプログラムソースを一元管理するプログラム管理システムであって、最新のプログラムソースを格納するディレクトリであるリポジトリマスタを備える特定のサーバと、前記リポジトリマスタをミラーリングしたディレクトリであるディレクトリミラーを備える他のサーバと、前記他のサーバの前記ディレクトリミラーに対する前記プログラムソースの取り出しを行う権限だけが与えられた開発者端末と、前記特定のサーバの前記リポジトリマスタの更新を行う権限が与えられた管理者端末とを含むことを特徴とする。
【００１０】
また、本発明のプログラム管理方法によれば、アプリケーション開発におけるプログラムソースを一元管理するプログラム管理方法であって、特定のサーバに、最新のプログラムソースを格納するディレクトリであるリポジトリマスタを格納し、他のサーバのディレクトリミラーに、前記リポジトリマスタをミラーリングし、アプリケーション開発の開発者端末に対して、前記他のサーバの前記ディレクトリミラーに対する前記プログラムソースの取り出しを行う権限だけを与え、管理者端末に対して、前記特定のサーバの前記リポジトリマスタの更新を行う権限を与えることを特徴とする。
【発明の効果】
【００１１】
本発明の複数サーバ間プログラム一元管理システムによれば、以下に述べるような優れた効果が得られる。
【００１２】
第１に、ある１つのサーバ上のリポジトリマスタでプログラムソースを管理することによって、サーバＢ、サーバＣで同じプログラムソースを利用することができることである。一定時間毎に特定のサーバ上のリポジトリマスタをディレクトリミラーを備える他のサーバがミラーリングしていることにより、常にサーバＢ上のディレクトリミラー内のプログラムソースとサーバＣ上のディレクトリミラー内のプログラムソースが同じものになる。よって、プログラムソースバージョンの食い違いを無くすことができる。
【００１３】
第２に、リポジトリマスタを更新できる権限を有する管理者端末とプログラムソースのチェックアウト権限だけを有する開発者端末に分けたことにより、リポジトリマスタ内のプログラムソースの破壊の恐れが少なくなり、安全性が向上する。
【００１４】
アプリケーション開発者全員がリポジトリマスタを更新できる権限を与えられていると危険が多い。そこで、管理者端末にだけリポジトリマスタを更新できる権限を与え、開発者端末はリポジトリマスタからではなく、サーバＢ、サーバＣ上のディレクトリミラーからプログラムソースをチェックアウトするようにすれば、リポジトリマスタ内のプログラムソースの破壊の可能性は少なくなる。
【００１５】
第３に、大規模アプリケーション開発におけるトラフィックの負荷分散を実現することができる。サーバＢ、サーバＣにそれぞれ、常に最新ソースが置かれてあるディレクトリミラーを設けることにより、アプリケーション開発者全員がサーバＡ上のリポジトリマスタにアクセスすることがなくなり、大規模アプリケーション開発におけるトラフィックの負荷分散につながる。
【実施例】
【００１６】
以下、本発明の好ましい実施例について図面を参照して詳細に説明する。
【００１７】
図１は、本発明の好適な一実施例による複数サーバ間プログラム一元管理システムの構成を示すブロック図である。
【００１８】
本実施例による複数サーバ間プログラム一元管理システムは、図１に示すように、サーバ（Ａ）１０、サーバ（Ｂ）２０、サーバ（Ｃ）３０を含む複数のサーバと、サーバ（Ｂ）２０及びサーバ（Ｃ）３０と接続される複数のクライアント５０で構成されている。
【００１９】
サーバ（Ａ）１０、サーバ（Ｂ）２０、サーバ（Ｃ）３０は、互いにネットワーク等で接続され、上記クライアント５０もネットワークやインターネット等の手段によりサーバ（Ｂ）２０及びサーバ（Ｃ）３０に接続されている。
【００２０】
ここで、サーバ（Ａ）１０は、プログラムソース管理のためのサーバであり、最新のプログラムソースが置かれてあるディレクトリであるリポジトリマスタ１１が格納されている。
【００２１】
サーバ（Ｂ）２０、サーバ（Ｃ）３０は、クライアントがチェックアウトするプログラムソースが格納されているサーバである。
【００２２】
サーバ（Ｂ）２０とサーバ（Ｃ）３０には、サーバ（Ａ）１０のリポジトリマスタ１１をミラーリングしているディレクトリであるディレクトリミラー２１、３１がそれぞれ格納されている。
【００２３】
クライアント５０は、サーバ（Ｂ）２０、サーバ（Ｃ）３０と接続されている端末であり、このクライアント５０によってプログラムソース作成、プログラムソース修正などが行われる。このクライアント５０には、開発者端末６０と管理者端末７０が含まれている。
【００２４】
開発者端末６０は、サーバ（Ｂ）２０、サーバ（Ｃ）３０のディレクトリミラー２１、３１から取り出したプログラムソースの修正やソースの新規作成だけを行う権限が与えられているアプリケーション開発者の端末である。
【００２５】
管理者端末７０は、サーバ（Ａ）１０上のリポジトリマスタ１１を更新できる権限を与えられているアプリケーション開発者の端末である。
【００２６】
サーバ（Ｂ）２０、サーバ（Ｃ）３０上のディレクトリミラー２１、３１は、サーバ（Ａ）１０上のリポジトリマスタ１１をミラーリングしているわけであるが、具体的には、一定時間毎にリポジトリマスタ１１の内容によってそれぞれのディレクトリミラー２１、３１を更新する仕組みとなっている。これにより、仮にアプリケーション開発者がディレクトリミラー２１、３１を更新しても、ディレクトリミラー２１、３１は一定時間後にはリポジトリマスタ１１の内容で上書きされることになる。
【００２７】
なお、ディレクトリミラー２１、３１の更新を行う時間については、アプリケーション開発の規模等に応じて任意に定めるものとする。
【００２８】
なお、図１の構成において、サーバ（Ａ）１０、サーバ（Ｂ）２０、サーバ（Ｃ）３０及び開発者端末６０、管理者端末７０は、それぞれプログラム制御可能なコンピュータ処理部（ＣＰＵ）を備え、プログラム管理のためのプログラムが実行されることで、サーバ（Ａ）１０のリポジトリマスタのサーバ（Ｂ）２０及びサーバ（Ｃ）３０へのミラーリング、管理者端末７０によるリポジトリマスタの更新が行われる。管理プログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理部（ＣＰＵ）のメモリにロードされ、コンピュータ処理部の動作を制御することにより管理に必要な各機能を実現する。
【００２９】
次いで、上記のように構成される本実施例による複数サーバ間プログラム一元管理システムの動作について図面を参照して説明する。
【００３０】
ソース新規作成時における処理の具体例について、図２を参照して以下に説明する。
（１）クライアント５０である開発者端末６０がソースの新規作成を行った後、リポジトリマスタ１１を更新できる権限をもっている管理者端末７０に対して、プログラムソースのリポジトリへの登録（チェックイン）を依頼する。
（２）チェックイン依頼を受けた管理者端末７０は、プログラムソースが内容的に正しいことやコンパイルが通ることを確認し、その後、サーバ１０のリポジトリマスタ１１に対して新規作成したソースのチェックインを行う。
【００３１】
ソース修正必要時における処理は、図３に示す流れによって行われる。
（１）クライアント５０である開発者端末６０が自分の使用しているサーバのディレクトリミラー（図３においては、サーバ（Ｂ）２０のディレクトリミラー２１）からプログラムソースを取り出す（チェックアウト）。
（２）開発者端末６０は、チェックアウトしたプログラムソースに対して修正を行い、管理者端末７０に対して、プログラムソースのリポジトリマスタ１１へのチェックインを依頼する。
（３）チェックイン依頼を受けた管理者端末７０は、修正したプログラムソースが内容的に正しいことや正常にコンパイルできることを確認し、その後、リポジトリマスタ１１に対して修正したプログラムソースのチェックインを行う。
【００３２】
ソース削除時における処理は、図４に示す流れによって行われる。
（１）クライアント５０の開発者端末６０が、管理者端末７０に対してプログラムソース削除を依頼する。このプログラムソース削除の依頼に際しては、削除すべきソースを特定する。
（２）削除依頼を受けた管理者端末７０は、削除の是非を確認した後、リポジトリマスタ１１から依頼されたプログラムソースを削除する。
【００３３】
以上好ましい実施例及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施例によるアプリケーション開発におけるプログラム一元管理システムの構成を示すブロック図である。
【図２】本発明の一実施例によるプログラム一元管理システムにおけるソース新規作成時の処理の流れを示す図である。
【図３】本発明の一実施例によるプログラム一元管理システムにおけるソース修正時の処理の流れを示す図である。
【図４】本発明の一実施例によるプログラム一元管理システムにおけるソース削除時の処理の流れを示す図である。
【符号の説明】
【００３５】
１０：サーバ（Ａ）
１１：リポジトリマスタ
２０：サーバ（Ｂ）
２１：ディレクトリミラー
３０：サーバ（Ｃ）
３１：ディレクトリミラー
５０：クライアント
６０：開発者端末
７０：管理者端末
【図１】
2005078157.tif 000003
【図２】
2005078157.tif 000004
【図３】
2005078157.tif 000005
【図４】
2005078157.tif 000006