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