(57)【要約】      （修正有）【課題】生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供する。【解決手段】アプリケーションを生成する情報処理装置１０１で実行可能なプログラムであって、情報処理装置を、アプリケーションを生成するための定義情報を取得する定義情報取得手段３０１と、定義情報取得手段により取得された定義情報に基づき、アプリケーションを生成する生成手段３０４と、クラウド環境への接続に用いる接続情報を取得する接続情報取得手段３０２と、アプリケーションに係る履歴情報を取得する履歴情報取得手段と、接続情報取得手段により取得された接続情報を用いてクラウド環境に接続し、履歴情報取得手段により取得されたアプリケーションに係る履歴情報に基づき、生成手段により生成されたアプリケーションをクラウド環境に配置する配置手段３０５として機能させるためのプログラムにより構成する。【選択図】図３
2019091415.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを生成する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記アプリケーションを生成するための定義情報を取得する定義情報取得手段と、
前記定義情報取得手段により取得された定義情報に基づき、前記アプリケーションを生成する生成手段と、
クラウド環境への接続に用いる接続情報を取得する接続情報取得手段と、
前記アプリケーションに係る履歴情報を取得する履歴情報取得手段と、
前記接続情報取得手段により取得された接続情報を用いて前記クラウド環境に接続し、前記履歴情報取得手段により取得されたアプリケーションに係る履歴情報に基づき、前記生成手段により生成されたアプリケーションを当該クラウド環境に配置する配置手段
として機能させるためのプログラム。
【請求項２】
前記接続情報は、前記生成手段により生成されるアプリケーションの識別情報と対応付けられている情報であること
を特徴とする請求項１に記載のプログラム。
【請求項３】
前記生成手段により生成されたアプリケーションを前記クラウド環境に配置するか否かの設定を取得する配置設定取得手段を更に備え、
前記配置手段は、
前記配置設定取得手段により取得した設定に基づき、前記生成手段により生成されたアプリケーションを前記クラウド環境に配置するか否かの制御をすること
を特徴とする請求項１又は２に記載のプログラム。
【請求項４】
ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、前記定義情報の登録若しくは更新を検知する検知手段を更に備え、
前記配置手段は、
前記検知手段による検知に応じて、前記生成手段により生成されたアプリケーションを前記クラウド環境に配置すること
を特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記接続情報取得手段により取得された接続情報に不備がある場合又は前記接続情報取得手段により取得された接続情報を用いて前記クラウド環境に接続できなかった場合、前記接続情報を登録又は修正するための画面を表示する画面表示手段を更に備えること
を特徴とする請求項１乃至４のいずれか１項に記載のプログラム。
【請求項６】
前記接続情報は、
前記クラウド環境の識別情報、前記クラウド環境に接続するための接続キーのうち少なくとも１つを含むこと、
を特徴とする請求項１乃至５のいずれか１項に記載のプログラム。
【請求項７】
前記アプリケーションに係る履歴情報は、前記アプリケーションのバージョンの識別情報であること
を特徴とする請求項１乃至６のいずれか１項に記載のプログラム。
【請求項８】
アプリケーションを生成する情報処理装置であって、
前記アプリケーションを生成するための定義情報を取得する定義情報取得手段と、
前記定義情報取得手段により取得された定義情報に基づき、前記アプリケーションを生成する生成手段と、
クラウド環境への接続に用いる接続情報を取得する接続情報取得手段と、
前記アプリケーションに係る履歴情報を取得する履歴情報取得手段と、
前記接続情報取得手段により取得された接続情報を用いて前記クラウド環境に接続し、前記履歴情報取得手段により取得されたアプリケーションに係る履歴情報に基づき、前記生成手段により生成されたアプリケーションを当該クラウド環境に配置する配置手段と
を備えることを特徴とする情報処理装置。
【請求項９】
アプリケーションを生成する情報処理装置における処理方法であって、
前記情報処理装置が、
前記アプリケーションを生成するための定義情報を取得する定義情報取得ステップと、
前記定義情報取得ステップにより取得された定義情報に基づき、前記アプリケーションを生成する生成ステップと、
クラウド環境への接続に用いる接続情報を取得する接続情報取得ステップと、
前記アプリケーションに係る履歴情報を取得する履歴情報取得ステップと、
前記接続情報取得ステップにより取得された接続情報を用いて前記クラウド環境に接続し、前記履歴情報取得ステップにより取得されたアプリケーションに係る履歴情報に基づき、前記生成ステップにより生成されたアプリケーションを当該クラウド環境に配置する配置ステップ
を実行することを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを生成するための情報処理装置、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、設定された定義に基づきＷｅｂアプリケーションを生成するツールやサービスが存在する。また、近年ではクラウド技術が一般化し、企業は自社でサーバを保有することなく、クラウドサービスを利用するケースが増加している。
【０００３】
よって、前記のツールやサービスで生成したＷｅｂアプリケーションをクラウド環境に配置（デプロイ）することが考えられる。
【０００４】
特許文献１には、アプリケーション生成ツールを用いてアプリケーションを生成する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１７０７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１には、アプリケーション生成ツールを用いて生成したアプリケーションをクラウド環境に配置することは記載されていない。
【０００７】
つまり、アプリケーション生成ツールを用いて生成したアプリケーションをクラウド環境に配置するには、別途クラウド環境に接続するためのツール又はブラウザ等を用いて、クラウド環境に接続するための接続情報（例：認証情報等）及び配置するアプリケーションの情報（例：アプリケーション名、バージョン等）を入力し、生成したアプリケーションを指定してアップロードしなければならなかった。よって、アプリケーションを生成する毎に上記の手順を行う必要があるため、アプリケーションの生成から配置まで手間がかかってしまうという課題があった。
【０００８】
そこで、本発明の目的は、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することである。
【課題を解決するための手段】
【０００９】
アプリケーションを生成する情報処理装置で実行可能なプログラムであって、前記情報処理装置を、前記アプリケーションを生成するための定義情報を取得する定義情報取得手段と、前記定義情報取得手段により取得された定義情報に基づき、前記アプリケーションを生成する生成手段と、クラウド環境への接続に用いる接続情報を取得する接続情報取得手段と、前記アプリケーションに係る履歴情報を取得する履歴情報取得手段と、前記接続情報取得手段により取得された接続情報を用いて前記クラウド環境に接続し、前記履歴情報取得手段により取得されたアプリケーションに係る履歴情報に基づき、前記生成手段により生成されたアプリケーションを当該クラウド環境に配置する配置手段として機能させるためのプログラム。
【発明の効果】
【００１０】
本発明によれば、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るシステムの構成図の一例である。
【図２】アプリケーション生成装置、アプリケーションサーバ、データベースサーバ、仮想アプリケーションサーバ、仮想データベースサーバ、アプリケーションクライアント、として適用可能な各ハードウェア構成の一例を示すブロック図である。
【図３】ソフトウェア構成を示すブロック図の一例である。
【図４】アプリケーション生成装置１０１、アプリケーションサーバ１０２及びアプリケーションクライアント１０４の構成図である。
【図５】アプリケーション生成のフローチャートの一例を示す図である。
【図６】クラウド接続情報設定画面６００の一例を示す図である。
【図７】アプリケーション生成画面７００の一例を示す図である。
【図８】クラウド情報画面８００の一例を示す図である。
【図９】クラウド監視用接続情報設定画面９００の一例を示す図である。
【図１０】図３のブロック図のより詳細な図の一例である。
【図１１】図５のフローチャートのより詳細な図の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１３】
図１は、本発明に係るシステムの構成図の一例である。
【００１４】
アプリケーション生成装置１０１は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。アプリケーション生成装置１０１は、プログラム生成、アプリケーション生成を行う。
【００１５】
なお、この実施形態においては、アプリケーション生成装置１０１で生成するアプリケーションはＷｅｂアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Ｗｅｂ技術による通信を利用するアプリケーションでなくてもよい。
【００１６】
アプリケーションサーバ１０２は、アプリケーション生成装置１０１で生成され配置されたアプリケーションを実行する。また、アプリケーションサーバ１０２は、データベースサーバ１０３に接続し、データベースのデータを操作することができる。
【００１７】
データベースサーバ１０３は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。また、データベースサーバ１０３は、アプリケーション生成装置１０１や、アプリケーションサーバ１０２と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０５内に配置されてもよい。
【００１８】
アプリケーションクライアント１０４は、アプリケーションサーバ１０２と協調してアプリケーション生成装置１０１で開発したアプリケーションプログラムを動作させる、エンドユーザの操作端末である。この、アプリケーションクライアント１０４は、携帯端末などの情報処理装置であってもよい。
【００１９】
クラウド環境１０６は、動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境である。
【００２０】
クラウド環境１０６内の仮想アプリケーションサーバ１０７は、アプリケーション生成装置１０１で生成され配置されたアプリケーションを実行する。また、仮想アプリケーションサーバ１０７は、仮想データベースサーバ１０８に接続し、データベースのデータを操作することができる。
【００２１】
クラウド環境１０６内の仮想データベースサーバ１０８は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。
【００２２】
なお、クラウド環境１０６は動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境であるとしたが、本実施形態においては、この特徴を備えている必要はなく、クラウド環境１０６が仮想アプリケーションサーバ１０７及び仮想データベースサーバ１０８の動作を提供するのであれば、動的にスケーラブルでなくても、仮想化されたリソースを供給できなくてもよい。
【００２３】
図２は、本発明に係わるアプリケーション生成装置１０１、アプリケーションサーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４として適用可能な各ハードウェア構成の一例を示すブロック図である。
【００２４】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２５】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【００２６】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２７】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【００２８】
なお、入力部２０９がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２９】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００３０】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【００３１】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。外部メモリ２１１には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォント展開（ラスタライズ）処理を実行することにより、出力部２１０上での表示を可能としている。また、ＣＰＵ２０１は、出力部２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３４】
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３５】
図３は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【００３６】
アプリケーション生成装置１０１は、以下の機能部を備える。
【００３７】
定義情報取得部３０１は、アプリケーションを生成するための定義情報を取得する機能部である。
【００３８】
接続情報取得部３０２は、クラウド環境に接続するための接続情報を取得する機能部である。
【００３９】
指示受付部３０３は、ユーザからの指示を受け付ける機能部である。
【００４０】
生成部３０４は、指示受付部３０３により受け付けた指示に応じて、定義情報取得部３０１により取得された定義情報に基づきアプリケーションを生成する機能部である。
【００４１】
配置部３０５は、接続情報取得部３０２により取得された接続情報を用いて、生成部３０４により生成されたアプリケーションをクラウド環境に配置する機能部である。
【００４２】
配置設定受付部３０６は、生成部３０４により生成されたアプリケーションをクラウド環境に配置するか否かの設定を受け付ける機能部である。
【００４３】
配置部３０５は、配置設定受付部３０６によりクラウド環境に配置する設定がされている場合は、生成部３０４により生成されたアプリケーションをクラウド環境に配置し、配置設定受付部３０６によりクラウド環境に配置しない設定がされている場合は、生成部３０４により生成されたアプリケーションをクラウド環境に配置するのを抑止する機能部である。
【００４４】
生成部３０４は、定義情報取得部３０１により取得された定義情報に基づきアプリケーションを生成する機能部である。
【００４５】
配置部３０５は、指示受付部３０３により受け付けた指示に応じて、接続情報取得部３０２により取得された接続情報を用いて、生成部３０４により生成されたアプリケーションをクラウド環境に配置する機能部である。
【００４６】
接続情報取得部３０２は、生成部３０４により生成されたアプリケーションの識別情報と対応付けられている接続情報を取得する機能部である。
【００４７】
画面表示部３０７は、接続情報取得部３０２により取得された接続情報に不備がある場合又は接続情報取得部３０２により取得された接続情報を用いてクラウド環境に接続できなかった場合、接続情報を登録又は修正するための画面を表示する機能部である。
【００４８】
以上で、図３の説明を終了する。
【００４９】
図４は、アプリケーション生成装置１０１、アプリケーションサーバ１０２及びアプリケーションクライアント１０４の構成図である。
【００５０】
アプリケーション生成装置１０１は、リポジトリ定義部４０１及びアプリケーション生成部４１０を備える。
【００５１】
アプリケーション生成装置１０１は、アプリケーションを開発する開発者により設定されたリポジトリ定義部４０１の各定義を用いて、アプリケーション生成部４１０によりアプリケーションを生成する。
【００５２】
リポジトリ定義部４０１には、アプリケーション定義４０２、入出力定義４０３、データモデル定義４０４、ビジネスプロセス定義４０５、データベース定義４０６が記憶されている。これら４０２〜４０６の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。
【００５３】
入出力定義４０３は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義４０３は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
【００５４】
なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチやＷｅｂサービス等のように、「入力項目定義情報は、生成されたアプリケーションに入力される入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションが出力する出力項目を定義した情報」であってもよい。
【００５５】
データモデル定義４０４は、データベースのテーブルの項目の定義情報を保持する。入出力定義４０３の各項目には、データモデル定義４０４の項目を対応づけることができる。
【００５６】
ビジネスプロセス定義４０５は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。
【００５７】
データベース定義４０６は、アプリケーションが接続するデータベースに係る情報（データベースサーバ１０３のＩＰアドレス、接続ユーザ、接続パスワード等）を定義する。
【００５８】
アプリケーション生成部４１０は、アプリケーション生成用のリポジトリ定義解析部４１１を用いてリポジトリ定義部４０１に記憶されている各定義を解析し、アプリケーションコード生成部４１２及びソースコードコンパイル部４１３を介し、コンパイル済Ｊａｖａ（登録商標）コード４２１及びＨＴＭＬ／ＪＳＰ／ＪａｖａＳｃｒｉｐｔ（登録商標）４２２を含むアプリケーションを生成する。すなわち、アプリケーション生成部４１０は、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。
【００５９】
クラウド環境デプロイ部４３０、クラウド設定管理部４５０、クラウド情報表示部４６０については、図５のフローチャートの各処理において説明する。
【００６０】
以上で、図４の説明を終了する。
【００６１】
図５は、アプリケーション生成のフローチャートの一例を示す図である。
【００６２】
ステップＳ５０１において、アプリケーション生成装置１０１のＣＰＵ２０１は、アプリケーション定義４０２の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義４０３、データモデル定義４０４、ビジネスプロセス定義４０５及びデータベース定義４０６の設定を受け付ける。
【００６３】
ステップＳ５０２において、アプリケーション生成装置１０１のＣＰＵ２０１は、クラウド接続情報設定画面６００（図６）を表示し、クラウド接続情報の設定を受け付ける。クラウド接続情報とは、クラウド環境へ接続するために必要となる認証設定４５１（アクセスキー６０１、シークレットキー６０２）及びアプリケーションのデプロイ先を決定するデプロイ先設定４５２（リージョン６０３、アプリケーション名６０４、環境名６０６）等の情報である。受け付けた設定は、認証設定４５１及びデプロイ先設定４５２として、外部メモリ２１１に記憶する。なお、選択ボタン６０５又はバージョン履歴の表示ボタン６０８の押下により、アプリケーション開発ツールで管理されているアプリケーションの識別情報又はアプリケーションのバージョンの識別情報を選択することができる。なお、アプリケーションのバージョンの識別情報は、ステップＳ５１３にてクラウド環境にアプリケーションをデプロイするときに、アプリケーション開発ツール又はクラウド環境１０６（例えば、仮想アプリケーションサーバ１０７）の外部メモリに記憶され、ステップＳ５０２にて、アプリケーション開発ツールは、バージョン履歴の表示ボタン６０８の押下受付に応じて、クラウド環境にデプロイされたアプリケーションのバージョンの識別情報の履歴を外部メモリから取得し、履歴からバージョンを選択することができるよう表示する。すなわち、ステップＳ５０２は、アプリケーションに係る履歴情報を取得する処理の一例を示すステップである。また、ステップＳ５１３は、取得された接続情報を用いてクラウド環境に接続し、取得されたアプリケーションに係る履歴情報に基づき、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。これにより、過去にデプロイしたバージョンのアプリケーションを容易に再度デプロイすることができるようになる。また、接続情報は、クラウド環境の識別情報、クラウド環境に接続するための接続キーのうち少なくとも１つを含む情報の一例である。  
【００６４】
また、クラウド接続情報設定画面６００では、アプリケーション設定（バージョンラベル６０７、説明６０９、アプリケーションに追加するＪＡＲファイル６１０）等の設定も受け付ける。
【００６５】
なお、クラウド接続情報設定画面６００の認証設定４５１は、アプリケーション生成ツールで生成するアプリケーションの識別情報毎に設定できるとする。すなわち、認証設定４５１は、生成されるアプリケーションの識別情報と対応付けられている情報の一例である。アプリケーションの識別情報毎に設定できるようにすることで、アプリケーションの識別情報毎にデプロイするクラウド環境が異なる複数のアプリケーションを開発する開発者であっても、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。なお、本実施形態においては、認証設定４５１はアプリケーションの識別情報毎に設定できるとしたが、これに限定するものではなく、アプリケーション生成ツール（つまり、アプリケーション生成装置１０１）毎に設定できるとしてもよい。
【００６６】
ステップＳ５０３において、アプリケーション生成装置１０１のＣＰＵ２０１は、アプリケーション生成画面７００（図７）を表示し、ＯＫボタン７０２の押下によりアプリケーション生成の指示を受け付ける。すなわち、ステップＳ５０３は、ユーザからの指示を受け付ける処理の一例を示すステップである。
【００６７】
なお、本実施形態においては、ＯＫボタン７０２の押下をアプリケーション生成の指示としたが、これに限定するものではなく、アプリケーション定義４０２、入出力定義４０３、データモデル定義４０４、ビジネスプロセス定義４０５及びデータベース定義４０６並びにソースファイル等の保存・変更・コミット処理等をアプリケーション生成の指示としてもよい。また、バッチやスケジューラ等によるトリガーをアプリケーション生成の指示としてもよい。すなわち、ステップＳ５０３は、ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、定義情報の登録若しくは更新を検知する処理の一例を示すステップである。
【００６８】
なお、クラウド環境にデプロイするチェックボックス７０１がチェックされている場合、アプリケーションを生成した後、生成したアプリケーションをクラウド環境にデプロイする（詳細は、後述するステップＳ５１１〜Ｓ５１３にて説明する）。すなわち、ステップＳ５０３は、生成されたアプリケーションをクラウド環境に配置するか否かの設定を受け付ける処理の一例を示すステップである。また、ステップＳ５０３は、生成されたアプリケーションをクラウド環境に配置するか否かの設定を取得する処理の一例を示すステップである。
【００６９】
なお、本実施形態においては、ステップＳ５０２にてクラウド接続情報の設定を受け付けた後にステップＳ５０３にてアプリケーション生成の指示を受け付けるとしたが、この順序に限定するものではなく、ステップＳ５０３にてアプリケーション生成の指示を受け付けた後にクラウド環境にデプロイする場合にクラウド接続情報の設定を受け付けるとしてもよい。
【００７０】
ステップＳ５０４において、アプリケーション生成装置１０１のＣＰＵ２０１は、リポジトリ定義部４０１からアプリケーション定義４０２を取得する。リポジトリ定義解析部４１１は、取得した定義を解析した上でメモリに記憶しておき、解析された定義はアプリケーション生成の各処理において適宜参照される。
【００７１】
ステップＳ５０５において、アプリケーション生成装置１０１のＣＰＵ２０１は、リポジトリ定義部４０１からデータモデル定義４０４を取得する。
【００７２】
ステップＳ５０６において、アプリケーション生成装置１０１のＣＰＵ２０１は、リポジトリ定義部４０１から入出力定義４０３を取得する。
【００７３】
ステップＳ５０７において、アプリケーション生成装置１０１のＣＰＵ２０１は、リポジトリ定義部４０１からビジネスプロセス定義４０５を取得する。
【００７４】
ステップＳ５０８において、アプリケーション生成装置１０１のＣＰＵ２０１は、リポジトリ定義部４０１からデータベース定義４０６を取得する。すなわち、ステップＳ５０４〜Ｓ５０８は、アプリケーションを生成するための定義情報を取得する処理の一例を示すステップである。
【００７５】
ステップＳ５０９において、アプリケーション生成装置１０１のＣＰＵ２０１は、アプリケーションコード生成部４１２を用いて、アプリケーションの実行に用いるアプリケーションコード（プログラム）を生成しコンパイルする。すなわち、ステップＳ５０９は、受け付けた指示に応じて、取得された定義情報に基づきアプリケーションを生成する処理の一例を示すステップである。また、ステップＳ５０９は、取得された定義情報に基づきアプリケーションを生成する処理の一例を示すステップである。
【００７６】
ステップＳ５０９により生成されるアプリケーションコードは、例えば、Ｊａｖａ（登録商標）、ＪＳＰ、ＪａｖａＳｃｒｉｐｔ（登録商標）、スタイルシート、ＨＴＭＬ、ＸＭＬ、バッチファイル、リソースファイル、各種設定ファイル等であり、アプリケーションサーバ１０２にて、これらのプログラムが実行されることにより、アプリケーションが動作する。
【００７７】
ステップＳ５１０において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５０９にて生成されたアプリケーションコードをアーカイブする。具体的には、アーカイブ処理部４３１を用いて、ステップＳ５０９にて生成されたアプリケーションコードをＷＡＲファイルやＪＡＲファイル等のアーカイブ形式のファイルにまとめる。
【００７８】
ステップＳ５１１において、アプリケーション生成装置１０１のＣＰＵ２０１は、クラウド環境にデプロイするか否かを判定する。具体的には、ステップＳ５０３にて受け付けたアプリケーション生成画面７００（図７）のクラウド環境にデプロイするチェックボックス７０１がチェックされているか否かによって判定する。クラウド環境にデプロイする場合はステップＳ５１２に進み、クラウド環境にデプロイしない場合はこのフローチャートの処理を終了する。
【００７９】
すなわち、ステップＳ５１１は、クラウド環境に配置する設定がされている場合は生成されたアプリケーションをクラウド環境に配置し、クラウド環境に配置しない設定がされている場合は、生成されたアプリケーションをクラウド環境に配置するのを抑止する処理の一例を示すステップである。また、ステップＳ５１１は、取得した設定に基づき、生成されたアプリケーションをクラウド環境に配置するか否かの制御をする処理の一例を示すステップである。
【００８０】
ステップＳ５１２において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５０２にて受け付けたクラウド接続情報を外部メモリ２１１から取得する。すなわち、ステップＳ５１２は、クラウド環境に接続するための接続情報を取得する処理の一例を示すステップである。また、クラウド環境への接続に用いる接続情報を取得する処理の一例を示すステップである。
【００８１】
また、クラウド接続情報設定画面６００の認証設定４５１が、アプリケーション生成ツールで生成するアプリケーションの識別情報毎に設定されている場合は、ステップＳ５０３にて生成指示受け付けたアプリケーションの識別情報を用いて、当該アプリケーションに対応するクラウド接続情報を取得する。すなわち、ステップＳ５１２は、生成されたアプリケーションの識別情報と対応付けられている接続情報を取得する処理の一例を示すステップである。
【００８２】
ステップＳ５１３において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５１２にて取得したクラウド接続情報の認証設定４５１を用いてクラウド環境に接続し、ステップＳ５１２にて取得したクラウド接続情報のデプロイ先設定４５２、アップロード処理部４３２及びデプロイ処理部４３３を用いて、ステップＳ５０９にてアーカイブ化したアプリケーションを仮想アプリケーションサーバ１０７に配置する。デプロイ後、仮想アプリケーションサーバ１０７のＣＰＵ２０１は、デプロイされたアプリケーションを起動させ、アプリケーション４４１が動作する状態にする。
【００８３】
すなわち、ステップＳ５１３は、取得された接続情報を用いて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。また、ステップＳ５１３は、受け付けた指示に応じて、取得された接続情報を用いて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。また、ステップＳ５１３は、検知に応じて、生成されたアプリケーションをクラウド環境に配置する処理の一例を示すステップである。
【００８４】
ステップＳ５１４において、アプリケーション生成装置１０１のＣＰＵ２０１は、クラウド情報を取得する。具体的には、アップロード監視部４３４及びデプロイ監視部４３５を用いて、ステップＳ５１３のデプロイ処理が正常に行われたか否かの情報を取得する。また、クラウド監視用接続情報設定画面９００（図９）のような画面にて事前に設定されたクラウド監視用の接続情報を用いて仮想アプリケーションサーバ１０７にアクセスし、状態通知部４４２を介して、クラウド環境状態情報４６１（「状態」）、アクセス先状態情報４６２（「ヘルス」）等の情報を取得する。
【００８５】
「状態」とは、対象のクラウド環境が生きている状態（例：Ｒｅａｄｙ）か否かを表し、「ヘルス」とは、配置されたアプリケーションがアクセスを受けられる状態（例：Ｇｒｅｅｎ）か否かを表す。これらの値に基づき、ステップＳ５１３にて配置したアプリケーションが正常にデプロイできたか否かを判定し、デプロイできたと判定した場合はステップＳ５１９に進み、デプロイできなかったと判定した場合はステップＳ５１５に進む。
【００８６】
ステップＳ５１５において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５１４にて取得したクラウド情報を表示する。具体的には、クラウド情報画面８００（図８）のような画面を表示し、クラウド環境の状態やヘルスの情報を表示する。クラウド情報画面８００には、「アプリケーション名」「環境名」「ＵＲＬ（アプリケ−ションアクセス先ＵＲＬ４６３）」「状態」「ヘルス」「バージョンラベル」「作成日時」「更新日時」等の項目を表示する。
【００８７】
また、最新表示ボタン８０１の押下を受け付けた場合は、再度ステップＳ５１４を実行し、最新のクラウド情報を取得する。また、監視用接続情報ボタン８０２の押下を受け付けた場合は、クラウド監視用接続情報設定画面９００（図９）のような画面を表示し、事前に設定された又は設定されていなかったクラウド監視用の接続情報を登録又は更新することができる。
【００８８】
ステップＳ５１６において、アプリケーション生成装置１０１のＣＰＵ２０１は、クラウド接続情報設定画面６００（図６）を表示する。すなわち、ステップＳ５１６は、記憶されている接続情報に不備がある場合又は記憶されている接続情報を用いてクラウド環境に接続できなかった場合、接続情報を登録又は修正するための画面を表示する処理の一例を示すステップである。これにより、記憶されている接続情報に不備がある場合、記憶されている接続情報を用いてクラウド環境に接続できなかった場合、クラウド環境が利用できない場合又は配置されたアプリケーションがアクセスを受けない場合等、クラウド接続情報設定画面６００が表示されるため、即時に接続情報を設定し直して、再度デプロイすることができるようになる。
【００８９】
ステップＳ５１７において、アプリケーション生成装置１０１のＣＰＵ２０１は、クラウド接続情報設定画面６００を介して、クラウド接続情報の設定を受け付ける。この処理は、ステップＳ５０２と同様である。
【００９０】
ステップＳ５１８において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５１７にて受け付けた設定は、認証設定４５１及びデプロイ先設定４５２として、外部メモリ２１１に記憶し、ステップＳ５１３に戻る。
【００９１】
ステップＳ５１９において、アプリケーション生成装置１０１のＣＰＵ２０１は、ステップＳ５１４にて取得したクラウド情報を表示する。この処理は、ステップＳ５１５と同様である。
以上で、図５の説明を終了する。
【００９２】
以上により、アプリケーションの生成、アーカイブ、クラウド環境へのデプロイ等の処理を１つの指示で行うことができる。よって、アプリケーションの生成から配置まで手間がかかってしまうという課題を解決できるため、生成したアプリケーションをクラウド環境に容易に配置する仕組みを提供することができる。
図１０は、図３のブロック図のより詳細な図の一例である。なお、図３の説明と重複する説明は省略する。
接続情報取得部３０２は、クラウド環境への接続に用いる接続情報を取得する機能部である。
履歴情報取得部１００１は、アプリケーションに係る履歴情報を取得する機能部である。
配置部３０５は、接続情報取得部３０２により取得された接続情報を用いてクラウド環境に接続し、履歴情報取得部１００１により取得されたアプリケーションに係る履歴情報に基づき、生成部３０４により生成されたアプリケーションをクラウド環境に配置する機能部である。
配置設定取得部１００２は、生成部３０４により生成されたアプリケーションをクラウド環境に配置するか否かの設定を取得する機能部である。
配置部３０５は、配置設定取得部１００２により取得した設定に基づき、生成部３０４により生成されたアプリケーションをクラウド環境に配置するか否かの制御をする機能部である。
検知部１００３は、ユーザ操作、バッチ若しくはスケジューラに基づく指示、又は、定義情報の登録若しくは更新を検知する機能部である。
配置部３０５は、検知部１００３による検知に応じて、生成部３０４により生成されたアプリケーションをクラウド環境に配置する機能部である。
以上で、図１０の説明を終了する。
また、図１１は、図５のフローチャートのより詳細な図の一例である。つまり、図１１のステップＳ５０２及びステップＳ５０３は、図５のステップＳ５０２及びステップＳ５０３において行う処理と何ら変わらないが、より詳細に表現している。それ以外のステップＳ５０１、ステップＳ５０４〜ステップＳ５１９は、図５と同じ記載である。以上で、図１１の説明を終了する。
【００９３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００９４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００９５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００９６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９８】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９９】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１００】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０１】
１０１  アプリケーション生成装置
１０２  アプリケーションサーバ
１０３  データベースサーバ
１０４  アプリケーションクライアント
１０５  ネットワーク
１０６  クラウド環境
１０７  仮想アプリケーションサーバ
１０８  仮想データベースサーバ
【図１】
2019091415.tif 000003
【図２】
2019091415.tif 000004
【図３】
2019091415.tif 000005
【図４】
2019091415.tif 000006
【図５】
2019091415.tif 000007
【図６】
2019091415.tif 000008
【図７】
2019091415.tif 000009
【図８】
2019091415.tif 000010
【図９】
2019091415.tif 000011
【図１０】
2019091415.tif 000012
【図１１】
2019091415.tif 000013