JPWO2012111491A1 - Deployment device, deployment method, and program - Google Patents

Deployment device, deployment method, and program Download PDF

Info

Publication number
JPWO2012111491A1
JPWO2012111491A1 JP2012557902A JP2012557902A JPWO2012111491A1 JP WO2012111491 A1 JPWO2012111491 A1 JP WO2012111491A1 JP 2012557902 A JP2012557902 A JP 2012557902A JP 2012557902 A JP2012557902 A JP 2012557902A JP WO2012111491 A1 JPWO2012111491 A1 JP WO2012111491A1
Authority
JP
Japan
Prior art keywords
infrastructure
name
configuration information
function
deployment
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
Application number
JP2012557902A
Other languages
Japanese (ja)
Inventor
賢司 副島
賢司 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2012111491A1 publication Critical patent/JPWO2012111491A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

装置等は、アプロケーションプログラム(AP)が必要とするプラットフォームプログラム(インフラ)を、機能に基づいて選択して、実行環境に配備することが出来ない。配備装置は、複数のAPのおのおの対応に、AP名および要求機能名を含むAP構成情報を格納するAP構成記憶手段と、複数のインフラのおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、AP名を取得して、取得したAP名を含むAP構成情報内の要求機能名のリストを作成し、提供機能名が当該リストの要求機能名を包含するインフラ構成情報を選択し、選択したインフラ構成情報に含まれるインフラ実装名を出力する解決手段と、インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える。The device or the like cannot select a platform program (infrastructure) required by the allocation program (AP) based on the function and deploy it to the execution environment. The deployment device includes an AP configuration storage unit that stores AP configuration information including an AP name and a requested function name for each of a plurality of APs, and an infrastructure including an infrastructure implementation name and a provided function name for each of the plurality of infrastructures. Infrastructure configuration storage means for storing configuration information, AP name is acquired, a list of requested function names in AP configuration information including the acquired AP name is created, and the provided function name includes the requested function name in the list A solution unit that selects infrastructure configuration information to be output, and outputs an infrastructure implementation name included in the selected infrastructure configuration information; and a deployment unit that outputs a program having the infrastructure implementation name to an execution device.

Description

本発明は、プログラムの配備装置、配備方法およびプログラムに関する。特に、依存関係を有するミドルウェアやアプリケーションプログラム等を用いて構築される、サービスシステムへのプログラム配備に関する。   The present invention relates to a program deployment apparatus, a deployment method, and a program. In particular, the present invention relates to program deployment to a service system that is constructed using middleware or application programs having dependency relationships.

近年、複数のサービス、アプリケーション提供システムを特定のデータセンタ内で構築して、運用する形態を採用することが増加している。この形態は、サービスの提供にあたり、サービス、アプリケーションに依らず共通的に利用する機能群をデータセンタが提供することにより、システムの開発にかかるコストを削減する。ここで、共通的に利用する機能群は、ソフトウェアだけではなくハードウェアの機能も含む。つまり、この形態では、サービス事業者自身は、ハードウェアや一部ソフトウェアを所有せずに、サービス、アプリケーションを利用者に提供できる。この形態のサービスは、クラウド形態のサービスと呼ばれる。
一方で、このようなクラウド形態のサービスは、データセンタ内部で、ハードウェアやミドルウェアなどのソフトウェアを他のサービス、アプリケーションと共有して提供される。一事業者がハードウェアやソフトウェアを占有してしまうと、ハードウェアやソフトウェアの総量が肥大化し、その維持コストは高くなる。共有は、この高いコストを防止する。つまり、クラウド形態のサービスは、決められた機能性と品質を提供するための最低限のハードウェア、ソフトウェアリソースを用いて実現されることで、維持費が低い安価なサービス実行環境をサービス事業者に提供する。
この時、サービス事業者に、データセンタ内部の構造を意識させずにサービス、アプリケーションの運用に必要な環境・動作条件を指定させて、所望の条件のサービスシステムをデータセンタ内に構築することが必要となる。これをいかに行うかが課題となる。特に、このようなデータセンタでは、大量のサービス、アプリケーションを運用するため、いかにサービスシステムの構築負荷を低下させるかが課題となる。
このような課題は、クラウド形態のサービスを提供する大規模データセンタが登場する前から取り組まれており、システム構築をなるべく自動化するアプローチが取られてきた。
例えば、特許文献1は、システムを所定のサービス定義モデルによって詳細に記述し、システム構成を自動化する技術を開示する。
また、特許文献2は、仮想計算機システムをホストコンピュータに組み込む際、仮想計算機システムを動作させるために必要となる仮想計算機システム構成情報、およびホストコンピュータと各子OSのシステム構成情報を自動生成するシステムを開示する。
さらに、特許文献3は、事例データベース内の再利用可能な仕様書を特定し、仕様書の雛形に特定した仕様書各々の内容を反映して、設計対象システムに対するコンポジット仕様書を自動生成する装置を開示する。特許文献4は、アプリケーションプログラムの配備手続ファイルが指定するサーバに、アプリケーションプログラムを配備する装置を開示する。
In recent years, an increasing number of services and application providing systems are constructed and operated in a specific data center. In this form, the cost for system development is reduced by providing the data center with a function group that is commonly used regardless of the service and application in providing the service. Here, the commonly used function group includes not only software but also hardware functions. That is, in this form, the service provider itself can provide services and applications to users without owning hardware or some software. This form of service is called a cloud form service.
On the other hand, such cloud-type services are provided by sharing software such as hardware and middleware with other services and applications inside the data center. If one business operator occupies hardware and software, the total amount of hardware and software increases, and its maintenance cost increases. Sharing prevents this high cost. In other words, services in the cloud form are realized by using the minimum hardware and software resources to provide the determined functionality and quality, so that service providers can create an inexpensive service execution environment with low maintenance costs. To provide.
At this time, it is possible to allow the service provider to specify the environment and operating conditions necessary for service and application operation without being aware of the internal structure of the data center, and to build a service system with desired conditions in the data center. Necessary. The challenge is how to do this. In particular, in such a data center, in order to operate a large amount of services and applications, how to reduce the construction load of the service system becomes a problem.
Such issues have been addressed before the advent of large-scale data centers that provide cloud-type services, and approaches to automate system construction as much as possible have been taken.
For example, Patent Document 1 discloses a technique for describing a system in detail using a predetermined service definition model and automating the system configuration.
Patent Document 2 discloses a system that automatically generates virtual computer system configuration information necessary for operating a virtual computer system and system configuration information of the host computer and each child OS when the virtual computer system is incorporated into a host computer. Is disclosed.
Further, Patent Document 3 specifies a reusable specification in a case database, and automatically generates a composite specification for a design target system by reflecting the contents of each specification specified in a specification template. Is disclosed. Patent Document 4 discloses an apparatus that deploys an application program to a server specified by an application program deployment procedure file.

特開2004−272912号公報JP 2004-272912 A 特開2002−7149号公報JP 2002-7149 A 特開2004−341623号公報JP 2004-341623 A 特開2006−338606号公報JP 2006-338606 A

上述の文献に開示された技術は、何れも、アプリケーションプログラムが必要とする機能に基づいて、プラットフォームプログラムを選択して、実行環境に配備できない。
特許文献2のシステムにおいて、ホストコンピュータのOS(Operating System)、仮想計算機の子OSは予め特定のものが想定されている。特許文献3のシステムにおいて、コンポーネントは、事例に基づいて決定される。特許文献4のシステムにおいて、プラットフォームプログラムはサーバハードウェアと分離して考慮されないし、配備もされない。
本発明は、上述の課題を解決するための装置、方法、プログラムを提供することを目的とする。
None of the techniques disclosed in the above-mentioned documents can select a platform program based on the functions required by the application program and deploy it to the execution environment.
In the system of Patent Document 2, a specific OS is assumed in advance for the OS (Operating System) of the host computer and the child OS of the virtual machine. In the system of Patent Document 3, components are determined based on cases. In the system of Patent Document 4, the platform program is not considered separately from the server hardware and is not deployed.
An object of the present invention is to provide an apparatus, a method, and a program for solving the above-described problems.

本発明の一実施形態の配備装置は、複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報を格納するAP構成記憶手段と、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決手段と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える。
本発明の一実施形態のプログラムは、コンピュータに、
複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報をAP構成記憶手段に格納するAP構成記憶処理と、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納するインフラ構成記憶処理と、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決処理と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備処理、を実行させる。
本発明の一実施形態の配備方法は、複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報をAP構成記憶手段に格納し、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納し、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力し、
前記インフラ実装名を有するプログラムを実行装置に出力する。
The deployment apparatus according to an embodiment of the present invention includes an AP configuration storage unit that stores AP configuration information including an AP name and a requested function name for each of a plurality of application programs (APs);
Infrastructure configuration storage means for storing infrastructure configuration information including an infrastructure implementation name and a provided function name for each of a plurality of platform programs (infrastructure);
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Means for selecting and outputting the infrastructure implementation name included in the selected infrastructure configuration information;
Deployment means for outputting a program having the infrastructure implementation name to an execution device.
A program according to an embodiment of the present invention is stored in a computer.
AP configuration storage processing for storing AP configuration information including an AP name and a requested function name in the AP configuration storage means for each of a plurality of application programs (AP);
In response to each of a plurality of platform programs (infrastructure), an infrastructure configuration storage process for storing infrastructure configuration information including an infrastructure implementation name and a provided function name in an infrastructure configuration storage means;
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Selecting and outputting the infrastructure implementation name included in the selected infrastructure configuration information; and
A deployment process for outputting a program having the infrastructure implementation name to an execution device is executed.
A deployment method according to an embodiment of the present invention stores AP configuration information including an AP name and a requested function name in an AP configuration storage unit for each of a plurality of application programs (AP).
For each of the multiple platform programs (infrastructure), the infrastructure configuration information including the infrastructure implementation name and the provided function name is stored in the infrastructure configuration storage means.
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Select and output the infrastructure implementation name included in the selected infrastructure configuration information,
A program having the infrastructure implementation name is output to the execution device.

本願発明に係る装置等は、アプロケーションプログラムが必要とするプラットフォームプログラムを、機能に基づいて選択して、実行環境に配備することが出来る。   The apparatus according to the present invention can select a platform program required by the allocation program based on the function and deploy it to the execution environment.

第1の実施の形態の配備システム20の全体構成を示す。The whole structure of the deployment system 20 of 1st Embodiment is shown. AP構成情報40の構成を示す。The configuration of the AP configuration information 40 is shown. インフラ構成情報50の構成を示す。The structure of the infrastructure configuration information 50 is shown. システム構成情報30の構成を示す。The structure of the system configuration information 30 is shown. 合成部14の動作フローチャートである。5 is an operation flowchart of the combining unit 14. 解決部13の動作フローチャート(1/2)である。It is an operation | movement flowchart (1/2) of the resolution part 13. FIG. 解決部13の動作フローチャート(2/2)である。It is an operation | movement flowchart (2/2) of the resolution part 13. FIG. 配備部15の動作フローチャートである。4 is an operation flowchart of the deployment unit 15. 第2の実施形態の解決部13の動作フローチャート(変分)である。It is an operation | movement flowchart (variation) of the resolution part 13 of 2nd Embodiment. 第3の実施形態の合成部14の動作フローチャート(変分)である。It is an operation | movement flowchart (variation) of the synthetic | combination part 14 of 3rd Embodiment. 第4の実施の形態の配備装置21の構成を示す。The structure of the deployment apparatus 21 of 4th Embodiment is shown.

==第1の実施の形態==
図1は、本実施の形態の配備システム20の全体構成を示す。配備システム20は、ネットワーク22で接続された、配備装置21、実行装置23、アプリケーションプログラム(以降、AP)管理装置24、ミドルウェア等のプラットフォームプログラム(以降、インフラ)管理装置26を包含する。ネットワーク22は、WAN(Wide Area Network)、LAN(Local Area Network)、N対Nの直結ケーブル等である。
配備装置21は、解決部13、合成部14、配備部15、入出力装置16、AP構成記憶部10、インフラ構成記憶部11、システム構成記憶部12を備える。解決部13、合成部14、配備部15は、論理回路等で構成されたハードウェア装置である。解決部13、合成部14、配備部15は、コンピュータである配備装置21のプロセッサが、図示しないプログラムを実行することで実現されても良い。入出力装置16は、キーボードとディスプレイ装置等である。AP構成記憶部10、インフラ構成記憶部11、システム構成記憶部12は、半導体メモリ、ディスク装置等の記憶装置である。
配備装置21は、実行装置23に、AP25やその実行基盤であるインフラ27を配備する。ここで、配備とは、実行装置23にプログラムを送信して、実行装置23内のインストール用プログラムにインストールの要求をすることである。
AP管理装置24は、本システムで配備の対象となるAP25を記憶している。AP25の開発者やリリース担当者などの利用者は、予め、AP25をAP管理装置24に登録しておく。インフラ管理装置26は、本システムで配備の対象となるインフラ27を記憶している。インフラ27の開発者やリリース担当者などの利用者は、予め、インフラ27をインフラ管理装置26に登録しておく。
なお、AP25やインフラ27は、配備装置21が備えたディスク装置などに格納されていても良い。この場合、AP管理装置24やインフラ管理装置26は不要となる。
実行装置23は、AP25やインフラ27を受信およびインストールを行い、その後AP25やインフラ27を実行する。実行装置23は、例えば、通信機能を持つ基本OSやインストールプログラム等を備えたコンピュータである。
AP構成記憶部10は、1以上のAP構成情報40を格納する。AP構成情報40は、AP25対応に存在する。例えば、AP25の開発者やリリース担当者などの利用者が、配備装置21が備える入出力インターフェース等を介して、AP構成情報40をAP構成記憶部10に格納する。配備装置21が、AP25の開発リポジトリ等から、一部又は全部のAP構成情報40を取得してもよい。
図2は、AP構成情報40の構成を示す。AP構成情報40は、AP名41、パッケージ情報42、1以上の要求機能名43、コンテンツ情報44を含む。
AP名41は、当該AP構成情報40に対応するAP25を識別するための識別子である。パッケージ情報42は、対応するAP25の配備形態を表す情報である。要求機能名43は、対応するAP25が要求する機能を表わす識別子である。
コンテンツ情報44は、対応するAP25の構成物の内容の要約情報である。コンテンツ情報44は、コンテンツキーワードを含む。コンテンツキーワードは、AP25に含まれるファイル名、ディレクトリ名、ディレクトリの構成(ツリー構造)記述、ファイルに含まれるテキストキーワード情報、テキスト構造情報(記述フォーマット)等である。
インフラ構成記憶部11は、1以上のインフラ構成情報50を格納する。インフラ構成情報50はインフラ27対応に存在する。例えば、インフラ27の開発者やリリース担当者などの利用者が、配備装置21が備える入出力インターフェース等を介して、インフラ構成情報50をインフラ構成記憶部11に格納する。配備装置21が、インフラ27の開発リポジトリ等から、一部又は全部のインフラ構成情報50を取得してもよい。
図3は、インフラ構成情報50の構成を示す。インフラ構成情報50は、1つの機能名51、0以上の包含機能名52、1以上の実装機能名53、インフラ実装名54を含む。機能名51、包含機能名52、および、実装機能名53は、まとめて、機能名群55としても参照される。
機能名51は、対応するインフラ27が実現、即ち提供する機能の識別子である。包含機能名52は、機能名51で特定される機能が内包する機能の識別子である。例えば、機能名51が暗号電子メール通信機能の識別子である場合、包含機能名52は、電子メール通信機能の識別子と暗号/複合機能の識別子である。
インフラ実装名54は、対応するインフラ27を識別するための識別子である。
実装機能名53は、対応するインフラ27が実現する、機能名51で特定される機能以外の機能の識別子である。実装機能名53は、利用者が直接入力するのではなく、インフラ実装名54のインフラ27のパッケージ情報から配備装置21が取得しても良い。さらには、インフラ構成情報50は実装機能名53を包含せず、解決部13が、図7のS22等で、インフラ27のパッケージ情報から実装機能名53を取得しても良い。
なお、AP構成情報40の要求機能名43およびインフラ構成情報50の機能名群55のおのおのは、同じ機能に対して同じ識別子(機能識別子)を包含する。AP構成情報40の要求機能名43およびインフラ構成情報50の機能名群55のおのおので指定される機能の単位、内容、並びに、機能識別子の形式、値は、予め、本システムの管理者等が決定し、AP構成情報40やインフラ構成情報50の登録者等に通知しておく。
システム構成記憶部12は、1以上のシステム構成情報30を格納する。システム構成情報30は、構築対象となるサービスシステムの異なる構成対応に存在する。本システムの運用管理者等は、配備装置21が備える入出力インターフェース等を介して、システム構成情報30をシステム構成記憶部12に格納する。
図4は、システム構成情報30の構成を示す。システム構成情報30は、システム名31、1以上のAP名32を含む。システム構成情報30は、1以上のカスタマイズ情報330を含んでいても良い。カスタマイズ情報330は、インフラ構成情報50と同じ構造を有する。即ち、カスタマイズ情報330は、1つの機能名331、0以上の包含機能名332、1以上の実装機能名333、インフラ実装名334を含む。
システム名31は、対応するサービスシステムの構成の識別子である。AP名32は、対応するサービスシステムに配備すべきAP25の識別子である。
システム構成情報30は、実行装置23が備えるべきハードウェアの条件、例えば、ディスク容量、メモリ容量、プロセッサ数等を備えていても良い。そして、配備装置21が、この情報に基づいて、AP25やインフラ27を配備する実行装置23を複数の候補から選択するようにしても良い。
本システムは、システム構築担当者等の利用者が、入出力装置16から、構築対象となるシステムのシステム名を配備装置21の合成部14に入力すると、動作を開始する。
図5は、合成部14の動作フローチャートである。まず、合成部14は、入出力装置16から、利用者が入力したシステム名を取得し(S1)、システム構成記憶部12を検索して、入力したシステム名に一致するシステム名31を包含するシステム構成情報30を取得する(S2)。さらに、合成部14は、当該システム構成情報30に含まれる全てのAP名32を取得して解決部13に送信し、解決部13の動作(図6、7参照)の完了を待ち合わせる(S3)。
その後、合成部14は、解決部13から、AP構成情報40および選択されたインフラ構成情報50を受信して、機能名51を取得する(S4)。合成部14は、S2で取得したシステム構成情報30に、機能名331が当該機能名51と一致するカスタマイズ情報330が存在するか判定する(S5)。存在する場合(S5でY)、合成部14は、当該カスタマイズ情報330で解決部13から受信したインフラ構成情報50を上書きして(S6)、AP構成情報40および上書きされたインフラ構成情報50を配備部15に送信して(S7)、処理を終了する。存在しない場合(S5でN)、合成部14は、解決部13から受信したインフラ構成情報50を、そのまま配備部15に送信する(S7)。
例えば、カスタマイズ情報330の機能名331およびインフラ構成情報50の機能名51が共に機能F1を示していた場合、合成部14は、機能F1の情報としてカスタマイズ情報330に定義されたものを採用し、インフラ構成情報50の情報を無視する。
このように、システム構成情報30にカスタマイズ情報330を設定しておくことにより、システム構築担当者等の利用者は、適切なインフラ27を配備することが可能になる。
例えば、システム構築担当者等の利用者は、カスタマイズ情報330の機能名331にリレーショナルデータベース機能の機能識別子を、インフラ実装名334にOSS(OpenSource Software)のデータベース製品の機能識別子を設定できる。こうしておけば、開発者等が、機能名51をリレーショナルデータベース機能、インフラ実装名54を有料データベース製品とするインフラ構成情報50だけを登録していても、システム構築担当者等は実行装置23にOSS製品を配備することができる。
図6および7は、解決部13の動作フローチャートである。合成部14からシステム構成情報30を受信して(S11)、解決部13は、そこから全てのAP名32を取り出す(S12)。その後、解決部13は、AP名32のおのおのについて、S13乃至S16の処理を繰り返す。
解決部13は、まず、AP構成記憶部10から、AP名41が当該AP名32に一致するAP構成情報40を取得する(S13)。解析部13は、パッケージ情報42を取り出して、当該情報に基づいて、1以上の機能識別子Aを作成する(S14)。
例えば、パッケージ情報42が、対応AP25のパッケージ形式がwarであるとの情報を含む場合、解決部13は機能識別子Aとしてpackage.warを生成する。package.warは、パッケージ形式がwarであるプログラムを実行可能とする機能に付けられた機能識別子である。即ち、この機能識別子Aは、当該AP25はパッケージ形式がwarであるプログラムを実行可能なインフラ27が必要であることを示す。
なお、機能識別子Aは、パッケージ形式と1対1の関係にある必要はない。解決部13は、1つのパッケージ形式から2つの機能識別子Aを生成しても良い。さらには、解決部13は、例えば、パッケージ情報42が示すパッケージ形式がwarである場合とearである場合の両方とも、package.jeeという同一機能識別子Aを生成してもよい。この場合、package.jeeは、パッケージ形式がwarおよびearであるプログラムを実行可能とする機能に付けられた機能識別子である。
パッケージ形式と1以上の機能識別子Aの対応は、予め配備装置21に、対応表、変換ルール等として与えられている。
次に、解決部13は、コンテンツ情報44を取り出して、当該情報に基づいて、1以上の機能識別子Bを作成する(S15)。具体的には、解決部13は、コンテンツ情報44に含まれるコンテンツキーワードを取り出して、それに基づいて機能識別子Bを作成する。
例えば、データベースアクセス処理を代行するフレームワークを導入した場合、該当フレームワークが使用する設定ファイルのファイル名が、コンテンツ情報44に含まれていることを検出した解決部13は、機能識別子Bとしてdb.framework1を生成する。db.framework1は、当該フレームワークの共通機能に付けられた機能識別子である。
機能識別子Bは、コンテンツキーワードと1対1の関係にある必要はない。解決部13は、異なる複数のコンテンツキーワードから、同一機能識別子Bを生成しても良い。逆に、同部は、コンテンツ情報44に、異なるコンテンツキーワードの全てが含まれている場合に、ある1つの機能識別子Bを生成しても良い。
解決部13は、このように、コンテンツ情報44からフレームワーク等のインフラ27に係る特徴を発見して、そこから機能識別子Bを生成する。1以上のコンテンツキーワードと機能識別子の対応は、予め配備装置21に、対応表、変換ルール等として与えられている。
解決部13は、AP構成情報40に含まれている要求機能名43、生成した機能識別子AおよびBを結合して、当該AP名32に対応する要求機能1を生成する(S16)。ここで、結合とは、要求機能名43、機能識別子AおよびBの機能識別子の和集合を生成することを指す。
例えば、機能識別子Aが{A1}、機能識別子Bが{B1,B2,P1}、要求機能名43が{C1,P1}である場合、当該AP名32に対応する要求機能1は、{A1,B1,B2,C1,P1}となる。
解決部13は、要求機能1を、システム構成情報30から取り出したAP名32の数だけ繰り返し生成する。
続いて、解決部13は、生成した全ての要求機能1を結合し、要求機能2を生成する(S21)。ここでの結合処理は、S16と同様の処理内容である。
解決部13は、インフラ構成記憶部11を検索して、機能名群55が、要求機能2に含まれる機能識別子を全て包含するインフラ構成情報50を選択して、取得する(S22)。
例えば、要求機能2に含まれる機能識別子が{F1,F2,F3}であったとする。あるインフラ構成情報50の機能名51がF1で、インフラ実装名54が示すインフラ27の実装機能53が{F1,F2}で、包含機能名52が{F3}であった場合、解決部13は、該当インフラ構成情報50を選択する。しかし、要求機能2に含まれる機能識別子が{F1,F2,F3,F4}であった場合、同部は、当該インフラ構成情報50を選択しない。
次に、解決部13は、取得した全てのAP構成情報40と、選択したインフラ構成情報50を、合成部14に送信する(S23)。
図8は、配備部15の動作フローチャートである。まず、配備部15は、AP構成情報40およびインフラ構成情報50を合成部14から受信する(S31)。次に、配備部15は、受信したインフラ構成情報50が包含するインフラ実装名54を持つインフラ27を、インフラ管理装置26に要求して、受信する(S32)。
配備部15は、受信したAP構成情報40のおのおのが包含するAP名41を持つAP25を、AP管理装置24に要求して、受信し(S33)、受信したインフラ27およびAP25を実行装置23に送信する(S34)。
実行装置23は、配備部15から送信されたプログラムを受信して、インストールを行う。この為、実行装置23は、予めインストール用のプログラムを備えている。または、実行装置23は、予めプログラム受信用の基本OSだけを備え、各プログラム個別のインストール用プログラムは、AP25、インフラ27に包含されて配備装置21から送信されても良い。
なお、配備装置21は、システム構成記憶部12、合成部14を備えなくても良い。この場合、システム構築担当者等の利用者が入出力装置16から直接AP名を解決部13に入力し、解決部13が選択したインフラ実装名54を配備部15に出力する。
本実施形態の配備装置21は、AP25が必要とするインフラ27を選択して、実行装置23に配備することが出来る。その理由は、配備装置21が、AP構成情報40の要求機能名43とインフラ構成情報50の機能名群55との照合を行って、インフラ27を選択するからである。この為、AP25の開発者もシステム構築の担当者も、サービスシステムにどのインフラ27を利用するのかという情報を入力する必要がなく、システム構築が容易になる。
さらに、システム構築の担当者等は、システム独自の要件に基づいてインフラ27を配備することが可能であり、柔軟性の高いシステム構築が出来る。その理由は、配備装置21が、選択したインフラ構成情報50を、所定条件の下、カスタマイズ情報330で置換するからである。
==第2の実施の形態==
本発明の第2の実施形態の配備システム20は、1以上のAP25が要求する要求機能名43を全て満たすインフラ27が存在しなかった場合、複数のインフラ27を組み合わせることによって所望のシステム構成を実現する。
本実施形態における解決部13の動作フローチャートは、図7のコネクタ2と3の間に図9のフローチャートを挿入したものとなる。本実施の形態の配備システム20は、他の点において、第1の実施の形態と同じである。
本実施の形態に於いて解決部13は、機能名群55が、要求機能2に含まれる機能識別子を全て包含するインフラ構成情報50を選択しようとして(図7のS22)、これが出来なかったとき(図9のS22−1でN)、インフラ構成記憶部11を検索して、以下の条件を満たす複数のインフラ構成情報50を選択して、取得する(S24)。
a)複数のインフラ構成情報50の機能名群55の機能識別子を併せたもの(和集合)が、要求機能2に含まれる機能識別子を全て包含する。
b)複数のインフラ構成情報50の機能名群55のおのおのが相互結合機能に対する機能識別子を包含している。具体例の1つは、当該複数のインフラ構成情報50が、ブラウザに対する機能識別子を包含する1つのインフラ構成情報50と、プラグイン機能提供に対する機能識別子を包含している他のインフラ構成情報50から構成される場合である。他の具体例は、当該複数のインフラ構成情報50が、Java(登録商標)Enterprise Edition対応サーバソフトウェアに対する機能識別子を包含する1つのインフラ構成情報50と、当該サーバソフトウェアに組み込まれ、種々のAP25に共通的に提供される機能に対する機能識別子を包含している他のインフラ構成情報50から構成される場合がある。
解決部13が、複数のインフラ構成情報50を取得する(S22−1、S24)手順は、例えば、以下の通りである。
要求機能2が機能識別子F1及びF3を含み、かつ、第1のインフラ構成情報50の機能名51が機能識別子F1、インフラ実装名54がI1、I1で特定されるインフラ27の実装機能(実装機能名53)の機能識別子がF1、F2及びP3+であったとする。この時、要求機能2が含む機能識別子F3が第1のインフラ構成情報50の機能名群55に含まれていないため、解決部13は、第1のインフラ構成情報50を単独では選択しない(図9のS22−1でN)。
次に、解決部13は、機能識別子F1、P3+と機能識別子F3、P3−を機能名群55に包含するインフラ構成情報50をそれぞれ個別に取得する(S24)。その結果、前述の第1のインフラ構成情報50と、例えば、機能名51がF3、実装機能名53がF3、P3−である第2のインフラ構成情報50が選択される。ここで、機能識別子P3+とP3−は組み合わせ可能な相互結合機能を示す。解決部13は、第2のインフラ構成情報50を検索できなかった場合、処理を中断する。
複数のインフラ構成情報50を選択した後、解決部13は、選択した全てのインフラ構成情報50のインフラ実装名54、機能名群55を包含する新たなインフラ構成情報50を生成する(S25)。最後に、解決部13は、取得した全てのAP構成情報40と、新たに生成したインフラ構成情報50を、合成部14に送信して(S26)、動作を終了する。
機能名群55が、要求機能2に含まれる機能識別子を全て包含するインフラ構成情報50を選択(図7のS22)出来たとき(図9のS22−1でY)、解決部13は、図7のS23を実行する。
本実施の形態の配備装置21は、複雑なAP25を用いるサービスシステムも、構築できる。その理由は、解決部13が、複数インフラ27の組み合わせによりAP25が動作可能なサービスシステムを構成するためである。
==第3の実施の形態==
本発明の第3の実施形態の配備システム20は、インフラ27に適用する設定項目値を生成する。設定項目値は、インフラ27の環境設定用の値であり、配備装置21がインフラ27と共に実行装置23に送信する。実行装置23のインストーラ、またはインフラ27等が、当該値に基づいて、インフラ27の動作環境を設定する。
本実施形態において、インフラ構成情報50(図3)は、図示されない設定項目のデフォルト値を包含しても良い。また、システム構成情報30のカスタマイズ情報330(図4)は、図示されない設定項目値を包含しても良い。本実施形態における合成部14の動作フローチャートは、図5のコネクタ5以降を、図10のフローチャートで置換したものとなる。
本実施の形態の配備システム20は、他の点において、第1の実施の形態と同じである。
本実施の形態に於いて、合成部14は図5のS1乃至S6の後、カスタマイズ情報330が設定項目値を含むか否かを判定する(S6−1)。含む場合(S6−1でY)、合成部14は、解決部13から受信したインフラ構成情報50に、設定項目値を設定(追記またはデフォルト値の上書き)を行う(S6−2)。
その後、合成部14は、AP構成情報40及びインフラ構成情報50を配備部15に送信する(S7:図5と同じ)。
本実施の形態の配備装置21は、柔軟なシステムが構築可能となる。その理由は、合成部14が、インフラ27の動作を決定する設定項目データの設定及びカスタマイズを行うからである。
==第4の実施の形態==
図11は、第4の実施の形態の配備装置21の構成を示す。配備装置21は、AP構成記憶部10、インフラ構成記憶部11、解決部13および配備部15を備える。
AP構成記憶部10は、複数のAP25のおのおの対応に、AP名41および要求機能名43を含むAP構成情報40を格納する。インフラ構成記憶部11は、複数のインフラ27のおのおの対応に、インフラ実装名54および機能名群56を含むインフラ構成情報50を格納する。
解決部13は、AP名を取得して、取得したAP名を含むAP構成情報40内の要求機能名43のリストを作成し、機能名群55が当該リストの要求機能名43を包含するインフラ構成情報50を選択し、選択したインフラ構成情報50に含まれるインフラ実装名54を出力する。配備部15は、インフラ実装名54を有するインフラ27を実行装置23に出力する。
本実施形態の配備装置21は、AP26が必要とするインフラ27を選択して、実行装置23に配備することが出来る。その理由は、配備装置21が、AP構成情報40の要求機能名43とインフラ構成情報50の機能名群55との照合を行って、インフラ27を選択するからである。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる
2011年2月14日に出願された日本出願特願2011−028137を基礎とする優先権を主張し、その開示の全てをここに取り込む。
== First Embodiment ==
FIG. 1 shows an overall configuration of a deployment system 20 according to the present embodiment. The deployment system 20 includes a deployment device 21, an execution device 23, an application program (hereinafter referred to as AP) management device 24, and a platform program (hereinafter referred to as infrastructure) management device 26 such as middleware, which are connected via a network 22. The network 22 is a WAN (Wide Area Network), a LAN (Local Area Network), an N-to-N direct connection cable, or the like.
The deployment device 21 includes a resolution unit 13, a synthesis unit 14, a deployment unit 15, an input / output device 16, an AP configuration storage unit 10, an infrastructure configuration storage unit 11, and a system configuration storage unit 12. The resolution unit 13, the synthesis unit 14, and the deployment unit 15 are hardware devices configured with logic circuits and the like. The resolution unit 13, the synthesis unit 14, and the deployment unit 15 may be realized by a processor of the deployment device 21 that is a computer executing a program (not shown). The input / output device 16 is a keyboard and a display device. The AP configuration storage unit 10, the infrastructure configuration storage unit 11, and the system configuration storage unit 12 are storage devices such as a semiconductor memory and a disk device.
The deployment device 21 deploys the AP 25 and the infrastructure 27 that is the execution platform of the execution device 23. Here, “deployment” refers to sending a program to the execution device 23 and requesting the installation program in the execution device 23 to install.
The AP management device 24 stores an AP 25 to be deployed in this system. A user such as a developer or a person in charge of release of the AP 25 registers the AP 25 in the AP management device 24 in advance. The infrastructure management device 26 stores an infrastructure 27 to be deployed in this system. A user such as a developer or a person in charge of release of the infrastructure 27 registers the infrastructure 27 in the infrastructure management apparatus 26 in advance.
The AP 25 and the infrastructure 27 may be stored in a disk device provided in the deployment device 21. In this case, the AP management device 24 and the infrastructure management device 26 are not necessary.
The execution device 23 receives and installs the AP 25 and the infrastructure 27, and then executes the AP 25 and the infrastructure 27. The execution device 23 is, for example, a computer provided with a basic OS having a communication function, an installation program, and the like.
The AP configuration storage unit 10 stores one or more AP configuration information 40. AP configuration information 40 exists for AP25. For example, a user such as a developer or a person in charge of release of the AP 25 stores the AP configuration information 40 in the AP configuration storage unit 10 via an input / output interface provided in the deployment device 21. The deployment device 21 may acquire a part or all of the AP configuration information 40 from the development repository of the AP 25 or the like.
FIG. 2 shows the configuration of the AP configuration information 40. The AP configuration information 40 includes an AP name 41, package information 42, one or more requested function names 43, and content information 44.
The AP name 41 is an identifier for identifying the AP 25 corresponding to the AP configuration information 40. The package information 42 is information representing the deployment form of the corresponding AP 25. The requested function name 43 is an identifier representing a function requested by the corresponding AP 25.
The content information 44 is summary information of the content of the corresponding AP 25 component. The content information 44 includes content keywords. The content keyword includes a file name included in the AP 25, a directory name, a directory structure (tree structure) description, text keyword information included in the file, text structure information (description format), and the like.
The infrastructure configuration storage unit 11 stores one or more infrastructure configuration information 50. The infrastructure configuration information 50 exists for the infrastructure 27. For example, a user such as a developer or a person in charge of release of the infrastructure 27 stores the infrastructure configuration information 50 in the infrastructure configuration storage unit 11 via an input / output interface provided in the deployment device 21. The deployment device 21 may acquire some or all of the infrastructure configuration information 50 from the development repository of the infrastructure 27 or the like.
FIG. 3 shows the configuration of the infrastructure configuration information 50. The infrastructure configuration information 50 includes one function name 51, zero or more inclusion function names 52, one or more implementation function names 53, and an infrastructure implementation name 54. The function name 51, the inclusion function name 52, and the implemented function name 53 are collectively referred to as a function name group 55.
The function name 51 is an identifier of a function that the corresponding infrastructure 27 realizes, that is, provides. The inclusion function name 52 is an identifier of a function included in the function specified by the function name 51. For example, when the function name 51 is an identifier of an encrypted electronic mail communication function, the inclusion function name 52 is an identifier of the electronic mail communication function and an identifier of the encryption / complex function.
The infrastructure implementation name 54 is an identifier for identifying the corresponding infrastructure 27.
The mounted function name 53 is an identifier of a function other than the function specified by the function name 51 realized by the corresponding infrastructure 27. The deployment function name 53 may be acquired from the package information of the infrastructure 27 of the infrastructure implementation name 54 instead of being directly input by the user. Furthermore, the infrastructure configuration information 50 may not include the implementation function name 53, and the resolution unit 13 may acquire the implementation function name 53 from the package information of the infrastructure 27 in S22 of FIG.
Each of the requested function name 43 of the AP configuration information 40 and the function name group 55 of the infrastructure configuration information 50 includes the same identifier (function identifier) for the same function. The unit and contents of the function specified by the requested function name 43 of the AP configuration information 40 and the function name group 55 of the infrastructure configuration information 50, and the format and value of the function identifier are previously determined by the administrator of this system. It is determined and notified to the registrants of the AP configuration information 40 and the infrastructure configuration information 50.
The system configuration storage unit 12 stores one or more system configuration information 30. The system configuration information 30 exists in correspondence with different configurations of the service system to be constructed. An operation manager or the like of the system stores the system configuration information 30 in the system configuration storage unit 12 via an input / output interface or the like provided in the deployment device 21.
FIG. 4 shows the configuration of the system configuration information 30. The system configuration information 30 includes a system name 31 and one or more AP names 32. The system configuration information 30 may include one or more customization information 330. The customization information 330 has the same structure as the infrastructure configuration information 50. That is, the customization information 330 includes one function name 331, zero or more inclusion function names 332, one or more implementation function names 333, and an infrastructure implementation name 334.
The system name 31 is an identifier of the configuration of the corresponding service system. The AP name 32 is an identifier of the AP 25 to be deployed in the corresponding service system.
The system configuration information 30 may include hardware conditions that the execution device 23 should have, such as disk capacity, memory capacity, and the number of processors. Then, the deployment device 21 may select the execution device 23 that deploys the AP 25 and the infrastructure 27 from a plurality of candidates based on this information.
The system starts its operation when a user such as a system construction person inputs the system name of the system to be constructed from the input / output device 16 to the combining unit 14 of the deployment device 21.
FIG. 5 is an operation flowchart of the synthesis unit 14. First, the synthesizing unit 14 acquires the system name input by the user from the input / output device 16 (S1), searches the system configuration storage unit 12, and includes the system name 31 that matches the input system name. System configuration information 30 is acquired (S2). Furthermore, the synthesizing unit 14 acquires all the AP names 32 included in the system configuration information 30 and transmits them to the resolution unit 13, and waits for the completion of the operation of the resolution unit 13 (see FIGS. 6 and 7) (S3). .
Thereafter, the synthesizing unit 14 receives the AP configuration information 40 and the selected infrastructure configuration information 50 from the resolution unit 13, and acquires the function name 51 (S4). The synthesizing unit 14 determines whether the customization information 330 in which the function name 331 matches the function name 51 exists in the system configuration information 30 acquired in S2 (S5). If it exists (Y in S5), the synthesizing unit 14 overwrites the infrastructure configuration information 50 received from the resolution unit 13 with the customization information 330 (S6), and replaces the AP configuration information 40 and the overwritten infrastructure configuration information 50 with each other. The data is transmitted to the deployment unit 15 (S7), and the process ends. When it does not exist (N in S5), the synthesis unit 14 transmits the infrastructure configuration information 50 received from the resolution unit 13 to the deployment unit 15 as it is (S7).
For example, when the function name 331 of the customization information 330 and the function name 51 of the infrastructure configuration information 50 both indicate the function F1, the synthesizing unit 14 adopts the information defined in the customization information 330 as the information of the function F1, The information of the infrastructure configuration information 50 is ignored.
As described above, by setting the customization information 330 in the system configuration information 30, a user such as a person in charge of system construction can deploy an appropriate infrastructure 27.
For example, a user such as a person in charge of system construction can set the function identifier of the relational database function in the function name 331 of the customization information 330 and the function identifier of the database product of OSS (OpenSource Software) in the infrastructure implementation name 334. In this way, even if the developer or the like has registered only the infrastructure configuration information 50 having the function name 51 as the relational database function and the infrastructure implementation name 54 as the paid database product, the system builder or the like can register the OSS in the execution device 23. Product can be deployed.
6 and 7 are operation flowcharts of the resolution unit 13. The system configuration information 30 is received from the synthesis unit 14 (S11), and the resolution unit 13 extracts all the AP names 32 therefrom (S12). Thereafter, the resolution unit 13 repeats the processes of S13 to S16 for each AP name 32.
First, the resolution unit 13 acquires the AP configuration information 40 in which the AP name 41 matches the AP name 32 from the AP configuration storage unit 10 (S13). The analysis unit 13 extracts the package information 42 and creates one or more function identifiers A based on the information (S14).
For example, when the package information 42 includes information that the package format of the corresponding AP 25 is war, the resolution unit 13 uses the package. Generate war. package. war is a function identifier attached to a function that enables execution of a program whose package format is war. That is, the function identifier A indicates that the AP 25 needs an infrastructure 27 that can execute a program whose package format is war.
Note that the function identifier A does not have to have a one-to-one relationship with the package format. The resolution unit 13 may generate two function identifiers A from one package format. Further, the resolution unit 13 may, for example, store package.42 in both cases where the package format indicated by the package information 42 is “war” and “ear”. The same function identifier A called “jee” may be generated. In this case, package. “jee” is a function identifier assigned to a function that enables execution of a program whose package format is “war” and “ear”.
The correspondence between the package format and one or more function identifiers A is given to the deployment device 21 in advance as a correspondence table, conversion rule, or the like.
Next, the resolution unit 13 extracts the content information 44 and creates one or more function identifiers B based on the information (S15). Specifically, the resolution unit 13 extracts a content keyword included in the content information 44 and creates a function identifier B based on the content keyword.
For example, when a framework that performs database access processing is introduced, the resolution unit 13 that detects that the file name of the setting file used by the corresponding framework is included in the content information 44 is db as the function identifier B. . framework1 is generated. db. The framework 1 is a function identifier assigned to the common function of the framework.
The function identifier B need not have a one-to-one relationship with the content keyword. The resolution unit 13 may generate the same function identifier B from a plurality of different content keywords. Conversely, the same unit may generate one function identifier B when the content information 44 includes all of the different content keywords.
In this way, the resolution unit 13 finds a feature related to the infrastructure 27 such as a framework from the content information 44 and generates a function identifier B therefrom. The correspondence between one or more content keywords and function identifiers is given in advance to the deployment device 21 as a correspondence table, conversion rules, and the like.
The resolution unit 13 combines the requested function name 43 and the generated function identifiers A and B included in the AP configuration information 40 to generate the requested function 1 corresponding to the AP name 32 (S16). Here, combining means generating a union of the function identifiers of the requested function name 43 and the function identifiers A and B.
For example, when the function identifier A is {A1}, the function identifier B is {B1, B2, P1}, and the requested function name 43 is {C1, P1}, the requested function 1 corresponding to the AP name 32 is {A1 , B1, B2, C1, P1}.
The resolution unit 13 repeatedly generates the request function 1 by the number of AP names 32 extracted from the system configuration information 30.
Subsequently, the resolution unit 13 combines all the generated request functions 1 to generate the request function 2 (S21). The combining process here is the same as S16.
The resolution unit 13 searches the infrastructure configuration storage unit 11, selects and acquires the infrastructure configuration information 50 in which the function name group 55 includes all the function identifiers included in the requested function 2 (S22).
For example, it is assumed that the function identifier included in the request function 2 is {F1, F2, F3}. When the function name 51 of a certain infrastructure configuration information 50 is F1, the implementation function 53 of the infrastructure 27 indicated by the infrastructure implementation name 54 is {F1, F2}, and the inclusion function name 52 is {F3}, the resolution unit 13 The corresponding infrastructure configuration information 50 is selected. However, when the function identifier included in the requested function 2 is {F1, F2, F3, F4}, the same unit does not select the infrastructure configuration information 50.
Next, the resolution unit 13 transmits all the acquired AP configuration information 40 and the selected infrastructure configuration information 50 to the synthesis unit 14 (S23).
FIG. 8 is an operation flowchart of the deployment unit 15. First, the deployment unit 15 receives the AP configuration information 40 and the infrastructure configuration information 50 from the combining unit 14 (S31). Next, the deployment unit 15 requests and receives the infrastructure 27 having the infrastructure implementation name 54 included in the received infrastructure configuration information 50 from the infrastructure management apparatus 26 (S32).
The deployment unit 15 requests and receives the AP 25 having the AP name 41 included in each of the received AP configuration information 40 from the AP management device 24 (S33), and sends the received infrastructure 27 and AP 25 to the execution device 23. Transmit (S34).
The execution device 23 receives the program transmitted from the deployment unit 15 and performs installation. For this reason, the execution device 23 includes an installation program in advance. Alternatively, the execution device 23 may include only a basic OS for receiving a program in advance, and an installation program for each program may be included in the AP 25 and the infrastructure 27 and transmitted from the deployment device 21.
The deployment device 21 may not include the system configuration storage unit 12 and the synthesis unit 14. In this case, a user such as a person in charge of system construction directly inputs the AP name from the input / output device 16 to the resolution unit 13 and outputs the infrastructure implementation name 54 selected by the resolution unit 13 to the deployment unit 15.
The deployment device 21 of this embodiment can select the infrastructure 27 required by the AP 25 and deploy it to the execution device 23. The reason is that the deployment apparatus 21 selects the infrastructure 27 by comparing the requested function name 43 of the AP configuration information 40 with the function name group 55 of the infrastructure configuration information 50. For this reason, neither the developer of the AP 25 nor the person in charge of system construction need to input information about which infrastructure 27 is used for the service system, and the system construction becomes easy.
Furthermore, the person in charge of system construction can deploy the infrastructure 27 based on the requirements unique to the system and can construct a highly flexible system. The reason is that the deployment device 21 replaces the selected infrastructure configuration information 50 with the customization information 330 under a predetermined condition.
== Second Embodiment ==
The deployment system 20 according to the second exemplary embodiment of the present invention has a desired system configuration by combining a plurality of infrastructures 27 when there is no infrastructure 27 that satisfies all of the requested function names 43 required by one or more APs 25. Realize.
The operation flowchart of the resolution unit 13 in this embodiment is obtained by inserting the flowchart of FIG. 9 between the connectors 2 and 3 of FIG. The deployment system 20 of the present embodiment is the same as the first embodiment in other points.
In the present embodiment, the resolution unit 13 tries to select the infrastructure configuration information 50 that includes all the function identifiers included in the requested function 2 in the function name group 55 (S22 in FIG. 7), and this cannot be done. (N in S22-1 of FIG. 9), the infrastructure configuration storage unit 11 is searched, and a plurality of infrastructure configuration information 50 satisfying the following conditions is selected and acquired (S24).
a) A combination of function identifiers of the function name group 55 of the plurality of infrastructure configuration information 50 (union) includes all the function identifiers included in the request function 2.
b) Each of the function name groups 55 of the plurality of infrastructure configuration information 50 includes a function identifier for the mutual coupling function. One specific example is that the plurality of infrastructure configuration information 50 includes one infrastructure configuration information 50 including a function identifier for a browser and other infrastructure configuration information 50 including a function identifier for providing a plug-in function. This is the case. In another specific example, the plurality of infrastructure configuration information 50 includes one infrastructure configuration information 50 including a function identifier for Java (registered trademark) Enterprise Edition compatible server software, and the server software. In some cases, the infrastructure configuration information 50 includes a function identifier for a commonly provided function.
The procedure by which the resolution unit 13 acquires a plurality of infrastructure configuration information 50 (S22-1 and S24) is as follows, for example.
The requested function 2 includes function identifiers F1 and F3, the function name 51 of the first infrastructure configuration information 50 is the function identifier F1, the infrastructure implementation name 54 is identified by I1, I1, and the implementation function (implementation function) Assume that the function identifier of name 53) is F1, F2 and P3 +. At this time, since the function identifier F3 included in the requested function 2 is not included in the function name group 55 of the first infrastructure configuration information 50, the resolution unit 13 does not select the first infrastructure configuration information 50 alone (see FIG. 9 S22-1 N).
Next, the resolution unit 13 individually acquires the infrastructure configuration information 50 including the function identifiers F1 and P3 + and the function identifiers F3 and P3- in the function name group 55 (S24). As a result, the first infrastructure configuration information 50 described above and, for example, the second infrastructure configuration information 50 having the function name 51 of F3, the installed function name 53 of F3, and P3- are selected. Here, the function identifiers P3 + and P3- indicate the mutual coupling functions that can be combined. When the second infrastructure configuration information 50 cannot be retrieved, the resolution unit 13 interrupts the process.
After selecting the plurality of infrastructure configuration information 50, the resolution unit 13 generates new infrastructure configuration information 50 including the infrastructure implementation name 54 and the function name group 55 of all the selected infrastructure configuration information 50 (S25). Finally, the resolution unit 13 transmits all the acquired AP configuration information 40 and the newly generated infrastructure configuration information 50 to the synthesis unit 14 (S26), and ends the operation.
When the function name group 55 has selected the infrastructure configuration information 50 that includes all the function identifiers included in the requested function 2 (S22 in FIG. 7) (Y in S22-1 in FIG. 9), the resolution unit 13 7 S23 is executed.
The deployment device 21 of the present embodiment can also construct a service system that uses a complex AP 25. The reason is that the resolution unit 13 configures a service system in which the AP 25 can operate by combining a plurality of infrastructures 27.
== Third embodiment ==
The deployment system 20 according to the third embodiment of the present invention generates setting item values to be applied to the infrastructure 27. The setting item value is a value for setting the environment of the infrastructure 27, and is transmitted from the deployment device 21 to the execution device 23 together with the infrastructure 27. The installer of the execution device 23, the infrastructure 27, or the like sets the operating environment of the infrastructure 27 based on the value.
In the present embodiment, the infrastructure configuration information 50 (FIG. 3) may include default values of setting items not shown. Further, the customization information 330 (FIG. 4) of the system configuration information 30 may include setting item values not shown. The operation flowchart of the combining unit 14 in the present embodiment is obtained by replacing the connector 5 and subsequent parts in FIG. 5 with the flowchart in FIG.
The deployment system 20 of the present embodiment is the same as the first embodiment in other points.
In this embodiment, the composition unit 14 determines whether or not the customization information 330 includes a setting item value after S1 to S6 in FIG. 5 (S6-1). If included (Y in S6-1), the synthesizing unit 14 sets the setting item value (additional writing or overwriting of the default value) in the infrastructure configuration information 50 received from the resolution unit 13 (S6-2).
Thereafter, the combining unit 14 transmits the AP configuration information 40 and the infrastructure configuration information 50 to the deployment unit 15 (S7: same as FIG. 5).
The deployment device 21 of the present embodiment can construct a flexible system. The reason is that the synthesis unit 14 sets and customizes setting item data that determines the operation of the infrastructure 27.
== Fourth embodiment ==
FIG. 11 shows the configuration of the deployment device 21 according to the fourth embodiment. The deployment device 21 includes an AP configuration storage unit 10, an infrastructure configuration storage unit 11, a resolution unit 13, and a deployment unit 15.
The AP configuration storage unit 10 stores AP configuration information 40 including an AP name 41 and a requested function name 43 for each of the plurality of APs 25. The infrastructure configuration storage unit 11 stores infrastructure configuration information 50 including an infrastructure implementation name 54 and a function name group 56 for each of the plurality of infrastructures 27.
The resolution unit 13 acquires the AP name, creates a list of requested function names 43 in the AP configuration information 40 including the acquired AP name, and the function name group 55 includes the requested function name 43 in the list. The configuration information 50 is selected, and the infrastructure implementation name 54 included in the selected infrastructure configuration information 50 is output. The deployment unit 15 outputs the infrastructure 27 having the infrastructure implementation name 54 to the execution device 23.
The deployment device 21 of this embodiment can select the infrastructure 27 required by the AP 26 and deploy it to the execution device 23. The reason is that the deployment apparatus 21 selects the infrastructure 27 by comparing the requested function name 43 of the AP configuration information 40 with the function name group 55 of the infrastructure configuration information 50.
While the present invention has been described with reference to the embodiments (and examples), the present invention is not limited to the above embodiments (and examples). Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. Claim priority and incorporate all of its disclosure here.

10 AP構成記憶部
11 インフラ構成記憶部
12 システム構成記憶部
13 解決部
14 合成部
15 配備部
16 入出力装置
20 配備システム
21 配備装置
22 ネットワーク
23 実行装置
24 AP管理装置
25 AP
26 インフラ管理装置
27 インフラ
30 システム構成情報
31 システム名
32 AP名
330 カスタマイズ情報
331 機能名
332 包含機能名
333 実装機能名
334 インフラ実装名
40 AP構成情報
41 AP名
42 パッケージ情報
43 要求機能名
44 コンテンツ情報
50 インフラ構成情報
51 機能名
52 包含機能名
53 実装機能名
54 インフラ実装名
55 機能名群
DESCRIPTION OF SYMBOLS 10 AP configuration memory | storage part 11 Infrastructure structure memory | storage part 12 System configuration memory | storage part 13 Solution part 14 Synthesis | combination part 15 Deployment part 16 Input / output apparatus 20 Deployment system 21 Deployment apparatus 22 Network 23 Execution apparatus 24 AP management apparatus 25 AP
26 Infrastructure Management Device 27 Infrastructure 30 System Configuration Information 31 System Name 32 AP Name 330 Customization Information 331 Function Name 332 Included Function Name 333 Implementation Function Name 334 Infrastructure Implementation Name 40 AP Configuration Information 41 AP Name 42 Package Information 43 Request Function Name 44 Content Information 50 Infrastructure configuration information 51 Function name 52 Included function name 53 Implemented function name 54 Infrastructure implemented name 55 Function name group

Claims (10)

複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報を格納するAP構成記憶手段と、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報を格納するインフラ構成記憶手段と、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決手段と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備手段、を備える配備装置。
AP configuration storage means for storing AP configuration information including an AP name and a requested function name for each of a plurality of application programs (AP);
Infrastructure configuration storage means for storing infrastructure configuration information including an infrastructure implementation name and a provided function name for each of a plurality of platform programs (infrastructure);
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Means for selecting and outputting the infrastructure implementation name included in the selected infrastructure configuration information;
A deployment device comprising deployment means for outputting a program having the infrastructure implementation name to an execution device.
前記解決手段は、複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する、請求項1の配備装置。   When each of the plurality of infrastructure configuration information includes a provided function name indicating a program combination function, and the union of the provided functions of the plurality of infrastructure configuration information includes the function list, The deployment device according to claim 1, wherein the deployment name included in the plurality of infrastructure configuration information is output. 前記AP構成情報は、APのパッケージ形式記述を包含し、
前記解決手段は、前記機能リストに、前記パッケージ形式記述に対応する要求機能名を追加する請求項1または2の配備装置。
The AP configuration information includes a package format description of the AP,
The deployment device according to claim 1 or 2, wherein the solving means adds a requested function name corresponding to the package format description to the function list.
前記AP構成情報は、キーワードを含む、APの要約情報を包含し、
前記解決手段は、前記機能リストに、前記キーワードに対応する要求機能名を追加する請求項1乃至3のいずれかの配備装置。
The AP configuration information includes AP summary information including keywords,
The deployment device according to claim 1, wherein the solving unit adds a requested function name corresponding to the keyword to the function list.
前記解決手段は、複数のAP名を包含するシステム構成情報を入力して、当該システム構成情報から当該複数のAP名を取得し、取得した当該複数のAP名を含む前記AP構成情報内の前記要求機能名の和集合を含むリストを作成し、
前記配備手段は、当該複数のAP名のおのおのを有するプログラムと、前記合成手段が出力した前記インフラ実装名を有するプログラムを実行装置に出力する、請求項1乃至4のいずれかの配備装置。
The solving means inputs system configuration information including a plurality of AP names, acquires the plurality of AP names from the system configuration information, and stores the plurality of AP names in the AP configuration information including the acquired plurality of AP names. Create a list containing the union of requested function names,
The deployment device according to claim 1, wherein the deployment unit outputs a program having each of the plurality of AP names and a program having the infrastructure implementation name output by the synthesis unit to an execution device.
前記システム構成情報は、提供機能名、インフラ実装名を含むカスタマイズ情報を包含し、
選択した前記インフラ構成情報が前記第1の提供機能名を包含するとき、前記解決手段が出力した前記インフラ実装名に代えて、前記カスタマイズ情報のインフラ実装名を前記配備手段に出力する、請求項1乃至5のいずれかの配備装置。
The system configuration information includes customization information including a provided function name and an infrastructure implementation name,
The infrastructure implementation name of the customization information is output to the deployment unit instead of the infrastructure implementation name output by the resolution unit when the selected infrastructure configuration information includes the first provided function name. The deployment device according to any one of 1 to 5.
コンピュータに、
複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報をAP構成記憶手段に格納するAP構成記憶処理と、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納するインフラ構成記憶処理と、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力する解決処理と、
前記インフラ実装名を有するプログラムを実行装置に出力する配備処理、を実行させるプログラム。
On the computer,
AP configuration storage processing for storing AP configuration information including an AP name and a requested function name in the AP configuration storage means for each of a plurality of application programs (AP);
In response to each of a plurality of platform programs (infrastructure), an infrastructure configuration storage process for storing infrastructure configuration information including an infrastructure implementation name and a provided function name in an infrastructure configuration storage means;
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Selecting and outputting the infrastructure implementation name included in the selected infrastructure configuration information; and
A program for executing a deployment process for outputting a program having the infrastructure implementation name to an execution device.
前記コンピュータに、複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する前記解決処理を実行させる、請求項7のプログラム。   In the computer, each of the plurality of infrastructure configuration information includes a provided function name indicating a program combination function, and a union of the provided functions of the plurality of infrastructure configuration information includes the function list, The program according to claim 7, wherein the solution processing for outputting the infrastructure implementation name included in the plurality of infrastructure configuration information is executed. 複数のアプリケーションプログラム(AP)のおのおの対応に、AP名および要求機能名を含むAP構成情報をAP構成記憶手段に格納し、
複数のプラットフォームプログラム(インフラ)のおのおの対応に、インフラ実装名および提供機能名を含むインフラ構成情報をインフラ構成記憶手段に格納し、
AP名を取得して、取得した前記AP名を含む前記AP構成情報内の前記要求機能名のリストを作成し、前記提供機能名が当該リストの前記要求機能名を包含する前記インフラ構成情報を選択し、選択した前記インフラ構成情報に含まれる前記インフラ実装名を出力し、
前記インフラ実装名を有するプログラムを実行装置に出力する、配備方法。
In response to each of the plurality of application programs (AP), AP configuration information including an AP name and a requested function name is stored in the AP configuration storage means,
For each of the multiple platform programs (infrastructure), the infrastructure configuration information including the infrastructure implementation name and the provided function name is stored in the infrastructure configuration storage means.
An AP name is acquired, a list of the requested function names in the AP configuration information including the acquired AP name is created, and the infrastructure configuration information in which the provided function name includes the requested function name in the list Select and output the infrastructure implementation name included in the selected infrastructure configuration information,
A deployment method for outputting a program having the infrastructure implementation name to an execution device.
複数の前記インフラ構成情報のおのおのが、プログラム結合機能を示す提供機能名を包含し、当該複数の前記インフラ構成情報の前記提供機能の和集合が前記機能リストを包含する場合、当該複数の前記インフラ構成情報に包含される前記インフラ実装名を出力する、請求項9の配備方法。   When each of the plurality of infrastructure configuration information includes a provided function name indicating a program combination function, and the union of the provided functions of the plurality of infrastructure configuration information includes the function list, the plurality of the infrastructure configurations The deployment method according to claim 9, wherein the infrastructure implementation name included in the configuration information is output.
JP2012557902A 2011-02-14 2012-02-01 Deployment device, deployment method, and program Pending JPWO2012111491A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011028137 2011-02-14
JP2011028137 2011-02-14
PCT/JP2012/052793 WO2012111491A1 (en) 2011-02-14 2012-02-01 Deployment device, deployment method and program

Publications (1)

Publication Number Publication Date
JPWO2012111491A1 true JPWO2012111491A1 (en) 2014-07-03

Family

ID=46672418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012557902A Pending JPWO2012111491A1 (en) 2011-02-14 2012-02-01 Deployment device, deployment method, and program

Country Status (2)

Country Link
JP (1) JPWO2012111491A1 (en)
WO (1) WO2012111491A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044011A (en) * 2003-07-24 2005-02-17 Hitachi Ltd Software package management method
JP2010146236A (en) * 2008-12-18 2010-07-01 Yokogawa Electric Corp Distributed system analysis apparatus and program
JP5627187B2 (en) * 2009-03-13 2014-11-19 新日鉄住金ソリューションズ株式会社 Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
WO2012111491A1 (en) 2012-08-23

Similar Documents

Publication Publication Date Title
JP5288334B2 (en) Virtual appliance deployment system
JP4923058B2 (en) Automated device driver management
JP5026430B2 (en) Discover, qualify, and launch software add-in components
US20080163171A1 (en) Virtual resource templates
CN110752947A (en) K8s cluster deployment method and device, and deployment platform
US20200167444A1 (en) Systems and methods for software license management
US20110258620A1 (en) Method and Apparatus for Making a BPM Application Available to Multiple Tenants
US8027817B2 (en) Simulation management within a grid infrastructure
CN104765621A (en) Method and system for deploying program on cluster node
JP6202091B2 (en) Information processing apparatus and deployment method
CN114073058A (en) Graphical representation and description of configuration parameters for media processing functions in network-based media processing (NBMP)
US20100131942A1 (en) Suite-based integration and deployment of business products
EP2256633A2 (en) Service provider management device, service provider management program, and service provider management method
CN116783581A (en) Deploying software release on a data center configured in a cloud platform
CN108139947B (en) System and method for isolating web user interface applications from runtime engines
CN113448650A (en) Live broadcast function plug-in loading method, device, equipment and storage medium
CN116155978A (en) Multi-registry adaptation method, device, electronic equipment and storage medium
Iyer et al. Extending android application programming framework for seamless cloud integration
US11755297B2 (en) Compiling monoglot function compositions into a single entity
CN111382953A (en) Dynamic process generation method and device
JP5574017B2 (en) Information processing apparatus, compatibility evaluation method, and program
WO2012111491A1 (en) Deployment device, deployment method and program
CN111857736B (en) Cloud computing product generation method, device, equipment and storage medium
US20180341475A1 (en) Just In Time Deployment with Package Managers
CN113032004A (en) Method, apparatus and program product for managing development jobs in a development environment