(57)【要約】装置等は、アプロケーションプログラム（ＡＰ）が必要とするプラットフォームプログラム（インフラ）を、機能に基づいて選択して、実行環境に配備することが出来ない。  配備装置は、複数のＡＰのおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報を格納するＡＰ構成記憶手段と、複数のインフラのおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、ＡＰ名を取得して、取得したＡＰ名を含むＡＰ構成情報内の要求機能名のリストを作成し、提供機能名が当該リストの要求機能名を包含するインフラ構成情報を選択し、選択したインフラ構成情報に含まれるインフラ実装名を出力する解決手段と、インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える。
2012111491.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報を格納するＡＰ構成記憶手段と、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決手段と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える配備装置。
【請求項２】
前記解決手段は、複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する、請求項１の配備装置。
【請求項３】
前記ＡＰ構成情報は、ＡＰのパッケージ形式記述を包含し、
前記解決手段は、前記機能リストに、前記パッケージ形式記述に対応する要求機能名を追加する請求項１または２の配備装置。
【請求項４】
前記ＡＰ構成情報は、キーワードを含む、ＡＰの要約情報を包含し、
前記解決手段は、前記機能リストに、前記キーワードに対応する要求機能名を追加する請求項１乃至３のいずれかの配備装置。
【請求項５】
前記解決手段は、複数のＡＰ名を包含するシステム構成情報を入力して、当該システム構成情報から当該複数のＡＰ名を取得し、取得した当該複数のＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名の和集合を含むリストを作成し、
前記配備手段は、当該複数のＡＰ名のおのおのを有するプログラムと、前記合成手段が出力した前記インフラ実装名を有するプログラムを実行装置に出力する、請求項１乃至４のいずれかの配備装置。
【請求項６】
前記システム構成情報は、提供機能名、インフラ実装名を含むカスタマイズ情報を包含し、
選択した前記インフラ構成情報が前記第１の提供機能名を包含するとき、前記解決手段が出力した前記インフラ実装名に代えて、前記カスタマイズ情報のインフラ実装名を前記配備手段に出力する、請求項１乃至５のいずれかの配備装置。
【請求項７】
コンピュータに、
複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報をＡＰ構成記憶手段に格納するＡＰ構成記憶処理と、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納するインフラ構成記憶処理と、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決処理と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備処理、を実行させるプログラム。
【請求項８】
前記コンピュータに、複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する前記解決処理を実行させる、請求項７のプログラム。
【請求項９】
複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報をＡＰ構成記憶手段に格納し、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納し、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力し、
前記インフラ実装名を有するプログラムを実行装置に出力する、配備方法。
【請求項１０】
複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する、請求項９の配備方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの配備装置、配備方法およびプログラムに関する。特に、依存関係を有するミドルウェアやアプリケーションプログラム等を用いて構築される、サービスシステムへのプログラム配備に関する。
【背景技術】
【０００２】
近年、複数のサービス、アプリケーション提供システムを特定のデータセンタ内で構築して、運用する形態を採用することが増加している。この形態は、サービスの提供にあたり、サービス、アプリケーションに依らず共通的に利用する機能群をデータセンタが提供することにより、システムの開発にかかるコストを削減する。ここで、共通的に利用する機能群は、ソフトウェアだけではなくハードウェアの機能も含む。つまり、この形態では、サービス事業者自身は、ハードウェアや一部ソフトウェアを所有せずに、サービス、アプリケーションを利用者に提供できる。この形態のサービスは、クラウド形態のサービスと呼ばれる。
一方で、このようなクラウド形態のサービスは、データセンタ内部で、ハードウェアやミドルウェアなどのソフトウェアを他のサービス、アプリケーションと共有して提供される。一事業者がハードウェアやソフトウェアを占有してしまうと、ハードウェアやソフトウェアの総量が肥大化し、その維持コストは高くなる。共有は、この高いコストを防止する。つまり、クラウド形態のサービスは、決められた機能性と品質を提供するための最低限のハードウェア、ソフトウェアリソースを用いて実現されることで、維持費が低い安価なサービス実行環境をサービス事業者に提供する。
この時、サービス事業者に、データセンタ内部の構造を意識させずにサービス、アプリケーションの運用に必要な環境・動作条件を指定させて、所望の条件のサービスシステムをデータセンタ内に構築することが必要となる。これをいかに行うかが課題となる。特に、このようなデータセンタでは、大量のサービス、アプリケーションを運用するため、いかにサービスシステムの構築負荷を低下させるかが課題となる。
このような課題は、クラウド形態のサービスを提供する大規模データセンタが登場する前から取り組まれており、システム構築をなるべく自動化するアプローチが取られてきた。
例えば、特許文献１は、システムを所定のサービス定義モデルによって詳細に記述し、システム構成を自動化する技術を開示する。
また、特許文献２は、仮想計算機システムをホストコンピュータに組み込む際、仮想計算機システムを動作させるために必要となる仮想計算機システム構成情報、およびホストコンピュータと各子ＯＳのシステム構成情報を自動生成するシステムを開示する。
さらに、特許文献３は、事例データベース内の再利用可能な仕様書を特定し、仕様書の雛形に特定した仕様書各々の内容を反映して、設計対象システムに対するコンポジット仕様書を自動生成する装置を開示する。特許文献４は、アプリケーションプログラムの配備手続ファイルが指定するサーバに、アプリケーションプログラムを配備する装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２７２９１２号公報
【特許文献２】特開２００２−７１４９号公報
【特許文献３】特開２００４−３４１６２３号公報
【特許文献４】特開２００６−３３８６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の文献に開示された技術は、何れも、アプリケーションプログラムが必要とする機能に基づいて、プラットフォームプログラムを選択して、実行環境に配備できない。
特許文献２のシステムにおいて、ホストコンピュータのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、仮想計算機の子ＯＳは予め特定のものが想定されている。特許文献３のシステムにおいて、コンポーネントは、事例に基づいて決定される。特許文献４のシステムにおいて、プラットフォームプログラムはサーバハードウェアと分離して考慮されないし、配備もされない。
本発明は、上述の課題を解決するための装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一実施形態の配備装置は、複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報を格納するＡＰ構成記憶手段と、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決手段と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える。
本発明の一実施形態のプログラムは、コンピュータに、
複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報をＡＰ構成記憶手段に格納するＡＰ構成記憶処理と、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納するインフラ構成記憶処理と、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決処理と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備処理、を実行させる。
本発明の一実施形態の配備方法は、複数のアプリケーションプログラム（ＡＰ）のおのおの対応に、ＡＰ名および要求機能名を含むＡＰ構成情報をＡＰ構成記憶手段に格納し、
複数のプラットフォームプログラム（インフラ）のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納し、
ＡＰ名を取得して、取得した前記ＡＰ名を含む前記ＡＰ構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力し、
前記インフラ実装名を有するプログラムを実行装置に出力する。
【発明の効果】
【０００６】
本願発明に係る装置等は、アプロケーションプログラムが必要とするプラットフォームプログラムを、機能に基づいて選択して、実行環境に配備することが出来る。
【図面の簡単な説明】
【０００７】
【図１】第１の実施の形態の配備システム２０の全体構成を示す。
【図２】ＡＰ構成情報４０の構成を示す。
【図３】インフラ構成情報５０の構成を示す。
【図４】システム構成情報３０の構成を示す。
【図５】合成部１４の動作フローチャートである。
【図６】解決部１３の動作フローチャート（１／２）である。
【図７】解決部１３の動作フローチャート（２／２）である。
【図８】配備部１５の動作フローチャートである。
【図９】第２の実施形態の解決部１３の動作フローチャート（変分）である。
【図１０】第３の実施形態の合成部１４の動作フローチャート（変分）である。
【図１１】第４の実施の形態の配備装置２１の構成を示す。
【発明を実施するための形態】
【０００８】
＝＝第１の実施の形態＝＝
図１は、本実施の形態の配備システム２０の全体構成を示す。配備システム２０は、ネットワーク２２で接続された、配備装置２１、実行装置２３、アプリケーションプログラム（以降、ＡＰ）管理装置２４、ミドルウェア等のプラットフォームプログラム（以降、インフラ）管理装置２６を包含する。ネットワーク２２は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｎ対Ｎの直結ケーブル等である。
配備装置２１は、解決部１３、合成部１４、配備部１５、入出力装置１６、ＡＰ構成記憶部１０、インフラ構成記憶部１１、システム構成記憶部１２を備える。解決部１３、合成部１４、配備部１５は、論理回路等で構成されたハードウェア装置である。解決部１３、合成部１４、配備部１５は、コンピュータである配備装置２１のプロセッサが、図示しないプログラムを実行することで実現されても良い。入出力装置１６は、キーボードとディスプレイ装置等である。ＡＰ構成記憶部１０、インフラ構成記憶部１１、システム構成記憶部１２は、半導体メモリ、ディスク装置等の記憶装置である。
配備装置２１は、実行装置２３に、ＡＰ２５やその実行基盤であるインフラ２７を配備する。ここで、配備とは、実行装置２３にプログラムを送信して、実行装置２３内のインストール用プログラムにインストールの要求をすることである。
ＡＰ管理装置２４は、本システムで配備の対象となるＡＰ２５を記憶している。ＡＰ２５の開発者やリリース担当者などの利用者は、予め、ＡＰ２５をＡＰ管理装置２４に登録しておく。インフラ管理装置２６は、本システムで配備の対象となるインフラ２７を記憶している。インフラ２７の開発者やリリース担当者などの利用者は、予め、インフラ２７をインフラ管理装置２６に登録しておく。
なお、ＡＰ２５やインフラ２７は、配備装置２１が備えたディスク装置などに格納されていても良い。この場合、ＡＰ管理装置２４やインフラ管理装置２６は不要となる。
実行装置２３は、ＡＰ２５やインフラ２７を受信およびインストールを行い、その後ＡＰ２５やインフラ２７を実行する。実行装置２３は、例えば、通信機能を持つ基本ＯＳやインストールプログラム等を備えたコンピュータである。
ＡＰ構成記憶部１０は、１以上のＡＰ構成情報４０を格納する。ＡＰ構成情報４０は、ＡＰ２５対応に存在する。例えば、ＡＰ２５の開発者やリリース担当者などの利用者が、配備装置２１が備える入出力インターフェース等を介して、ＡＰ構成情報４０をＡＰ構成記憶部１０に格納する。配備装置２１が、ＡＰ２５の開発リポジトリ等から、一部又は全部のＡＰ構成情報４０を取得してもよい。
図２は、ＡＰ構成情報４０の構成を示す。ＡＰ構成情報４０は、ＡＰ名４１、パッケージ情報４２、１以上の要求機能名４３、コンテンツ情報４４を含む。
ＡＰ名４１は、当該ＡＰ構成情報４０に対応するＡＰ２５を識別するための識別子である。パッケージ情報４２は、対応するＡＰ２５の配備形態を表す情報である。要求機能名４３は、対応するＡＰ２５が要求する機能を表わす識別子である。
コンテンツ情報４４は、対応するＡＰ２５の構成物の内容の要約情報である。コンテンツ情報４４は、コンテンツキーワードを含む。コンテンツキーワードは、ＡＰ２５に含まれるファイル名、ディレクトリ名、ディレクトリの構成（ツリー構造）記述、ファイルに含まれるテキストキーワード情報、テキスト構造情報（記述フォーマット）等である。
インフラ構成記憶部１１は、１以上のインフラ構成情報５０を格納する。インフラ構成情報５０はインフラ２７対応に存在する。例えば、インフラ２７の開発者やリリース担当者などの利用者が、配備装置２１が備える入出力インターフェース等を介して、インフラ構成情報５０をインフラ構成記憶部１１に格納する。配備装置２１が、インフラ２７の開発リポジトリ等から、一部又は全部のインフラ構成情報５０を取得してもよい。
図３は、インフラ構成情報５０の構成を示す。インフラ構成情報５０は、１つの機能名５１、０以上の包含機能名５２、１以上の実装機能名５３、インフラ実装名５４を含む。機能名５１、包含機能名５２、および、実装機能名５３は、まとめて、機能名群５５としても参照される。
機能名５１は、対応するインフラ２７が実現、即ち提供する機能の識別子である。包含機能名５２は、機能名５１で特定される機能が内包する機能の識別子である。例えば、機能名５１が暗号電子メール通信機能の識別子である場合、包含機能名５２は、電子メール通信機能の識別子と暗号／複合機能の識別子である。
インフラ実装名５４は、対応するインフラ２７を識別するための識別子である。
実装機能名５３は、対応するインフラ２７が実現する、機能名５１で特定される機能以外の機能の識別子である。実装機能名５３は、利用者が直接入力するのではなく、インフラ実装名５４のインフラ２７のパッケージ情報から配備装置２１が取得しても良い。さらには、インフラ構成情報５０は実装機能名５３を包含せず、解決部１３が、図７のＳ２２等で、インフラ２７のパッケージ情報から実装機能名５３を取得しても良い。
なお、ＡＰ構成情報４０の要求機能名４３およびインフラ構成情報５０の機能名群５５のおのおのは、同じ機能に対して同じ識別子（機能識別子）を包含する。ＡＰ構成情報４０の要求機能名４３およびインフラ構成情報５０の機能名群５５のおのおので指定される機能の単位、内容、並びに、機能識別子の形式、値は、予め、本システムの管理者等が決定し、ＡＰ構成情報４０やインフラ構成情報５０の登録者等に通知しておく。
システム構成記憶部１２は、１以上のシステム構成情報３０を格納する。システム構成情報３０は、構築対象となるサービスシステムの異なる構成対応に存在する。本システムの運用管理者等は、配備装置２１が備える入出力インターフェース等を介して、システム構成情報３０をシステム構成記憶部１２に格納する。
図４は、システム構成情報３０の構成を示す。システム構成情報３０は、システム名３１、１以上のＡＰ名３２を含む。システム構成情報３０は、１以上のカスタマイズ情報３３０を含んでいても良い。カスタマイズ情報３３０は、インフラ構成情報５０と同じ構造を有する。即ち、カスタマイズ情報３３０は、１つの機能名３３１、０以上の包含機能名３３２、１以上の実装機能名３３３、インフラ実装名３３４を含む。
システム名３１は、対応するサービスシステムの構成の識別子である。ＡＰ名３２は、対応するサービスシステムに配備すべきＡＰ２５の識別子である。
システム構成情報３０は、実行装置２３が備えるべきハードウェアの条件、例えば、ディスク容量、メモリ容量、プロセッサ数等を備えていても良い。そして、配備装置２１が、この情報に基づいて、ＡＰ２５やインフラ２７を配備する実行装置２３を複数の候補から選択するようにしても良い。
本システムは、システム構築担当者等の利用者が、入出力装置１６から、構築対象となるシステムのシステム名を配備装置２１の合成部１４に入力すると、動作を開始する。
図５は、合成部１４の動作フローチャートである。まず、合成部１４は、入出力装置１６から、利用者が入力したシステム名を取得し（Ｓ１）、システム構成記憶部１２を検索して、入力したシステム名に一致するシステム名３１を包含するシステム構成情報３０を取得する（Ｓ２）。さらに、合成部１４は、当該システム構成情報３０に含まれる全てのＡＰ名３２を取得して解決部１３に送信し、解決部１３の動作（図６、７参照）の完了を待ち合わせる（Ｓ３）。
その後、合成部１４は、解決部１３から、ＡＰ構成情報４０および選択されたインフラ構成情報５０を受信して、機能名５１を取得する（Ｓ４）。合成部１４は、Ｓ２で取得したシステム構成情報３０に、機能名３３１が当該機能名５１と一致するカスタマイズ情報３３０が存在するか判定する（Ｓ５）。存在する場合（Ｓ５でＹ）、合成部１４は、当該カスタマイズ情報３３０で解決部１３から受信したインフラ構成情報５０を上書きして（Ｓ６）、ＡＰ構成情報４０および上書きされたインフラ構成情報５０を配備部１５に送信して（Ｓ７）、処理を終了する。存在しない場合（Ｓ５でＮ）、合成部１４は、解決部１３から受信したインフラ構成情報５０を、そのまま配備部１５に送信する（Ｓ７）。
例えば、カスタマイズ情報３３０の機能名３３１およびインフラ構成情報５０の機能名５１が共に機能Ｆ１を示していた場合、合成部１４は、機能Ｆ１の情報としてカスタマイズ情報３３０に定義されたものを採用し、インフラ構成情報５０の情報を無視する。
このように、システム構成情報３０にカスタマイズ情報３３０を設定しておくことにより、システム構築担当者等の利用者は、適切なインフラ２７を配備することが可能になる。
例えば、システム構築担当者等の利用者は、カスタマイズ情報３３０の機能名３３１にリレーショナルデータベース機能の機能識別子を、インフラ実装名３３４にＯＳＳ（ＯｐｅｎＳｏｕｒｃｅ  Ｓｏｆｔｗａｒｅ）のデータベース製品の機能識別子を設定できる。こうしておけば、開発者等が、機能名５１をリレーショナルデータベース機能、インフラ実装名５４を有料データベース製品とするインフラ構成情報５０だけを登録していても、システム構築担当者等は実行装置２３にＯＳＳ製品を配備することができる。
図６および７は、解決部１３の動作フローチャートである。合成部１４からシステム構成情報３０を受信して（Ｓ１１）、解決部１３は、そこから全てのＡＰ名３２を取り出す（Ｓ１２）。その後、解決部１３は、ＡＰ名３２のおのおのについて、Ｓ１３乃至Ｓ１６の処理を繰り返す。
解決部１３は、まず、ＡＰ構成記憶部１０から、ＡＰ名４１が当該ＡＰ名３２に一致するＡＰ構成情報４０を取得する（Ｓ１３）。解析部１３は、パッケージ情報４２を取り出して、当該情報に基づいて、１以上の機能識別子Ａを作成する（Ｓ１４）。
例えば、パッケージ情報４２が、対応ＡＰ２５のパッケージ形式がｗａｒであるとの情報を含む場合、解決部１３は機能識別子Ａとしてｐａｃｋａｇｅ．ｗａｒを生成する。ｐａｃｋａｇｅ．ｗａｒは、パッケージ形式がｗａｒであるプログラムを実行可能とする機能に付けられた機能識別子である。即ち、この機能識別子Ａは、当該ＡＰ２５はパッケージ形式がｗａｒであるプログラムを実行可能なインフラ２７が必要であることを示す。
なお、機能識別子Ａは、パッケージ形式と１対１の関係にある必要はない。解決部１３は、１つのパッケージ形式から２つの機能識別子Ａを生成しても良い。さらには、解決部１３は、例えば、パッケージ情報４２が示すパッケージ形式がｗａｒである場合とｅａｒである場合の両方とも、ｐａｃｋａｇｅ．ｊｅｅという同一機能識別子Ａを生成してもよい。この場合、ｐａｃｋａｇｅ．ｊｅｅは、パッケージ形式がｗａｒおよびｅａｒであるプログラムを実行可能とする機能に付けられた機能識別子である。
パッケージ形式と１以上の機能識別子Ａの対応は、予め配備装置２１に、対応表、変換ルール等として与えられている。
次に、解決部１３は、コンテンツ情報４４を取り出して、当該情報に基づいて、１以上の機能識別子Ｂを作成する（Ｓ１５）。具体的には、解決部１３は、コンテンツ情報４４に含まれるコンテンツキーワードを取り出して、それに基づいて機能識別子Ｂを作成する。
例えば、データベースアクセス処理を代行するフレームワークを導入した場合、該当フレームワークが使用する設定ファイルのファイル名が、コンテンツ情報４４に含まれていることを検出した解決部１３は、機能識別子Ｂとしてｄｂ．ｆｒａｍｅｗｏｒｋ１を生成する。ｄｂ．ｆｒａｍｅｗｏｒｋ１は、当該フレームワークの共通機能に付けられた機能識別子である。
機能識別子Ｂは、コンテンツキーワードと１対１の関係にある必要はない。解決部１３は、異なる複数のコンテンツキーワードから、同一機能識別子Ｂを生成しても良い。逆に、同部は、コンテンツ情報４４に、異なるコンテンツキーワードの全てが含まれている場合に、ある１つの機能識別子Ｂを生成しても良い。
解決部１３は、このように、コンテンツ情報４４からフレームワーク等のインフラ２７に係る特徴を発見して、そこから機能識別子Ｂを生成する。１以上のコンテンツキーワードと機能識別子の対応は、予め配備装置２１に、対応表、変換ルール等として与えられている。
解決部１３は、ＡＰ構成情報４０に含まれている要求機能名４３、生成した機能識別子ＡおよびＢを結合して、当該ＡＰ名３２に対応する要求機能１を生成する（Ｓ１６）。ここで、結合とは、要求機能名４３、機能識別子ＡおよびＢの機能識別子の和集合を生成することを指す。
例えば、機能識別子Ａが｛Ａ１｝、機能識別子Ｂが｛Ｂ１，Ｂ２，Ｐ１｝、要求機能名４３が｛Ｃ１，Ｐ１｝である場合、当該ＡＰ名３２に対応する要求機能１は、｛Ａ１，Ｂ１，Ｂ２，Ｃ１，Ｐ１｝となる。
解決部１３は、要求機能１を、システム構成情報３０から取り出したＡＰ名３２の数だけ繰り返し生成する。
続いて、解決部１３は、生成した全ての要求機能１を結合し、要求機能２を生成する（Ｓ２１）。ここでの結合処理は、Ｓ１６と同様の処理内容である。
解決部１３は、インフラ構成記憶部１１を検索して、機能名群５５が、要求機能２に含まれる機能識別子を全て包含するインフラ構成情報５０を選択して、取得する（Ｓ２２）。
例えば、要求機能２に含まれる機能識別子が｛Ｆ１，Ｆ２，Ｆ３｝であったとする。あるインフラ構成情報５０の機能名５１がＦ１で、インフラ実装名５４が示すインフラ２７の実装機能５３が｛Ｆ１，Ｆ２｝で、包含機能名５２が｛Ｆ３｝であった場合、解決部１３は、該当インフラ構成情報５０を選択する。しかし、要求機能２に含まれる機能識別子が｛Ｆ１，Ｆ２，Ｆ３，Ｆ４｝であった場合、同部は、当該インフラ構成情報５０を選択しない。
次に、解決部１３は、取得した全てのＡＰ構成情報４０と、選択したインフラ構成情報５０を、合成部１４に送信する（Ｓ２３）。
図８は、配備部１５の動作フローチャートである。まず、配備部１５は、ＡＰ構成情報４０およびインフラ構成情報５０を合成部１４から受信する（Ｓ３１）。次に、配備部１５は、受信したインフラ構成情報５０が包含するインフラ実装名５４を持つインフラ２７を、インフラ管理装置２６に要求して、受信する（Ｓ３２）。
配備部１５は、受信したＡＰ構成情報４０のおのおのが包含するＡＰ名４１を持つＡＰ２５を、ＡＰ管理装置２４に要求して、受信し（Ｓ３３）、受信したインフラ２７およびＡＰ２５を実行装置２３に送信する（Ｓ３４）。
実行装置２３は、配備部１５から送信されたプログラムを受信して、インストールを行う。この為、実行装置２３は、予めインストール用のプログラムを備えている。または、実行装置２３は、予めプログラム受信用の基本ＯＳだけを備え、各プログラム個別のインストール用プログラムは、ＡＰ２５、インフラ２７に包含されて配備装置２１から送信されても良い。
なお、配備装置２１は、システム構成記憶部１２、合成部１４を備えなくても良い。この場合、システム構築担当者等の利用者が入出力装置１６から直接ＡＰ名を解決部１３に入力し、解決部１３が選択したインフラ実装名５４を配備部１５に出力する。
本実施形態の配備装置２１は、ＡＰ２５が必要とするインフラ２７を選択して、実行装置２３に配備することが出来る。その理由は、配備装置２１が、ＡＰ構成情報４０の要求機能名４３とインフラ構成情報５０の機能名群５５との照合を行って、インフラ２７を選択するからである。この為、ＡＰ２５の開発者もシステム構築の担当者も、サービスシステムにどのインフラ２７を利用するのかという情報を入力する必要がなく、システム構築が容易になる。
さらに、システム構築の担当者等は、システム独自の要件に基づいてインフラ２７を配備することが可能であり、柔軟性の高いシステム構築が出来る。その理由は、配備装置２１が、選択したインフラ構成情報５０を、所定条件の下、カスタマイズ情報３３０で置換するからである。
＝＝第２の実施の形態＝＝
本発明の第２の実施形態の配備システム２０は、１以上のＡＰ２５が要求する要求機能名４３を全て満たすインフラ２７が存在しなかった場合、複数のインフラ２７を組み合わせることによって所望のシステム構成を実現する。
本実施形態における解決部１３の動作フローチャートは、図７のコネクタ２と３の間に図９のフローチャートを挿入したものとなる。本実施の形態の配備システム２０は、他の点において、第１の実施の形態と同じである。
本実施の形態に於いて解決部１３は、機能名群５５が、要求機能２に含まれる機能識別子を全て包含するインフラ構成情報５０を選択しようとして（図７のＳ２２）、これが出来なかったとき（図９のＳ２２−１でＮ）、インフラ構成記憶部１１を検索して、以下の条件を満たす複数のインフラ構成情報５０を選択して、取得する（Ｓ２４）。
ａ）複数のインフラ構成情報５０の機能名群５５の機能識別子を併せたもの（和集合）が、要求機能２に含まれる機能識別子を全て包含する。
ｂ）複数のインフラ構成情報５０の機能名群５５のおのおのが相互結合機能に対する機能識別子を包含している。具体例の１つは、当該複数のインフラ構成情報５０が、ブラウザに対する機能識別子を包含する１つのインフラ構成情報５０と、プラグイン機能提供に対する機能識別子を包含している他のインフラ構成情報５０から構成される場合である。他の具体例は、当該複数のインフラ構成情報５０が、Ｊａｖａ（登録商標）Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ対応サーバソフトウェアに対する機能識別子を包含する１つのインフラ構成情報５０と、当該サーバソフトウェアに組み込まれ、種々のＡＰ２５に共通的に提供される機能に対する機能識別子を包含している他のインフラ構成情報５０から構成される場合がある。
解決部１３が、複数のインフラ構成情報５０を取得する（Ｓ２２−１、Ｓ２４）手順は、例えば、以下の通りである。
要求機能２が機能識別子Ｆ１及びＦ３を含み、かつ、第１のインフラ構成情報５０の機能名５１が機能識別子Ｆ１、インフラ実装名５４がＩ１、Ｉ１で特定されるインフラ２７の実装機能（実装機能名５３）の機能識別子がＦ１、Ｆ２及びＰ３＋であったとする。この時、要求機能２が含む機能識別子Ｆ３が第１のインフラ構成情報５０の機能名群５５に含まれていないため、解決部１３は、第１のインフラ構成情報５０を単独では選択しない（図９のＳ２２−１でＮ）。
次に、解決部１３は、機能識別子Ｆ１、Ｐ３＋と機能識別子Ｆ３、Ｐ３−を機能名群５５に包含するインフラ構成情報５０をそれぞれ個別に取得する（Ｓ２４）。その結果、前述の第１のインフラ構成情報５０と、例えば、機能名５１がＦ３、実装機能名５３がＦ３、Ｐ３−である第２のインフラ構成情報５０が選択される。ここで、機能識別子Ｐ３＋とＰ３−は組み合わせ可能な相互結合機能を示す。解決部１３は、第２のインフラ構成情報５０を検索できなかった場合、処理を中断する。
複数のインフラ構成情報５０を選択した後、解決部１３は、選択した全てのインフラ構成情報５０のインフラ実装名５４、機能名群５５を包含する新たなインフラ構成情報５０を生成する（Ｓ２５）。最後に、解決部１３は、取得した全てのＡＰ構成情報４０と、新たに生成したインフラ構成情報５０を、合成部１４に送信して（Ｓ２６）、動作を終了する。
機能名群５５が、要求機能２に含まれる機能識別子を全て包含するインフラ構成情報５０を選択（図７のＳ２２）出来たとき（図９のＳ２２−１でＹ）、解決部１３は、図７のＳ２３を実行する。
本実施の形態の配備装置２１は、複雑なＡＰ２５を用いるサービスシステムも、構築できる。その理由は、解決部１３が、複数インフラ２７の組み合わせによりＡＰ２５が動作可能なサービスシステムを構成するためである。
＝＝第３の実施の形態＝＝
本発明の第３の実施形態の配備システム２０は、インフラ２７に適用する設定項目値を生成する。設定項目値は、インフラ２７の環境設定用の値であり、配備装置２１がインフラ２７と共に実行装置２３に送信する。実行装置２３のインストーラ、またはインフラ２７等が、当該値に基づいて、インフラ２７の動作環境を設定する。
本実施形態において、インフラ構成情報５０（図３）は、図示されない設定項目のデフォルト値を包含しても良い。また、システム構成情報３０のカスタマイズ情報３３０（図４）は、図示されない設定項目値を包含しても良い。本実施形態における合成部１４の動作フローチャートは、図５のコネクタ５以降を、図１０のフローチャートで置換したものとなる。
本実施の形態の配備システム２０は、他の点において、第１の実施の形態と同じである。
本実施の形態に於いて、合成部１４は図５のＳ１乃至Ｓ６の後、カスタマイズ情報３３０が設定項目値を含むか否かを判定する（Ｓ６−１）。含む場合（Ｓ６−１でＹ）、合成部１４は、解決部１３から受信したインフラ構成情報５０に、設定項目値を設定（追記またはデフォルト値の上書き）を行う（Ｓ６−２）。
その後、合成部１４は、ＡＰ構成情報４０及びインフラ構成情報５０を配備部１５に送信する（Ｓ７：図５と同じ）。
本実施の形態の配備装置２１は、柔軟なシステムが構築可能となる。その理由は、合成部１４が、インフラ２７の動作を決定する設定項目データの設定及びカスタマイズを行うからである。
＝＝第４の実施の形態＝＝
図１１は、第４の実施の形態の配備装置２１の構成を示す。配備装置２１は、ＡＰ構成記憶部１０、インフラ構成記憶部１１、解決部１３および配備部１５を備える。
ＡＰ構成記憶部１０は、複数のＡＰ２５のおのおの対応に、ＡＰ名４１および要求機能名４３を含むＡＰ構成情報４０を格納する。インフラ構成記憶部１１は、複数のインフラ２７のおのおの対応に、インフラ実装名５４および機能名群５６を含むインフラ構成情報５０を格納する。
解決部１３は、ＡＰ名を取得して、取得したＡＰ名を含むＡＰ構成情報４０内の要求機能名４３のリストを作成し、機能名群５５が当該リストの要求機能名４３を包含するインフラ構成情報５０を選択し、選択したインフラ構成情報５０に含まれるインフラ実装名５４を出力する。配備部１５は、インフラ実装名５４を有するインフラ２７を実行装置２３に出力する。
本実施形態の配備装置２１は、ＡＰ２６が必要とするインフラ２７を選択して、実行装置２３に配備することが出来る。その理由は、配備装置２１が、ＡＰ構成情報４０の要求機能名４３とインフラ構成情報５０の機能名群５５との照合を行って、インフラ２７を選択するからである。
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる
２０１１年２月１４日に出願された日本出願特願２０１１−０２８１３７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００９】
１０  ＡＰ構成記憶部
１１  インフラ構成記憶部
１２  システム構成記憶部
１３  解決部
１４  合成部
１５  配備部
１６  入出力装置
２０  配備システム
２１  配備装置
２２  ネットワーク
２３  実行装置
２４  ＡＰ管理装置
２５  ＡＰ
２６  インフラ管理装置
２７  インフラ
３０  システム構成情報
３１  システム名
３２  ＡＰ名
３３０  カスタマイズ情報
３３１  機能名
３３２  包含機能名
３３３  実装機能名
３３４  インフラ実装名
４０  ＡＰ構成情報
４１  ＡＰ名
４２  パッケージ情報
４３  要求機能名
４４  コンテンツ情報
５０  インフラ構成情報
５１  機能名
５２  包含機能名
５３  実装機能名
５４  インフラ実装名
５５  機能名群
【図１】
2012111491.tif 000003
【図２】
2012111491.tif 000004
【図３】
2012111491.tif 000005
【図４】
2012111491.tif 000006
【図５】
2012111491.tif 000007
【図６】
2012111491.tif 000008
【図７】
2012111491.tif 000009
【図８】
2012111491.tif 000010
【図９】
2012111491.tif 000011
【図１０】
2012111491.tif 000012
【図１１】
2012111491.tif 000013
【国際調査報告】
2012111491.tif 000014
2012111491.tif 000015
2012111491.tif 000016
2012111491.tif 000017