(57)【要約】【課題】Ｗｅｂアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供すること。【解決手段】Ｗｅｂアプリケーションとして用いられるプログラムを生成する情報処理装置は、定義ファイルを管理する定義管理手段と、１または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する。【選択図】図１１
2018181076.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションとして用いられるプログラムを生成する情報処理装置であって、
データモデルを定義するデータモデル定義ファイルまたはＷｅｂアプリケーションの画面への入力される項目とＷｅｂアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、
１または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、
前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、
前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記第二の表示領域において複数の受付領域を表示し、
前記項目辞書管理手段は、前記表示制御手段により表示された複数の受付領域におけるいずれの領域に前記ドラックアンドドロップ操作がされたか否かに応じて、前記定義ファイルを異なる方法で管理する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段により表示される前記複数の受付領域のうち少なくとも１つの表示領域は、カテゴリ一覧を表示するカテゴリ表示領域を含み、
前記項目辞書管理手段は、前記第一の表示領域から前記カテゴリ表示領域に対して前記ドラッグアンドドロップ操作がされた場合に、該ドロップ先のカテゴリと前記表示アイテムに対応する定義ファイルを管理対象に設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示制御手段により表示される前記複数の受付領域のうち少なくとも１つの表示領域は、カテゴリ一覧を表示するカテゴリ表示領域を含み、
前記項目辞書管理手段は、前記第一の表示領域から前記カテゴリ表示領域に対して前記ドラッグアンドドロップ操作がされた場合に、該ドロップ先のカテゴリと前記表示アイテムに対応する定義ファイルとを対応づけて管理することを特徴とする請求項２または３のいずれか１項に記載の情報処理装置。
【請求項５】
Ｗｅｂアプリケーションとして用いられるプログラムを生成する情報処理装置の制御方法であって、
データモデルを定義するデータモデル定義ファイルまたはＷｅｂアプリケーションの画面への入力される項目とＷｅｂアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理工程と、
１または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理工程と、
前記定義管理工程で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御工程と、を有し、
前記項目辞書管理工程は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とする情報処理装置の制御方法
【請求項６】
Ｗｅｂアプリケーションとして用いられるプログラムを生成するコンピュータプログラムであって、
コンピュータを、
データモデルを定義するデータモデル定義ファイルまたはＷｅｂアプリケーションの画面への入力される項目とＷｅｂアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、
１または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、
前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、して機能させ、
前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、Ｗｅｂアプリケーションの開発は、プログラミングを行わずに、プログラム生成装置により自動生成されている。プログラム生成装置上で実行される自動生成ツールは、プログラミングの代わりに、所定のルールに基づいた定義を用いて、Ｗｅｂアプリケーションの構築を行う。ここで、Ｗｅｂアプリケーションを構築するための各定義は、アプリケーション内で利用するデータベースのスキーマ情報や画面情報ごとに設定される。
【０００３】
特許文献１には、上流設計ツールで定義情報を用いてプログラムを生成するシステム設計支援プログラムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−４１７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、Ｗｅｂアプリケーションの規模が大きくなるに従い、多くの定義ファイルが用いられることとなる。この場合、自動生成ツールは、同一のキーワードを複数の定義ファイルに対して設定することとなり、ユーザの操作が煩雑になり得る。そのため、定義ファイルは、一元管理されることが望ましい。しかしながら、特許文献１に記載の技術では、既存の定義ファイルを管理する場合におけるユーザの操作性について、何ら考慮されていない。
【０００６】
そこで本発明は、Ｗｅｂアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供することを目的とする
【課題を解決するための手段】
【０００７】
Ｗｅｂアプリケーションとして用いられるプログラムを生成する情報処理装置であって、データモデルを定義するデータモデル定義ファイルまたはＷｅｂアプリケーションの画面への入力される項目とＷｅｂアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、１または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定することを特徴とする。
【発明の効果】
【０００８】
Ｗｅｂアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における情報処理システムの一例を示す図である。
【図２】本実施形態における情報処理システムの各構成に適用可能なハードウェア構成の一例を示す図である。
【図３】本実施形態におけるプログラム開発装置の機能構成を示す図である。
【図４】本実施形態におけるプログラム開発装置の機能構成を示す図である。
【図５】項目辞書が新規作成される場合の処理を示すフローチャートである。
【図６】項目辞書を新規作成するための操作画面の一例を示す図である。
【図７】項目辞書ファイルを表示する画面の一例を示す図である。
【図８】項目辞書に対して項目を追加する場合の処理を示すフローチャートである。
【図９】項目辞書ファイルにエントリを追加する場合の表示画面の一例を示す図である。
【図１０】エントリに１つの定義項目を追加する場合の表示画面の一例を示す図である。
【図１１】エントリに複数の定義項目を追加する場合の表示画面の一例を示す図である。
【図１２】項目辞書をリポジトリ定義に反映させる場合の処理を示すフローチャートである。
【図１３】項目辞書をリポジトリ定義に反映させる場合の表示画面の一例を示す図である。
【図１４】項目辞書をリポジトリ定義に反映させる場合の表示画面の一例を示す図である。
【図１５】辞書エントリ及び辞書項目の内容を更新する場合の処理を示すフローチャートである。
【図１６】Ｗｅｂアプリケーション生成する処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１１】
図１は、本実施形態に係わるプログラム開発装置（開発者がＷｅｂアプリケーション生成のために使用する情報処理装置）、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント（クライアント装置）、アプリケーションサーバの構成の一例を示すシステム（情報処理システム）構成図である。
【００１２】
プログラム開発装置１０１は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置１０１単体では、開発者の入力受付を行い、後述するプログラム開発サーバ１０２に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置１０１単体でプログラム生成、アプリケーション生成まで処理してもよい。
【００１３】
なお、この実施形態においては、プログラム開発装置１０１で生成するアプリケーションはＷｅｂアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Ｗｅｂ技術による通信を利用したアプリケーションでなくてもよい。
【００１４】
プログラム開発サーバ１０２ａ〜１０２ｂ（情報処理装置）は、プログラム開発装置１０１により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ１０２ａはＬＡＮなどのネットワーク１０６内に配置されてもよいし、プログラム開発サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１５】
データベースサーバ１０３ａ〜１０３ｂ（情報処理装置）は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０６内に配置されてもよい（データベースサーバ１０３ａ）。またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１６】
アプリケーションサーバ１０５ａ〜１０５ｂ（情報処理装置）は、プログラム開発装置１０１で開発されたアプリケーションを実行する。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションサーバ１０５ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０６、インターネット、クラウド上のデータベースサーバ１０３と接続して動作する可能である。
【００１７】
アプリケーションクライアント１０４ａ〜１０４ｂ（情報処理装置）は、アプリケーションサーバ１０５と協調してプログラム開発装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。また、情報処理装置は、携帯端末やタブレット型の端末であってもよい。
【００１８】
図２は、本実施形態に係わるプログラム開発装置１０１、プログラム開発サーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４、アプリケーションサーバ１０５として適用可能な各ハードウェア構成の一例を示すブロック図である。
【００１９】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２０】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【００２１】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２２】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【００２３】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。つまり、出力部２１０は、画面を表示する表示部としての機能を備える。この場合、ＣＰＵ２０１は、出力コントローラ２０６を介して表示部の表示を制御することが可能である。換言すると、ＣＰＵ２０１は、表示制御手段の一態様である。
【００２４】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２５】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００２６】
図３および図４を用いて、プログラム開発装置１０１の機能構成を説明する。なお、プログラム開発装置１０１における各機能は、プログラム装置１０１のＣＰＵ２０１により実行されるものである。また、ＣＰＵ２０１によって実行されるプログラム２１２は、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされる。つまり、各機能は、ＣＰＵ２０１とメモリ（ＲＡＭ２０２）とが協業することにより実現される。
【００２７】
プログラム開発装置１０１は、リポジトリ定義部３００と、項目辞書管理部３２０と、リポジトリ定義編集部３１０と、項目辞書参照命令部３３０と、Ｗｅｂアプリケーション生成部３４０を含む。
【００２８】
リポジトリ定義部３００は、データベース定義４０６と、アプリケーション定義４０１と、データモデル定義４０３と、入出力定義４０２と、ビジネスプロセス定義４０４とを含む。
【００２９】
データモデル定義４０３および入出力定義４０２は、複数の項目定義が設定される。そして、各項目定義は、項目辞書参照情報４０５と対応づけられて記憶される。このため、データモデル定義４０３および入出力定義４０２は、後述する項目辞書管理部３２０により管理される情報を参照し定義として用いることが可能となる。
【００３０】
リポジトリ定義部３００は、入出力定義４０２として、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する。ここで、入力定義情報は、生成されたＷｅｂアプリケーションの画面を介して当該Ｗｅｂアプリケーションのユーザが入力する入力項目を定義した情報である。また、出力定義情報は、生成されたＷｅｂアプリケーションの画面として出力する出力項目を定義した情報である。
【００３１】
ユーザ（例えば、Ｗｅｂアプリケーション開発者）は、リポジトリ定義部３００が管理する各種定義に基づいて、Ｗｅｂアプリケーション画面の入出力項目を直感的に追加・変更・削除することが可能となる。このことにより、ユーザは、Ｗｅｂアプリケーションとして用いられるプログラムを容易に生成することができる。なお、上述した「追加・変更・削除」は、レイアウトエディタ等のＧＵＩを用いて行われる。
【００３２】
データモデル定義４０３は、データベースのスキーマ情報（すなわち、項目の属性や名称、桁数）を管理する情報である。
【００３３】
ビジネスプロセス定義４０４は、業務フローを管理する情報である。
【００３４】
項目辞書参照情報４０５は、データモデル定義４０３および入出力定義４０２に対して、項目辞書管理部３２０が管理する項目辞書における所定の定義情報を参照するか否かを示す参照情報を管理する。
【００３５】
項目辞書管理部３２０は、定義すべき項目の項目辞書へ登録、編集および削除を行う機能および項目辞書の情報を管理する機能を備える。登録、変種および削除が行われた各項目は、項目辞書記憶部４２１によって管理される。
【００３６】
項目辞書の新規作成は、項目辞書ファイル作成表示部４２４で表示される画面への操作により行うことが可能である。項目辞書の新規作成の処理は、図５を用いて後述する。
【００３７】
項目辞書への項目の登録・編集・削除は、項目辞書編集表示部４２３で表示される画面への操作により行うことが可能である。項目辞書へ登録された項目は、定義種別と定義対象の組合せで一つの単位として管理される。以下、当該一つ単位のデータセットを「エントリ」と称する。登録された項目は、値データ、データモデル項目用のデータ、入出力項目用のデータとして、それぞれ管理される。登録された項目の各データは、リポジトリ定義編集部３１０により編集が可能である。具体的には、リポジトリ定義編集部３１０が、項目辞書参照命令部３３０を介して制御する項目辞書選択表示部４２２から利用可能である。なお、辞書への参照を示す情報は項目辞書参照情報４０５として記憶される。
【００３８】
Ｗｅｂアプリケーション生成部３４０は、Ｗｅｂアプリケーションを生成する機能を備える。リポジトリ定義解析部４４１は、項目辞書参照情報４０５に基いて項目辞書に登録されているリポジトリ情報を解析する。すなわち、リポジトリ定義解析部４２１は、項目辞書参照情報４０５に基いて、リポジトリ定義部４００からデータベース定義４０６、データモデル定義４０３、入出力定義４０２、ビジネスプロセス定義４０４を読み込み解析する。Ｗｅｂアプリケーション生成部４４２は、ソースコードコンパイル部４４５を介し、Ｗｅｂアプリケーションとしてプログラムを生成することができる。
【００３９】
図５は、項目辞書を新規作成する場合のフローチャートの一例である。なお、当該各フローは、プログラム開発装置１０１の各機能により実行される。
【００４０】
Ｓ５００において、項目辞書管理部３２０は、表示部に表示される操作画面（不図示）より、新規辞書ファイルの生成を示す表示アイテムが選択された場合に、新規辞書の作成イベントを受信する。
【００４１】
Ｓ５１０において、上述のイベントの受信に応じて、項目辞書管理部３２０の項目辞書ファイル作成表示部４２４は、新規辞書ファイル作成画面６００を表示する。図６に新規辞書ファイル作成画面６００の詳細を示す。図６は、項目辞書を新規作成するための操作画面の一例を示す図である。新規項目辞書作成画面６００は、入力受付部６０１を備える。ユーザは、入力受付部６０１からコードおよび名前の入力が可能となる。つまり、新規作成される項目辞書のコードおよび名前は、新規辞書ファイル作成画面６００において入力されたコードおよび名前に基づいて決定される。本実施例では、新規辞書ファイル作成画面６００において、コードに「ｃｕｓｔｏｍｅｒ」が、名前に「顧客辞書」が、それぞれ入力された例を示す。
【００４２】
Ｓ５２０において、項目辞書管理部３２０は、Ｆｉｎｉｓｈボタン６２０が押下されたことに応じて、新規に項目辞書ファイルを作成する。
【００４３】
次に、図７を用いて、図５のフローにより作成された項目辞書ファイルについて説明する。
【００４４】
図７に項目辞書ファイルを表示する画面の一例を示す図である。。図７（ａ）は、項目辞書ファイルを編集可能な編集画面である。編集画面７００は、項目辞書編集表示部４２３により表示される画面である。図７（ｂ）は、ＸＭＬ形式で表示したＸＭＬ表示画面である。項目辞書ファイルは、ＸＭＬの言語で記述されたテキストデータ７００（以下、ＸＭＬデータと称する。）により作成される。ステップ５２０で入力されたコードおよび名前は、ＸＭＬ７００において、コード７０１と、名前７０２で示すようにテキストデータの一部として設定される。なお、図７（ａ）の編集画面７００において、「ファイル情報」および「ＸＭＬ」のタブを選択された場合に、項目辞書編集表示部４２３は、対応する情報に表示を変更する。
【００４５】
次に、図８を用いて、生成された項目辞書に対して項目を追加する場合の制御フローを説明する。なお、当該制御は、プログラム開発装置１０１の各機能により実行される。
【００４６】
Ｓ８００において、項目辞書管理部３２０は、項目辞書編集画面を開くイベントを取得する。例えば、項目辞書管理部３２０は、作成された項目辞書のファイル名を示す表示の中からユーザによる操作に応じて、イベントを取得する。
【００４７】
Ｓ８０１において、項目辞書編集表示部４２３は、編集画面７００を表示する。
【００４８】
Ｓ８０２において、項目辞書管理部３２０は、項目辞書編集表示部４２３が表示するコンテキストメニュー画面９００から追加ボタン９０１が選択されたことに応じて、エントリの追加イベントを受け取る。コンテキストメニュー画面９００は、一例として編集画面７００において、項目辞書のファイル名に対するクリック操作を受け付けることにより表示される。
【００４９】
Ｓ８０３において、項目辞書管理部３２０は、追加されたエントリに対して辞書キーと名称とふりがなを設定する。本実施例では、図９に示すように、エントリに対して、辞書キーに「ＯＲＤＥＲ」の文字列が、名称に「注文」の文字列が、ふりがなに「ちゅうもん」の文字列がそれぞれ設定される。当該設定により、ＸＭＬデータ７１０は、ＸＭＬデータ９２０に更新される。更新されたエントリは、図９における編集画面９１０で示すように表示される。言い換えると、更新されたエントリは、追加（あるいは更新）された編集画面９１０におけるエントリ一覧表示部９１１において、他のエントリと識別可能な態様で表示される。
【００５０】
Ｓ８０４において、項目辞書管理部３２０は、項目辞書に登録される項目が単項目か否かを判定する。ここで、項目辞書管理部３２０は、項目辞書編集表示部４２３が表示するコンテキストメニュー画面９００から追加ボタン９０１が選択されたことに応じて追加イベントを受け取った場合は、単項目の追加であると判断する。
【００５１】
Ｓ８０５およびＳ８０６において、ユーザの操作により、編集画面９４０上の選択されたエントリに対して、定義情報に値データ、データモデル項目データ、入出力項目データの少なくともいずれか１つのデータが入力されるとともに保存される。当該保存処理が行われることにより、ＸＭＬ９２０は、ＸＭＬ９５０に更新される。更新された辞書は、図１０で示す編集画面９４０における定義情報表示部９４１のように一覧表示される。ここで、定義情報表示部９４１は、編集画面９４０におけるエントリ一覧表示部９４２で選択されたエントリのエントリの定義情報を表示する機能を備える。
【００５２】
Ｓ８０４の判定処理において、項目辞書に登録される項目が単項目でないと判定される場合のフローについて説明する。一例として、Ｓ８０４において、図１１における定義構造表示部４１２が表示する定義ツリー９７０におけるデータモデル項目定義および入力項目定義からドラッグアンドドロップ操作により登録処理がされた場合には、単項目の登録ではないと判定される。また、項目辞書編集表示部４２３が表示するコンテキストメニュー画面９６０における９６１または９６２が選択されたことに基づく追加イベントを受け取った場合には、単項目の登録ではないと判定する。
【００５３】
このように、すでに設定されている定義を簡易な操作により１または複数の定義を一括で項目辞書に登録できることで、ユーザは簡便な操作で設定が可能となる。
【００５４】
Ｓ８０７において、項目辞書管理部３２０は、辞書に登録するキーの全てを登録するか否かを判定する。項目辞書管理部３２０は、部分的な登録メニュー９６２が選択されたことに基づくイベントを受け取った場合は、全てが登録対象ではないと判定しＳ８０９に進む。
【００５５】
Ｓ８０８において、項目辞書管理部３２０は、トリガーとなったリポジトリ定義で定義されているキー全てを登録対象に設定する。Ｓ８０９において、項目辞書管理部３２０は、登録設定ファイル９９０に設定されている項目を登録対象に設定する。
【００５６】
Ｓ８１０において、項目辞書管理部３２０は、トリガーとなったリポジトリ定義がデータモデル項目定義かどうか判定する。項目辞書管理部３２０は、データモデル項目定義であると判定したに場合は、Ｓ８１１の処理に進む。Ｓ８１１において、項目辞書管理部３２０は、データモデル項目に定義されている値を辞書として登録する。Ｓ８１０の判定処理により、トリガーとなったリポジトリ定義が入出力項目定義と判定された場合は、Ｓ８１２の処理に進む。Ｓ８１２において、項目辞書管理部３２０は、入出力項目定義に定義されている値を項目辞書として登録する。
【００５７】
Ｓ８１３において、項目辞書管理部３２０は、項目が項目辞書登録された場合に、該登録された項目を項目辞書の参照を行うか否かを判定する。項目辞書管理部３２０は、図１１に示す環境設定画面９９０における入力受付部９９１への入力がされているか否かに応じて判定を実施する。
【００５８】
Ｓ８１４において、項目辞書管理部３２０は、トリガーとなったリポジトリ定義を辞書参照状態にする。より具体的には、項目辞書管理部３２０は、定義編集画面１４２０において、項目辞書が参照状態であることを示す表示アイテム１４２１を表示させる。
【００５９】
図９は、項目辞書ファイルにエントリを追加する場合の表示画面の一例である。
【００６０】
コンテキストメニュー画面９００は、辞書へエントリを追加するための画面である。９０１は、追加ボタンである。エントリの追加は、追加項目辞書編集表示部４２３により表示されるコンテキストメニュー画面９００から追加ボタン９０１が選択されたことに応じて行われる。なお、エントリが追加された後の項目辞書のＸＭＬは９２０の状態になる。編集画面９１０は、エントリと、エントリに対応する定義を表示するととものこれらの編集を行う操作画面である。エントリ一覧表示部９１１において、エントリのそれぞれは識別可能な態様で表示される。
【００６１】
図１０は、辞書エントリへ単体で項目を追加する際の画面の一例である。辞書エントリへの単体での項目追加は、項目辞書編集表示部４２３が表示する編集画面９４０への操作により行われる。ＸＭＬデータ９５０は、追加した後のＸＭＬデータである。なお、図９におけるＸＭＬデータ９２０は、当該追加がされる前のＸＭＬデータである。辞書項目は、値データ、データモデル項目データ、入出力項目データして、項目辞書記憶部４２１で管理され、且つ定義種別と定義対象で一意になるように管理される。
【００６２】
図１１は、辞書エントリへ複数の項目を一括で追加する際の画面の一例である。当該追加の操作は、すでにリポジトリに定義ファイルがある場合に、該定義ファイルの定義を一括で項目辞書に登録する場合に好適に行われる。項目辞書管理部３２０は、コンテキストメニュー画面９６０における９６１あるいは９６２が選択されたことに応じて、編集画面９８０を表示する。なお、環境設定画面９９０により、登録と同時に参照状態にすることも可能である。定義構造表示部４１２は、定義ツリー９７０を表示する。
【００６３】
ここで、定義構造表示部４１２により表示される定義ツリー９７０の表示される領域は、第一の表示領域とする。また、編集画面９８０が表示される領域を第二の表示領域とする。
【００６４】
編集画面９８０は、第二の表示領域として複数の受付領域（９８１、９８２、９８３）を含む。受付領域９８１は、受付領域９８２で選択されたカテゴリに対応するエントリ一覧を表示する表示領域である（エントリ一覧受付部）。受付領域９８２は、カテゴリ一覧を表示する表示領域である（カテゴリ一覧受付部）。受付領域９８３は、選択されたエントリに対する定義情報を表示する表示領域である（定義情報部）。
【００６５】
ここで、図１１を用いて、定義ファイルの定義を一括で項目辞書に登録する操作について説明する。ユーザは、定義ツリー９７０に表示されるデータモデル項目定義または入力項目定義を示す表示アイテムを、編集画面９８０のエントリ一覧表示部９８１に対して、ドラッグアンドドロップ操作することができる。当該ドラッグアンドドロップ操作により、定義情報ファイルを項目辞書に一括で登録することができる。言い換えると、項目辞書管理部３２０は、ドラッグアンドドロップ操作されることに応じて、表示アイテムに対応する定義ファイルを管理対象としているといえる。項目辞書管理部３２０は、複数の受付領域におけるいずれの領域にドラックアンドドロップ操作がされたか否かに応じて、定義ファイルを異なる方法で管理する。具体的には、定義ツリー９７０から受付領域９８２にドラッグアンドドロップ操作された場合には、定義ファイルは、ドロップ先のカテゴリに対してエントリを追加する。定義ツリー９７０から受付領域９８３にドラッグアンドドロップ操作された場合には、ドロップ先のエントリに対し定義情報を追加する。
【００６６】
このように、ドラックアンドドロップ操作に応じて、定義ファイルの内容を項目辞書に対して容易に設定することができる。また、ドラックアンドドロップ操作のドロップ先に応じて、設定内容を切り替えることができることでユーザビリティを向上させることができる。
【００６７】
図１２は、登録されている項目辞書をリポジトリ定義に反映させる場合のフローである。
【００６８】
Ｓ１２００において、項目辞書参照命令部３３０は、項目辞書編集表示部４２３が表示するコンテキストメニュー画面１３００の項目の一つである辞書参照アイテム１３０１が選択されたことに応じて辞書参照イベントを受け取る。他の方法として、項目辞書参照命令部３３０は、項目辞書一覧画面１３２０から、辞書参照アイテム１３２１が選択されたことに応じて辞書参照イベントを受け取る。
【００６９】
Ｓ１２１０において、項目辞書参照命令部３３０の発信部４３１は編集画面１４０１の呼び出しを行うとともに、項目辞書選択表示部４２２は、編集画面１４０１を表示する。
【００７０】
Ｓ１２２０において、項目辞書管理部３２０は、編集画面１４００のエントリ一覧表示部１４０１に表示されたエントリのうち選択されたエントリを、ボタン１４０２を押下された場合に反映対象とする。ユーザは、反映対象とすべきエントリをエントリ一覧表示部１４０１から選択することができる。
【００７１】
Ｓ１２２１において、項目辞書参照命令部３３０は、単体への反映か否かの判断を行う。Ｓ１２３０において、項目辞書参照命令部３３０は、辞書参照アイテム１３２１による辞書参照イベントである場合は単体への反映と判断し、トリガーとなった項目を辞書参照状態に設定する。この場合、辞書参照アイテム１３２１は、辞書参照アイテム１４２１で示す表示態様に変更される。本実施形態においては、辞書参照アイテムの色が変更するものとしているが、これに限られるものでなく、大きさ、形状、模様等の識別可能な表示態様を含みうる。
【００７２】
リポジトリ定義情報のＸＭＬデータは、１３１０から１４１０へと変更される。また、リポジトリ定義情報は、辞書項目キーの状態で管理しており辞書項目の値では管理していない。これにより辞書の値を変更すると同じ辞書項目キーを参照している項目全てに変更が伝搬される。
【００７３】
以下、Ｓ１２２１において、単体への反映ではないと判断された場合の項目辞書参照命令部３３０のフローを説明する。具体的には、コンテキストメニュー１３０１から辞書参照イベントを受け取った場合は、Ｓ１２４０に進み、エントリに登録されている複数の辞書項目キーに対して一括で参照処理を行う。
【００７４】
図１３は、登録されている項目辞書をリポジトリ定義に反映させる際の画面である。項目辞書編集表示部４２３が表示するコンテキストメニュー画面１３００である。コンテキストメニュー画面１３００は、辞書参照アイテム１３０１を含む。
【００７５】
ＸＭＬデータ１３１０は、リポジトリ定義を反映させる前のＸＭＬデータである。
【００７６】
項目辞書一覧画面１３２０は、項目辞書を一覧する画面である。項目辞書一覧画面１３２０は、項目辞書の内容がリポジトリ定義に反映されているか否かを示す辞書参照アイテム１３２１を含む。辞書参照アイテム１３２１は、リポジトリ定義に反映されていないことを示す表示アイテムである。
【００７７】
図１４は、登録されている項目辞書をリポジトリ定義に反映させる際の画面である。編集画面１４００は、エントリ一覧表示部１４０１。ボタン１４０２を含む。エントリ一覧表示部１４０１に表示されたエントリを選択することができる。ボタン１４０２が押下された場合に選択されているエントリを反映対象とする。ユーザは、反映対象とすべきエントリをエントリ一覧表示部１４０１から選択することができる。
【００７８】
ＸＭＬデータ１４１０は、リポジトリ定義を反映させた後のＸＭＬデータである。
【００７９】
項目辞書一覧画面１４２０は、項目辞書を一覧する画面である。項目辞書一覧画面１４２０は、項目辞書の内容がリポジトリ定義に反映されているか否かを示す辞書参照アイテム１４２１を含む。辞書参照アイテム１４２１は、リポジトリ定義に反映されていることを示す表示アイテムである。
【００８０】
図１５は、辞書エントリ及び辞書項目の内容を更新する際の制御フローである。
【００８１】
Ｓ１５００において、項目辞書管理部３２０は、ユーザの操作に応じて編集画面を開くイベントを受け取る。
【００８２】
Ｓ１５１０において、項目辞書編集表示部４２３は、編集画面９４０を表示する。Ｓ１５２０において、項目辞書編集表示部４２３は、エントリ一覧表示部９１１に表示されたエントリへのエントリ選択イベントを受け取る。
【００８３】
Ｓ１５３０において、項目辞書管理部３２０は、選択されたエントリが編集された場合には、編集イベントを受け取る。
【００８４】
Ｓ１５４０において、項目辞書管理部３２０は、辞書項目キーの値を編集する場合には辞書項目キーの選択イベントを受け取る。
【００８５】
Ｓ１５５０において、項目辞書管理部３２０は、値を編集する場合には、編集イベントを受け取る。  Ｓ１５６０において、項目辞書管理部３２０は、項目辞書記憶部４２１により、編集された項目辞書を保存し変更を確定させる。
【００８６】
図１６は、Ｗｅｂアプリケーション生成のフローである。
【００８７】
Ｓ１６００において、リポジトリ定義解析部４４１は、アプリケーション定義４０１を取得する。
【００８８】
Ｓ１６１０において、リポジトリ定義解析部４４１は、Ｓ１６００において取得したアプリケーションに含まれるデータモデル定義４０３を取得する。
【００８９】
Ｓ１６２０において、リポジトリ定義解析部４４１は、データモデル定義４０３の項目を取得する。
【００９０】
Ｓ１６３０において、リポジトリ定義解析部４４１は、取得した項目定義に辞書参照があるか否かの判定を行う。リポジトリ定義解析部４４１は、取得した項目定義に辞書参照があると判定した場合は、Ｓ１６４０の処理を実行する。
【００９１】
Ｓ１６４０において、リポジトリ定義解析部４４１は、項目辞書参照情報４０５に基づいて辞書の値を取得する。リポジトリ定義解析部４４１は、当該処理をデータモデル定義４０３の項目数だけ繰り返し行った後に、Ｓ１６５０に進む。
【００９２】
Ｓ１６５０において、リポジトリ定義解析部４４１は、Ｓ１６００において取得したアプリケーションに所属する入出力定義４０２を取得する。
【００９３】
Ｓ１６６０において、リポジトリ定義解析部４４１は、入出力定義４０２の項目を取得する。
【００９４】
Ｓ１６７０において、Ｓ１６６０において取得した項目定義に辞書参照があるか否かの判定を行う。リポジトリ定義解析部４４１は、取得した項目定義に辞書参照があると判定した場合は、Ｓ１６８０の処理を実行する。
【００９５】
Ｓ１６８０において、リポジトリ定義解析部４４１は、項目辞書参照情報４０５に基づいて辞書の値を取得する。この処理を入出力定義４０３の項目数分繰り返し行った後に、Ｓ１６９０に進む。次に、Ｓ１６９０において、リポジトリ定義解析部４４１は、Ｓ１６００において取得したアプリケーションに所属するビジネスプロセス定義４０４およびデータベース定義４０６を取得する。
【００９６】
Ｓ１７００において、リポジトリ定義解析部４４１の結果を受けてＷｅｂアプリケーションコード生成部４４２はプログラムコードを生成する。
【００９７】
Ｓ１７１０においてソースコードコンパイル部４４５はコンパイルを行い、アプリケーションを生成する。
【００９８】
上述の実施形態において、プログラミング開発装置（情報処理装置）は、リポジトリ定義部３００により、Ｗｅｂアプリケーションの画面への入力される項目とＷｅｂアプリケーションの画面に出力する項目とを定義する入出力定義情報を管理している（入出力定義管理手段）。そして、プログラミング開発装置は、項目辞書管理部３２０により、１または複数の項目（エントリ）と、該項目に対応する所定の定義情報との対応関係を管理している（項目辞書管理手段）さらに、プログラミング開発装置は、Ｗｅｂアプリケーション生成部３４０により、入出力定義管理手段で管理する入出力定義情報と、項目辞書管理手段で管理する対応関係とを用いてプログラムを生成する（プログラム生成手段）。
【００９９】
このことにより、Ｗｅｂアプリケーションに用いられるプログラムを、複数の定義ファイル間で共通の項目を適用して生成することが可能となる。
【０１００】
さらに、項目辞書管理手段でエントリと所定の定義情報を管理することにより、同じキーワードの間で異なる定義をすること、あるいは、同じ意味で異なるキーワードを設定することを抑制することができる。これば、複数のユーザからなるグループにより、共通のアプリケーションを開発する場合には、より有効である。
【０１０１】
さらに、項目辞書管理手段で管理する内容は、一覧表示され、編集、確認、削除等を容易に行うことができる。このため、定義に変更が発生した場合には、その変更箇所を容易に変更するが可能となるため、プログラムの開発工数の削減に寄与する。
【０１０２】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。特に、プログラム開発装置１０１の各機能は、本実施の形態に限定されるものでなく、複数のプログラム開発装置で協業して処理されるものであってもよい。更に、プログラム開発装置は、オンプレミス環境で用いられるサーバであってもよいし、クラウドサービスにおける仮想的なサーバであってもよい。
【０１０３】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１０４】
なお、本実施形態は、コンピュータや制御コンピュータがプログラム（コンピュータプログラム）を実行することによって実現することもできる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータが読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も実施例として適用することができる。また、上記のプログラムも実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【０１０５】
以上、実施形態に基づいて詳述してきたが、特定の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲の様々な形態も本発明の範疇に含まれる。さらに、上述した実施形態は一実施の形態を示すものにすぎず、上述した実施形態から容易に想像可能な発明も本発明の範疇に含まれる。
【符号の説明】
【０１０６】
１０１    プログラム開発装置
３００    リポジトリ定義部
３１０    リポジトリ定義編集部
３２０    項目辞書管理部
３４０    Ｗｅｂアプリケーション生成部
【図１】
2018181076.tif 000003
【図２】
2018181076.tif 000004
【図３】
2018181076.tif 000005
【図４】
2018181076.tif 000006
【図５】
2018181076.tif 000007
【図６】
2018181076.tif 000008
【図７】
2018181076.tif 000009
【図８】
2018181076.tif 000010
【図９】
2018181076.tif 000011
【図１０】
2018181076.tif 000012
【図１１】
2018181076.tif 000013
【図１２】
2018181076.tif 000014
【図１３】
2018181076.tif 000015
【図１４】
2018181076.tif 000016
【図１５】
2018181076.tif 000017
【図１６】
2018181076.tif 000018