(57)【要約】情報処理装置に所定の構成を有するソフトウェアを導入するための、プロセッサ及びメモリを備えるソフトウェア導入システム１００であって、前記情報処理装置への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する導入可否情報記憶部１０４１と、指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入するソフトウェア導入部４０８と、を備える。
2019045045.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に所定の構成を有するソフトウェアを導入するための、プロセッサ及びメモリを備えるソフトウェア導入システムであって、
前記情報処理装置への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する導入可否情報記憶部と、
指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入するソフトウェア導入部と、
を備える、ソフトウェア導入システム。
【請求項２】
前記導入可否情報記憶部は、前記失敗の原因についての情報として、前記導入に失敗したソフトウェアの前記構成に関する情報を記憶し、
前記ソフトウェア導入部は、前記指定されたソフトウェアの導入に失敗した場合に、前記記憶したソフトウェアの構成に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記指定されたソフトウェアの前記構成を修正する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する、
請求項１に記載のソフトウェア導入システム。
【請求項３】
前記導入可否情報記憶部は、前記失敗の原因についての情報として、前記ソフトウェアの導入に失敗した際に実行していた処理に関する情報を記憶し、
前記ソフトウェア導入部は、前記指定されたソフトウェアの導入に失敗した場合に、前記記憶した処理に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記実行していた処理に対応づけられた所定の設定情報を生成する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する、
請求項１に記載のソフトウェア導入システム。
【請求項４】
前記ソフトウェア導入部は、前記所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入する際に、前記指定されたソフトウェアの導入に失敗した際に生成した情報を削除する、請求項１から請求項３までのいずれか一項に記載のソフトウェア導入システム。
【請求項５】
前記指定されたソフトウェアの導入が可能か否かを示す情報を出力する出力部を備える、請求項１から請求項４までのいずれか一項に記載のソフトウェア導入システム。
【請求項６】
前記指定されたソフトウェアの導入が可能か否かの判定の結果を示す情報を出力する出力部をさらに備え、
前記導入可否情報記憶部は、
前記失敗の原因についての情報として、前記導入に失敗したソフトウェアの前記構成に関する情報を記憶し、
前記失敗の原因についての情報として、前記ソフトウェアの導入に失敗した際に実行していた処理に関する情報を記憶し、
前記ソフトウェア導入部は、
前記指定されたソフトウェアの導入に失敗した場合に、前記記憶したソフトウェアの構成に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記指定されたソフトウェアの前記構成を修正する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入し、
前記指定されたソフトウェアの導入に失敗した場合に、前記記憶した処理に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記実行していた処理に対応づけられた所定の設定情報を生成する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入し、
前記所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入する際に、前記指定されたソフトウェアの導入に失敗した際に生成した情報を削除する、
請求項１に記載のソフトウェア導入システム。
【請求項７】
情報処理装置に所定の構成を有するソフトウェアを導入するための、ソフトウェア導入方法であって、
プロセッサ及びメモリを備える情報処理システムが、
前記情報処理装置への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する導入可否情報記憶処理と、
指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入するソフトウェア導入処理と、
を実行する、ソフトウェア導入方法。
【請求項８】
前記導入可否情報記憶処理は、前記失敗の原因についての情報として、前記導入に失敗したソフトウェアの前記構成に関する情報を記憶し、
前記ソフトウェア導入処理は、前記指定されたソフトウェアの導入に失敗した場合に、前記記憶したソフトウェアの構成に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記指定されたソフトウェアの前記構成を修正する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する、
請求項７に記載のソフトウェア導入方法。
【請求項９】
前記導入可否情報記憶処理は、前記失敗の原因についての情報として、前記ソフトウェアの導入に失敗した際に実行していた処理に関する情報を記憶し、
前記ソフトウェア導入処理は、前記指定されたソフトウェアの導入に失敗した場合に、前記記憶した処理に関する情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記実行していた処理に対応づけられた所定の設定情報を生成する処理を、前記所定の処理として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する、
請求項７に記載のソフトウェア導入方法。
【請求項１０】
前記ソフトウェア導入処理は、前記所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入する際に、前記指定されたソフトウェアの導入に失敗した際に生成した情報を削除する、請求項７から請求項９までのいずれか一項に記載のソフトウェア導入方法。
【請求項１１】
前記指定されたソフトウェアの導入が可能か否かを示す情報を出力する出力処理を実行する、請求項７から請求項１０までのいずれか一項に記載のソフトウェア導入方法。
【請求項１２】
情報処理装置に所定の構成を有するソフトウェアを導入するための、ソフトウェア導入プログラムであって、
プロセッサ及びメモリを備える情報処理システムに、
前記情報処理装置への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する導入可否情報記憶処理と、
指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入するソフトウェア導入処理と、
を実行させる、ソフトウェア導入プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア導入システム、ソフトウェア導入方法、及びソフトウェア導入プログラムに関する。
【背景技術】
【０００２】
＝＝＝参照による取り込み＝＝＝
本出願は、２０１７年９月１日に出願された日本特許出願第２０１７−１６８２１９号の優先権を主張し、その内容を参照することにより、本出願に取り込む。
いわゆるＩｏＴ（Internet of Things）の技術の進展に伴い、ネットワーク上には、多数のサーバ装置等が接続されるようになってきている。また、これらのネットワーク上に存在する大量のデータを取り扱う機会も増大している。このような環境下においては、各サーバ装置に対するソフトウェアの導入作業（インストール作業）は一般に煩雑となり多くの時間を要することになる。特に、ソフトウェアが大量のデータを扱うための複数の部品プログラムからなる場合は、それらの部品の組み合わせを適切に行うと共に、生成したソフトウェアの動作環境を正しく構築（例えば、ソフトウェアの設定ファイルやネットワーク設定ファイルの生成、修正）しなければならない。そのため、このような作業を自動的に行うための様々な技術が提案されている。例えば、特許文献１には、VM（Virtual Machine）を用いたアプリケーションソフトウェアの導入において、アプリケーションソフトウェアの設定ファイルや設定スクリプトにおける設定対象項目を自動的に置換し、これによりアプリケーションソフトウェアの動作環境を自動的に構築することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−６００３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、予めユーザが用意したテンプレートである設定ファイル及び設定スクリプトに基づき、アプリケーションデプロイシステム内部で取得可能な値を書き換えることで、アプリケーションソフトウェアの動作環境を自動的に構築するものである。しかし、書き換えの処理においてエラー等が生じた場合の処理は想定されていない。したがって、エラー等が発生した場合には、その都度、ユーザがエラーの原因等を調査して対処しなければならない。このため、ソフトウェアの導入における動作環境の構築の自動化としては不充分なものとなっていた。【０００５】
本発明はこのような現状に鑑みてなされたものであり、その一つの目的は、ソフトウェアの導入を円滑に行うことが可能となるソフトウェア導入システム、ソフトウェア導入方法、及びソフトウェア導入プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
以上の課題を解決するための本発明の一つは、情報処理装置に所定の構成を有するソフトウェアを導入するための、プロセッサ及びメモリを備えるソフトウェア導入システムであって、前記情報処理装置への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する導入可否情報記憶部と、指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入するソフトウェア導入部と、を備える。
【発明の効果】
【０００７】
本発明によれば、ソフトウェアの導入を円滑に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係るソフトウェア導入システム１００の構成の一例を示す図である。
【図２】図２は、ソフトウェア導入システム１００における各情報処理装置（ユーザ端末１０１、Ｗｅｂサーバ１０３、データ格納サーバ１０４、構築実行サーバ１０５、及び構築対象サーバ１０６）が備えるハードウェア構成の一例を示す図である。
【図３】図３は、ユーザ端末１０１及びＷｅｂサーバ１０３が備える機能の一例を示す図である。
【図４】図４は、データ格納サーバ１０４が備える機能の一例を示す図である。
【図５】図５は、組み合わせ不可情報３０１の一例を示す図である。
【図６】図６は、構築処理再実行可否情報３０２の一例を示す図である。
【図７】図７は、構築実行サーバ１０５の機能の一例を示す図である。
【図８】図８は、構築対象サーバ１０６の機能の一例を説明する図である。
【図９】図９は、ソフトウェア導入処理の動作シーケンスの一例を示す図である。
【図１０】図１０は、部品選択画面の一例を示す図である。
【図１１】図１１は、構築状況表示画面の一例を示す図である。
【図１２】図１２は、構築完了表示画面の一例を示す図である。
【図１３】図１３は、ソフトウェア導入処理においてＷｅｂサーバ１０３が行う処理の一例を説明するフローチャートである。
【図１４】図１４は、ユーザ端末１０１に表示される、選択部品組み合わせエラー表示画面の一例を示す図である。
【図１５】図１５は、ユーザ端末１０１に表示される、構築処理エラー表示画面の一例を示す図である。
【図１６】図１６は、ソフトウェア導入処理において構築実行サーバ１０５が行う処理の一例を説明するフローチャートである。
【図１７】図１７は、構築資材作成処理の一例を説明するフローチャートである。
【図１８】図１８は、構築実行処理の一例を説明するフローチャートである。
【図１９】図１９は、ソフトウェア導入処理において構築対象サーバ１０６が行う処理のうち、構築処理の一例を説明するフローチャートである。
【図２０】図２０は、ソフトウェア導入処理において構築対象サーバ１０６が行う処理のうち、初期化処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を、図面を用いて詳細に説明する。
図１は、本実施形態に係るソフトウェア導入システム１００の構成の一例を示す図である。ソフトウェア導入システム１００は、ユーザ端末１０１と、ユーザ端末１０１とデータの入出力を行うＷｅｂサーバ１０３と、導入するソフトウェアの動作環境の構築に必要なデータを格納するデータ格納サーバ１０４と、動作環境の構築を行う構築実行サーバ１０５と、構築実行サーバ１０５が構築した動作環境がそのソフトウェアと共に導入される１台又は複数台の構築対象サーバ１０６とを含んで構成されている。そして、ユーザ端末１０１、Ｗｅｂサーバ１０３、データ格納サーバ１０４、構築実行サーバ１０５、及び構築対象サーバ１０６の間は、例えば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、専用線等からなるネットワーク１０２により通信可能に接続されている。
【００１０】
ソフトウェア導入システム１００は、複数の部品プログラム（例えば、アプリケーション、ミドルウェア、ソフトウェア、又はその他の単位情報。以下、部品という。）を組み合わせることで生成されるソフトウェア（以下、導入ソフトウェアという）を構築対象サーバ１０６に導入するための情報処理システムである。なお、この導入ソフトウェアは、例えば大量のデータ分析を行うためのソフトウェアである。
【００１１】
ソフトウェア導入システム１００は、このような所定の構成を有する導入ソフトウェアを構築対象サーバ１０６に導入すると共に、その導入ソフトウェアを構築対象サーバ１０６で正常に動作させるための設定情報（以下、動作環境情報という）をその構築対象サーバ１０６に構築する。動作環境情報は、例えば、導入ソフトウェア又は各部品の設定のための設定ファイル、ネットワーク１０２に関する設定ファイル等である。
【００１２】
ここで、図２は、ソフトウェア導入システム１００における各情報処理装置（ユーザ端末１０１、Ｗｅｂサーバ１０３、データ格納サーバ１０４、構築実行サーバ１０５、及び構築対象サーバ１０６）が備えるハードウェア構成の一例を示す図である。同図に示すように、各情報処理装置は、ＣＰＵ（Central Processing Unit）などのプロセッサ５１と、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等のメモリ５２と、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の補助記憶装置５３と、キーボード、マウス、タッチパネル等からなる入力装置５４と、モニタ（ディスプレイ）等からなる出力装置５５と、他の情報処理装置と通信を行う通信装置５６とを備える。
【００１３】
＜機能＞
次に、各情報処理装置が備える機能について説明する。
＜＜ユーザ端末１０１及びＷｅｂサーバ１０３＞＞
図３は、ユーザ端末１０１及びＷｅｂサーバ１０３が備える機能の一例を示す図である。
【００１４】
ユーザ端末１０１は、導入するソフトウェア（導入ソフトウェア）の指定を、ユーザから受け付ける。具体的には、ユーザ端末１０１は、導入ソフトウェアを構成する部品の指定を受け付ける機能を有する。
【００１５】
また、ユーザ端末１０１は、前記指定されたソフトウェア（導入ソフトウェア）の導入が可能か否かの判定の結果を示す情報を出力する出力機能１０１１を備える。
【００１６】
次に、Ｗｅｂサーバ１０３は、ユーザ端末インタフェース機能２０１と、部品組み合わせ可否問合せ機能２０２と、処理実行可否判定機能２０３と、構築実行インタフェース機能２０４と、を有する。
【００１７】
ユーザ端末インタフェース機能２０１は、ネットワーク１０２を介して、ユーザ端末１０１と通信する。具体的には、ユーザ端末インタフェース機能２０１は、ユーザ端末１０１により指定された導入ソフトウェア、具体的には、導入ソフトウェアを構成する部品に関する情報（以下、部品選択情報という）を受信する。
【００１８】
また、ユーザ端末インタフェース機能２０１は、処理実行可否判定機能２０３から送信されてくる、処理の結果を示す情報（以下、構築可否情報という）、及び、構築実行インタフェース機能２０４から送信されてくる、処理の結果を示す情報（以下、構築結果情報という）をそれぞれ受信する。ユーザ端末インタフェース機能２０１は受信した各情報に対応した所定の画面情報を生成し、生成した各画面情報をユーザ端末１０１に送信する。そして、ユーザ端末１０１は、受信した画面情報が示す情報を出力装置５５に表示する。
【００１９】
部品組み合わせ可否問合せ機能２０２は、ネットワーク１０２を介してデータ格納サーバ１０４と通信する。具体的には、例えば、部品組み合わせ可否問合せ機能２０２は、データ格納サーバ１０４に対して所定の問合せ命令を送信することにより、ユーザ端末インタフェース機能２０１が取得した部品選択情報に基づき動作環境情報を構築することが可能であるかを判定する。そして、部品組み合わせ可否問合せ機能２０２は、データ格納サーバ１０４から、動作環境情報を構築することが可能であるかを示す情報（以下、問合せ結果レコードという）を受信する。
【００２０】
処理実行可否判定機能２０３は、部品組み合わせ可否問合せ機能２０２が受信した問合せ結果レコードに基づき、動作環境情報の構築の可否を判定する。具体的には、例えば、問合せ結果レコードが、動作環境情報の構築が可能である旨の情報である場合、処理実行可否判定機能２０３は構築実行インタフェース機能２０４を呼び出す。他方、問合せ結果レコードが動作環境情報の構築が不可能である旨の情報である場合、処理実行可否判定機能２０３は、ユーザ端末インタフェース機能２０１に、エラーを示す構築可否情報を送信する。
【００２１】
構築実行インタフェース機能２０４は、ネットワーク１０２を介して構築実行サーバ１０５と通信する。具体的には、例えば、構築実行インタフェース機能２０４は、処理実行可否判定機能２０３から呼び出された場合に、ユーザ端末インタフェース機能２０１が受信した部品選択情報が付帯した、動作環境情報の構築を要求する旨の情報（以下、動作環境構築要求という）を、構築実行サーバ１０５に送信する。その後、処理実行可否判定機能２０３は、構築実行サーバ１０５から送信されてきた、処理結果を示す情報（構築結果情報）を受信し、受信した構築結果情報をユーザ端末インタフェース機能２０１に送信する。
【００２２】
＜＜データ格納サーバ１０４＞＞
図４は、データ格納サーバ１０４が備える機能の一例を示す図である。同図に示すように、データ格納サーバ１０４は、導入可否情報記憶部１０４１を備える。
【００２３】
すなわち、導入可否情報記憶部１０４１は、前記情報処理装置（構築対象サーバ１０６）への導入に失敗した前記ソフトウェア、及びその失敗の原因についての情報を記憶する。
具体的には、導入可否情報記憶部１０４１は、前記失敗の原因についての情報として、前記導入に失敗したソフトウェアの前記構成に関する情報（例えば、導入時にエラーが発生したソフトウェアを構成する部品に関する情報）を、組み合わせ不可情報３０１及び構築処理再実行可否情報３０２に記憶している。また、導入可否情報記憶部１０４１は、前記失敗の原因についての情報として、前記ソフトウェアの導入に失敗した際に実行していた処理に関する情報（例えば、エラーがいかなる処理において発生したかについての情報）を、構築処理再実行可否情報３０２に記憶している。
【００２４】
＜組み合わせ不可情報＞
図５は、組み合わせ不可情報３０１の一例を示す図である。組み合わせ不可情報３０１は、レコードの項目として、導入ソフトウェアを構成する部品の組み合わせを特定する識別子（以下、組み合わせＩＤという）が格納される組み合わせＩＤ１２０１と、部品の識別子（以下、部品ＩＤという）が登録される対象Ａ１２０２、対象Ｂ１２０３、及び対象Ｃ１２０４とを有するデータベースである。なお、組み合わせＩＤ１２０１には、レコードが登録された順に一意になるような値が登録され、その値自体は意味を有しない。また、図に示した例では、部品ＩＤが格納される項目は３つ（対象Ａ１２０２、対象Ｂ１２０３、及び対象Ｃ１２０４）であるが、４以上の項目であってもよく、また、２以下の項目であってもよい。
【００２５】
組み合わせ不可情報３０１は、例えば、ソフトウェア導入システム１００のユーザ又は管理者等（以下、ユーザという）によって予め入力される。
【００２６】
＜構築処理再実行可否情報＞
図６は、構築処理再実行可否情報３０２の一例を示す図である。構築処理再実行可否情報３０２は、レコードの項目として、レコードを識別するための識別子（以下、エラーＩＤという）が格納されるエラーＩＤ１２０５、構築資材作成処理及び構築実行処理（いずれも後述）を識別する情報（以下、フェーズＩＤという）が格納される発生フェーズ１２０６、発生フェーズ１２０６が示す処理で発生したエラーの内容を示す情報（以下、エラー情報という）が格納されるエラー内容１２０７、及び、構築資材作成処理又は構築実行処理を再実行する際に実行される処理（以下、修正処理という）に関する情報（以下、修正情報という）が格納される修正方法１２０８の各項目を有する、少なくとも１つ以上のレコードで構成されるデータベースである。
【００２７】
エラー内容１２０７には、発生フェーズ１２０６に構築資材作成処理を示す情報が格納されている場合は、エラー情報として、例えば、導入ソフトウェアの導入時にエラーを発生させた部品の組み合わせの情報（例えば、各部品の結合関係）が格納される。また、エラー内容１２０７には、発生フェーズ１２０６に構築実行処理を示す情報が格納されている場合は、エラー情報として、例えば、導入ソフトウェアの導入に関するエラーが発生した際に行われていた処理（例えば、エラーがインストール時に発生した場合にはインストール処理、導入ソフトウェアの起動時にエラーが発生した場合には、その導入ソフトウェアの起動時の処理等）の情報が格納される。
【００２８】
修正方法１２０８には、発生フェーズ１２０６に構築資材作成処理を示す情報が格納されている場合は、例えば、部品の結合方法や結合のタイミングに関する情報（例えば、構成部品の編集と結合の順序の変更の処理、部品の結合方式の変更の処理）が格納される。また、修正方法１２０８には、発生フェーズ１２０６に構築実行処理を示す情報が格納されている場合は、例えば、導入ソフトウェアの設定情報（例えば、インストール時のユーザ設定情報、ネットワーク設定情報、設定ファイル等）を生成又は修正するための情報が格納される。
【００２９】
なお、エラーＩＤ１２０５の値自体は意味を有しない。また、図中、エラー内容１２０７には自然言語が格納されているが、その他の形式の情報、例えば、選択部品情報、内部的な処理に関する情報、例外処理を行うための情報等、複数の情報によって構成されていてもよい。また、修正方法１２０８にも自然言語が格納されているが、その他の形式の情報、例えば、計算機が修正対象及び修正内容を特定可能な複数のコマンドの情報によって構成されていてもよい。
【００３０】
次に、構築実行サーバ１０５の機能について説明する。
＜＜構築実行サーバ１０５＞＞
図７は、構築実行サーバ１０５の機能の一例を示す図である。構築実行サーバ１０５は、Ｗｅｂインタフェース機能４０１と、ソフトウェア導入部４０８とを備える。そして、ソフトウェア導入部４０８は、構築資材作成機能４０２と、構築処理要求機能４０３と、エラー内容問合せ機能４０４と、再実行可否判定機能４０５と、構築資材初期化機能４０６と、を有する。
【００３１】
Ｗｅｂインタフェース機能４０１は、ネットワーク１０２を介してＷｅｂサーバ１０３と通信する。具体的には、例えば、Ｗｅｂインタフェース機能４０１は、Ｗｅｂサーバ１０３から動作環境構築要求を受信すると、ソフトウェア導入部４０８の構築資材作成機能４０２を呼び出す。また、Ｗｅｂインタフェース機能４０１は、ソフトウェア導入部４０８の構築処理要求機能４０３から受信した処理結果の情報（構築結果情報）を、Ｗｅｂサーバ１０３に送信する。
【００３２】
ソフトウェア導入部４０８は、導入可否情報記憶部１０４１が指定された前記ソフトウェアの導入に失敗した場合に、前記記憶した失敗の原因についての情報（データ格納サーバ１０４における、組み合わせ不可情報３０１又は構築処理再実行可否情報３０２）に基づいて前記指定されたソフトウェア（ユーザ端末１０１により指定された導入ソフトウェア）を導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記原因に対応づけられた所定の処理（修正処理）を実行することにより前記指定されたソフトウェアを前記情報処理装置（構築対象サーバ１０６）に導入する。
【００３３】
具体的には、例えば、前記ソフトウェア導入部４０８は、導入可否情報記憶部１０４１が前記指定されたソフトウェアの導入に失敗した場合に、前記記憶したソフトウェアの構成に関する情報（データ格納サーバ１０４における構築処理再実行可否情報３０２）に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記指定されたソフトウェアの前記構成を修正する処理を、前記所定の処理（修正処理）として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する。
【００３４】
また、例えば、前記ソフトウェア導入部４０８は、導入可否情報記憶部１０４１が前記指定されたソフトウェアの導入に失敗した場合に、前記記憶した処理に関する情報（データ格納サーバ１０４における構築処理再実行可否情報３０２）に基づいて前記指定されたソフトウェアを導入することが可能であるか否かを判定し、導入が可能であると判定した場合に、前記実行していた処理に対応づけられた所定の設定情報を生成する処理を、前記所定の処理（修正処理）として実行することにより、前記指定されたソフトウェアを前記情報処理装置に導入する。
【００３５】
また、例えば、前記ソフトウェア導入部４０８は、前記所定の処理を実行することにより前記指定されたソフトウェアを前記情報処理装置に導入する際に、前記指定されたソフトウェアの導入に失敗した際に生成した情報を削除する（初期化する）。
【００３６】
以下、これらのソフトウェア導入部４０８の各機能についてより詳細に説明する。
【００３７】
構築資材作成機能４０２は、動作環境構築要求に付帯する部品選択情報に基づき、導入ソフトウェアに適するように各部品を組み合わせる処理（以下、構築資材作成処理という）を実行する。なお、修正情報が作成されている場合は、構築資材作成機能４０２は、修正情報により示される処理も実行する。構築資材作成処理により、導入ソフトウェアに適した部品（以下、構築資材という）を正常に作成した場合、構築資材作成機能４０２は構築処理要求機能４０３を呼び出し、構築資材を正常に作成できなかった場合、構築資材作成機能４０２はエラー内容問合せ機能４０４を呼び出す。
【００３８】
構築処理要求機能４０３は、ネットワーク１０２を介して、構築対象サーバ１０６と通信する。具体的には、例えば、構築処理要求機能４０３は、構築資材作成機能４０２から呼び出された場合、構築対象サーバ１０６に、構築資材が付帯した、導入ソフトウェアを導入すると共にその導入ソフトウェアの動作環境情報の構築を実行する旨の要求（以下、構築実行要求という）を送信する。その後、構築処理要求機能４０３は、構築対象サーバ１０６から、処理結果を示す情報（構築結果情報）を受信する。構築結果情報が正常を示す情報である場合、構築処理要求機能４０３は、Ｗｅｂインタフェース機能４０１に、正常を示す構築結果情報を送信する。他方、構築結果情報がエラーを示す情報である場合、構築処理要求機能４０３は、エラー内容問合せ機能４０４を呼び出す。
【００３９】
エラー内容問合せ機能４０４は、ネットワーク１０２を介してデータ格納サーバ１０４と通信する。具体的には、例えば、エラー内容問合せ機能４０４は、構築資材作成機能４０２又は構築処理要求機能４０３から呼び出された場合、データ格納サーバ１０４に所定の要求情報を送信することにより、データ格納サーバ１０４から、過去に動作環境情報の構築に失敗した導入ソフトウェアにおける部品の組み合わせに関する情報（以下、エラー情報レコードという）を受信する。
【００４０】
再実行可否判定機能４０５は、エラー内容問合せ機能４０４が受信したエラー情報レコードに基づき、動作環境情報の構築を再実行するか否かを判定する。
【００４１】
再実行可否判定機能４０５が構築資材作成機能４０２から呼び出された場合においては、再実行可否判定機能４０５が動作環境情報の構築を再実行しないと判定した場合、再実行可否判定機能４０５はエラーを示す構築結果情報をＷｅｂインタフェース機能４０１に送信し、他方、再実行可否判定機能４０５が動作環境情報の構築を再実行すると判定した場合、再実行可否判定機能４０５は、エラー情報レコードに基づき修正情報を作成すると共に、構築資材初期化機能４０６を呼び出す。
【００４２】
これに対して、再実行可否判定機能４０５が構築処理要求機能４０３から呼び出された場合においては、再実行可否判定機能４０５が動作環境情報の構築を再実行しないと判定した場合、再実行可否判定機能４０５はエラーを示す構築結果情報をＷｅｂインタフェース機能４０１に送信し、他方、再実行可否判定機能４０５が動作環境情報の構築を再実行すると判定した場合、再実行可否判定機能４０５は、エラー情報レコードに基づき修正情報を作成すると共に、構築処理要求機能４０３を呼び出す。
【００４３】
構築資材初期化機能４０６は、ネットワーク１０２を介して構築対象サーバ１０６と通信し、構築資材作成機能４０２を再実行するべく、構築資材作成機能４０２が先に作成した構築資材を削除する。すなわち構築資材初期化機能４０６は、構築対象サーバ１０６に初期化要求を送信する。なお、その後、構築資材初期化機能４０６は、この初期化の結果を示す情報（以下、初期化結果情報という）を受信する。その後は、構築資材作成機能４０２が行われる。
【００４４】
＜＜構築対象サーバ１０６＞＞
次に、構築対象サーバ１０６の機能について説明する。
図８は、構築対象サーバ１０６の機能の一例を説明する図である。構築対象サーバ１０６は、要求受付機能５０１と、構築処理実行機能５０２と、初期化処理実行機能５０３と、を有する。
【００４５】
要求受付機能５０１は、ネットワーク１０２を介して構築実行サーバ１０５と通信する。具体的には、例えば、要求受付機能５０１は、構築実行サーバ１０５から構築実行要求を受信した場合には、構築処理実行機能５０２を呼び出す。なお、その後、要求受付機能５０１は、構築処理実行機能５０２から受信した、処理の結果を示す情報（構築結果情報）を構築実行サーバ１０５に送信する。
【００４６】
同様に、要求受付機能５０１は、構築実行サーバ１０５から初期化要求を受信した場合には、初期化処理実行機能５０３を呼び出す。その後、要求受付機能５０１は、初期化処理実行機能５０３から受信した、処理の結果を示す情報（初期化結果情報）を構築実行サーバ１０５に受信する。
【００４７】
構築処理実行機能５０２は、要求受付機能５０１により呼び出されると、構築資材が付帯した構築実行要求に基づいて構築対象サーバ１０６に導入ソフトウェアを導入すると共にその導入ソフトウェアの動作環境情報を構築し、それらの結果を記憶した構築結果情報を要求受付機能５０１に送信する。
【００４８】
初期化処理実行機能５０３は、要求受付機能５０１により呼び出されると、初期化要求に基づき、構築処理実行機能５０２が先に作成した構築資材（部品）を初期化（削除）し、その処理の結果を記憶した初期化結果情報を要求受付機能５０１に送信する。これにより、構築処理実行機能５０２は再度実行可能な状態となる。
【００４９】
以上に説明した各情報処理装置の機能は、各情報処理装置のハードウェアによって、もしくは、各情報処理装置のプロセッサ５１が、メモリ５２や補助記憶装置５３に記憶されている各プログラムを読み出して実行することにより実現される。なお、このプログラムは、例えば、二次記憶デバイスや不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤなどの記憶デバイス、又は、ＩＣカード、ＳＤカード、ＤＶＤなどの、計算機で読み取り可能な非一時的データ記憶媒体に格納される。
【００５０】
＜処理シーケンス＞
次に、ソフトウェア導入システム１００において行われる処理を説明する。
図９は、構築対象サーバ１０６に導入ソフトウェアを導入する処理（以下、ソフトウェア導入処理という）の処理シーケンスの一例を示す図である。この処理は、例えば、ユーザ端末１０１に、ユーザから、所定の入力がなされたことを契機に開始される。
【００５１】
まず、ユーザ端末１０１は、ユーザから、導入ソフトウェアを構成する部品の選択を受け付ける（Ｓ６０１）。
【００５２】
ここで、図１０は、Ｓ６０１においてユーザ端末１０１に表示される画面（以下、部品選択画面という）の一例を示す図である。部品選択画面７００は、ユーザから部品の選択を受け付ける入力画面であり、１つ又は複数の部品の選択を受け付けるプルダウン７０１、プルダウン７０１による部品の選択を完了する実行ボタン７０２を備える。
【００５３】
次に、図９のＳ６０２に示すように、ユーザ端末１０１は、Ｗｅｂサーバ１０３に、Ｓ６０１で選択された部品を示す部品選択情報が付帯した処理要求を送信する。
【００５４】
Ｗｅｂサーバ１０３は処理要求を受信すると、組み合わせ不可情報３０１から、問合せ結果レコードを取得する（Ｓ６０３）。そして、Ｗｅｂサーバ１０３は、Ｓ６０３で取得した問合せ結果レコードに基づき、動作環境情報の構築の可否の判定を行う（Ｓ６０４）。動作環境情報の構築が可と判定した場合、Ｗｅｂサーバ１０３は、選択部品情報が付帯した動作環境構築要求を構築実行サーバ１０５に送信する（Ｓ６０５）。
【００５５】
構築実行サーバ１０５は、Ｗｅｂサーバ１０３から動作環境構築要求を受信すると、以下のように、構築資材を作成する処理を実行する（Ｓ６０６−Ｓ６１０）。すなわち、構築実行サーバ１０５は、動作環境構築要求に付帯している選択部品情報に基づき、構築資材の作成を試みる（Ｓ６０６）。そして、構築実行サーバ１０５は、構築資材を正常に作成できたか否かを判定する（Ｓ６０７）。構築資材を正常に作成できたと判定した場合、構築実行サーバ１０５は次述するＳ６１１の処理を実行するが、構築資材を正常に作成できなかったと判定した場合は、構築実行サーバ１０５は構築処理再実行可否情報３０２からエラー情報レコードを取得する（Ｓ６０８）。構築実行サーバ１０５は、取得したエラー情報レコードに基づき、動作環境情報の構築を再実行するか否かを判定する（Ｓ６０９）。そして、動作環境情報の構築を再実行すると判定した場合、構築実行サーバ１０５は、先に作成した構築資材を初期化（削除）し（Ｓ６１０）、その後、Ｓ６０６の処理を再実行する。
【００５６】
次に、構築実行サーバ１０５は、以下のように、構築対象サーバ１０６に対して、構築資材に基づく導入ソフトウェアを導入すると共にその導入ソフトウェアの動作環境の構築を実行する処理（構築実行処理）を実行する（Ｓ６１１−Ｓ６２０）。すなわち、まず構築実行サーバ１０５は、構築対象サーバ１０６に、作成した構築資材が付帯した構築実行要求を送信する（Ｓ６１１）。構築対象サーバ１０６は受信した構築実行要求に基づき、導入ソフトウェアを導入すると共にその導入ソフトウェアの動作環境情報を構築する処理（以下、構築処理という）を実行する（Ｓ６１２）。そして、構築実行サーバ１０５は、構築対象サーバ１０６から構築結果情報を受信する（Ｓ６１３）。
【００５７】
構築実行サーバ１０５は、受信した構築結果情報に基づき、構築対象サーバ１０６に導入ソフトウェア及びその動作環境情報が正常に構築されたか否かを判定する（Ｓ６１４）。動作環境情報が正常に構築されたと判定した場合は、構築実行サーバ１０５は、後述するＳ６２１の処理を実行し、他方、動作環境情報が正常に構築されなかったと判定した場合は、構築実行サーバ１０５は、構築処理再実行可否情報３０２からエラー情報レコードを取得し（Ｓ６１５）、取得したエラー情報レコードに基づき、導入ソフトウェアの動作環境情報の構築を再実行するか否かを判定する（Ｓ６１６）。
【００５８】
構築実行サーバ１０５は、動作環境情報の構築を再実行すると判定した場合、構築対象サーバ１０６に、初期化要求を送信する（Ｓ６１７）。構築対象サーバ１０６は受信した初期化要求に基づき、Ｓ６１２で構築に失敗した動作環境情報及びこれに関連する情報を初期化（削除）する処理（以下、初期化処理という）を実行し（Ｓ６１８）、初期化処理の結果を示す初期化結果情報を構築実行サーバ１０５に送信する。構築実行サーバ１０５は初期化結果情報を受信すると（Ｓ６１９）、受信した初期化結果情報に基づき、動作環境情報を初期化できたか否かを判定する（Ｓ６２０）。動作環境情報を初期化できたと判定した場合、構築実行サーバ１０５はＳ６１１の処理を再度実行し、他方、動作環境情報を初期化できなかったと判定した場合、構築実行サーバ１０５は、所定の処理を行ってソフトウェア導入処理を終了する（不図示）。
【００５９】
Ｓ６２１においては、構築対象サーバ１０６は、構築実行処理が実行した処理の内容を記憶し、その内容を構築結果情報としてＷｅｂサーバ１０３に送信する（Ｓ６２１、Ｓ６２２）。
【００６０】
Ｗｅｂサーバ１０３は、構築対象サーバ１０６から受信した構築結果情報に基づき、ユーザ端末１０１に表示する画面に関する画面情報を作成する（Ｓ６２３）。Ｗｅｂサーバ１０３は、作成した画面情報をユーザ端末１０１に送信し、ユーザ端末１０１は受信した画面情報が示す情報を画面に表示する（Ｓ６２４）。以上でソフトウェア導入処理は終了する。
【００６１】
ここで、図１１は、Ｗｅｂサーバ１０３が構築資材作成処理又は構築処理実行処理を実行中に、ユーザ端末１０１に表示される画面（以下、構築状況表示画面という）の一例を示す図である。構築状況表示画面７２０は、Ｗｅｂサーバ１０３が行っている処理の内容を表示する進捗説明欄７２１と、進捗説明欄７２１に表示されている内容を更新する更新ボタン７２２とを備える。ユーザは、この構築状況表示画面７２０を参照することにより、現在の処理の進捗状況を確認することができる。
【００６２】
また、図１２は、Ｗｅｂサーバ１０３が構築資材作成処理及び構築処理実行処理を完了した後に、ユーザ端末１０１に表示される画面（以下、構築完了表示画面という）の一例を示す図である。構築完了表示画面７４０は、構築状況表示画面７２０の後に表示される画面であり、Ｗｅｂサーバ１０３が構築資材作成処理及び構築処理実行処理を完了したことを示す情報が表示される完了説明欄７４１と、ユーザに部品を選択させ直す（例えば、図９のＳ６０１の処理に戻る）ために部品選択画面７００を表示するための初期画面遷移ボタン７４２とを備える。ユーザは、この構築完了表示画面７４０を参照することにより、動作環境の構築が完了したことを確認すると共に、異なる部品からなる導入ソフトウェアの再導入を行うことができる。
【００６３】
＜情報処理装置ごとの説明＞
次に、前記のソフトウェア導入処理において各情報処理装置が行う処理の詳細を説明する。
【００６４】
＜＜Ｗｅｂサーバ１０３の処理＞＞
図１３は、ソフトウェア導入処理においてＷｅｂサーバ１０３が行う処理の一例を説明するフローチャートである。まず、Ｗｅｂサーバ１０３の部品組み合わせ可否問合せ機能２０２は、組み合わせ不可情報３０１から、ユーザ端末１０１から受信した選択部品情報に対応する部品の組み合わせの取得を試みる（Ｓ７０１。図９のＳ６０３に対応）。
【００６５】
具体的には、例えば、部品組み合わせ可否問合せ機能２０２は、組み合わせ不可情報３０１から、部品選択情報が示す部品の組み合わせの全てが対象Ａ１２０２から対象Ｃ１２０４までのいずれかの項目に格納されているレコードを特定し、特定したレコードの内容を取得する。例えば、選択部品情報として「部品０００１」と「部品０００２」が選択された場合、図５に示した例において、部品組み合わせ可否問合せ機能２０２は、「部品０００１」と「部品０００２」が格納されている組み合わせ不可情報３０１のレコードを取得する。
【００６６】
部品組み合わせ可否問合せ機能２０２が部品の組み合わせを取得できた場合（Ｓ７０２：ＹＥＳ）、後述するＳ７０８が実行される。他方、部品組み合わせ可否問合機能２０４が部品の組み合わせを取得できなかった場合（Ｓ７０２：ＮＯ）、後述するＳ７０３が実行される。
【００６７】
このように、部品組み合わせ可否問合せ機能２０２は、組み合わせが不可能であると判明している部品を記憶した組み合わせ不可情報３０１を参照することで、後続の構築資材作成処理及び構築実行処理を正常に実行させることができる。
【００６８】
Ｓ７０３においてユーザ端末インタフェース機能２０１は、選択部品情報を付帯させた動作環境構築要求を構築実行サーバ１０５に送信する（図９のＳ６０５に対応）。その後、ユーザ端末インタフェース機能２０１は、動作環境構築要求に対応する構築結果情報を構築実行サーバ１０５から受信する（Ｓ７０４。図９のＳ６２２に対応。）。
【００６９】
次に、ユーザ端末インタフェース機能２０１は、実行した処理の結果を表示する画面を作成する（Ｓ７０５、Ｓ７０６、Ｓ７０８。図９のＳ６２３に対応）。すなわち、ユーザ端末インタフェース機能２０１は、受信した構築結果情報の内容を判定する（Ｓ７０５）。受信した構築結果情報が正常終了を示す情報を含んでいる場合（Ｓ７０５：ＹＥＳ）、ユーザ端末インタフェース機能２０１は、構築実行処理が正常終了したことを示す画面情報を作成し（Ｓ７０６）、その後はＳ７０７の処理が行われる。他方、受信した構築結果情報が異常終了を示す情報を含んでいる場合（Ｓ７０５：ＮＯ）、ユーザ端末インタフェース機能２０１は、構築実行処理が異常終了したことを示す画面情報（以下、異常終了画面情報という）を作成する（Ｓ７０８）。その後はＳ７０７の処理が行われる。
【００７０】
Ｓ７０７においては、ユーザ端末インタフェース機能２０１は、ユーザ端末１０１に、Ｓ７０６又はＳ７０８が作成した画面情報を表示させる（図９のＳ６２４）。
【００７１】
なお、異常終了画面情報は、例えば、Ｓ７０２で部品の組み合わせを取得できた場合は、部品の組み合わせが適当でない旨のエラーを画面に表示するための情報（以下、第１異常終了画面情報という）であり、Ｓ７０５で動作環境を構築できなかった場合（Ｓ７０５）は、動作環境を構築できなかった旨のエラーを画面に表示するための情報（以下、第２異常終了画面情報という）である。
【００７２】
ここで、図１４は、ユーザ端末１０１に表示される、第１異常終了画面情報に基づき表示される画面（以下、選択部品組み合わせエラー表示画面という）の一例を示す図である。選択部品組み合わせエラー表示画面７６０は、発生したエラーの概要が表示される説明欄７６１と、選択部品の一覧が表示される部品欄７６２と、選択部品の組み合わせが適当でない理由を表示するエラー内容欄７６３と、ユーザに部品を選択させ直す（例えば、図９のＳ６０１の処理に戻る）ために部品選択画面７００を表示するための初期画面遷移ボタン７６４とを備える。ユーザは、この選択部品組み合わせエラー表示画面７６０を参照することにより、選択した部品の組み合わせが適当でないこと及びその理由を確認することができる。
【００７３】
また、図１５は、ユーザ端末１０１に表示される、第２異常終了画面情報に基づき表示される画面（以下、構築処理エラー表示画面という）の一例を示す図である。構築処理エラー表示画面７８０は、第２異常終了表示情報に基づき表示される画面であり、発生したエラーの内容が表示される説明欄７８１と、ユーザに部品を選択させ直す（例えば、図９のＳ６０１の処理に戻る）ために部品選択画面７００を表示するための初期画面遷移ボタン７８２とを備える。ユーザは、この構築処理エラー表示画面７８０を参照することにより、動作環境の構築時に発生したエラーの内容を確認することができる。
【００７４】
＜＜構築実行サーバ１０５の処理＞＞
続いて、図１６は、ソフトウェア導入処理において構築実行サーバ１０５が行う処理の一例を説明するフローチャートである。
【００７５】
まず、構築実行サーバ１０５の構築資材作成機能４０２は、Ｗｅｂサーバ１０４から受信した動作環境構築要求（選択部品情報が付帯）に基づき、構築資材作成処理を実行する（Ｓ８０１。図９のＳ６０６に対応）。構築資材作成処理の詳細は後述する。
【００７６】
次に、構築資材作成機能４０２は、Ｓ８０１で実行した構築資材作成処理の結果を判定する（Ｓ８０２。図９のＳ６０７に対応）。構築資材作成処理の結果が正常である場合（Ｓ８０２：ＹＥＳ）、後述するＳ８０３の処理が行われ、構築資材作成処理の結果が異常である場合（Ｓ８０２：ＮＯ）、後述するＳ８０７の処理が行われる。
【００７７】
Ｓ８０３においては、構築処理要求機能４０３は、構築実行処理を実行する（図９のＳ６１１に対応）。構築実行処理の詳細は後述する。そして、構築処理要求機能４０３は、実行した構築実行処理の結果を判定する（Ｓ８０４。図９のＳ６１４に対応）。構築実行処理の結果が正常終了である場合には（Ｓ８０４：ＹＥＳ）、Ｗｅｂインタフェース機能４０１は、構築結果情報を正常に設定し（Ｓ８０７。図９のＳ６２１に対応）、その後は後述するＳ８０６の処理が行われる。他方、構築実行処理の結果が異常終了である場合には（Ｓ８０４：ＮＯ）、Ｗｅｂインタフェース機能４０１は、構築結果情報を異常に設定し（Ｓ８０５。図９のＳ６２１に対応）、その後はＳ８０６の処理が行われる。
【００７８】
Ｓ８０６においてＷｅｂインタフェース機能４０１は、構築結果情報（正常又は異常）をＷｅｂサーバ１０３に送信する（図９のＳ６２２に対応）。以上で構築実行サーバ１０５の処理は終了する（Ｓ８０８）。
【００７９】
次に、前記の構築資材作成処理及び構築実行処理の詳細を説明する。
（構築資材作成処理）
図１７は、構築資材作成処理の一例を説明するフローチャートである。まず、構築実行サーバ１０５の構築資材作成機能４０２は、選択部品情報に基づき、構築資材の作成を試みる（Ｓ９０３。図９のＳ６０６に対応）。なお、後述するＳ９０８で修正情報が作成されている場合は、構築資材作成機能４０２は、作成した構築資材に対して、修正情報が示す処理を実行し、構築資材に修正情報の内容を反映させる。
【００８０】
そして、構築資材作成機能４０２は、構築資材の作成の結果（成否）を解析し、構築資材を正常に作成できたか否かを判定する（Ｓ９０４）。構築資材を正常に作成できたと判定した場合（Ｓ９０４：ＹＥＳ）、構築資材作成機能４０２は、後述するＳ９０９の処理を行い、構築資材を正常に作成できなかったと判定した場合（Ｓ９０４：ＮＯ）、構築資材作成機能４０２は、後述するＳ９０５の処理を行う。
【００８１】
Ｓ９０５においては、エラー内容問合せ機能４０４は、構築処理再実行可否情報３０２からエラー情報レコードの取得を試みる（図９のＳ６０８に対応）。具体的には、例えば、エラー内容問合せ機能４０４は、構築処理再実行可否情報３０２から、発生フェーズ１２０６が構築資材作成処理を示しているレコードを全て抽出し、抽出したレコードのうち、エラー内容１２０７に、Ｓ９０３で解析した内容と一致する内容の情報が格納されているレコードを検索する。
【００８２】
そして、再実行可否判定機能４０５は、エラー情報レコードの取得の結果を判定する（Ｓ９０６。図９のＳ６０９に対応）。エラー情報レコードが取得できた場合は（Ｓ９０６：ＹＥＳ）、再実行可否判定機能４０５は、構築資材を再度作成すると判定し、そのための初期化処理として、後述するＳ９０７の処理を実行する。他方、エラー情報レコードが取得できなかった場合は（Ｓ９０６：ＮＯ）、再実行可否判定機能４０５は、選択部品情報に基づく構築資材の作成は不可能であると判定し、後述するＳ９１０の処理を実行する。
【００８３】
Ｓ９０７においては、構築資材初期化機能４０６は、Ｓ９０３で作成に失敗した構築資材を削除する（図９のＳ６１０に対応）。また、構築資材初期化機能４０６は、Ｓ９０５で取得したエラー情報レコードを解析して修正情報を作成する（Ｓ９０８。図９のＳ６１０に対応）。具体的には、例えば、構築資材初期化機能４０６は、Ｓ９０５で検索したレコード（構築資材作成処理を示しているレコード）の修正方法１２０８の内容を解析してその内容を取得する。その後は、Ｓ９０３の処理に戻る（Ｓ９０２。図９のＳ６０６〜Ｓ６１０のループに対応）。
【００８４】
このように、構築資材作成処理は、構築処理再実行可否情報３０２に基づき、構築資材の作成に失敗した場合に、それに対処するための修正情報を作成するので、構築資材の作成を適切に行うことができる。
【００８５】
なお、Ｓ９０９においては、構築資材作成機能４０２は、構築資材作成処理が構築資材を正常に作成したと記憶し（設定し）、構築資材作成処理は終了する（図９のＳ６０７に対応）。
【００８６】
また、Ｓ９１０においては、構築資材作成機能４０２は、構築資材作成処理が構築資材を正常に作成できなかったと記憶し（設定し）、構築資材作成処理は終了する（図９のＳ６２２に対応）。
【００８７】
（構築実行処理）
図１８は、構築実行処理の一例を説明するフローチャートである。まず、構築実行サーバ１０５の構築処理要求機能４０３は、構築対象サーバ１０６に、構築資材作成処理で作成した構築資材の情報が付帯した、その作成した構築資材に基づく導入ソフトウェアに対応した動作環境情報を構築する旨の構築実行要求を送信する（Ｓ１００３。図９のＳ６１１に対応）。その後、構築処理要求機能４０３は、構築対象サーバ１０６から送信される構築結果情報を受信し（Ｓ１００４。図９のＳ６１３に対応）、受信した構築結果情報の内容を解析する（Ｓ１００５。図９のＳ６１４に対応）。受信した構築結果情報が正常を示す情報を含んでいる場合（Ｓ１００５：ＹＥＳ）、構築処理要求機能４０３は、後述するＳ１０１２の処理を実行し、受信した構築結果情報がエラーを示す情報を含んでいる場合（Ｓ１００５：ＮＯ）、構築処理要求機能４０３は、Ｓ１００６の処理を実行する。
【００８８】
Ｓ１００６においては、エラー内容問合せ機能４０４は、構築処理再実行可否情報３０２から、エラー情報レコードの取得を試みる（図９のＳ６１５に対応）。具体的には、例えば、エラー内容問合せ機能４０４は、構築処理再実行可否情報３０２から、発生フェーズ１２０６が構築実行処理を示しているレコードを全て抽出し、抽出したレコードのうち、エラー内容１２０７に、Ｓ１００５で解析した構築結果情報の内容と一致する内容の情報が格納されているレコードを検索する。
【００８９】
そして、再実行可否判定機能４０５は、Ｓ１００６でエラー情報レコードを取得できたか否かを判定する（Ｓ１００７。図９のＳ６１６に対応）。エラー情報レコードを取得できた場合（Ｓ１００７：ＹＥＳ）、再実行可否判定機能４０５は、Ｓ１００８の処理を実行し、エラー情報レコードを取得できなかった場合（Ｓ１００７：ＮＯ）、再実行可否判定機能４０５は、動作環境の構築は不可能であるとして、Ｓ１０１３の処理を実行する。
【００９０】
Ｓ１００８においては、構築資材初期化機能４０６は、動作環境の再構築は可能であるとして、構築対象サーバ１０６に初期化要求を送信する（図９のＳ６１７に対応）。その後、構築資材初期化機能４０６は、構築対象サーバ１０６から、初期化結果情報を受信する（Ｓ１００９。図９のＳ６１９に対応）。
【００９１】
構築資材初期化機能４０６は、受信した初期化結果情報を判定する（Ｓ１０１０。図９のＳ６２０に対応）。初期化結果情報が正常を示している場合は（Ｓ１０１０：ＹＥＳ）、構築資材初期化機能４０６はＳ１０１１の処理を実行し、初期化結果情報が異常を示している場合は（Ｓ１０１０：ＮＯ）、構築資材初期化機能４０６はＳ１０１３の処理を実行する。
【００９２】
Ｓ１０１１においては、構築資材初期化機能４０６は、Ｓ１００６で取得したエラー情報レコードを解析して修正情報を作成する。具体的には、例えば、構築資材初期化機能４０６は、Ｓ１００６で検索したレコード（構築実行処理を示しているレコード）の修正方法１２０８の内容を解析してその内容を取得する。そして、構築資材初期化機能４０６は、この修正情報を付帯させた構築実行要求を生成する。
【００９３】
構築資材初期化機能４０６は、生成した構築実行要求を送信する（Ｓ１００５、Ｓ１００２、図９のＳ６１１〜Ｓ６２０のループに対応）。
【００９４】
このように、構築実行処理は、構築処理再実行可否情報３０２に基づき、動作環境情報の構築に失敗した場合に、それに対処するための処理を行う修正情報を作成するので、動作環境の構築を適切に行うことができる。
【００９５】
なお、Ｓ１０１２においては、Ｗｅｂインタフェース機能４０１は、構築実行処理の結果は正常である旨を記憶し、構築実行処理は終了する。また、Ｓ１０１３においては、Ｗｅｂインタフェース機能４０１は、構築実行処理の結果は異常である旨を記憶し、構築実行処理は終了する（Ｓ１０１３。図９のＳ６２１〜Ｓ６２２に対応）。
【００９６】
＜＜構築対象サーバ１０６＞＞
次に、構築対象サーバ１０６が行う処理について説明する。
（構築処理）
図１９は、ソフトウェア導入処理において構築対象サーバ１０６が行う処理のうち、構築処理の一例を説明するフローチャートである。まず、構築対象サーバ１０６の要求受付機能５０１が、構築実行サーバ１０５から構築実行要求を受信すると（Ｓ１１０２）、構築処理実行機能５０２は、受信した構築実行要求に対応する処理を実行する（Ｓ１１０３）。
【００９７】
具体的には、例えば、構築処理実行機能５０２は、構築実行要求に付帯している構築資材に基づき導入ソフトウェアを構築対象サーバ１０６に導入する（インストールする）と共に、導入した導入ソフトウェアに対応する動作環境情報を構築する。また、構築処理実行機能５０２は、構築実行要求に付帯している修正情報が示す処理を実行し、動作環境情報を修正する。
【００９８】
その後、要求受付機能５０１は、Ｓ１１０３で実行した処理の結果の情報（構築結果情報。例えば、正常又はエラー）を、構築実行サーバ１０５に送信する（Ｓ１１０４）。以上で構築処理は終了する（Ｓ１１０１）。
【００９９】
（初期化処理）
次に、図２０は、ソフトウェア導入処理において構築対象サーバ１０６が行う処理のうち、初期化処理の一例を説明するフローチャートである。まず、要求受付機能５０１が、構築実行サーバ１０５から初期化要求を受信すると（Ｓ１１０６）、初期化処理実行機能５０３は、受信した初期化要求に対応する処理を実行する（Ｓ１１０７）。具体的には、例えば、要求受付機能５０１は、構築処理で作成された構築資材（部品）を全て削除する。
【０１００】
その後、要求受付機能５０１は、Ｓ１１０７で実行した処理の結果を示す初期化結果情報（例えば、正常又は異常）を、構築実行サーバ１０５に送信する（Ｓ１１０４）。以上で構築処理は終了する（Ｓ１１０５）。
【０１０１】
以上のように、本実施形態のソフトウェア導入システム１００によれば、指定されたソフトウェアの導入に失敗した場合に、構築対象サーバ１０６への導入に失敗したソフトウェア、及びその失敗の原因についての情報（組み合わせ不可情報３０１、及び構築処理再実行可否情報３０２）に基づいて指定された導入ソフトウェアを導入（インストール）することが可能であるか否かを判定し、導入が可能であると判定した場合には、その原因に対応づけられた所定の処理（例えば、部品の構成や各種設定ファイルに係る処理）を実行することにより指定されたソフトウェアを構築対象サーバ１０６に導入するので、ソフトウェアを導入する際にエラー等が生じてインストールができなくなったような場合でも、その原因に応じた適切なインストールを可能とすることができる。これにより、例えば、ソフトウェア導入システム１００のユーザは、ソフトウェアの導入にエラーが発生した場合でもシステムの点検、確認等の対応作業を行う必要がなくなるので、ソフトウェアの導入に係る時間が削減され、人的及び物的リソースの削減を実現することができる。このように、本実施形態のソフトウェア導入システム１００によれば、ソフトウェアの導入を円滑に行うことができる。
【０１０２】
また、本実施形態のソフトウェア導入システム１００は、導入に失敗したソフトウェアの構成に関する情報（例えば、各部品の結合関係）に基づいて指定されたソフトウェアの導入が可能であるか否かを判定し、導入が可能であると判定した場合には、指定されたソフトウェアの構成を修正する処理（例えば、構成部品の編集と結合の順序の変更の処理、部品の結合方式の変更の処理）を実行するので、導入ソフトウェアの構成部品として適当でない部品が含まれていたり構成部品に修正が必要な場合には、それらを修正して導入ソフトウェアを導入することができる。これにより、導入ソフトウェアが複雑な構成で成り立っているような場合でも、ソフトウェアを円滑に導入することができる。
【０１０３】
また、本実施形態のソフトウェア導入システム１００は、ソフトウェアの導入に失敗した際に実行していた処理（例えば、エラーがインストール時に発生した場合にはインストール処理、導入ソフトウェアの起動時にエラーが発生した場合には、その導入ソフトウェアの起動時の処理）に関する情報に基づいて指定されたソフトウェアの導入が可能であるか否かを判定し、導入が可能であると判定した場合には、所定の設定情報（例えば、インストール時のユーザ設定情報、ネットワーク設定情報、設定ファイル等）を生成する処理を実行するので、導入先の情報処理装置（構築対象サーバ１０６）の構成やネットワーク１０２の構成に応じた、適切な動作環境を備えた導入ソフトウェアの導入を円滑に行うことができる。
【０１０４】
また、本実施形態のソフトウェア導入システム１００は、指定されたソフトウェアを情報処理装置（構築対象サーバ１０６）に導入する際に、指定されたソフトウェアの導入に失敗した際に生成した情報を削除する（初期化する）ので、ソフトウェアの導入に失敗した際に生成された情報によって導入ソフトウェアの導入が失敗する可能性を低減することができる。
【０１０５】
なお、本実施形態のソフトウェア導入システム１００は、指定されたソフトウェアの導入が可能か否かを示す情報（構築状況表示画面７２０、構築完了表示画面７４０、選択部品組み合わせエラー表示画面７６０、構築処理エラー表示画面７８０等）を出力するので、ユーザは、導入ソフトウェアの導入が円滑に進行しているか否かを確認することができる。
【０１０６】
以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれる。
【０１０７】
例えば、本実施形態では、ソフトウェア導入システム１００において、導入ソフトウェアが導入される情報処理装置は構築対象サーバ１０６のみであったが、ソフトウェア導入システム１は異なる種類の情報処理装置に導入ソフトウェアを導入してもよく、また、導入ソフトウェアを導入する情報処理装置をユーザに選択させるようにしてもよい。
【符号の説明】
【０１０８】
１００  ソフトウェア導入システム、１０４１  導入可否情報記憶部、１０５  構築実行サーバ、４０８  ソフトウェア導入部、１０６  構築対象サーバ
【図１】
2019045045.tif 000003
【図２】
2019045045.tif 000004
【図３】
2019045045.tif 000005
【図４】
2019045045.tif 000006
【図５】
2019045045.tif 000007
【図６】
2019045045.tif 000008
【図７】
2019045045.tif 000009
【図８】
2019045045.tif 000010
【図９】
2019045045.tif 000011
【図１０】
2019045045.tif 000012
【図１１】
2019045045.tif 000013
【図１２】
2019045045.tif 000014
【図１３】
2019045045.tif 000015
【図１４】
2019045045.tif 000016
【図１５】
2019045045.tif 000017
【図１６】
2019045045.tif 000018
【図１７】
2019045045.tif 000019
【図１８】
2019045045.tif 000020
【図１９】
2019045045.tif 000021
【図２０】
2019045045.tif 000022
【国際調査報告】
2019045045.tif 000023
2019045045.tif 000024
2019045045.tif 000025