(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-21
(45)【発行日】2023-03-02
(54)【発明の名称】情報処理システム、処理方法及びプログラム
(51)【国際特許分類】
G06F 8/30 20180101AFI20230222BHJP
G06F 8/60 20180101ALI20230222BHJP
H04L 67/00 20220101ALI20230222BHJP
【FI】
G06F8/30
G06F8/60
H04L67/00
(21)【出願番号】P 2018173189
(22)【出願日】2018-09-18
【審査請求日】2021-09-17
(31)【優先権主張番号】P 2017218003
(32)【優先日】2017-11-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】柴本 文洋
【審査官】北川 純次
(56)【参考文献】
【文献】特表2014-514659(JP,A)
【文献】特開2014-164545(JP,A)
【文献】特開2004-129142(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30
G06F 8/60-8/65
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
アプリケーションを生成する
ための定義情報を取得する定義情報取得手段と、
前記定義情報取得手段により取得された定義情報に基づき、前記アプリケーションを生成する生成手段と、
クラウド環境への接続に用いる接続情報を取得する接続情報取得手段と、
前記生成手段により生成される前記アプリケーションを前記接続情報取得手段により取得される前記接続情報を用いて前記クラウド環境に配置する配置手段と、
前記配置手段により配置された前記アプリケーションに係る
バージョンを取得する履歴情報取得手段と、
前記履歴情報取得手段により取得された
前記アプリケーションに係る
複数のバージョンから選択されるバージョンのアプリケーションを、前記接続情報取得手段により取得される前記接続情報を用いて前記クラウド環境に再度配置する再配置手段と
を備えることを特徴とする情報処理システム。
【請求項2】
前記接続情報は、前記生成手段により生成される
前記アプリケーションの識別情報と
該アプリケーションの環境情報とを含む情報であ
り、
前記再配置手段は、
前記アプリケーションの環境情報毎に、前記履歴情報取得手段により取得された前記アプリケーションに係る前記複数のバージョンから選択されるバージョンのアプリケーションを、前記接続情報取得手段により取得される前記接続情報を用いて前記クラウド環境に再度配置する
ことを特徴とする請求項1に記載の
情報処理システム。
【請求項3】
前記アプリケーションの前記環境情報毎に前記配置手段、又は前記再配置手段が配置したバージョンを一覧で表示部に表示させる表示手段
を更に備えること特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記生成手段により生成された
前記アプリケーションを前記クラウド環境に配置するか否かの設定を取得する配置設定取得手段を更に備え、
前記配置手段は、
前記配置設定取得手段により取得した設定に基づき、前記生成手段により生成された
前記アプリケーションを前記クラウド環境に配置するか否かの制御をする
ことを特徴とする請求項1
乃至3のいずれか1項に記載の
情報処理システム。
【請求項5】
ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、前記定義情報の登録若しくは更新を検知する検知手段を更に備え、
前記配置手段は、
前記検知手段による検知に応じて、前記生成手段により生成された
前記アプリケーションを前記クラウド環境に配置する
ことを特徴とする請求項1乃至
4のいずれか1項に記載の
情報処理システム。
【請求項6】
前記接続情報取得手段により取得された接続情報に不備がある場合又は前記接続情報取得手段により取得された接続情報を用いて前記クラウド環境に接続できなかった場合、前記接続情報を登録又は修正するための画面を表示する画面表示手段
を更に備えることを特徴とする請求項1乃至
5のいずれか1項に記載の
情報処理システム。
【請求項7】
前記接続情報は、
前記クラウド環境の識別情報、前記クラウド環境に接続するための接続キーのうち少なくとも1つを含むこ
とを特徴とする請求項1乃至
6のいずれか1項に記載の
情報処理システム。
【請求項8】
アプリケーションを生成する
ための定義情報を取得する定義情報取得
ステップと、
前記定義情報取得
ステップにより取得された定義情報に基づき、前記アプリケーションを生成する生成
ステップと、
クラウド環境への接続に用いる接続情報を取得する接続情報取得
ステップと、
前記生成ステップにより生成される前記アプリケーションを前記接続情報取得ステップにより取得される前記接続情報を用いて前記クラウド環境に配置する配置ステップと、
前記配置ステップにより配置された前記アプリケーションに係る
バージョンを取得する履歴情報取得
ステップと、
前記履歴情報取得
ステップにより取得された
前記アプリケーションに係る
複数のバージョンから選択されるバージョンのアプリケーションを、前記接続情報取得ステップにより取得される前記接続情報を用いて前記クラウド環境に再度配置する
再配置
ステップと
を
実行することを特徴とする処理
方法。
【請求項9】
少なくとも1つのコンピュータを請求項1乃至7のいずれか1項に記載の情報処理システムの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションを生成するための情報処理装置、その処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、設定された定義に基づきWebアプリケーションを生成するツールやサービスが存在する。また、近年ではクラウド技術が一般化し、企業は自社でサーバを保有することなく、クラウドサービスを利用するケースが増加している。
【0003】
よって、前記のツールやサービスで生成したWebアプリケーションをクラウド環境に配置(デプロイ)することが考えられる。
【0004】
特許文献1には、アプリケーション生成ツールを用いてアプリケーションを生成する仕組みが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1には、アプリケーション生成ツールを用いて生成したアプリケーションをクラウド環境に配置することは記載されていない。
【0007】
つまり、アプリケーション生成ツールを用いて生成したアプリケーションをクラウド環境に配置するには、別途クラウド環境に接続するためのツール又はブラウザ等を用いて、クラウド環境に接続するための接続情報(例:認証情報等)及び配置するアプリケーションの情報(例:アプリケーション名、バージョン等)を入力し、生成したアプリケーションを指定してアップロードしなければならなかった。よって、アプリケーションを生成する毎に上記の手順を行う必要があるため、アプリケーションの生成から配置まで手間がかかってしまうという課題があった。
【0008】
そこで、本発明の目的は、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することである。
【課題を解決するための手段】
【0009】
アプリケーションを生成するための定義情報を取得する定義情報取得手段と、
前記定義情報取得手段により取得された定義情報に基づき、前記アプリケーションを生成する生成手段と、
クラウド環境への接続に用いる接続情報を取得する接続情報取得手段と、
前記生成手段により生成される前記アプリケーションを前記接続情報取得手段により取得される前記接続情報を用いて前記クラウド環境に配置する配置手段と、
前記配置手段により配置された前記アプリケーションに係るバージョンを取得する履歴情報取得手段と、
前記履歴情報取得手段により取得された前記アプリケーションに係る複数のバージョンから選択されるバージョンのアプリケーションを、前記接続情報取得手段により取得される前記接続情報を用いて前記クラウド環境に再度配置する再配置手段と
を備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明に係るシステムの構成図の一例である。
【
図2】アプリケーション生成装置、アプリケーションサーバ、データベースサーバ、仮想アプリケーションサーバ、仮想データベースサーバ、アプリケーションクライアント、として適用可能な各ハードウェア構成の一例を示すブロック図である。
【
図3】ソフトウェア構成を示すブロック図の一例である。
【
図4】アプリケーション生成装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。
【
図5】アプリケーション生成のフローチャートの一例を示す図である。
【
図6】クラウド接続情報設定画面600の一例を示す図である。
【
図7】アプリケーション生成画面700の一例を示す図である。
【
図8】クラウド情報画面800の一例を示す図である。
【
図9】クラウド監視用接続情報設定画面900の一例を示す図である。
【
図10】
図3のブロック図のより詳細な図の一例である。
【
図11】
図5のフローチャートのより詳細な図の一例である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0013】
図1は、本発明に係るシステムの構成図の一例である。
【0014】
アプリケーション生成装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。アプリケーション生成装置101は、プログラム生成、アプリケーション生成を行う。
【0015】
なお、この実施形態においては、アプリケーション生成装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーションでなくてもよい。
【0016】
アプリケーションサーバ102は、アプリケーション生成装置101で生成され配置されたアプリケーションを実行する。また、アプリケーションサーバ102は、データベースサーバ103に接続し、データベースのデータを操作することができる。
【0017】
データベースサーバ103は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。また、データベースサーバ103は、アプリケーション生成装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
【0018】
アプリケーションクライアント104は、アプリケーションサーバ102と協調してアプリケーション生成装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの操作端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよい。
【0019】
クラウド環境106は、動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境である。
【0020】
クラウド環境106内の仮想アプリケーションサーバ107は、アプリケーション生成装置101で生成され配置されたアプリケーションを実行する。また、仮想アプリケーションサーバ107は、仮想データベースサーバ108に接続し、データベースのデータを操作することができる。
【0021】
クラウド環境106内の仮想データベースサーバ108は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。
【0022】
なお、クラウド環境106は動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境であるとしたが、本実施形態においては、この特徴を備えている必要はなく、クラウド環境106が仮想アプリケーションサーバ107及び仮想データベースサーバ108の動作を提供するのであれば、動的にスケーラブルでなくても、仮想化されたリソースを供給できなくてもよい。
【0023】
図2は、本発明に係わるアプリケーション生成装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0024】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0025】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0026】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0027】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【0028】
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0029】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0030】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【0031】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0032】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0033】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0034】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0035】
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【0036】
アプリケーション生成装置101は、以下の機能部を備える。
【0037】
定義情報取得部301は、アプリケーションを生成するための定義情報を取得する機能部である。
【0038】
接続情報取得部302は、クラウド環境に接続するための接続情報を取得する機能部である。
【0039】
指示受付部303は、ユーザからの指示を受け付ける機能部である。
【0040】
生成部304は、指示受付部303により受け付けた指示に応じて、定義情報取得部301により取得された定義情報に基づきアプリケーションを生成する機能部である。
【0041】
配置部305は、接続情報取得部302により取得された接続情報を用いて、生成部304により生成されたアプリケーションをクラウド環境に配置する機能部である。
【0042】
配置設定受付部306は、生成部304により生成されたアプリケーションをクラウド環境に配置するか否かの設定を受け付ける機能部である。
【0043】
配置部305は、配置設定受付部306によりクラウド環境に配置する設定がされている場合は、生成部304により生成されたアプリケーションをクラウド環境に配置し、配置設定受付部306によりクラウド環境に配置しない設定がされている場合は、生成部304により生成されたアプリケーションをクラウド環境に配置するのを抑止する機能部である。
【0044】
生成部304は、定義情報取得部301により取得された定義情報に基づきアプリケーションを生成する機能部である。
【0045】
配置部305は、指示受付部303により受け付けた指示に応じて、接続情報取得部302により取得された接続情報を用いて、生成部304により生成されたアプリケーションをクラウド環境に配置する機能部である。
【0046】
接続情報取得部302は、生成部304により生成されたアプリケーションの識別情報と対応付けられている接続情報を取得する機能部である。
【0047】
画面表示部307は、接続情報取得部302により取得された接続情報に不備がある場合又は接続情報取得部302により取得された接続情報を用いてクラウド環境に接続できなかった場合、接続情報を登録又は修正するための画面を表示する機能部である。
【0048】
【0049】
図4は、アプリケーション生成装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。
【0050】
アプリケーション生成装置101は、リポジトリ定義部401及びアプリケーション生成部410を備える。
【0051】
アプリケーション生成装置101は、アプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。
【0052】
リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402~406の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。
【0053】
入出力定義403は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
【0054】
なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチやWebサービス等のように、「入力項目定義情報は、生成されたアプリケーションに入力される入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションが出力する出力項目を定義した情報」であってもよい。
【0055】
データモデル定義404は、データベースのテーブルの項目の定義情報を保持する。入出力定義403の各項目には、データモデル定義404の項目を対応づけることができる。
【0056】
ビジネスプロセス定義405は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。
【0057】
データベース定義406は、アプリケーションが接続するデータベースに係る情報(データベースサーバ103のIPアドレス、接続ユーザ、接続パスワード等)を定義する。
【0058】
アプリケーション生成部410は、アプリケーション生成用のリポジトリ定義解析部411を用いてリポジトリ定義部401に記憶されている各定義を解析し、アプリケーションコード生成部412及びソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード421及びHTML/JSP/JavaScript(登録商標)422を含むアプリケーションを生成する。すなわち、アプリケーション生成部410は、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。
【0059】
クラウド環境デプロイ部430、クラウド設定管理部450、クラウド情報表示部460については、
図5のフローチャートの各処理において説明する。
【0060】
【0061】
図5は、アプリケーション生成のフローチャートの一例を示す図である。
【0062】
ステップS501において、アプリケーション生成装置101のCPU201は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。
【0063】
ステップS502において、アプリケーション生成装置101のCPU201は、クラウド接続情報設定画面600(
図6)を表示し、クラウド接続情報の設定を受け付ける。クラウド接続情報とは、クラウド環境へ接続するために必要となる認証設定451(アクセスキー601、シークレットキー602)及びアプリケーションのデプロイ先を決定するデプロイ先設定452(リージョン603、アプリケーション名604、環境名606)等の情報である。受け付けた設定は、認証設定451及びデプロイ先設定452として、外部メモリ211に記憶する。なお、選択ボタン605又はバージョン履歴の表示ボタン608の押下により、アプリケーション開発ツールで管理されているアプリケーションの識別情報又はアプリケーションのバージョンの識別情報を選択することができる。なお、アプリケーションのバージョンの識別情報は、ステップS513にてクラウド環境にアプリケーションをデプロイするときに、アプリケーション開発ツール又はクラウド環境106(例えば、仮想アプリケーションサーバ107)の外部メモリに記憶され、ステップS502にて、アプリケーション開発ツールは、バージョン履歴の表示ボタン608の押下受付に応じて、クラウド環境にデプロイされたアプリケーションのバージョンの識別情報の履歴を外部メモリから取得し、履歴からバージョンを選択することができるよう表示する。すなわち、ステップS502は、アプリケーションに係る履歴情報を取得する処理の一例を示すステップである。また、ステップS513は、取得された接続情報を用いてクラウド環境に接続し、取得されたアプリケーションに係る履歴情報に基づき、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。これにより、過去にデプロイしたバージョンのアプリケーションを容易に再度デプロイすることができるようになる。また、接続情報は、クラウド環境の識別情報、クラウド環境に接続するための接続キーのうち少なくとも1つを含む情報の一例である。
【0064】
また、クラウド接続情報設定画面600では、アプリケーション設定(バージョンラベル607、説明609、アプリケーションに追加するJARファイル610)等の設定も受け付ける。
【0065】
なお、クラウド接続情報設定画面600の認証設定451は、アプリケーション生成ツールで生成するアプリケーションの識別情報毎に設定できるとする。すなわち、認証設定451は、生成されるアプリケーションの識別情報と対応付けられている情報の一例である。アプリケーションの識別情報毎に設定できるようにすることで、アプリケーションの識別情報毎にデプロイするクラウド環境が異なる複数のアプリケーションを開発する開発者であっても、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。なお、本実施形態においては、認証設定451はアプリケーションの識別情報毎に設定できるとしたが、これに限定するものではなく、アプリケーション生成ツール(つまり、アプリケーション生成装置101)毎に設定できるとしてもよい。
【0066】
ステップS503において、アプリケーション生成装置101のCPU201は、アプリケーション生成画面700(
図7)を表示し、OKボタン702の押下によりアプリケーション生成の指示を受け付ける。すなわち、ステップS503は、ユーザからの指示を受け付ける処理の一例を示すステップである。
【0067】
なお、本実施形態においては、OKボタン702の押下をアプリケーション生成の指示としたが、これに限定するものではなく、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406並びにソースファイル等の保存・変更・コミット処理等をアプリケーション生成の指示としてもよい。また、バッチやスケジューラ等によるトリガーをアプリケーション生成の指示としてもよい。すなわち、ステップS503は、ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、定義情報の登録若しくは更新を検知する処理の一例を示すステップである。
【0068】
なお、クラウド環境にデプロイするチェックボックス701がチェックされている場合、アプリケーションを生成した後、生成したアプリケーションをクラウド環境にデプロイする(詳細は、後述するステップS511~S513にて説明する)。すなわち、ステップS503は、生成されたアプリケーションをクラウド環境に配置するか否かの設定を受け付ける処理の一例を示すステップである。また、ステップS503は、生成されたアプリケーションをクラウド環境に配置するか否かの設定を取得する処理の一例を示すステップである。
【0069】
なお、本実施形態においては、ステップS502にてクラウド接続情報の設定を受け付けた後にステップS503にてアプリケーション生成の指示を受け付けるとしたが、この順序に限定するものではなく、ステップS503にてアプリケーション生成の指示を受け付けた後にクラウド環境にデプロイする場合にクラウド接続情報の設定を受け付けるとしてもよい。
【0070】
ステップS504において、アプリケーション生成装置101のCPU201は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、取得した定義を解析した上でメモリに記憶しておき、解析された定義はアプリケーション生成の各処理において適宜参照される。
【0071】
ステップS505において、アプリケーション生成装置101のCPU201は、リポジトリ定義部401からデータモデル定義404を取得する。
【0072】
ステップS506において、アプリケーション生成装置101のCPU201は、リポジトリ定義部401から入出力定義403を取得する。
【0073】
ステップS507において、アプリケーション生成装置101のCPU201は、リポジトリ定義部401からビジネスプロセス定義405を取得する。
【0074】
ステップS508において、アプリケーション生成装置101のCPU201は、リポジトリ定義部401からデータベース定義406を取得する。すなわち、ステップS504~S508は、アプリケーションを生成するための定義情報を取得する処理の一例を示すステップである。
【0075】
ステップS509において、アプリケーション生成装置101のCPU201は、アプリケーションコード生成部412を用いて、アプリケーションの実行に用いるアプリケーションコード(プログラム)を生成しコンパイルする。すなわち、ステップS509は、受け付けた指示に応じて、取得された定義情報に基づきアプリケーションを生成する処理の一例を示すステップである。また、ステップS509は、取得された定義情報に基づきアプリケーションを生成する処理の一例を示すステップである。
【0076】
ステップS509により生成されるアプリケーションコードは、例えば、Java(登録商標)、JSP、JavaScript(登録商標)、スタイルシート、HTML、XML、バッチファイル、リソースファイル、各種設定ファイル等であり、アプリケーションサーバ102にて、これらのプログラムが実行されることにより、アプリケーションが動作する。
【0077】
ステップS510において、アプリケーション生成装置101のCPU201は、ステップS509にて生成されたアプリケーションコードをアーカイブする。具体的には、アーカイブ処理部431を用いて、ステップS509にて生成されたアプリケーションコードをWARファイルやJARファイル等のアーカイブ形式のファイルにまとめる。
【0078】
ステップS511において、アプリケーション生成装置101のCPU201は、クラウド環境にデプロイするか否かを判定する。具体的には、ステップS503にて受け付けたアプリケーション生成画面700(
図7)のクラウド環境にデプロイするチェックボックス701がチェックされているか否かによって判定する。クラウド環境にデプロイする場合はステップS512に進み、クラウド環境にデプロイしない場合はこのフローチャートの処理を終了する。
【0079】
すなわち、ステップS511は、クラウド環境に配置する設定がされている場合は生成されたアプリケーションをクラウド環境に配置し、クラウド環境に配置しない設定がされている場合は、生成されたアプリケーションをクラウド環境に配置するのを抑止する処理の一例を示すステップである。また、ステップS511は、取得した設定に基づき、生成されたアプリケーションをクラウド環境に配置するか否かの制御をする処理の一例を示すステップである。
【0080】
ステップS512において、アプリケーション生成装置101のCPU201は、ステップS502にて受け付けたクラウド接続情報を外部メモリ211から取得する。すなわち、ステップS512は、クラウド環境に接続するための接続情報を取得する処理の一例を示すステップである。また、クラウド環境への接続に用いる接続情報を取得する処理の一例を示すステップである。
【0081】
また、クラウド接続情報設定画面600の認証設定451が、アプリケーション生成ツールで生成するアプリケーションの識別情報毎に設定されている場合は、ステップS503にて生成指示受け付けたアプリケーションの識別情報を用いて、当該アプリケーションに対応するクラウド接続情報を取得する。すなわち、ステップS512は、生成されたアプリケーションの識別情報と対応付けられている接続情報を取得する処理の一例を示すステップである。
【0082】
ステップS513において、アプリケーション生成装置101のCPU201は、ステップS512にて取得したクラウド接続情報の認証設定451を用いてクラウド環境に接続し、ステップS512にて取得したクラウド接続情報のデプロイ先設定452、アップロード処理部432及びデプロイ処理部433を用いて、ステップS509にてアーカイブ化したアプリケーションを仮想アプリケーションサーバ107に配置する。デプロイ後、仮想アプリケーションサーバ107のCPU201は、デプロイされたアプリケーションを起動させ、アプリケーション441が動作する状態にする。
【0083】
すなわち、ステップS513は、取得された接続情報を用いて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。また、ステップS513は、受け付けた指示に応じて、取得された接続情報を用いて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。また、ステップS513は、検知に応じて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。
【0084】
ステップS514において、アプリケーション生成装置101のCPU201は、クラウド情報を取得する。具体的には、アップロード監視部434及びデプロイ監視部435を用いて、ステップS513のデプロイ処理が正常に行われたか否かの情報を取得する。また、クラウド監視用接続情報設定画面900(
図9)のような画面にて事前に設定されたクラウド監視用の接続情報を用いて仮想アプリケーションサーバ107にアクセスし、状態通知部442を介して、クラウド環境状態情報461(「状態」)、アクセス先状態情報462(「ヘルス」)等の情報を取得する。
【0085】
「状態」とは、対象のクラウド環境が生きている状態(例:Ready)か否かを表し、「ヘルス」とは、配置されたアプリケーションがアクセスを受けられる状態(例:Green)か否かを表す。これらの値に基づき、ステップS513にて配置したアプリケーションが正常にデプロイできたか否かを判定し、デプロイできたと判定した場合はステップS519に進み、デプロイできなかったと判定した場合はステップS515に進む。
【0086】
ステップS515において、アプリケーション生成装置101のCPU201は、ステップS514にて取得したクラウド情報を表示する。具体的には、クラウド情報画面800(
図8)のような画面を表示し、クラウド環境の状態やヘルスの情報を表示する。クラウド情報画面800には、「アプリケーション名」「環境名」「URL(アプリケ-ションアクセス先URL463)」「状態」「ヘルス」「バージョンラベル」「作成日時」「更新日時」等の項目を表示する。
【0087】
また、最新表示ボタン801の押下を受け付けた場合は、再度ステップS514を実行し、最新のクラウド情報を取得する。また、監視用接続情報ボタン802の押下を受け付けた場合は、クラウド監視用接続情報設定画面900(
図9)のような画面を表示し、事前に設定された又は設定されていなかったクラウド監視用の接続情報を登録又は更新することができる。
【0088】
ステップS516において、アプリケーション生成装置101のCPU201は、クラウド接続情報設定画面600(
図6)を表示する。すなわち、ステップS516は、記憶されている接続情報に不備がある場合又は記憶されている接続情報を用いてクラウド環境に接続できなかった場合、接続情報を登録又は修正するための画面を表示する処理の一例を示すステップである。これにより、記憶されている接続情報に不備がある場合、記憶されている接続情報を用いてクラウド環境に接続できなかった場合、クラウド環境が利用できない場合又は配置されたアプリケーションがアクセスを受けない場合等、クラウド接続情報設定画面600が表示されるため、即時に接続情報を設定し直して、再度デプロイすることができるようになる。
【0089】
ステップS517において、アプリケーション生成装置101のCPU201は、クラウド接続情報設定画面600を介して、クラウド接続情報の設定を受け付ける。この処理は、ステップS502と同様である。
【0090】
ステップS518において、アプリケーション生成装置101のCPU201は、ステップS517にて受け付けた設定は、認証設定451及びデプロイ先設定452として、外部メモリ211に記憶し、ステップS513に戻る。
【0091】
ステップS519において、アプリケーション生成装置101のCPU201は、ステップS514にて取得したクラウド情報を表示する。この処理は、ステップS515と同様である。
以上で、
図5の説明を終了する。
【0092】
以上により、アプリケーションの生成、アーカイブ、クラウド環境へのデプロイ等の処理を1つの指示で行うことができる。よって、アプリケーションの生成から配置まで手間がかかってしまうという課題を解決できるため、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。
図10は、
図3のブロック図のより詳細な図の一例である。なお、
図3の説明と重複する説明は省略する。
接続情報取得部302は、クラウド環境への接続に用いる接続情報を取得する機能部である。
履歴情報取得部1001は、アプリケーションに係る履歴情報を取得する機能部である。
配置部305は、接続情報取得部302により取得された接続情報を用いてクラウド環境に接続し、履歴情報取得部1001により取得されたアプリケーションに係る履歴情報に基づき、生成部304により生成されたアプリケーションをクラウド環境に配置する機能部である。
配置設定取得部1002は、生成部304により生成されたアプリケーションをクラウド環境に配置するか否かの設定を取得する機能部である。
配置部305は、配置設定取得部1002により取得した設定に基づき、生成部304により生成されたアプリケーションをクラウド環境に配置するか否かの制御をする機能部である。
検知部1003は、ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、定義情報の登録若しくは更新を検知する機能部である。
配置部305は、検知部1003による検知に応じて、生成部304により生成されたアプリケーションをクラウド環境に配置する機能部である。
以上で、
図10の説明を終了する。
また、
図11は、
図5のフローチャートのより詳細な図の一例である。つまり、
図11のステップS502及びステップS503は、
図5のステップS502及びステップS503において行う処理と何ら変わらないが、より詳細に表現している。それ以外のステップS501、ステップS504~ステップS519は、
図5と同じ記載である。以上で、
図11の説明を終了する。
【0093】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0094】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0095】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0096】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0097】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0098】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0099】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0100】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0101】
101 アプリケーション生成装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク
106 クラウド環境
107 仮想アプリケーションサーバ
108 仮想データベースサーバ