(57)【要約】【課題】  ＨＴＭＬのレイアウトを確認したい場合、ＨＴＭＬのオブジェクトに対応するビジネスロジックやデータモデルの定義の状況にかかわらず、ＨＴＭＬの表示に係わる部分のみを生成し、短時間でＨＴＭＬのレイアウトを確認させ、開発効率を向上させる。【解決手段】  ウェブアプリケーションプログラムの自動生成ツールにおいて、ウェブアプリケーションにおける少なくともビジネスロジックの定義体と、データベースモデルの定義体と、表示及び入出力を定義する前記項目一覧に対応する項目一覧定義体とを含むアプリケーション定義体を記憶し、ユーザの操作によってプレビュータブが選択された際に、開発者が定義中である項目一覧定義体から、ウェブアプリケーションの表示に関する情報のみを抽出し、プレビューＨＴＭＬを生成、表示する。【選択図】図８
2018116750.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを自動生成するために、プログラムロジックとデータ形式に対応する項目定義を含む項目一覧定義をテキスト形式で行う項目一覧タブと、開発中のアプリケーションのビューであるプレビューＨＴＭＬを表示するプレビュータブを備える情報処理装置であって、
ウェブアプリケーションにおける少なくともビジネスロジックの定義体と、データベースモデルの定義体と、表示及び入出力を定義する前記項目一覧に対応する項目一覧定義体とを含むアプリケーション定義体を記憶する定義体記憶手段と、
ユーザの操作によって前記プレビュータブが選択された際に、開発者が定義中である前記アプリケーション定義体における前記項目一覧定義体を取得する項目一覧取得手段と、
前記項目一覧取得手段により取得した前記項目一覧定義体から、ウェブアプリケーションの表示に関する情報を抽出する表示情報抽出手段と、
前記表示情報抽出手段により抽出した、開発者が定義中である前記項目一覧定義体におけるウェブアプリケーションの表示に関する情報に基づき、プレビュー用のプレビューＨＴＭＬを生成するプレビューＨＴＭＬ生成手段と、
前記プレビューＨＴＭＬ生成手段により生成された前記プレビューＨＴＭＬを、前記プレビュータブに表示する表示手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
プレビューＨＴＭＬにおけるオブジェクトに表示する値を記憶する代入値データ記憶手段と、
前記代入値データ記憶手段にオブジェクトに表示する値が登録されているか否かを判定する代入値有無判定手段と、
前記代入値有無判定手段により、前記プレビューＨＴＭＬのオブジェクトに代入すべき値が、前記代入値データ記憶手段に登録されていると判定された場合には、当該プレビューＨＴＭＬの当該オブジェクトに対応する値を代入し、一方、登録されていると判定されていないと判定された場合には、当該オブジェクトに代入すべきデフォルト値がデフォルト値記憶手段に定義されている場合には、当該デフォルト値を当該オブジェクトに代入する代入手段と、
を、更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記プレビューＨＴＭＬの表示の属性を定義するプロパティを格納するプレビュープロパティ値記憶手段と、
を、更に備え、
前記プレビュープロパティ値記憶手段は、前記プレビューＨＴＭＬを、如何なる権限を持つユーザの画面として表示させるかを示すロールプロパティを格納可能であって、
前記プレビューＨＴＭＬ生成手段は、前記プレビュープロパティ値記憶手段にロールプロパティが定義されている場合には、当該ロールプロパティに応じて、プレビューＨＴＭＬとして生成するオブジェクトを決定することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記プレビュープロパティ値記憶手段は、更に、前記プレビューＨＴＭＬを、如何なる言語表示により生成するかを示す言語プロパティを格納可能であって、
前記プレビューＨＴＭＬ生成手段は、前記プレビュープロパティ値記憶手段に言語プロパティが定義されている場合には、当該言語プロパティに応じて、プレビューＨＴＭＬとして生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記プレビュープロパティ値記憶手段は、更に、前記プレビューＨＴＭＬの表示スタイルを決定するスタイルシートに関する情報を示すスタイルシートプロパティを格納可能であって、
前記プレビューＨＴＭＬ生成手段は、前記プレビュープロパティ値記憶手段にスタイルシートプロパティが定義されている場合には、当該スタイルシートプロパティに応じて、プレビューＨＴＭＬとして生成することを特徴とする請求項３または請求項４に記載の情報処理装置。
【請求項６】
プログラムを自動生成するために、プログラムロジックとデータ形式に対応する項目定義を含む項目一覧定義をテキスト形式で行う項目一覧タブと、開発中のアプリケーションのビューであるプレビューＨＴＭＬを表示するプレビュータブを備える情報処理装置の制御方法であって、
定義体登録手段が、ウェブアプリケーションにおける少なくともビジネスロジックの定義体と、データベースモデルの定義体と、表示及び入出力を定義する前記項目一覧に対応する項目一覧定義体とを含むアプリケーション定義体を定義体記憶手段に記憶させる定義体登録ステップと、
項目一覧取得手段が、ユーザの操作によって前記プレビュータブが選択された際に、開発者が定義中である前記アプリケーション定義体における前記項目一覧定義体を取得する項目一覧取得ステップと、
表示情報抽出手段が、前記項目一覧取得ステップにより取得した前記項目一覧定義体から、ウェブアプリケーションの表示に関する情報を抽出する表示情報抽出ステップと、
プレビューＨＴＭＬ生成手段が、前記表示情報抽出ステップにより抽出した、開発者が定義中である前記項目一覧定義体におけるウェブアプリケーションの表示に関する情報に基づき、プレビュー用のプレビューＨＴＭＬを生成するプレビューＨＴＭＬ生成ステップと、
表示手段が、前記プレビューＨＴＭＬ生成ステップにより生成された前記プレビューＨＴＭＬを、前記プレビュータブに表示する表示ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項７】
プログラムを自動生成するために、プログラムロジックとデータ形式に対応する項目定義を含む項目一覧定義をテキスト形式で行う項目一覧タブと、開発中のアプリケーションのビューであるプレビューＨＴＭＬを表示するプレビュータブを備える情報処理装置において実行可能なプログラムであって、
前記情報処理装置を、
ウェブアプリケーションにおける少なくともビジネスロジックの定義体と、データベースモデルの定義体と、表示及び入出力を定義する前記項目一覧に対応する項目一覧定義体とを含むアプリケーション定義体を定義体記憶手段に記憶させる定義体登録手段、
ユーザの操作によって前記プレビュータブが選択された際に、開発者が定義中である前記アプリケーション定義体における前記項目一覧定義体を取得する項目一覧取得手段、
前記項目一覧取得手段により取得した前記項目一覧定義体から、ウェブアプリケーションの表示に関する情報を抽出する表示情報抽出手段、
前記表示情報抽出手段により抽出した、開発者が定義中である前記項目一覧定義体におけるウェブアプリケーションの表示に関する情報に基づき、プレビュー用のプレビューＨＴＭＬを生成するプレビューＨＴＭＬ生成手段、
前記プレビューＨＴＭＬ生成手段により生成された前記プレビューＨＴＭＬを、前記プレビュータブに表示する表示手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム自動生成装置を用いた開発であって、ビジネスロジック、データベースモデルなどのそれぞれのモジュールの開発が未完成であっても、確認したい画面を短時間で生成することを可能とする技術に関する。
【背景技術】
【０００２】
従来から、ウェブアプリケーションの開発を支援するため、ユーザはＧＵＩレイアウト（プログラム実行時にＨＴＭＬとして表示される部分）や、ビジネスロジック、データベースモデルを自動生成するツール（製品）がある。これらの開発支援ツールを用いて、ウェブアプリケーションが表示する画面を作成する場合、入力フィールドやボタンなどの部品について、ツール（製品）毎に決められた定義を行う必要がある。画面作成を開発者などが容易に行うため、アプリケーションが表示するＨＴＭＬをグラフィカルに編集するエディタを搭載するツールもある。
【０００３】
しかしながら、従来のシステムにおいて、開発中（プログラム自動生成ツールでの規約に基づいたアプリケーションの定義）に最終的に生成されるＨＴＭＬを確認しようとすると、プログラム自動生成ツールとして、画面（ＨＴＭＬ）と、ビジネスロジックやデータベースモデルなどを分割定義し、後で関連付けるようなツールを使用する必要があった。
【０００４】
特許文献１には、表示項目などのオブジェクトであるフィールドと、ビヘイビアと呼ばれるフィールドにおけるイベントをアクション実行やエラーチェックとしてあわせて定義することによりウェブ画面を生成する、ウェブアプリケーションのオーサリングツールに関する技術が記載されている。オーサリングツールは、フィールドの配置とビヘイビアの定義をするための編集ビューを持ち、インスタンス化することでＨＴＭＬ、スクリプトのコードを生成し、動的なウェブページを生成可能とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−９９２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術においては、開発の途中段階で画面（ＨＴＭＬ）の状態を確認できない場合がある。すなわち、画面（ＨＴＭＬ）だけを先に開発することで、未完成なビヘイビアがない状態であるか、あるいは作成しかけたビヘイビアは、作成を完了させておく必要がある。すなわち、画面上の項目と関連付けられたイベントは、（最終的な完成物ではないにしても）一定レベルの動作を保証されていなければ、画面（ＨＴＭＬ）の状態を確認することができない。
【０００７】
従って、画面（ＨＴＭＬ）と、ビヘイビアと連携して開発しながらも、それぞれの連携が完全に取れていない段階では、画面（ＨＴＭＬ）だけを確認できないという問題がある。
【０００８】
また、そもそも特許文献１に記載のオーサリングツールは、クライアント（ウェブブラウザ）で動的に動作するためのＨＴＭＬを作成するものであるため、アプリケーションサーバとの連係で動作するビジネスロジックや、データモデルを含むスケールのウェブアプリケーションを考えたとき、ビジネスロジックのコンパイルや、データモデルの生成など、画面（ＨＴＭＬ）に関するプログラムを生成した後でないと、画面（ＨＴＭＬ）の状態を確認することはできないことになる。これでは、開発効率が低下するという問題を引き起こすことになる。
【０００９】
本発明の目的は、上記の問題に鑑み、ＨＴＭＬのレイアウトなどを確認したい場合に、ＨＴＭＬ上のオブジェクトに対応するビジネスロジックやデータモデルの定義の状況にかかわらず、ＨＴＭＬの表示に係わる部分のみを生成可能であり、短時間でＨＴＭＬのレイアウトを確認させ、開発効率を向上させることが可能なプログラム自動生成装置の技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、プログラムを自動生成するために、プログラムロジックとデータ形式に対応する項目定義を含む項目一覧定義をテキスト形式で行う項目一覧タブと、開発中のアプリケーションのビューであるプレビューＨＴＭＬを表示するプレビュータブを備える情報処理装置であって、ウェブアプリケーションにおける少なくともビジネスロジックの定義体と、データベースモデルの定義体と、表示及び入出力を定義する前記項目一覧に対応する項目一覧定義体とを含むアプリケーション定義体を記憶する定義体記憶手段と、ユーザの操作によって前記プレビュータブが選択された際に、開発者が定義中である前記アプリケーション定義体における前記項目一覧定義体を取得する項目一覧取得手段と、前記項目一覧取得手段により取得した前記項目一覧定義体から、ウェブアプリケーションの表示に関する情報を抽出する表示情報抽出手段と、前記表示情報抽出手段により抽出した、開発者が定義中である前記項目一覧定義体におけるウェブアプリケーションの表示に関する情報に基づき、プレビュー用のプレビューＨＴＭＬを生成するプレビューＨＴＭＬ生成手段と、前記プレビューＨＴＭＬ生成手段により生成された前記プレビューＨＴＭＬを、前記プレビュータブに表示する表示手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明により、ＨＴＭＬのレイアウトなどを確認したい場合に、ＨＴＭＬ上のオブジェクトに対応するビジネスロジックやデータモデルの定義の状況にかかわらず、ＨＴＭＬの表示に係わる部分のみを生成可能であり、ＨＴＭＬのレイアウトを柔軟に確認させ、開発効率を向上させることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係わる情報処理装置の基本的な機能構成、および各機能の呼び出し関係を示す図である。
【図２】本発明の実施形態に係わる情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】保発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。
【図４】本発明の実施形態に係わるプログラム自動生成ツールのうち項目の定義を行う画面構成の一例である。
【図５】本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。
【図６】本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。
【図７】本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。
【図８】本発明の実施形態に係わる情報処理装置のプレビューに関する機能構成、および各機能の呼び出し関係を示す図の一例である。
【図９】本発明の実施形態に係わるプレビューＨＴＭＬのプレビュー状態を示す図の一例である。
【図１０】本発明の実施形態に係わるプレビューＨＴＭＬのファイル保管場所（フォルダ）を指定するユーザ画面を示す図の一例である。
【図１１】本発明の実施形態に係わるプレビューＨＴＭＬを生成するために必要な定義情報をアプリケーション定義から取得した結果のデータ構成を示す図の一例である。
【図１２】本発明の実施形態に係わるプレビューＨＴＭＬの生成処理を示すフローチャートの一例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず、図１〜図７を用いて、ＨＴＭＬプレビュー生成の前提となるＧＵＩレイアウトについて、説明する。
【００１４】
図１は、本発明の実施形態に係わる情報処理装置１００の機能構成、および各機能の呼び出し関係を示す図である。図１において、ユーザ操作（１０１）は、ＧＵＩ（グラフィカル・ユーザ・インタフェース）における定義画面（プログラム自動生成ツールにおいてプログラムの定義を行う画面）から行われる。具体的には、情報処理装置１００にて動作しているプログラム自動生成ソフトにおけるＧＵＩレイアウトタブ（図３）、項目一覧タブ（図４）でＧＵＩレイアウト、または項目一覧の定義を行うが、タブの相互切り替えに際しての処理に関連するソフトウェア構成部品と、構成部品間の要求の図である。なお、ＧＵＩレイアウトタブおよび項目一覧タブに定義されている情報は、定義画面ヘッダの定義ファイル名（図３、図４の画面例では“ＵＳＥＲＲＥＱ．ｗｐｒｘ”）、あるいは当該画面を一意的に決定する情報により特定される。
【００１５】
ユーザ操作（１０１）により、項目一覧タブ選択要求１２１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、項目一覧モデル変換部１０３にレイアウトモデル変換要求１２２を通知する。
【００１６】
項目一覧モデル変換部１０３は、ＧＵＩレイアウト定義を項目一覧定義に変換するため、現在のＧＵＩレイアウト定義（ＧＵＩレイアウトタブで定義されたレイアウト定義でありレイアウト部品情報の定義の一覧）をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。さらに、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。
【００１７】
入出力定義エディタコントローラ部１０２は、項目一覧定義の登録または更新後、当該登録または更新結果を取得する（項目一覧モデル表示時取得要求１２５）。入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００１８】
ユーザ操作（１０１）により、レイアウトタブ選択要求１４１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する。
【００１９】
ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。さらに、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換し、レイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００２０】
入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００２１】
ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００２２】
ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００２３】
ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換された定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００２４】
ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００２５】
図２は、本発明の実施形態に係わる情報処理装置１００（プログラム自動生成装置）のハードウェア構成の一例を示すブロック図である。
【００２６】
図２に示すように、情報処理装置１００は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。  ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２７】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２８】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２９】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００３０】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００３１】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３２】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００３３】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００３４】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明についても後述する。
【００３５】
図３は、本発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。ＧＵＩレイアウト定義画面は、主に次のエリアから構成されている。すなわち、定義された単位毎にフォルダ階層としてデータが格納される定義エクスプローラ領域３０１、１つのＧＵＩレイアウト定義を視覚的に配置操作するためのキャンバス領域３０２、キャンバス領域３０２に配置するＧＵＩ部品（例えばテキストフィールド３０４）を選択するパレット領域３０３から構成されている。
【００３６】
また、開発者が様々な定義情報を記述するため、プログラム自動生成ツールの定義画面で共通に表示されるタブが配置されている。例えば、項目一覧タブ３０５、レイアウトタブ３０６であり、これらは図４の項目一覧定義画面でも表示される。本発明の実施形態では、ＧＵＩレイアウト定義画面（図３）と項目一覧定義画面（図４）を切り替えながら操作する。
【００３７】
また、本発明の実施形態では、定義エクスプローラ領域３０１にあるデータモデル３０８をパレット領域３０３のＧＵＩ部品と同様に、キャンバス領域３０２に配置することが可能である。すなわち、データモデル３０８から、データベースのテーブルに記載されたデータ項目（カラム）を１つまたは複数選択し、キャンバス領域３０２に配置する。そうすると、データベースのスキーマとして定義されたデータ項目（カラム）の情報（カラム名、データ種別、サイズなど）を抽出して、例えば、データ種別がテキストや数値である場合にはテキストフィールド、ｂｏｏｌｅａｎである場合にはチェックボックスなどとして配置することができる。
【００３８】
ＧＵＩレイアウト定義画面３００ｂは、ＧＵＩレイアウト定義画面３００ａに対してテキストフィールド３０７を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している。タイトルや入力領域のサイズなどは、キャンバス領域３０２においてマウスでクリックして更新可能状態として交信してもよいし、またＧＵＩ部品をクリックする際に、ＧＵＩレイアウト定義画面３００の左下の領域（“Ｐｒｏｐｅｒｔｙ”定義領域）に、属性としてＧＵＩ部品に関連する情報の一覧を表示し、属性をキーボード入力により修正することも可能である。
【００３９】
図４は、本発明の実施形態に係わるプログラム自動生成ツールのうち項目一覧の定義を行う画面構成の一例である。項目一覧定義画面は、主張な領域は、項目一覧設定領域４０１である。
【００４０】
項目一覧設定領域４０１は表形式になっており、開発者は１行に１つの情報（例えばＧＵＩレイアウトにおけるテキストフィールド、チェックボックス、ボタン、テキスト）などを詳細の属性と共に定義する。
【００４１】
項目一覧定義画面４００ｂは、項目一覧定義画面４００ａに対して項目タイプ“入力”を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している（行４０２の定義）。行４０２の定義は、図３のテキストフィールド３０７に対応するものである。
【００４２】
ここで、図３と図４の定義の関係を説明する。例えば図３のＧＵＩレイアウト定義画面３００ａを表示しているときに、項目一覧タブ３０５を選択すると、表示は図４の項目一覧定義画面４００ａに切り替えられる。実質的に開発しているプログラムの同じ情報を定義している。図４において、前述の通り行４０２を追加して項目一覧定義画面４００ｂとした後、レイアウトタブ３０６を選択すると、ＧＵＩレイアウト定義画面３００ｂのようにレイアウト上でもテキストフィールド３０７が追加されて描画される。
【００４３】
逆に、ＧＵＩレイアウト定義画面３００ａに対してレイアウト上でもテキストフィールド３０７を追加してＧＵＩレイアウト定義画面３００ｂとした後、項目一覧タブ３０５を選択すると、項目一覧定義画面４００ｂのように項目一覧上でも行４０２の定義が追加される。
【００４４】
すなわち、ＧＵＩレイアウト定義と項目一覧定義は、タブ（項目一覧タブ３０５およびレイアウトタブ３０６）の操作をトリガとして、同期がとられている。
【００４５】
さらに、後述する図５の項目一覧定義を記憶するデータ構成ｒｏｗｓ［ｉ］と、不図示のＧＵＩレイアウト定義を記憶するデータ構成には、ｒｏｗＩｎｄｅｘとして各定義の定義順が記載されている。そのため、ＧＵＩレイアウト定義で最上部に定義されたＧＵＩ部品に対応する項目の定義は、項目一覧定義の１行目に表示される。これにより、定義の位置関係についても同期がとられ、いずれの定義を変更してもプログラムロジックとＧＵＩレイアウトの関係が壊れてしまうことはない。
【００４６】
以上により、図３と図４の説明を完了する。このように、項目一覧における開発とＧＵＩレイアウトにおける開発（すなわち項目の定義も部品の定義）において同期がとられることで、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能となるという効果を得ることができる。
【００４７】
図５は、本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。記載したデータは、図４の項目一覧定義画面４００の項目一覧設定領域４０１において定義した行のうち、例として５行を記載したものである。この情報は、ＲＡＭ２０２上に一時的に記憶されていてもよいし、データベースに記憶してもよい。以下、ＲＡＭ２０２に記憶されているイメージで説明する。
【００４８】
項目一覧定義は配列ｒｏｗｓの各項目定義は、ｒｏｗｓ［０］〜ｒｏｗｓ［４］に格納されている。ｒｏｗｓ［ｉ］（各要素）は、図５示すようにｄａｔａという要素を持ち、複数の属性値、例えば入力欄を示す“Ｉ”、項目ＩＤを示す“ＵＳＥＲＩＤ”、項目の名前を示す“ユーザＩＤ”などが設定される。
【００４９】
さらに、プログラム自動生成に使用される各種属性が定義されている。また、“ｏｗＰｒｏｐｅｒｔｙＬｉｓｔ”には、名前を表示する領域のサイズ“ｌａｂｅｌＷｉｄｔｈ”、テキスト入力欄の領域サイズ“ｆｉｅｌｄＷｉｄｔｈ”などが指定される。
【００５０】
以上で、項目一覧モデル記憶部１０４におけるデータ構成の説明を完了する。さらに、不図示ではあるが、図３のＧＵＩレイアウトについても、レイアウトモデル記憶部１０７に記憶される。両者のデータ構成はほぼ同一のものである。本発明の実施形態では、項目一覧モデル記憶部１０４に記憶された情報を中心とするため、レイアウトモデル記憶部１０７におけるデータ構成は、各要素（レイアウト部品情報）が、対応する項目情報へのリンクを有すること、また項目情報（ｒｏｗｓ［ｉ］）における領域サイズの情報は、ＨＴＭＬに変換した際のサイズを示すが、レイアウト部品譲歩においては、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズに変換されている、など一部の情報が異なる。項目一覧モデル記憶部１０４、レイアウトモデル記憶部１０７のデータ構成はあくまで一例であって、他の構成の形式で定義されていてもよい。
【００５１】
図６は、本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００５２】
Ｓ６０１において、ユーザ操作（１０１）により項目一覧タブが選択された際に、プログラム開発ツールから項目一覧タブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面を項目一覧タブ（図４）に切り替えるための要求を受け付ける（項目一覧タブ選択要求１２１）。
【００５３】
Ｓ６０２において、入出力定義エディタコントローラ部１０２が、ＧＵＩレイアウト定義を項目一覧定義に変換するように、項目一覧モデル変換部１０３に要求する（レイアウトモデル変換要求１２２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００５４】
Ｓ６０３において、項目一覧モデル変換部１０３が、ＧＵＩレイアウトの定義をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。
【００５５】
Ｓ６０４において、項目一覧モデル変換部１０３は、更に取得したＧＵＩレイアウトを項目一覧定義に変換する。前述したように、ＧＵＩレイアウト定義では、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズを保持しているため、それらのサイズをプログラム自動生成時に、ＨＴＭＬの部品として生成するために適切なサイズに変換する、などの変換処理を行う。
【００５６】
Ｓ６０５において、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。
【００５７】
Ｓ６０６において、入出力定義エディタコントローラ部１０２は、登録または更新された項目一覧定義を、項目一覧モデル記憶部１０４から取得する（項目一覧モデル表示時取得要求１２５）。
【００５８】
Ｓ６０７において、入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００５９】
図７は、本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００６０】
Ｓ７０１において、ユーザ操作（１０１）によりレイアウトタブが選択された際に、プログラム開発ツールからレイアウトタブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面をレイアウト定義タブ（図３）に切り替えるための要求を受け付ける（レイアウトタブ選択要求１４１）。
【００６１】
Ｓ７０２において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する（項目一覧モデル変換要求１４２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００６２】
Ｓ７０３において、ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。
【００６３】
Ｓ７０４において、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換する。
【００６４】
Ｓ７０５において、ＧＵＩレイアウトモデル変換部１０６は、変換したＧＵＩレイアウト定義をレイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００６５】
Ｓ７０６において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。
【００６６】
Ｓ７０７において、入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００６７】
Ｓ７０８において、ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００６８】
Ｓ７０９において、ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００６９】
Ｓ７１０において、ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換された定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００７０】
Ｓ７１１において、ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００７１】
図６と図７のシーケンス図で説明したとおり、項目一覧タブとレイアウトタブを切り替えるユーザの操作をトリガとして、両者に表示されるデータ（項目一覧定義とＧＵＩレイアウト定義）が再生成され、項目一覧定義（プログラムロジック）と、ＧＵＩレイアウト定義（ＨＴＭＬ生成などのための画面情報）を、手動で対応付けるための操作や、対応情報の作成などを行う必要がなくなる。これにより、プログラム自動生成ツールによるプログラム定義の作業の生産性が向上するという効果が得られる。
【００７２】
次に、図８〜図１２を用いて、プレビューＨＴＭＬ生成についての詳細な説明を行う。プレビューＨＴＭＬは、アプリケーションにいて、ビジネスロジック（コントローラ）、データベースモデルに対応するビューであるＨＴＭＬを、プレビューとして開発途中に生成し確認するためのＨＴＭＬ画面である。
【００７３】
図８は、本発明の実施形態に係わる情報処理装置のプレビューに関する機能構成、および各機能の呼び出し関係を示す図の一例である。また、図８では、各機能部や要求の概略だけを説明し、詳細は図１２のフローチャートで説明する。
【００７４】
まず、ユーザ操作（１０１）は、図１で説明したとおり、ＧＵＩ（グラフィカル・ユーザ・インタフェース）における定義画面（プログラム自動生成ツールにおいてプログラムの定義を行う画面）から行われる。
【００７５】
具体的には、情報処理装置１００にて動作しているプログラム自動生成ソフトにおけるＧＵＩレイアウトタブ（図３）、項目一覧タブ（図４）で操作が行われる。プレビューＨＴＭＬ生成については、図３のプレビュータブ３０９をユーザが操作したタイミング（プレビュータブ選択８３１）で、当該操作のイベントが、入出力定義エディタコントローラ部１０２に通知される。
【００７６】
入出力定義エディタコントローラ部１０２は、アプリケーション定義体記憶部のうち、処理に必要な項目一覧情報を取得する（入出力モデル取得８３２）。具体的には、プレビューＨＴＭＬ生成に必要な情報を項目一覧モデル記憶部１０４から取得する。言わば表示情報のフィルタリングを行う。ここで、図１１を用いて、取得した項目一覧情報について説明する。
【００７７】
図１１は、本発明の実施形態に係わるプレビューＨＴＭＬを生成するために必要な定義情報をアプリケーション定義から取得した結果のデータ構成を示す図の一例である。データ構造としては図５で説明した“ｒｏｗｓ”とほぼ同様である。まず、開発中のアプリケーションを定義するデータとしては、ビジネスロジックの定義体、データベースモデルの定義体、その他アプリケーションの各種プロパティを定義体など、多くの定義体がある。入出力定義であっても、現在、プレビューＨＴＭＬを生成しようとしている入出力定義体と、それ以外の定義体がある。
【００７８】
入出力定義エディタコントローラ部１０２は、まず必要な定義体のみを選択する。具体的には、例えば、図４の項目一覧定義が記載されているデータを含む定義体である。なお、ここで「定義体」という文言は便宜上用いている。実際には、１つの定義体が１ファイルに格納されていても良い。あるいは、１つのアプリケーション全体に関する定義体が１つのファイルに格納され、それぞれの（例えば１つの項目一覧）定義は、タグで判別可能としても良い。この場合は、当該タグの内容を意味する。また、開発中はファイルに格納されておらず、ＲＡＭ２０２上にデータが展開されている、あるいはファイルではなくデータベースに格納されていても良い。従って、定義体という文言は、ここでは、１つの項目一覧情報を他の定義情報から区別するための便宜上の用語として使用する。
【００７９】
１つの項目一覧情報を取得したものは、図５のｒｏｗｓ５００あるいは同等の情報を持つデータ構造で実装される定義体となる。さらに、図４の項目一覧定義においては、“少数”〜“データモデル項目コード”などはＨＴＭＬ画面の情報としては不要である。これらは、データベースとの連携を定義するものなどである。そこで、不要な列の削除を行う。図５のｒｏｗｓ５００で説明すると、例えば２行目の“−１”〜“＠ＴＥＸＴ”などが不要になるので削除する。これらの処理の結果として、図１１のｆｉｌｔｅｒｅｄＲｏｗｓ１１００が取得される。
【００８０】
ここで、画面情報（ビュー）に関連したビジネスロジック、データベースモデルなどが完成していない段階であっても、プレビューＨＴＭＬを生成することが可能であるので、柔軟なタイミングで画面を確認し、効率的な開発を進めるという効果を得ることが可能となる。また、プレビューＨＴＭＬ生成のために必要な情報を用いることで、アプリケーション全体をビルドしなくても画面イメージを確認できることにより、ビルド時間の効率化を得ることができる。
【００８１】
項目一覧情報の取得後、入出力定義エディタコントローラ部１０２は、プレビューコントローラ部８１１にプレビューＨＴＭＬ生成要求８３３を行う。
【００８２】
概略として“プレビューテンプレート”という文言を説明すると“プレビューテンプレート”は、項目一覧情報からＨＴＭＬのタグの階層構造にマッピングを行うことが可能な、簡易言語であり、プレビューＨＴＭＬ生成部８１４に保持されている。プレビューテンプレートパラメータ生成部８１２は、プレビューＨＴＭＬ生成部８１４に渡すためのプレビューテンプレートパラメータを生成する。
【００８３】
入出力定義エディタコントローラ部１０２は、まず、プレビューＨＴＭＬファイルを生成した後で格納するフルパス名を生成する。ファイル名は、予めユーザにより、プレビューＨＴＭＬ名記憶部８２１に定義し、プレビューＨＴＭＬ名取得８３４により取得する。
【００８４】
図１０は、本発明の実施形態に係わるプレビューＨＴＭＬのファイル保管場所（フォルダ）を指定するユーザ画面を示す図の一例である。このダイアログを表示し、ユーザにＨＴＭＬファイルを格納するフォルダ名を入力させる。前記取得したファイル名と合わせ、ファイルのフルパス名が決定する。
【００８５】
さらに、プレビューＨＴＭＬを生成するための情報を取得し、データ構成を生成するために、プレビューテンプレートパラメータ生成部８１２にプレビューテンプレートパラメータ生成要求８３５を行う。
【００８６】
プレビューテンプレートパラメータ生成部８１２は、プレビューＨＴＭＬの生成に必要な情報であるプレビュープロパティを、プレビュープロパティ記憶部８２２から取得する（プレビュープロパティ取得８３６。プロパティの詳細については後述する）。さらにスタイル情報をスタイル情報記憶部８２３から取得する（スタイル情報取得８３７。スタイル情報は、ＨＴＭＬのスタイルシートなどの情報であり、詳細は後述する）。
【００８７】
図９は、本発明の実施形態に係わるプレビューＨＴＭＬのプレビュー状態を示す図の一例である。プレビューＨＴＭＬタブ９００ｂでは、９０２にプロパティコードが設定されており、そのプロパティコードに従って、９０３の各プロパティが読み出され、プレビューＨＴＭＬが生成される。プレビューＨＴＭＬタブ９００ａでは、デフォルトのプロパティコード（不図示）を設定している。プレビューＨＴＭＬタブ９００ｂのプロパティ９０３で指定される項目には、例えば“ロール”、（拡張ディレクトリ／）“言語”がある（図９の例には更に“表示データディレクトリ”があるが後述）。
【００８８】
例えば、“ロール”とは、組織の中の役割（役職や職種）を示すプロパティである。アプリケーションでは、本来同一である画面でも、役職などによって表示する項目の制御をすることがある。従って、プレビューＨＴＭＬの生成においても、ロールプロパティを設定することで、当該設定に応じた表示する項目の制御を行い、すなわち、同一の項目一覧定義からであっても、ロールによって異なる画面のプレビューＨＴＭＬを生成することを可能にするという効果を得られる。
【００８９】
また、（拡張ディレクトリ／）“言語”がある。言語プロパティについては、プログラム自動生成ツールが、英語／日本語などの複数の言語に対応している場合に、いずれの言語でプレビューＨＴＭＬ画面を生成するかを指定するものである。
【００９０】
更に、スタイル情報取得８３７により、スタイル情報記憶部８２３から、プレビューＨＴＭＬで使用するスタイルシートを取得する。スタイルシートには、ユーザ（開発者）が柔軟に変更可能な部分と、アプリケーション（あるいは、アプリケーション開発を管理するプロジェクト）で固定の部分があっても良い。例えば、文字サイズ、フォント、背景色、線の太さなどの定義である。
【００９１】
以上で、ＨＴＭＬを生成するためのオブジェクト（入出力フィールド、ボタンなど）の情報は、ＨＴＭＬの階層構造を反映する階層的なデータ構成、あるいは階層的なデータ構成と置換可能なデータ構成として格納されている。便宜上、前者の「ＨＴＭＬの階層構造を反映する階層的なデータ構成」を前提として説明を継続するが、いずれの形式であっても、最終的にＨＴＭＬに変換可能である、同等の情報を持ったデータ構成であればよい。また、前記データ構造は、オブジェクトの配置や名称（例えば、テキストボックスの配置や「ユーザ名」などのタイトル）は情報として含んでいるが、実際の値（例えばユーザ名が「鈴木一郎」などの値）は含んでいないため、以下の説明では便宜上「プレビューテンプレート」と呼ぶことにする（前述の「テンプレート」と同一のもの）。しかしながら、「プレビューテンプレート」は、値（例では「ユーザ名」フィールドに対応する「鈴木一郎」）をどこに代入すればよいか、という情報は、プレビューテンプレートにパラメータ（あるいは変数)として含まれているものとする。
【００９２】
ＨＴＭＬ画面用に定義した項目一覧を、前述のようなＨＴＭＬに変換可能な形式に格納し、後述するＨＴＭＬに実際に変換することは、プログラム自動生成ツールなどで周知の技術であるため詳細の説明は省略する。
【００９３】
プレビューテンプレートパラメータ生成部８１２は、プレビューデータ設定部８１３に対して、前述の「プレビューテンプレート」にサンプルの値を代入するための、プレビューデータ設定要求８３８を行う。プレビューデータ設定部８１３は、代入値データ記憶部８２４からデータを取得（代入値データ取得８３９）し、「プレビューテンプレートパラメータ」を作成する。
【００９４】
これらの処理結果は、プレビューコントローラ部８１１に返され、プレビューコントローラ部８１１は、「プレビューテンプレートパラメータ」に基づきプレビューＨＴＭＬを生成するようプレビューＨＴＭＬ生成部８１４に要求（テンプレートＨＴＭＬ変換要求８４０）する。要求を受けた、８４１プレビューＨＴＭL生成部は保持するプレビューテンプレートとプレビューテンプレートパラメータをマッピングし、プレビューＨＴＭLを生成する。更に、プレビューＨＴＭＬ表示要求８４１により、情報処理装置１００の表示装置（開発ツールのプレビュータブ）にプレビューＨＴＭＬを表示する（図９の画面）。
【００９５】
前述の説明では、代入値データ記憶部８２４により「値が入ったプレビューテンプレートパラメータ」が作成される、と説明したが、プレビューＨＴＭＬタブ９００ａにおいては、「ＸＸＸＸ・・・」などの意味のない値が表示されている（９０１ａ）。これは、代入値データ記憶部８２４に代入するための情報が定義されているか、による。
【００９６】
具体的には、プロパティ９０３の“表示データディレクトリ”にフォルダが記載されていない、あるいは記載されていても（例では“Ｃ：￥ＰｒｅｖｉｅｗＤａｔａ”）、そのフォルダ内にデータが格納されていない場合に、デフォルトとしてプレビューＨＴＭＬタブ９００ａの画面が表示される。これらのデフォルト値は、プログラム中にハードコーディングされていても良いし、デフォルト値記憶部（不図示）に保存されていても良い。デフォルト値であっても、例えば入力フィールドのタイプ（全角文字、半角英数字など）により、複数種類用意されていても良い。この場合、項目一覧定義体の各要素において、入力フィールドの定義が明示されている場合にはそのタイプに従う。
【００９７】
一方、代入値データ記憶部８２４に代入するための値（例えばＣＳＶファイルなどで用意する）がある場合には、プレビューＨＴＭＬタブ９００ｂのように、ユーザに分かりやすい（人間にとって意味のある）値を表示させることが可能である（９０１ｂ）。
【００９８】
以上で、図８のプレビューＨＴＭＬ生成のための機能構成および各機能の呼び出し関係の説明を完了する。あわせて、図９〜図１１の説明も完了する。
【００９９】
図１２は、本発明の実施形態に係わるプレビューＨＴＭＬの生成処理を示すフローチャートの一例である。図１２のフローチャートの各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。なお、機能構成図（図８）の説明において述べた部分については、具体的な詳細事項の説明を省略する場合がある。
【０１００】
Ｓ１２０１においては、ユーザ操作（１０１）を、ＧＵＩ（グラフィカル・ユーザ・インタフェース）における定義画面（プログラム自動生成ツールにおいてプログラムの定義を行う画面）から受け付ける。具体的には、情報処理装置１００にて動作しているプログラム自動生成ソフトにおいて、ユーザがプレビュータブ３０９を選択したイベントを受け付ける。
【０１０１】
Ｓ１２０２からＳ１２０５の繰り返し処理においては、アプリケーション定義情報の全ての定義体から、プレビュー表示要求対象の画面に関連する情報を取得する。
Ｓ１２０３においては、アプリケーション定義体記憶部から取得する。
【０１０２】
Ｓ１２０４においては、Ｓ１２０３で取得した定義体が、プレビュー表示要求対象の項目一覧の定義体であるか判定し、そうであれば繰り返し処理（Ｓ１２０２〜Ｓ１２０５）を抜ける。具体的には、当該定義体が、項目一覧モデル記憶部１０４から取得したものであり、更に、現在定義中（開発中）の項目一覧定義の定義体であるものを取得する。
【０１０３】
次に、Ｓ１２０６からＳ１２０９の繰り返し処理においては、前述で取得した項目一覧の定義体（例えば図５のｒｏｗｓ５００）から、要素を１つずつ取り出し、全ての要素に対して以下の処理を実行する。
【０１０４】
Ｓ１２０７においては、項目一覧の定義体（例えば図５のｒｏｗｓ５００）から、要素（ｒｏｗ［ｉ］）を１つずつ取り出し、前述したとおり、図４の項目一覧定義における“少数”〜“データモデル項目コード”などＨＴＭＬ画面の情報としては不要な部分を除き、“項目タイプ”、“項目コード”〜“桁数”（図４参照）など、ＨＴＭＬ画面のオブジェクトとして必要な情報を抽出する。
【０１０５】
Ｓ１２０８においては、Ｓ１２０７で抽出した情報を、ｆｉｌｔｅｒｅｄＲｏｗｓ１１００に格納する（要素ｆｉｌｔｅｒｅｄＲｏｗｓ［ｉ］）。このように、プレビューＨＴＭＬ生成においては、プログラム自動生成ツールで定義した定義体のうち、プレビューＨＴＭＬ生成に必要な情報のみを利用することで、ビジネスロジック、データベースモデルなどが完成していない段階であっても、プレビューＨＴＭＬを生成することが可能であり、柔軟なタイミングで画面を確認し、効率的な開発を進めるという効果を得ることが可能となる。また、プレビューＨＴＭＬ生成のために必要な情報を用いることで、アプリケーション全体をビルドしなくても画面イメージを確認できることにより、ビルド時間の効率化を得ることができる。
【０１０６】
Ｓ１２１０においては、プレビューテンプレートを生成し、生成するプレビューＨＴＭＬファイルの名前を取得し、プレビューテンプレートに格納する。ここでプレビューテンプレートとは、前述したとおり、ＨＴＭＬの構造を生成する直前の段階のデータ構成である。即ち、プレビューテンプレートは、ＨＴＭＬのタグの階層構造にマッピングを行うことで、実際のＨＴＭＬを生成可能な情報を含むものである。
【０１０７】
Ｓ１２１１においては、生成するプレビューＨＴＭＬファイルのプレビュープロパティを取得し、プレビューテンプレートに格納する。具体的には、図９の９０３において説明した。
【０１０８】
Ｓ１２１２は、プレビューＨＴＭＬのスタイル情報を取得する。具体的には、スタイルシートの情報である。
【０１０９】
Ｓ１２１３からＳ１２１５の繰り返し処理は、ｆｉｌｔｅｒｅｄＲｏｗｓ１１００の全要素に対して実行される。
【０１１０】
Ｓ１２１４においては、ｆｉｌｔｅｒｅｄＲｏｗｓ［ｉ］（項目一覧定義の1要素からＨＭＴＬの1オブジェクトに対応する表示に必要な情報を取り出したデータ）を、プレビューテンプレートに埋め込んでいく。ただし、Ｓ１２１４の処理が実行されるのは、“ロール”プロパティにより、表示すべきと判断されたｆｉｌｔｅｒｅｄＲｏｗｓ［ｉ］のみである。これにより、実質的にはプレビューＨＴＭＬと等価なデータ構造ができあがる。この段階で、フィールド部品に表示するユーザデータには値は入っていない。
【０１１１】
Ｓ１２１６においては、フィールド部品に、具体的な値は入をいれていく。具体的な値は、代入値データ記憶部８２４から取得する。代入値データ記憶部８２４には、例えばＣＳＶ形式のファイルなどにより、例えばフィールドの項目名（あるいは項目ＩＤ）に対応付けて、その入力フィールドに挿入したい値が定義されている。この値を、前述のプレビューテンプレートの変数パと置き換えていく。
【０１１２】
Ｓ１２１７においては、一覧項目の名、型、代入値を、ＨＴＭＬオブジェクトに変換し、プレビューＨＴＭＬファイルに埋め込んでいく。
【０１１３】
Ｓ１２１８においては、生成されたプレビューＨＴＭＬファイルを、情報処理装置１００の表示装置（開発ツールのプレビュータブ）にプレビューＨＴＭＬを表示する（図９の画面）。
以上で、図１２のフローチャートの説明を完了する。
【０１１４】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１１５】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１６】
また、本発明におけるプログラムは、図６、図７に示すシーケンス図、図１２のフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図６、図７に示すシーケンス図、図１２のフローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図６、図７、図１２のフローチャートに示すシーケンス図の各装置の処理方法ごとのプログラムであってもよい。
【０１１７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１８】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１１９】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１２０】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２３】
１００  情報処理装置
１０２  入力定義エディタコントローラ部
１０３  項目一覧モデル変換部
１０４  項目一覧モデル記憶部
１０５  項目一覧表示部
１０６  ＧＵＩレイアウトモデル変換部
１０７  レイアウトモデル記憶部
１０８  ＧＵＩレイアウトコントローラ部
１０９  ＧＵＩレイアウト記憶部
１１０  ＧＵＩコントローラ部
１１１  ＧＵＩレイアウト描画部
８１１  プレビューコントローラ部
８１２  テンプレート生成部
８１３  プレビューデータ設定部
８１４  プレビューＨＴＭＬ生成部
８１５  プレビューＨＴＭＬ表示部
８２１  プレビューＨＴＭＬ名記憶部
８２２  プレビュープロパティ記憶部
８２３  プレビュースタイル情報記憶部
８２４  代入値データ記憶部
【図１】
2018116750.tif 000003
【図２】
2018116750.tif 000004
【図３】
2018116750.tif 000005
【図４】
2018116750.tif 000006
【図５】
2018116750.tif 000007
【図６】
2018116750.tif 000008
【図７】
2018116750.tif 000009
【図８】
2018116750.tif 000010
【図９】
2018116750.tif 000011
【図１０】
2018116750.tif 000012
【図１１】
2018116750.tif 000013
【図１２】
2018116750.tif 000014
【手続補正書】
【提出日】平成30年6月6日(2018.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理装置を、
他の情報処理装置で実行されるプログラムを生成するための定義情報であって、前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に含まれる画面項目に係る定義情報を記憶する定義記憶手段と、
前記定義記憶手段により記憶されている定義情報を用いて、前記他の情報処理装置で実行される前記画面情報を生成するためのプログラムを生成するプログラム生成手段と、
前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に対応するプレビュー画面を、前記プログラム生成手段によりプログラムを生成するよりも前に、前記定義記憶手段により記憶されている定義情報のうち前記画面項目の表示に係る定義情報を用いて生成するプレビュー画面生成手段と、
前記プレビュー画面生成手段により生成されたプレビュー画面を表示するプレビュー画面表示手段
として機能させるためのプログラム。
【請求項２】
前記プレビュー画面表示手段は、
ユーザによって前記プレビュー画面の表示要求がされた場合、当該プレビュー画面を表示すること
を特徴とする請求項１に記載のプログラム。
【請求項３】
前記定義記憶手段により記憶されている定義情報は、ユーザからの入力に従って変更可能であって、
前記プレビュー画面表示手段は、
前記ユーザからの入力に従って変更された定義情報を用いて、前記プレビュー画面を表示すること
を特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記プレビュー画面に含まれる画面項目に対して設定する値を記憶する値記憶手段
として更に機能させ、
前記プレビュー画面表示手段は、
前記値記憶手段により記憶されている値が設定された前記画面項目を含む前記プレビュー画面を表示すること
を特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記プレビュー画面表示手段は、
前記値記憶手段に記憶されている値に基づき、前記値記憶手段に記憶されている値を設定する画面項目に対しては、前記値記憶手段に記憶されている当該画面項目に対応する値を設定し、一方、前記値記憶手段に記憶されている値を設定しない画面項目に対しては、当該画面項目に対応するデフォルト値を設定し、プレビュー画面を表示すること
を特徴とする請求項４に記載のプログラム。
【請求項６】
前記画面情報に適用するスタイルシートを記憶するスタイルシート記憶手段
として更に機能させ、
前記プレビュー画面表示手段は、
前記スタイルシート記憶手段により記憶されているスタイルシートを用いて、プレビュー画面を表示すること
を特徴とする請求項１乃至５のいずれか１項に記載のプログラム。
【請求項７】
前記プレビュー画面表示手段により表示されるプレビュー画面を閲覧するエンドユーザのロール又は表示言語の少なくともいずれか１つを記憶するプレビュー画面設定記憶手段
として更に機能させ、
前記プレビュー画面表示手段は、
前記プレビュー画面設定記憶手段により記憶されているエンドユーザのロール又は表示言語の少なくともいずれか１つを用いて、前記画面項目の表示を制御したプレビュー画面を表示すること
を特徴とする請求項１乃至６のいずれか１項に記載のプログラム。
【請求項８】
情報処理装置が、
他の情報処理装置で実行されるプログラムを生成するための定義情報であって、前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に含まれる画面項目に係る定義情報を記憶する定義記憶ステップと、
前記定義記憶ステップにより記憶されている定義情報を用いて、前記他の情報処理装置で実行される前記画面情報を生成するためのプログラムを生成するプログラム生成ステップと、
前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に対応するプレビュー画面を、前記プログラム生成ステップによりプログラムを生成するよりも前に、前記定義記憶ステップにより記憶されている定義情報のうち前記画面項目の表示に係る定義情報を用いて生成するプレビュー画面生成ステップと、
前記プレビュー画面生成ステップにより生成されたプレビュー画面を表示するプレビュー画面表示ステップと
を実行することを特徴とする処理方法。
【請求項９】
他の情報処理装置で実行されるプログラムを生成するための定義情報であって、前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に含まれる画面項目に係る定義情報を記憶する定義記憶手段と、
前記定義記憶手段により記憶されている定義情報を用いて、前記他の情報処理装置で実行される前記画面情報を生成するためのプログラムを生成するプログラム生成手段と、
前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に対応するプレビュー画面を、前記プログラム生成手段によりプログラムを生成するよりも前に、前記定義記憶手段により記憶されている定義情報のうち前記画面項目の表示に係る定義情報を用いて生成するプレビュー画面生成手段と、
前記プレビュー画面生成手段により生成されたプレビュー画面を表示するプレビュー画面表示手段と
を備えることを特徴とする情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の目的は、他の情報処理装置でプログラムが実行されることにより生成される画面情報に対応するプレビュー画面を表示することによって、アプリケーションの開発効率を向上させる技術を提供することである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明は、情報処理装置を、他の情報処理装置で実行されるプログラムを生成するための定義情報であって、前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に含まれる画面項目に係る定義情報を記憶する定義記憶手段と、前記定義記憶手段により記憶されている定義情報を用いて、前記他の情報処理装置で実行される前記画面情報を生成するためのプログラムを生成するプログラム生成手段と、前記他の情報処理装置で前記プログラムが実行されることにより生成される画面情報に対応するプレビュー画面を、前記プログラム生成手段によりプログラムを生成するよりも前に、前記定義記憶手段により記憶されている定義情報のうち前記画面項目の表示に係る定義情報を用いて生成するプレビュー画面生成手段と、前記プレビュー画面生成手段により生成されたプレビュー画面を表示するプレビュー画面表示手段として機能させることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明により、他の情報処理装置でプログラムが実行されることにより生成される画面情報に対応するプレビュー画面を表示することによって、アプリケーションの開発効率を向上させる技術を提供することが可能となる。