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