(57)【要約】【課題】ソースプログラムを本番環境へ適用する技術に関して、適用作業における人の手間を軽減でき、時間を短くでき、ミスや不整合を防止することができる技術を提供する。【解決手段】ソースプログラム適用システムは、管理ツールを備える作業端末と、ソースプログラムを管理するソース管理サーバと、本番環境の複数のサーバと、を備える。適用作業は、配布手順、コンパイル手順、及びデプロイ手順を含む。管理ツールは、作業者により入力されたコマンドに従い、配布手順の指示を、ソース管理サーバ及び複数の各サーバに送信して、配布処理を実行させ、コンパイル手順の指示を、複数のサーバの各サーバに送信して、コンパイル処理を実行させ、デプロイ手順の指示を、複数の各サーバに送信して、デプロイ処理を実行させ、各手順の実行結果情報を取得し、適用作業の実行結果情報を含む実行結果画面を表示する。【選択図】図１
2016146119.tif 000002
【特許請求の範囲】
【請求項１】
ソースプログラムを本番環境のコンピュータに適用する適用作業を管理するソースプログラム適用システムであって、
前記適用作業を管理する管理ツールを備える作業端末と、
前記ソースプログラムを管理するソース管理サーバと、
前記本番環境のコンピュータを構成する複数のサーバと、
を備え、
前記適用作業は、配布手順、コンパイル手順、及びデプロイ手順を含む、複数の手順により構成され、前記配布手順は、前記ソース管理サーバから前記複数のサーバの各サーバへ前記ソースプログラムを配布する配布処理を含む手順であり、前記コンパイル手順は、前記複数のサーバの各サーバで前記ソースプログラムをコンパイルして実行形式プログラムを生成するコンパイル処理を含む手順であり、前記デプロイ手順は、前記複数のサーバの各サーバで前記実行形式プログラムをデプロイするデプロイ処理を含む手順であり、
前記管理ツールは、
作業者の操作に基づいて、前記適用作業を行うためのコマンドを入力し、当該コマンドに従い、前記複数の手順の制御を開始する処理を行う処理開始部と、
前記配布手順を制御するための配布指示を、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方に送信して、前記配布処理を実行させ、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方から、前記配布手順の実行結果情報を受信する処理を行う配布部と、
前記コンパイル手順を制御するためのコンパイル指示を、前記複数のサーバの各サーバに送信して、前記コンパイル処理を実行させ、前記複数のサーバの各サーバから、前記コンパイル手順の実行結果情報を受信する処理を行うコンパイル部と、
前記デプロイ手順を制御するためのデプロイ指示を、前記複数のサーバの各サーバに送信して、前記デプロイ処理を実行させ、前記複数のサーバの各サーバから、前記デプロイ手順の実行結果情報を受信する処理を行うデプロイ部と、
前記複数の手順の各手順の実行結果情報に基づいて、適用作業実行結果情報を作成及び保存し、前記適用作業実行結果情報を含む実行結果画面を表示する処理を行う出力部と、
を有する、ソースプログラム適用システム。
【請求項２】
請求項１記載のソースプログラム適用システムにおいて、
前記各手順の実行結果情報は、前記手順毎の処理の実行結果である成功または失敗の情報と、前記手順毎の処理の実行時間の情報と、を含み、
前記適用作業実行結果情報は、前記適用作業の全体の実行結果及び実行時間の情報を含む、
ソースプログラム適用システム。
【請求項３】
請求項１記載のソースプログラム適用システムにおいて、
前記各手順の実行結果情報は、前記手順毎の処理の状態として、未実行または実行中または実行済みの情報を含み、
前記適用作業実行結果情報は、前記適用作業の全体の状態として、未実行または実行中または実行済みの情報を含む、
ソースプログラム適用システム。
【請求項４】
請求項１記載のソースプログラム適用システムにおいて、
前記管理ツールは、設定部を有し、
前記設定部は、前記作業者の操作に基づいて、前記適用作業に係わる、適用対象の前記ソースプログラム及び前記サーバの情報を含む設定情報を設定する、
ソースプログラム適用システム。
【請求項５】
請求項１記載のソースプログラム適用システムにおいて、
バックアップ管理サーバを備え、
前記適用作業における前記複数の手順は、退避手順を含み、前記退避手順は、前記ソース管理サーバから前記ソースプログラムのコピーデータを前記バックアップ管理サーバへバックアップデータとして退避する退避処理を含む手順であり、
前記管理ツールは、前記退避手順を制御するための退避指示を、前記ソース管理サーバと前記バックアップ管理サーバとの少なくとも一方に送信して、前記退避処理を実行させ、前記ソース管理サーバと前記バックアップ管理サーバとの少なくとも一方から、前記退避手順の実行結果情報を受信する処理を行う、
ソースプログラム適用システム。
【請求項６】
請求項１記載のソースプログラム適用システムにおいて、
テスト環境のコンピュータを備え、
前記適用作業における前記複数の手順は、インポート手順を含み、前記インポート手順は、前記テスト環境のコンピュータから前記ソースプログラムを前記ソース管理サーバへ格納するインポート処理を含む手順であり、
前記管理ツールは、前記インポート手順を制御するためのインポート指示を、前記テスト環境のコンピュータと前記ソース管理サーバとの少なくとも一方に送信して、前記インポート処理を実行させ、前記テスト環境のコンピュータと前記ソース管理サーバとの少なくとも一方から、前記インポート手順の実行結果情報を受信する処理を行う、
ソースプログラム適用システム。
【請求項７】
請求項１記載のソースプログラム適用システムにおいて、
前記管理ツールは、前記配布手順の制御の際、前記ソース管理サーバと前記複数のサーバの各サーバとの間で、同時並行的に、前記配布処理を実行させ、前記配布手順の実行結果情報に基づいて、前記配布処理を終了したサーバへ、次の前記コンパイル手順を開始するように、前記コンパイル指示を送信する、
ソースプログラム適用システム。
【請求項８】
請求項１記載のソースプログラム適用システムにおいて、
前記管理ツールは、前記コンパイル手順の制御の際、前記複数のサーバの各サーバで、同時並行的に、前記コンパイル処理を実行させ、前記コンパイル手順の実行結果情報に基づいて、前記コンパイル処理を終了したサーバへ、次の前記デプロイ手順を開始するように、前記デプロイ指示を送信する、
ソースプログラム適用システム。
【請求項９】
請求項１記載のソースプログラム適用システムにおいて、
前記管理ツールは、前記デプロイ手順の制御の際、前記複数のサーバの各サーバで、同時並行的に、前記デプロイ処理を実行させる、
ソースプログラム適用システム。
【請求項１０】
請求項１記載のソースプログラム適用システムにおいて、
前記管理ツールは、前記各手順の実行結果情報に基づいて、前記適用作業における前記複数の手順及び前記複数のサーバにおける、手順毎及びサーバ毎の結果の成功または失敗を把握し、前記作業者の操作に基づいて、前記失敗の部分に対応した手順及びサーバを対象として、前記適用作業に係わる処理を再試行させる、
ソースプログラム適用システム。
【請求項１１】
ソースプログラムを本番環境のコンピュータに適用する適用作業を管理するソースプログラム適用システムにおけるソースプログラム適用方法であって、
前記ソースプログラム適用システムは、前記適用作業を管理する管理ツールを備える作業端末と、前記ソースプログラムを管理するソース管理サーバと、前記本番環境のコンピュータを構成する複数のサーバと、を備え、
前記適用作業は、配布手順、コンパイル手順、及びデプロイ手順を含む、複数の手順により構成され、前記配布手順は、前記ソース管理サーバから前記複数のサーバの各サーバへ前記ソースプログラムを配布する配布処理を含む手順であり、前記コンパイル手順は、前記複数のサーバの各サーバで前記ソースプログラムをコンパイルして実行形式プログラムを生成するコンパイル処理を含む手順であり、前記デプロイ手順は、前記複数のサーバの各サーバで前記実行形式プログラムをデプロイするデプロイ処理を含む手順であり、
前記作業端末の前記管理ツールで行われるステップとして、
作業者の操作に基づいて、前記適用作業を行うためのコマンドを入力し、当該コマンドに従い、前記複数の手順の制御を開始する処理を行うステップと、
前記配布手順を制御するための配布指示を、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方に送信して、前記配布処理を実行させ、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方から、前記配布手順の実行結果情報を受信する処理を行うステップと、
前記コンパイル手順を制御するためのコンパイル指示を、前記複数のサーバの各サーバに送信して、前記コンパイル処理を実行させ、前記複数のサーバの各サーバから、前記コンパイル手順の実行結果情報を受信する処理を行うステップと、
前記デプロイ手順を制御するためのデプロイ指示を、前記複数のサーバの各サーバに送信して、前記デプロイ処理を実行させ、前記複数のサーバの各サーバから、前記デプロイ手順の実行結果情報を受信する処理を行うステップと、
前記複数の手順の各手順の実行結果情報に基づいて、適用作業実行結果情報を作成及び保存し、前記適用作業実行結果情報を含む実行結果画面を表示する処理を行うステップと、
を有する、ソースプログラム適用方法。
【請求項１２】
ソースプログラムを本番環境のコンピュータに適用する適用作業を管理するソースプログラム適用システムにおけるソースプログラム適用プログラムであって、
前記ソースプログラム適用システムは、前記適用作業を管理する管理ツールを備える作業端末と、前記ソースプログラムを管理するソース管理サーバと、前記本番環境のコンピュータを構成する複数のサーバと、を備え、
前記適用作業は、配布手順、コンパイル手順、及びデプロイ手順を含む、複数の手順により構成され、前記配布手順は、前記ソース管理サーバから前記複数のサーバの各サーバへ前記ソースプログラムを配布する配布処理を含む手順であり、前記コンパイル手順は、前記複数のサーバの各サーバで前記ソースプログラムをコンパイルして実行形式プログラムを生成するコンパイル処理を含む手順であり、前記デプロイ手順は、前記複数のサーバの各サーバで前記実行形式プログラムをデプロイするデプロイ処理を含む手順であり、
前記作業端末に前記管理ツールとしての情報処理を行わせるプログラムとして、
作業者の操作に基づいて、前記適用作業を行うためのコマンドを入力し、当該コマンドに従い、前記複数の手順の制御を開始する処理を行わせるプログラムと、
前記配布手順を制御するための配布指示を、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方に送信して、前記配布処理を実行させ、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方から、前記配布手順の実行結果情報を受信する処理を行わせるプログラムと、
前記コンパイル手順を制御するためのコンパイル指示を、前記複数のサーバの各サーバに送信して、前記コンパイル処理を実行させ、前記複数のサーバの各サーバから、前記コンパイル手順の実行結果情報を受信する処理を行わせるプログラムと、
前記デプロイ手順を制御するためのデプロイ指示を、前記複数のサーバの各サーバに送信して、前記デプロイ処理を実行させ、前記複数のサーバの各サーバから、前記デプロイ手順の実行結果情報を受信する処理を行わせるプログラムと、
前記複数の手順の各手順の実行結果情報に基づいて、適用作業実行結果情報を作成及び保存し、前記適用作業実行結果情報を含む実行結果画面を表示する処理を行わせるプログラムと、
を有する、ソースプログラム適用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関する。また、本発明は、ソースプログラムを本番環境のコンピュータに適用する技術に関する。
【背景技術】
【０００２】
ＩＴベンダー等の企業の情報処理システムは、顧客企業の情報処理システムを対象として、設計開発、導入、運用保守管理、等を行うサービスを提供する。企業のシステム・エンジニア（ＳＥ）等の人は、運用保守管理等の作業を含む業務を行う。なお、説明上、運用保守管理等を行う側の企業の情報処理システム及び環境を、管理システム及び社内環境と称する。顧客企業の情報処理システム及び環境を、顧客システム及び本番環境と称する。この運用保守管理等の作業は、管理システムの社内環境のコンピュータに保持しているソースプログラムを、顧客システムの本番環境のコンピュータに適用する作業を含む。この作業を適用作業と称する。
【０００３】
適用作業に関する先行技術例として、特開２００１−５６７２号公報（特許文献１）が挙げられる。特許文献１には、管理用サーバが、ソースプログラム及び指示を、ネットワーク内のサーバ群におけるインストール対象の各サーバへ送信し、各サーバが、指示に従いソースプログラムをコンパイルして実行モジュールとする旨が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、顧客システムの本番環境は、管理システムの社内環境に対して通信網を介して接続される、遠隔の現地の複数のサーバ等により構成される場合がある。その場合、適用作業は、詳しい手順として、配布手順やコンパイル手順を含む場合がある。配布手順は、社内環境のコンピュータからソースプログラムを本番環境の複数の各サーバへ配布する手順である。コンパイル手順は、本番環境の各サーバでソースプログラムをコンパイルして実行形式プログラムを生成する手順である。
【０００６】
適用作業の際、ＳＥ等の人は、適用対象のサーバ毎に順に作業を行い、また、手順毎に複数のコマンドを手動入力する作業や、手順毎の実行結果を待機及び確認する作業等が必要とされる。そのため、従来の適用作業は、人の手間が大きく、比較的時間を要し、適用対象のコンピュータの台数が増えるほど、その手間及び時間が増大する。
【０００７】
また、適用作業の際、工数や情報が多く、社内環境及び本番環境における、複数のコンピュータを対象として、細かい作業を要する。そのため、ヒューマンエラーやミス、例えばサーバ指定ミスやコマンド入力ミス等も発生しやすい。これにより、各コンピュータに格納されるソースプログラムの状態に差異が生じて不整合状態になる危険性もあった。
【０００８】
更に、ソースプログラムの修正が発生した場合、修正版のソースプログラムを用いて適用作業をやり直す必要がある。この際の配布手順では、社内環境のコンピュータから修正版のソースプログラムを本番環境の各サーバへ送信し、各サーバのソースプログラムを上書き修正する。これにより、社内環境及び本番環境における、複数のコンピュータに格納されるソースプログラムを、整合状態にする必要がある。適用作業の繰り返しにより、更に手間及び時間が増大する。
【０００９】
適用作業は、顧客システムの通常利用が一時停止される状態を伴うため、作業可能時間が限られる場合もあり、適用作業の所要時間を短くすることが望まれている。
【００１０】
本発明の目的は、ソースプログラムを本番環境へ適用する技術に関して、適用作業における人の手間を軽減でき、時間を短くでき、ミスや不整合を防止することができる技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明のうち代表的な実施の形態は、ソースプログラム適用システム、等であって、以下に示す構成を有することを特徴とする。
【００１２】
一実施の形態のソースプログラム適用システムは、ソースプログラムを本番環境のコンピュータに適用する適用作業を管理するソースプログラム適用システムであって、前記適用作業を管理する管理ツールを備える作業端末と、前記ソースプログラムを管理するソース管理サーバと、前記本番環境のコンピュータを構成する複数のサーバと、を備え、前記適用作業は、配布手順、コンパイル手順、及びデプロイ手順を含む、複数の手順により構成され、前記配布手順は、前記ソース管理サーバから前記複数のサーバの各サーバへ前記ソースプログラムを配布する配布処理を含む手順であり、前記コンパイル手順は、前記複数のサーバの各サーバで前記ソースプログラムをコンパイルして実行形式プログラムを生成するコンパイル処理を含む手順であり、前記デプロイ手順は、前記複数のサーバの各サーバで前記実行形式プログラムをデプロイするデプロイ処理を含む手順であり、前記管理ツールは、作業者の操作に基づいて、前記適用作業を行うためのコマンドを入力し、当該コマンドに従い、前記複数の手順の制御を開始する処理を行う処理開始部と、前記配布手順を制御するための配布指示を、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方に送信して、前記配布処理を実行させ、前記ソース管理サーバと前記複数のサーバの各サーバとの少なくとも一方から、前記配布手順の実行結果情報を受信する処理を行う配布部と、前記コンパイル手順を制御するためのコンパイル指示を、前記複数のサーバの各サーバに送信して、前記コンパイル処理を実行させ、前記複数のサーバの各サーバから、前記コンパイル手順の実行結果情報を受信する処理を行うコンパイル部と、前記デプロイ手順を制御するためのデプロイ指示を、前記複数のサーバの各サーバに送信して、前記デプロイ処理を実行させ、前記複数のサーバの各サーバから、前記デプロイ手順の実行結果情報を受信する処理を行うデプロイ部と、前記複数の手順の各手順の実行結果情報に基づいて、適用作業実行結果情報を作成及び保存し、前記適用作業実行結果情報を含む実行結果画面を表示する処理を行う出力部と、を有する。
【発明の効果】
【００１３】
本発明のうち代表的な実施の形態によれば、ソースプログラムを本番環境へ適用する技術に関して、適用作業における人の手間を軽減でき、時間を短くでき、ミスや不整合を防止することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態のソースプログラム適用システムの構成、及び適用作業に係わるシーケンスを示す図である。
【図２】一実施の形態における、作業端末の管理ツールの構成を示す図である。
【図３】一実施の形態における、本番環境のサーバの構成を示す図である。
【図４】一実施の形態における、管理ツールの処理フローを示す図である。
【図５】一実施の形態における、作業端末の実行結果画面の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１６】
図１〜図５を用いて、本発明の一実施の形態のソースプログラム適用システムについて説明する。
【００１７】
［ソースプログラム適用システム］
図１は、一実施の形態のソースプログラム適用システムの構成、及び適用作業に係わるシーケンスを示す。一実施の形態のソースプログラム適用システムは、通信網９を介して接続される管理システムと顧客システムとを有する。通信網９は例えば専用回線である。
【００１８】
管理システムは、社内環境を構成する要素として、作業端末１、ソース管理サーバ２、及びバックアップ管理サーバ３を含み、これらは図示しないＬＡＮ等の通信手段で接続されている。また、管理システムは、図示しないテスト環境を含む。顧客システムは、本番環境を構成する要素として、複数のサーバ４を含み、これらは図示しないＬＡＮ等の通信手段で接続されている。
【００１９】
管理システムにおいて、ＳＥ等のユーザは、作業端末１を使用する。ＳＥは、適用作業を行う作業者である。ＳＥは、作業端末１で管理ツール１０を操作しながら適用作業を行う。図１の例では、ＳＥとして、第１ＳＥ、第２ＳＥの二人を有し、二人がペアで適用作業を行う。第１ＳＥは、適用作業の全体における入力や確認等の作業を行い、第２ＳＥは、第１ＳＥによる作業にミスが無いかチェックする作業等を行う。
【００２０】
作業端末１は、ＰＣ等のコンピュータにより構成され、ソフトウェアとして、管理ツール１０を備える。管理ツール１０は、ソースプログラム適用プログラムである。作業端末１は、図示しないプロセッサ、メモリ、通信インタフェース装置、入力装置、表示装置、等のハードウェア、及びＯＳ等のソフトウェアを備え、当該ハードウェアに基づいて、管理ツール１０のプログラム処理を実行し、プロセスとして稼動させる。
【００２１】
ソース管理サーバ２は、ソースプログラム５ａを管理するサーバである。ソース管理サーバ２は、テスト環境からインポートされたソースプログラム５ａを、自身に備える記憶手段に格納する。ソース管理サーバ２は、図示しないプロセッサ、メモリ、通信インタフェース装置、等のハードウェアを備え、ＯＳやサーバプログラム等のソフトウェアを備え、当該ハードウェアに基づいたソフトウェア処理により、ソースプログラム５ａを管理する処理を実現する。
【００２２】
テスト環境のコンピュータでは、ＳＥ等の人により、ソースプログラム５ａの作成、テスト、検証等が行われる。ソースプログラム５ａは、本番環境を構成するためのプログラムである。
【００２３】
バックアップ管理サーバ３は、ソースプログラム５ａのバックアップデータであるソースプログラム５ｂを管理するサーバである。バックアップ管理サーバ３は、ソース管理サーバ２から退避されたソースプログラム５ｂを、自身に備える記憶手段に格納する。バックアップ管理サーバ３は、図示しないプロセッサ、メモリ、通信インタフェース装置、等のハードウェアを備え、ＯＳやサーバプログラム等のソフトウェアを備え、当該ハードウェアに基づいたソフトウェア処理により、ソースプログラム５ｂを管理する処理を実現する。
【００２４】
顧客システムの本番環境において、複数（ｎとする）のサーバ４として、サーバ４１，サーバ４２，……，サーバ４ｎを有する。なお、サーバ４の管理上のＩＤとして、サーバ４１が「ＳＶ１」、サーバ４２が「ＳＶ２」、サーバ４ｎが「ＳＶｎ」、等とする。サーバ４は、ソースプログラム６に基づいた実行形式プログラム７を実行してインスタンス８として稼動させる。サーバ４は、図示しないプロセッサ、メモリ、通信インタフェース装置、等のハードウェア、及び、ＯＳやサーバプログラム等のソフトウェアを備える。サーバ４は、例えばＷｅｂアプリケーションサーバであり、顧客システムのユーザに対してＷｅｂアプリケーションによるサービスを提供する。ソースプログラム６は、例えばＷｅｂアプリケーションを構成するためのｊａｖａ（登録商標）プログラムやシステムプログラムである。サーバ４は、例えば仮想サーバソフトウェアを備え、ソースプログラム６及び仮想サーバソフトウェアに基づいて、仮想サーバをインスタンス８として稼動させる。
【００２５】
サーバ４は、ソース管理サーバ２からソースプログラム５ａに基づいて配布されたソースプログラム６を格納する。例えば、サーバ４１はソースプログラム６１を格納し、サーバ４ｎはソースプログラム６ｎを格納する。
【００２６】
サーバ４は、ソースプログラム６のコンパイルにより実行形式プログラム７を生成する。例えば、サーバ４１はソースプログラム６１のコンパイルにより実行形式プログラム７１を生成し、サーバ４ｎはソースプログラム６ｎのコンパイルにより実行形式プログラム７ｎを生成する。なお、コンパイルとは、ソースプログラム６を、コンピュータであるサーバ４上で実行可能な形式のプログラムである実行形式プログラム７へ変換することである。
【００２７】
サーバ４は、実行形式プログラム７のデプロイによりインスタンス８の状態にする。例えば、サーバ４１は実行形式プログラム７１のデプロイによりインスタンス８１の状態にし、サーバ４ｎは実行形式プログラム７ｎのデプロイによりインスタンス８ｎの状態にする。なお、デプロイとは、実行形式プログラム７であるオブジェクトコードを、コンピュータであるサーバ４内の所定の位置に配置及び展開して、インスタンス８の状態にすることである。言い換えると、デプロイとは、実行形式プログラム７を、顧客システムのユーザからのサービス要求を受け付け可能な準備状態にすることである。
【００２８】
［管理ツール及び適用作業］
本実施の形態のソースプログラム適用システムは、管理ツール１０を提供する。管理ツール１０は、ソースプログラムを本番環境へ適用する適用作業を含む、運用保守管理等の作業を統合管理及び支援するためのソフトウェアである。
【００２９】
本実施の形態における適用作業は、管理システムの社内環境のソースプログラム５ａを、顧客システムの本番環境の複数のサーバ４であるサーバ４１〜４ｎへ適用する作業である。この適用作業は、手順として、退避手順、配布手順、コンパイル手順、及びデプロイ手順を含む。図１のステップＳ１は退避手順に対応し、ステップＳ２は配布手順に対応し、ステップＳ３はコンパイル手順に対応し、ステップＳ４はデプロイ手順に対応する。
【００３０】
退避手順は、ソース管理サーバ２のソースプログラム５ａのバックアップデータを、バックアップ管理サーバ３にソースプログラム５ｂとして退避する手順である。配布手順は、ソース管理サーバ２のソースプログラム５ａのコピーデータを、本番環境の各サーバ４に送信して配布する手順である。コンパイル手順は、サーバ４でソースプログラム６をコンパイルして実行形式プログラム７を生成する手順である。デプロイ手順は、サーバ４で実行形式プログラム７を配置及び展開してインスタンス８の状態にする手順である。
【００３１】
管理ツール１０は、適用作業における複数の手順に関して、処理の自動化及び一括管理を行う。これにより、管理ツール１０は、適用作業におけるＳＥの手間を軽減し、適用作業の所要時間を短くし、ヒューマンエラーやミスを防止する。ヒューマンエラーやミスとしては、コマンド、手順、サーバ、ソースプログラム、等の漏れや誤りがある。
【００３２】
また、管理ツール１０は、自動化及び一括管理等により、社内環境及び本番環境における、複数の各コンピュータに格納される複数の各ソースプログラム間の整合性を確保し、不整合の発生を防止する。管理ツール１０は、適用作業の際、社内環境のソース管理サーバ２のソースプログラム５ａと、本番環境の各サーバ４のソースプログラム６とを含む、各コンピュータのソースプログラム間で、バージョン等を同期させることにより、整合状態にする。
【００３３】
管理ツール１０は、ＳＥにより入力されるコマンドに対して、複数のジョブ等の処理が定義されている。作業端末１の管理ツール１０は、ジョブ毎の処理を実行する際、ジョブ毎の処理に対応する指示を、対象コンピュータへ送信する。対象コンピュータは、手順に応じた、ソース管理サーバ２やサーバ４等である。各指示は、ＬＡＮを通じた指示や、通信網９を通じた遠隔アクセスによる指示である。
【００３４】
各対象コンピュータは、作業端末１の管理ツール１０から受信した、手順毎の指示に従い、ジョブ毎の処理を実行する。各対象コンピュータは、手順毎の処理の実行結果情報を、作業端末１の管理ツール１０へ送信する。管理ツール１０は、各対象コンピュータから、手順毎の実行結果情報を受信し、適用作業の実行結果情報の一部として保持する。
【００３５】
［管理ツールの構成］
図２は、作業端末１の管理ツール１０の構成を示す。管理ツール１０は、処理部として、設定部１１、インポート部１２、処理開始部１３、退避部１４、配布部１５、コンパイル部１６、デプロイ部１７、実行結果処理部１８、及び出力部１９を有する。管理ツール１０は、設定情報２１、実行結果情報２２、等の情報を管理する。
【００３６】
設定部１１は、ユーザであるＳＥによる設定操作に基づいて、適用作業に係わる設定情報２１を設定し、保持する。設定情報２１は、指示先の対象コンピュータの通信アドレス情報として、例えばソース管理サーバ２のＩＰアドレス、バックアップ管理サーバ３のＩＰアドレス、及び複数の各サーバ４のＩＰアドレスを含む。また、設定部１１は、設定情報２１として、どのソースプログラム５ａをどのサーバ４に適用するかといった、適用対象のソースプログラム５ａと適用対象のサーバ４との対応関係情報を設定可能である。
【００３７】
インポート部１２は、ソース管理サーバ２等と通信し、テスト環境のコンピュータからソースプログラム５ａをソース管理サーバ２にインポートする処理を管理する。
【００３８】
処理開始部１３は、ユーザによる所定のコマンドの入力を受け付け、入力されたコマンドに従い、適用作業の各手順の処理を開始させる制御を行う。処理開始部１３は、複数のジョブの定義に基づいて、各手順に対応付けられた各指示の発行を管理する。また、処理開始部１３は、ユーザインタフェースとして、コマンドラインやＷｅｂページによる画面を提供する。ＳＥは、コマンドラインでコマンドを直接入力してもよいし、Ｗｅｂページによる画面での項目の選択により当該項目に対応付けられたコマンドを入力してもよい。
【００３９】
退避部１４は、ソース管理サーバ２及びバックアップ管理サーバ３と通信し、退避手順の指示Ｍ１を与えることにより、図１のＳ１の退避手順の処理を制御する。退避部１４は、ソース管理サーバ２及びバックアップ管理サーバ３から、退避手順の処理の実行結果情報Ｒ１を受信する。
【００４０】
配布部１５は、ソース管理サーバ２及び適用対象である複数の各サーバ４と通信し、配布手順の指示Ｍ２を送信することにより、図１のＳ２の配布手順の処理を制御する。配布部１５は、複数の各サーバ４から、配布手順の処理の実行結果情報Ｒ２を受信する。
【００４１】
コンパイル部１６は、適用対象である複数の各サーバ４と通信し、コンパイル手順の指示Ｍ３を送信することにより、図１のＳ３のコンパイル手順の処理を制御する。コンパイル部１６は、複数の各サーバ４から、コンパイル手順の処理の実行結果情報Ｒ３を受信する。
【００４２】
デプロイ部１７は、適用対象である複数の各サーバ４と通信し、デプロイ手順の指示Ｍ４を送信することにより、図１のＳ４のデプロイ手順の処理を制御する。デプロイ部１７は、複数の各サーバ４から、デプロイ手順の処理の実行結果情報Ｒ４を受信する。
【００４３】
実行結果処理部１８は、Ｓ１〜Ｓ４の各手順の処理の実行結果情報Ｒ１〜Ｒ４を取得してまとめることにより、適用作業単位の実行結果情報２２を作成し、作業端末１内の記憶手段に格納する。実行結果情報Ｒ１〜Ｒ４は、手順毎の実行結果情報である。適用作業単位の実行結果情報２２は、手順毎の情報を総合した情報や、サーバ４毎の情報を総合した情報を含む。実行結果処理部１８は、適用作業単位の実行結果情報２２を、汎用的な形式のファイルで作成してＤＢに保存し、複数の実行結果情報２２についての履歴情報も管理する。
【００４４】
なお、実行結果情報２２のＤＢは、作業端末１の外部に設けられたＤＢでもよい。管理システム内に、実行結果情報２２のＤＢを管理するサーバ等が別に設けられてもよい。
【００４５】
出力部１９は、Ｓ１〜Ｓ４の各手順の処理の実行結果情報Ｒ１〜Ｒ４、及び適用作業単位の実行結果情報２２に基づいて、適用作業の実行結果画面の表示データを作成し、表示データに基づいて、作業端末１の表示装置に、適用作業の実行結果画面を表示する。出力部１９は、適用作業の進行に伴い、実行結果情報Ｒ１〜Ｒ４を用いて、実行結果画面の表示内容を更新する。
【００４６】
ＳＥは、作業端末１で実行結果画面を見ながら適用作業を行うことができ、適用作業の進行状況や結果を把握することができる。ＳＥは、適用作業中には実行結果画面を見ずに、適用作業を一通り終えてから、実行結果画面で結果を確認することもできる。ＳＥは、作業端末１の画面で、実行結果情報２２のファイルをＤＢから検索して読み出して表示し、内容を確認することもできる。ＳＥは、実行結果情報２２のファイルを作業端末１からから他の装置へ転送し、他の装置でその内容を確認することもできる。ＳＥは、他の装置から作業端末１またはＤＢにアクセスし、実行結果情報２２のファイルを取得することもできる。
【００４７】
［サーバの構成］
図３は、適用対象のサーバ４の構成を示す。サーバ４は、ソフトウェア処理により実現される処理部として、指示受信部４０１、配布受信部４０２、コンパイル処理部４０３、デプロイ処理部４０４、及び結果送信部４０５を有する。
【００４８】
指示受信部４０１は、作業端末１の管理ツール１０から、通信網９を介して、適用作業の各手順に応じた指示を受信する。この指示は、指示Ｍ２、指示Ｍ３、指示Ｍ４がある。
【００４９】
結果送信部４０５は、配布受信部４０２、コンパイル処理部４０３、及びデプロイ処理部４０４における各手順の処理の実行結果情報Ｒ２，Ｒ３，Ｒ４を作成し、それらの手順単位の実行結果情報４１０を、サーバ４内の記憶手段に保持する。結果送信部４０５は、各指示に対する応答として、各手順の処理の実行結果情報Ｒ２，Ｒ３，Ｒ４を、手順毎に、通信網９を介して、作業端末１の管理ツール１０へ送信する。
【００５０】
指示受信部４０１は、指示Ｍ２を受信した場合、指示Ｍ２に従い、配布手順の処理の命令を、配布受信部４０２へ与える。配布受信部４０２は、命令に従い、ソース管理サーバ２からソースプログラム５ａのコピーデータを受信してソースプログラム６として格納する処理を行う。配布受信部４０２は、配布手順の処理の状態及び結果を情報として出力する。結果送信部４０５は、その情報から、配布受信部４０２による配布手順の処理の状態及び結果を把握し、実行結果情報Ｒ２を作成し、管理ツール１０へ送信する。
【００５１】
指示受信部４０１は、指示Ｍ３を受信した場合、指示Ｍ３に従い、コンパイル手順の処理の命令を、コンパイル処理部４０３へ与える。コンパイル処理部４０３は、命令に従い、ソースプログラム６をコンパイルして実行形式プログラム７を生成する処理を行う。コンパイル処理部４０３は、コンパイルに必要なライブラリ等のデータを備えている。コンパイル処理部４０３は、コンパイル手順の処理の状態及び結果を情報として出力する。結果送信部４０５は、その情報から、コンパイル処理部４０３によるコンパイル手順の処理の状態及び結果を把握し、実行結果情報Ｒ３を作成し、管理ツール１０へ送信する。
【００５２】
指示受信部４０１は、指示Ｍ４を受信した場合、指示Ｍ４に従い、デプロイ手順の処理の命令を、デプロイ処理部４０４へ与える。デプロイ処理部４０４は、命令に従い、実行形式プログラム７を所定の位置へ配置及び展開してインスタンス８の状態にする処理を行う。デプロイ処理部４０４は、デプロイ手順の処理の状態及び結果を情報として出力する。結果送信部４０５は、その情報から、デプロイ処理部４０４によるデプロイ手順の処理の状態及び結果を把握し、実行結果情報Ｒ４を作成し、管理ツール１０へ送信する。
【００５３】
［適用作業のシーケンス］
図１で、適用作業を含む全体的な作業のシーケンスについて説明する。図１で、S101，S102，S103，Ｓ１〜Ｓ４は、ステップを表す。以下、図１の各ステップを順に説明する。
【００５４】
（S101）  管理システムの社内環境において、ＳＥの操作に基づいて、テスト環境のコンピュータからテスト済みの最新のソースプログラム５ａをソース管理サーバ２へ取り込むインポートを行う。なお、本実施の形態では、このインポートは、適用作業の前段階のインポート手順として位置付けられる。
【００５５】
（S102）  ＳＥは、適用作業を行う際、作業端末１で、管理ツール１０に必要な情報を設定済みの状態で、画面で、適用作業を実行させるための所定のコマンドを入力する。管理ツール１０は、入力されたコマンドに従い、適用作業におけるＳ１〜Ｓ４に対応した手順の処理を開始させる。管理ツール１０は、各手順に対応させて、所定の順序及びタイミングで、指示を各対象コンピュータへ送信する。対象コンピュータは、一連の手順のうち、指示に応じた手順の処理を自動的に実行し、手順毎の実行結果情報を管理ツール１０へ送信する。管理ツール１０は、手順毎の実行結果情報に基づいて、ある手順の終了後に、次の手順のための指示を送信する。
【００５６】
（S103）  管理ツール１０は、適用作業の処理中、各対象コンピュータから、手順毎の実行結果情報を受信及び取得し、それらを適用作業の実行結果情報２２としてまとめ、実行結果情報２２に基づいて実行結果画面を表示する。実行結果情報２２は、各手順の結果として成功または失敗、及び各手順の時間、等の情報を含む。ＳＥは、実行結果画面を見て確認し、適用作業のすべての手順やサーバ４の結果が成功であった場合、適用作業を終了する。ＳＥは、適用作業の一部の手順やサーバ４の結果が失敗であった場合、後述するが、その手順及びサーバ４を対象とした適用作業を行う。
【００５７】
また、ソースプログラム５ａの修正が発生した場合、S101に戻り、同様に適用作業を行う。その場合、S101では、テスト環境のコンピュータから修正版のソースプログラム５ａがソース管理サーバ２にインポートされる。そして、ＳＥは、修正版のソースプログラム５ａを対象として、S102以降の手順を同様に行う。
【００５８】
適用作業におけるＳ１〜Ｓ４に対応した一連の手順については以下である。
【００５９】
（Ｓ１）  管理ツール１０は、まず、退避手順の指示Ｍ１を、ソース管理サーバ２及びバックアップ管理サーバ３へ送信する。これにより、ソース管理サーバ２とバックアップ管理サーバ３との間で、ソースプログラム５ａの退避処理を実行させる。即ち、ソース管理サーバ２は、ソースプログラム５ａのコピーデータをバックアップ管理サーバ３へ送信し、バックアップ管理サーバ３は、受信したコピーデータをバックアップデータであるソースプログラム５ｂとして格納する。ソース管理サーバ２及びバックアップ管理サーバ３は、退避処理の実行結果情報Ｒ１を、作業端末１の管理ツール１０へ送信する。
【００６０】
なお、本実施の形態では、管理ツール１０は、指示Ｍ１として、ソース管理サーバ２及びバックアップ管理サーバ３の両方へ直接的に指示を送信する。指示の与え方はこれに限定されない。変形例として、管理ツール１０は、ソース管理サーバ２及びバックアップ管理サーバ３の一方へ指示Ｍ１を与えてもよい。例えば、管理ツール１０は、指示Ｍ１をソース管理サーバ２へ送信し、指示Ｍ１を受信したソース管理サーバ２は、指示Ｍ１に対応する指示をバックアップ管理サーバ３へ送信する。
【００６１】
（Ｓ２）  管理ツール１０は、Ｓ１の退避手順の終了後、配布手順の指示Ｍ２を、ソース管理サーバ２、及び適用対象である複数の各サーバ４へ送信する。本例では適用対象のサーバ４はサーバ４１〜４ｎである。これにより、ソース管理サーバ２と複数の各サーバ４との間で、並列的に、ソースプログラム５ａの配布処理を実行させる。即ち、ソース管理サーバ２は、ソースプログラム５ａのコピーデータを、通信網９を通じて、複数の各サーバ４へ同時並行的に送信する。複数の各サーバ４は、受信したコピーデータを当該サーバ４内のソースプログラム６として格納する。例えばサーバ４１はソースプログラム６１を格納する。
【００６２】
Ｓ２は、複数のサーバ４に対応して、複数のステップＳ２１〜Ｓ２ｎから成る。Ｓ２１は、ソース管理サーバ２からサーバ４１へコピーデータを送信してサーバ４１がソースプログラム６１として格納する手順を示す。同様に、Ｓ２２はサーバ４２への配布、Ｓ２ｎはサーバ４ｎへの配布を示す。ソース管理サーバ２及び複数の各サーバ４は、配布処理の実行結果情報Ｒ２を、作業端末１の管理ツール１０へ送信する。複数のサーバ４への配布の並列処理の詳細については後述する。
【００６３】
（Ｓ３）  管理ツール１０は、Ｓ２の配布手順の終了後、コンパイル手順の指示Ｍ３を、適用対象である複数の各サーバ４へ送信する。これにより、複数の各サーバ４で、並列的に、ソースプログラム６のコンパイル処理を実行させる。即ち、複数の各サーバ４は、ソースプログラム６をコンパイルして実行形式プログラム７であるオブジェクトコードを生成する。
【００６４】
Ｓ３は、複数のサーバ４に対応して、複数のステップＳ３１〜Ｓ３ｎから成る。Ｓ３１は、サーバ４１でソースプログラム６１のコンパイルにより実行形式プログラム７１を得る手順を示す。同様に、Ｓ３２はサーバ４２でのコンパイル、Ｓ３ｎはサーバ４ｎでのコンパイルを示す。複数の各サーバ４は、コンパイル処理の実行結果情報Ｒ３を、作業端末１の管理ツール１０へ送信する。複数のサーバ４でのコンパイル手順の並列処理の詳細については後述する。
【００６５】
（Ｓ４）  管理ツール１０は、コンパイル手順の終了後、デプロイ手順の指示Ｍ４を、複数の各サーバ４へ送信する。これにより、複数の各サーバ４で、並列的に、実行形式プログラム７のデプロイ処理を実行させる。即ち、複数の各サーバ４は、実行形式プログラム７を自身のサーバ４内の所定の位置へ配置及び展開してインスタンス８の状態にする。
【００６６】
Ｓ４は、複数のサーバ４に対応して、複数のステップＳ４１〜Ｓ４ｎから成る。Ｓ４１は、サーバ４１で実行形式プログラム７１をインスタンス８１の状態にするデプロイの手順を示す。同様に、Ｓ４２はサーバ４２でのデプロイ、Ｓ４ｎはサーバ４ｎでのデプロイを示す。複数の各サーバ４は、デプロイ処理の実行結果情報Ｒ４を、作業端末１の管理ツール１０へ送信する。複数のサーバ４でのデプロイ手順の並列処理の詳細については後述する。
【００６７】
［処理フロー］
図４は、図２の管理ツール１０の処理フローを示す。S401等はステップを表す。以下、図４のステップS401〜S411について説明する。
【００６８】
（S401）  ＳＥは、管理ツール１０の設定部１１により提供される画面において、適用作業のために必要な情報を入力し、設定部１１は、入力された情報を設定情報２１として設定する。設定情報２１は、適用対象のソースプログラム５ａの情報や、適用対象のサーバ４の情報や、指示先となる対象コンピュータの通信アドレス情報、等がある。
【００６９】
（S402）  管理ツール１０のインポート部１２は、ＳＥの操作に基づいて、テスト環境から適用対象である最新のソースプログラム５ａをソース管理サーバ２へインポートする処理を制御する。
【００７０】
（S403）  管理ツール１０の処理開始部１３は、ＳＥによる適用作業のためのコマンドの入力を受け付け、当該コマンドの入力に従い、S404以降の適用作業の処理を開始させる。なお、画面でのコマンド入力の際、パラメータとして、適用対象のソースプログラム等を指定することもできる。
【００７１】
（S404）  S404はＳ１に対応する。退避部１４は、退避手順に対応した退避処理を開始させる。退避部１４は、退避処理を実行する要素であるソース管理サーバ２及びバックアップ管理サーバ３へ、退避手順の指示Ｍ１を送信する。指示Ｍ１は、適用対象のソースプログラム５ａを指定する情報を含む。ソース管理サーバ２は、指示Ｍ１に従い、適用対象のソースプログラム５ａのコピーデータをバックアップ管理サーバ３へ送信して退避させる。バックアップ管理サーバ３は、指示Ｍ１に従い、ソース管理サーバ２からコピーデータを受信し、バックアップデータであるソースプログラム５ｂとして自身の記憶領域に格納する。
【００７２】
ソース管理サーバ２及びバックアップ管理サーバ３は、退避処理の実行結果情報Ｒ１を、作業端末１の管理ツール１０へ送信する。退避部１４は、ソース管理サーバ２及びバックアップ管理サーバ３から、それぞれ、退避処理の実行結果情報Ｒ１を受信及び取得する。実行結果処理部１８は、退避手順の実行結果情報Ｒ１を実行結果情報２２の一部として保存する。
【００７３】
（S405）  S405はＳ２に対応する。配布部１５は、配布手順に対応した配布処理を開始させる。配布部１５は、配布処理を実行する要素である、ソース管理サーバ２、及び複数の各サーバ４へ、配布手順の指示Ｍ２を送信する。指示Ｍ２は、適用対象のソースプログラム５ａを指定する情報を含む。
【００７４】
ソース管理サーバ２は、指示Ｍ２に従い、適用対象である複数の各サーバ４へ、適用対象のソースプログラム５ａのコピーデータを送信する。各サーバ４は、ソースプログラム５ａのコピーデータを受信し、自身のソースプログラム６として、自身の記憶領域に格納する。
【００７５】
各サーバ４は、配布手順の実行結果情報Ｒ２を、作業端末１の管理ツール１０へ送信する。配布部１５は、各サーバ４から配布手順の実行結果情報Ｒ２を受信及び取得する。実行結果処理部１８は、配布手順の実行結果情報Ｒ２を実行結果情報２２の一部として保存する。
【００７６】
（S406）  S406はＳ３に対応する。コンパイル部１６は、コンパイル手順に対応したコンパイル処理を開始させる。コンパイル部１６は、適用対象である複数の各サーバ４へ、コンパイル手順の指示Ｍ３を送信する。各サーバ４は、指示Ｍ３に従い、自身の記憶領域のソースプログラム６に対してコンパイル処理を行い、その結果である実行形式プログラム７であるオブジェクトコードを生成し、自身の記憶領域に格納する。
【００７７】
各サーバ４は、コンパイル手順の実行結果情報Ｒ３を、作業端末１の管理ツール１０へ送信する。コンパイル部１６は、各サーバ４からコンパイル手順の実行結果情報Ｒ３を受信及び取得する。実行結果処理部１８は、コンパイル手順の実行結果情報Ｒ３を実行結果情報２２の一部として保存する。
【００７８】
（S407）  S407はＳ４に対応する。デプロイ部１７は、デプロイ手順に対応したデプロイ処理を開始させる。デプロイ部１７は、適用対象である複数の各サーバ４へ、デプロイ手順の指示Ｍ４を送信する。各サーバ４は、指示Ｍ４に従い、自身の記憶領域の実行形式プログラム７を、所定のパスで識別される所定の位置へ配置及び展開することにより、インスタンス８の状態にする。
【００７９】
各サーバ４は、デプロイ手順の実行結果情報Ｒ４を、作業端末１の管理ツール１０へ送信する。デプロイ部１７は、デプロイ手順の実行結果情報Ｒ４を受信及び取得する。実行結果処理部１８は、デプロイ手順の実行結果情報Ｒ４を実行結果情報２２の一部として保存する。
【００８０】
（S408）  実行結果処理部１８は、S404〜S407で取得した手順単位の実行結果情報に基づいて、適用作業単位の実行結果情報２２としてまとめ、実行結果情報２２のファイルを、作業端末１内のＤＢに保存する。
【００８１】
（S409）  出力部１９は、S404〜S407で取得された手順単位の実行結果情報Ｒ１〜Ｒ４、及びS408で作成された実行結果情報２２に基づいて、実行結果画面の表示データを作成し、当該表示データを用いて、作業端末１の表示装置に、実行結果画面を表示する。
【００８２】
（S410）  ＳＥは、S409の実行結果画面を見ることで、適用作業の状況及び結果を確認することができる。ＳＥは、適用作業の実行結果のうち、失敗となった手順やサーバ４が存在する場合には、その失敗部分を認識でき、その失敗部分についての再試行、即ち適用作業のやり直しを、指示入力することができる。この指示入力がされた場合、管理ツール１０は、その失敗部分を次の適用作業の対象として設定し、S404に戻り、S404以降の処理を同様に実行させる。例えば、配布手順以降の再試行の場合にはS405へ戻り、コンパイル手順以降の再試行の場合にはS406へ戻る。
【００８３】
（S411）  ＳＥは、実行結果画面を見て、すべての手順及び適用対象のサーバ４での結果が成功となった場合、適用作業を終了する。なお、ソースプログラム５ａの修正が発生した場合には、S402のインポートに戻り、同様の繰り返しである。
【００８４】
［並列処理及び失敗の場合］
前述の複数のサーバ４を対象とした各手順の並列処理の詳細や、手順の失敗の場合について以下に補足する。
【００８５】
図１のＳ２のソース管理サーバ２から複数のサーバ４への配布手順の並列処理の例は以下である。通信網９の状況や、個別のサーバ４の状況によっては、あるサーバ４では配布がすぐに終了するが、別のサーバ４では配布がすぐには終了しない、あるいは配布が失敗の結果になる、といったことが発生し得る。管理ツール１０は、このようなサーバ４毎の状態を、配布手順の実行結果情報Ｒ２に基づいて把握する。
【００８６】
管理ツール１０は、配布が終了した、即ち結果が成功となったサーバ４については、次のコンパイル手順を開始させ、同時刻で、配布が未終了のサーバ４については、次のコンパイル手順を開始させる前に、配布が終了するまで待機する、といった制御を行う。
【００８７】
ソース管理サーバ２は、例えばサーバ４１への配布が終了した場合、実行結果情報Ｒ２として、サーバ４１への配布が終了し、結果が成功となった旨の情報を、管理ツール１０へ送信する。また、サーバ４１は、同様の内容の実行結果情報Ｒ２を管理ツール１０へ送信する。
【００８８】
管理ツール１０は、例えば、ソース管理サーバ２及びサーバ４１から、実行結果情報Ｒ２を受信し、サーバ４１での配布が終了し結果が成功となった旨を認識する。その場合、管理ツール１０は、そのサーバ４１へ、次のコンパイル手順を開始させる指示Ｍ３を送信する。サーバ４１は、その指示Ｍ３を受信すると、Ｓ３１で示すコンパイル処理を開始する。
【００８９】
一方、同時刻において、サーバ４２では配布が未終了とする。管理ツール１０は、ソース管理サーバ２及びサーバ４２からの実行結果情報Ｒ２を待機し、実行結果情報Ｒ２を受信してサーバ４２での配布の終了及び成功を認識してから、そのサーバ４２へ、次のコンパイル手順を開始させる指示Ｍ３を送信する。
【００９０】
また、サーバ４２での配布の結果が失敗になったとする。ソース管理サーバ２及びサーバ４２の少なくとも一方は、実行結果情報Ｒ２として、サーバ４２での配布の結果が失敗になった旨の情報を管理ツール１０へ送信する。管理ツール１０は、その実行結果情報Ｒ２から、サーバ４２での配布の結果が失敗になった旨を認識し、その旨の情報を、適用作業の実行結果情報２２に記録する。管理ツール１０は、そのサーバ４２における、配布手順の結果を「失敗」として記録する。また、管理ツール１０は、配布が失敗の場合には、以降のコンパイルやデプロイも実行できないため、コンパイル手順やデプロイ手順の結果についても「失敗」として記録する。あるいは、管理ツール１０は、コンパイル手順やデプロイ手順の結果については「未実行」として記録してもよい。
【００９１】
コンパイル手順の並列処理についても、配布手順の並列処理と概略同様であり、個別のサーバ４の状況に応じて、コンパイル手順の処理が終了しだい、次のデプロイ手順の処理が開始される。管理ツール１０は、サーバ４毎のコンパイル手順の処理の状態を、コンパイル手順の実行結果情報Ｒ３に基づいて把握する。管理ツール１０は、例えばサーバ４１からの実行結果情報Ｒ３から、サーバ４１でのコンパイルの結果が成功となった旨を認識すると、そのサーバ４１へ、次のデプロイ手順を開始させる指示Ｍ４を送信する。また、管理ツール１０は、例えばサーバ４２からの実行結果情報Ｒ３から、サーバ４２でのコンパイルの結果が失敗になった旨を認識した場合、その旨の情報を実行結果情報２２に記録する。
【００９２】
デプロイ手順の並列処理についても、コンパイル手順の並列処理と概略同様である。管理ツール１０は、サーバ４毎のデプロイ手順の処理の状態を、デプロイ手順の実行結果情報Ｒ４に基づいて把握する。管理ツール１０は、例えばサーバ４１からの実行結果情報Ｒ４から、サーバ４１でのデプロイの結果が成功となった旨を認識すると、サーバ４１での適用作業の処理の完了として認識し、その旨の情報を実行結果情報２２に記録する。また、管理ツール１０は、例えばサーバ４２からの実行結果情報Ｒ４から、サーバ４２でのデプロイの結果が失敗になった旨を認識した場合、その旨の情報を実行結果情報２２に記録する。
【００９３】
上記のように、管理ツール１０は、適用作業における複数の手順について、指示及び実行結果情報を用いながら、ある手順の終了に応じて自動的に次の手順へ移るように、制御を行う。また、管理ツール１０は、複数のサーバ４を対象とした並列処理の手順では、個別のサーバ４での処理の終了に応じて次の手順の処理へ移るように、制御を行う。
【００９４】
上記のような並列処理を含む制御により、適用作業の全体の所要時間を従来よりも短くすることができる。また、ＳＥは、個別の手順毎及び個別のサーバ４毎に、コマンド入力や、処理結果の待機及び確認、等の手間が不要であり、ヒューマンエラーやミスも減らすことができる。
【００９５】
ＳＥは、S102のコマンド入力により、一旦、適用作業の一通りの処理を実行させ、実行結果画面を表示させる。ＳＥは、実行結果画面を見て、個別の手順やサーバ４で結果が失敗となった部分がある場合には、その失敗部分に対応した手順及びサーバ４を含む、適用作業の状態及び結果を認識することができる。そして、ＳＥは、その失敗部分に対応した手順及びサーバ４を対象として、処理を再試行させるように、適用作業を実行させる。
【００９６】
管理ツール１０は、適用作業の失敗部分を再試行させる機能を備える。管理ツール１０は、実行結果情報２２に基づいて、失敗部分に対応した手順及びサーバ４を、適用作業の対象として設定する。ＳＥは、画面で、失敗部分の再試行のためのコマンドを入力する。管理ツール１０は、そのコマンド及び設定に従い、失敗部分の再試行のための処理を制御する。即ち、管理ツール１０は、失敗部分に対応した手順の指示を、失敗部分に対応した対象コンピュータへ送信する。これにより、その対象コンピュータでその手順の処理を再試行させる。管理ツール１０は、その対象コンピュータからその手順の実行結果情報を取得し、状態や結果を把握する。
【００９７】
ＳＥは、適用作業の一部で失敗が発生した場合にも、その失敗部分を対象とした適用作業を行うことができ、従来よりも効率的に適用作業を行うことができる。
【００９８】
［実行結果画面］
図５は、適用作業の実行結果情報を表示する実行結果画面の構成例を示す。図５の実行結果画面は、適用作業に関する各種情報を表示する欄５０１と、詳細情報を表示する欄５０２とを含む。
【００９９】
欄５０１は、例えば、適用作業のＩＤ、対象顧客システムの名称やＩＤ、対象ソースプログラムの名称やＩＤ、適用作業の結果、適用作業の実施日時、適用作業の所要時間、等の情報を表示する。適用作業の結果は、値として例えば「成功」や「失敗」等が表示される。あるいは、適用作業の状況の値として例えば「未実行」、「実行中」、「実行済み」等が表示されてもよい。
【０１００】
欄５０２は、詳細情報を表形式で表示する例を示す。この表は、列として、「マシン」、「退避手順」、「配布手順」、「コンパイル手順」、「デプロイ手順」、「総合（マシン）」を有する。「マシン」列は、複数の各サーバ４のＩＤである「ＳＶ１」〜「ＳＶｎ」の項目と、「総合（手順）」項目とを有する。サーバ４のＩＤの項目に対応した行は、サーバ４毎の実行結果情報を表示する。「総合（手順）」項目に対応した行は、適用対象の全サーバ４を総合した、手順毎の実行結果情報を表示する。
【０１０１】
「退避手順」、「配布手順」、「コンパイル手順」、及び「デプロイ手順」の各列は、「実行結果」列及び「実行時間」列を含む。「実行結果」列は、対応する手順単位での実行結果として、「成功」（ＯＫで示す）または「失敗」（ＮＧで示す）、あるいは「実行中」といった値を表示する。「実行時間」列は、対応する手順単位での実行時間を、サーバ４毎、及び全サーバ４の総合で表示する。
【０１０２】
例えば、退避手順については、サーバ４の区分は無く、退避手順の総合の結果が成功であり、その実行時間がｔ１であったことを示す。また、配布手順については、サーバ４毎の実行結果がそれぞれ成功であり、それぞれの実行時間がｔ２１，ｔ２２，……，ｔ２ｎであり、配布手順の総合の結果として成功であり、配布手順の実行時間がｔ２であったことを示す。なお、ｔ２は、サーバ４毎の実行時間のうち最も長かった実行時間に対応する。他の手順についても同様である。
【０１０３】
「総合（マシン）」列は、各手順を総合した、サーバ４単位での実行結果情報を示す。例えば、ＩＤが「ＳＶ１」であるサーバ４１は、各手順の結果が成功であり、そのため、「総合（マシン）」列の項目でも実行結果が成功となっている。同様に、「ＳＶ２」〜「ＳＶｎ」の各サーバ４でも実行結果が成功となっている。全手順及び全サーバ４に関して結果が成功である場合、欄５０１の適用作業の結果の値が「成功」となる。
【０１０４】
また、ＳＥは、管理ツール１０により提供される画面で、リストから、過去に保存済みの適用作業の実行結果情報を選択し、選択された情報に対応した実行結果画面を表示して、その内容を確認することができる。また、ＳＥは、画面で検索欄に検索条件を入力し、その検索結果として、適用作業の実行結果情報を表示して、その内容を確認することができる。
【０１０５】
上記のように、実行結果情報２２及び実行結果画面では、適用作業の手順毎に、顧客システムの本番環境のサーバ４群のうち、どの適用対象のサーバ４まで、適用を実行し、結果が成功となったか、といった実行範囲を示す情報を含む。
【０１０６】
なお、従来技術は、適用作業に係わる手順毎の実行結果や実行時間等の情報を含む実行結果情報を保持及び管理していない。一方、本実施の形態では、そのような実行結果情報を保持及び管理しており、そのような情報を含む実行結果画面を表示する。よって、ＳＥは、適用作業を効率的に行うことができる。ＳＥは、限られた作業可能時間内に適用作業を完了させることや、適用作業の全体の所要時間を短縮させることがしやすい。
【０１０７】
ＳＥは、複数回の適用作業を行う場合、例えば、顧客システムに合わせたスケジュールの作業予定日時に応じて、定期的に複数回の適用作業を行う場合がある。その場合、ＳＥは、管理ツール１０を用いて、過去の適用作業の実行結果情報を、実行結果画面で見ることができ、その情報を学習や活用することにより、適用作業を効率的に行うことができる。例えば、ＳＥは、前回の適用作業の実行結果情報を踏まえて、今回の適用作業を効率的に行うことができる。ＳＥは、例えば前回の適用作業の各手順及び全体の実行時間を認識することで、今回の適用作業で各手順及び全体でどの程度の所要時間になるかを予想できる。また、ＳＥは、その予想に基づいて、スケジュールの作業予定日時を設定することもできる。また、ＳＥは、顧客システムのサーバ４の台数の変動に応じて、所要時間等を予想することができる。
【０１０８】
図５の実行結果画面は、各手順の実行結果として成功または失敗、及び実行時間を表示し、適用作業の全体の実行結果として成功または失敗、及び実行時間を表示する例である。これに限らず、別の実行結果画面では、各手順の処理の状態として、未実行または実行中または実行済みの情報が表示され、適用作業の全体の状態として、未実行または実行中または実行済みの情報が表示される。
【０１０９】
作業端末１で表示する他の画面例として以下が挙げられる。管理ツール１０は、ＤＢの実行結果情報２２を用いて、過去の複数回の適用作業について、それぞれの実行時間等をグラフにまとめ、そのグラフを含む実行結果画面を表示する。
【０１１０】
［実行時間］
実行結果情報のうち実行時間について補足する。管理ツール１０は、ソース管理サーバ２やサーバ４等の各コンピュータとの連係により、適用作業の手順毎の実行時間を計測及び把握する。実行時間を計測する手法の例を以下に示す。
【０１１１】
退避手順の場合、例えば、ソース管理サーバ２は、退避の開始から終了までに要した時間を計測する。ソース管理サーバ２は、バックアップ管理サーバ３へ退避の要求を送信してから、退避完了の応答を受信するまでの時間を計測する。ソース管理サーバ２は、計測時間を含む実行結果情報Ｒ１を、管理ツール１０へ報告する。管理ツール１０は、その実行結果情報Ｒ１に含まれる計測時間を用いて、退避手順の実行時間を記録する。
【０１１２】
配布手順の場合、例えば、ソース管理サーバ２は、適用対象のサーバ４毎に、配布に要した時間を計測する。ソース管理サーバ２は、あるサーバ４へコピーデータの送信を開始してから、そのサーバ４から受信完了の応答を受信するまでの時間を計測する。ソース管理サーバ２は、サーバ４毎の計測時間を含む実行結果情報Ｒ２を、管理ツール１０へ報告する。管理ツール１０は、その実行結果情報Ｒ２に含まれる計測時間を用いて、配布手順の実行時間を記録する。他の手法として、サーバ４は、ソース管理サーバ２からのコピーデータの受信を開始してから、受信を完了するまでの時間を計測し、その計測時間を含む実行結果情報Ｒ２を管理ツール１０へ報告してもよい。
【０１１３】
コンパイル手順の場合、例えば、各サーバ４は、コンパイル処理に要した時間を計測し、その計測時間を含む実行結果情報Ｒ３を、管理ツール１０へ報告する。管理ツール１０は、実行結果情報Ｒ３に含まれる計測時間を用いて、コンパイル手順の実行時間を記録する。同様に、デプロイ手順の場合、各サーバ４は、デプロイ処理に要した時間を計測し、その計測時間を含む実行結果情報Ｒ４を、管理ツール１０へ報告する。管理ツール１０は、実行結果情報Ｒ４に含まれる計測時間を用いて、デプロイ手順の実行時間を記録する。
【０１１４】
［効果等］
以上説明したように、本実施の形態のソースプログラム適用システムによれば、ソースプログラム５ａを本番環境の複数のサーバ４へ適用する場合等の適用作業における、ＳＥ等の人の手間を軽減でき、時間を短くでき、ミスや不整合を防止することができる。ソースプログラム５ａの修正がある場合や、複数回の適用作業を行う場合や、手順及びサーバ４の一部で結果が失敗になった場合にも、効率的に適用作業を行うことができる。
【０１１５】
（他の実施の形態）
他の実施の形態のソースプログラム適用システムとして、以下が挙げられる。
【０１１６】
他の実施の形態として、図１の各コンピュータが統合や分離された形態も可能である。例えば、管理ツール１０を備える作業端末１と、ソース管理サーバ２とが１つの装置に統合された形態でもよい。この場合、前述の管理ツール１０とソース管理サーバ２との間での指示や実行結果情報の通信は、１つの装置内での通信となる。また、例えば、前述の１台のサーバ４が、配布やコンパイル等の手順に応じて、２台以上の装置に分離された形態でもよい。
【０１１７】
他の実施の形態として、適用作業を構成する手順が追加や削除された形態も可能である。例えば、他の実施の形態のソースプログラム適用システムは、１つのコマンドに基づいて実行及び制御する適用作業の手順として、前述の退避手順を省略した構成とする。即ち、管理ツール１０は、図１のS102のコマンドの入力に基づいて、最初に、配布手順のための指示Ｍ２を送信する。
【０１１８】
他の実施の形態のソースプログラム適用システムは、１つのコマンドに基づいて実行及び制御する適用作業の手順として、退避手順の前のインポート手順を含む構成とする。即ち、管理ツール１０のインポート部１２は、ＳＥの操作に基づいた図１のS102のコマンドの入力に基づいて、S101のインポート手順のインポート処理を制御するための指示を、テスト環境のコンピュータ及びソース管理サーバ２へ送信する。この指示は、適用対象のソースプログラム５ａを指定する情報を含む。指示を受信したテスト環境のコンピュータは、適用対象のソースプログラム５ａをソース管理サーバ２へ送信する。指示を受信したソース管理サーバ２は、テスト環境のコンピュータからソースプログラム５ａを受信して格納する。テスト環境のコンピュータ、及びソース管理サーバ２は、インポート手順の実行結果情報を、管理ツール１０へ送信する。インポート手順の終了後、管理ツール１０は、退避手順の指示Ｍ１を送信する。
【０１１９】
また、テスト環境のコンピュータを含むシステムが別に存在し、そのシステムと管理システムとが接続される形態でもよい。
【０１２０】
他の実施の形態として、Ｓ２の配布手順の際、ソース管理サーバ２からサーバ４へ、Ｓ３のコンパイルに必要なライブラリ等のデータを、ソースプログラム５ａのコピーデータと共に送信するようにしてもよい。
【０１２１】
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
【産業上の利用可能性】
【０１２２】
本発明は、情報処理システムの設計開発や運用保守管理等に利用可能である。
【符号の説明】
【０１２３】
１…作業端末、２…ソース管理サーバ、３…バックアップ管理サーバ、４…サーバ、５ａ，５ｂ，６，６１，６２，６ｎ…ソースプログラム、７，７１，７２，７ｎ…実行形式プログラム、８，８１，８２，８ｎ…インスタンス、９…通信網、１０…管理ツール。
【図１】
2016146119.tif 000003
【図２】
2016146119.tif 000004
【図３】
2016146119.tif 000005
【図４】
2016146119.tif 000006
【図５】
2016146119.tif 000007