IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特開2024-55993プログラム生成装置、制御方法、およびコンピュータプログラム
<>
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図1
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図2
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図3
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図4
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図5
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図6
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図7
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図8
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図9
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図10
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図11
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図12
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図13
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図14
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図15
  • 特開-プログラム生成装置、制御方法、およびコンピュータプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024055993
(43)【公開日】2024-04-19
(54)【発明の名称】プログラム生成装置、制御方法、およびコンピュータプログラム
(51)【国際特許分類】
   G06F 8/38 20180101AFI20240412BHJP
【FI】
G06F8/38
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024033437
(22)【出願日】2024-03-06
(62)【分割の表示】P 2022126475の分割
【原出願日】2017-04-17
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(74)【代理人】
【識別番号】100227857
【弁理士】
【氏名又は名称】中山 圭
(72)【発明者】
【氏名】高塚 剛
(72)【発明者】
【氏名】柴本 文洋
(57)【要約】
【課題】Webアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供すること。
【解決手段】Webアプリケーションとして用いられるプログラムを生成する情報処理装置は、定義ファイルを管理する定義管理手段と、1または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する。
【選択図】図11
【特許請求の範囲】
【請求項1】
Webアプリケーションとして用いられるプログラムを生成する情報処理装置であって、
データモデルを定義するデータモデル定義ファイルまたはWebアプリケーションの画面への入力される項目とWebアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、
1または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、
前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、
前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とする情報処理装置。
【請求項2】
前記表示制御手段は、前記第二の表示領域において複数の受付領域を表示し、
前記項目辞書管理手段は、前記表示制御手段により表示された複数の受付領域におけるいずれの領域に前記ドラックアンドドロップ操作がされたか否かに応じて、前記定義ファイルを異なる方法で管理する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段により表示される前記複数の受付領域のうち少なくとも1つの表示領域は、カテゴリ一覧を表示するカテゴリ表示領域を含み、
前記項目辞書管理手段は、前記第一の表示領域から前記カテゴリ表示領域に対して前記ドラッグアンドドロップ操作がされた場合に、該ドロップ先のカテゴリと前記表示アイテムに対応する定義ファイルを管理対象に設定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記表示制御手段により表示される前記複数の受付領域のうち少なくとも1つの表示領域は、カテゴリ一覧を表示するカテゴリ表示領域を含み、
前記項目辞書管理手段は、前記第一の表示領域から前記カテゴリ表示領域に対して前記ドラッグアンドドロップ操作がされた場合に、該ドロップ先のカテゴリと前記表示アイテムに対応する定義ファイルとを対応づけて管理することを特徴とする請求項2または3のいずれか1項に記載の情報処理装置。
【請求項5】
Webアプリケーションとして用いられるプログラムを生成する情報処理装置の制御方法であって、
データモデルを定義するデータモデル定義ファイルまたはWebアプリケーションの画面への入力される項目とWebアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理工程と、
1または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理工程と、
前記定義管理工程で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御工程と、を有し、
前記項目辞書管理工程は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とする情報処理装置の制御方法
【請求項6】
Webアプリケーションとして用いられるプログラムを生成するコンピュータプログラムであって、
コンピュータを、
データモデルを定義するデータモデル定義ファイルまたはWebアプリケーションの画面への入力される項目とWebアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、
1または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、
前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、して機能させ、
前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定する
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム生成装置、制御方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
近年、Webアプリケーションの開発は、プログラミングを行わずに、プログラム生成装置により自動生成されている。プログラム生成装置上で実行される自動生成ツールは、プログラミングの代わりに、所定のルールに基づいた定義を用いて、Webアプリケーションの構築を行う。ここで、Webアプリケーションを構築するための各定義は、アプリケーション内で利用するデータベースのスキーマ情報や画面情報ごとに設定される。
【0003】
特許文献1には、上流設計ツールで定義情報を用いてプログラムを生成するシステム設計支援プログラムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-41707号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、Webアプリケーションの規模が大きくなるに従い、多くの定義ファイルが用いられることとなる。この場合、自動生成ツールは、同一のキーワードを複数の定義ファイルに対して設定することとなり、ユーザの操作が煩雑になり得る。そのため、定義ファイルは、一元管理されることが望ましい。しかしながら、特許文献1に記載の技術では、既存の定義ファイルを管理する場合におけるユーザの操作性について、何ら考慮されていない。
【0006】
そこで本発明は、Webアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供することを目的とする
【課題を解決するための手段】
【0007】
Webアプリケーションとして用いられるプログラムを生成する情報処理装置であって、データモデルを定義するデータモデル定義ファイルまたはWebアプリケーションの画面への入力される項目とWebアプリケーションの画面に出力する項目とを定義する入出力定義ファイルを含む定義ファイルを管理する定義管理手段と、1または複数の項目と、該項目に対応する所定の定義情報との対応関係を管理する項目辞書管理手段と、前記定義管理手段で管理する定義ファイルを示す表示アイテムが表示される第一の表示領域と、前記第一の表示領域とは異なる第二の表示領域とを表示部に表示する表示制御手段と、を有し、前記項目辞書管理手段は、前記第一の表示領域に表示される表示アイテムが前記第二の表示領域に対してドラッグアンドドロップ操作されることに応じて、該表示アイテムに対応する定義ファイルを管理対象に設定することを特徴とする。
【発明の効果】
【0008】
Webアプリケーションに用いられるプログラムを生成する際に、定義ファイルを容易に設定する仕組みを提供することが可能となる。
【図面の簡単な説明】
【0009】
図1】本実施形態における情報処理システムの一例を示す図である。
図2】本実施形態における情報処理システムの各構成に適用可能なハードウェア構成の一例を示す図である。
図3】本実施形態におけるプログラム開発装置の機能構成を示す図である。
図4】本実施形態におけるプログラム開発装置の機能構成を示す図である。
図5】項目辞書が新規作成される場合の処理を示すフローチャートである。
図6】項目辞書を新規作成するための操作画面の一例を示す図である。
図7】項目辞書ファイルを表示する画面の一例を示す図である。
図8】項目辞書に対して項目を追加する場合の処理を示すフローチャートである。
図9】項目辞書ファイルにエントリを追加する場合の表示画面の一例を示す図である。
図10】エントリに1つの定義項目を追加する場合の表示画面の一例を示す図である。
図11】エントリに複数の定義項目を追加する場合の表示画面の一例を示す図である。
図12】項目辞書をリポジトリ定義に反映させる場合の処理を示すフローチャートである。
図13】項目辞書をリポジトリ定義に反映させる場合の表示画面の一例を示す図である。
図14】項目辞書をリポジトリ定義に反映させる場合の表示画面の一例を示す図である。
図15】辞書エントリ及び辞書項目の内容を更新する場合の処理を示すフローチャートである。
図16】Webアプリケーション生成する処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0011】
図1は、本実施形態に係わるプログラム開発装置(開発者がWebアプリケーション生成のために使用する情報処理装置)、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント(クライアント装置)、アプリケーションサーバの構成の一例を示すシステム(情報処理システム)構成図である。
【0012】
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101単体では、開発者の入力受付を行い、後述するプログラム開発サーバ102に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置101単体でプログラム生成、アプリケーション生成まで処理してもよい。
【0013】
なお、この実施形態においては、プログラム開発装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。
【0014】
プログラム開発サーバ102a~102b(情報処理装置)は、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク106内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。
【0015】
データベースサーバ103a~103b(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク106内に配置されてもよい(データベースサーバ103a)。またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。
【0016】
アプリケーションサーバ105a~105b(情報処理装置)は、プログラム開発装置101で開発されたアプリケーションを実行する。LANなどのネットワーク106内に配置されてもよい(アプリケーションサーバ105a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク106、インターネット、クラウド上のデータベースサーバ103と接続して動作する可能である。
【0017】
アプリケーションクライアント104a~104b(情報処理装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク106内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。また、情報処理装置は、携帯端末やタブレット型の端末であってもよい。
【0018】
図2は、本実施形態に係わるプログラム開発装置101、プログラム開発サーバ102、データベースサーバ103、アプリケーションクライアント104、アプリケーションサーバ105として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0019】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0020】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0021】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0022】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【0023】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。つまり、出力部210は、画面を表示する表示部としての機能を備える。この場合、CPU201は、出力コントローラ206を介して表示部の表示を制御することが可能である。換言すると、CPU201は、表示制御手段の一態様である。
【0024】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0025】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
【0026】
図3および図4を用いて、プログラム開発装置101の機能構成を説明する。なお、プログラム開発装置101における各機能は、プログラム装置101のCPU201により実行されるものである。また、CPU201によって実行されるプログラム212は、外部メモリ211に記録されており、必要に応じてRAM202にロードされる。つまり、各機能は、CPU201とメモリ(RAM202)とが協業することにより実現される。
【0027】
プログラム開発装置101は、リポジトリ定義部300と、項目辞書管理部320と、リポジトリ定義編集部310と、項目辞書参照命令部330と、Webアプリケーション生成部340を含む。
【0028】
リポジトリ定義部300は、データベース定義406と、アプリケーション定義401と、データモデル定義403と、入出力定義402と、ビジネスプロセス定義404とを含む。
【0029】
データモデル定義403および入出力定義402は、複数の項目定義が設定される。そして、各項目定義は、項目辞書参照情報405と対応づけられて記憶される。このため、データモデル定義403および入出力定義402は、後述する項目辞書管理部320により管理される情報を参照し定義として用いることが可能となる。
【0030】
リポジトリ定義部300は、入出力定義402として、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する。ここで、入力定義情報は、生成されたWebアプリケーションの画面を介して当該Webアプリケーションのユーザが入力する入力項目を定義した情報である。また、出力定義情報は、生成されたWebアプリケーションの画面として出力する出力項目を定義した情報である。
【0031】
ユーザ(例えば、Webアプリケーション開発者)は、リポジトリ定義部300が管理する各種定義に基づいて、Webアプリケーション画面の入出力項目を直感的に追加・変更・削除することが可能となる。このことにより、ユーザは、Webアプリケーションとして用いられるプログラムを容易に生成することができる。なお、上述した「追加・変更・削除」は、レイアウトエディタ等のGUIを用いて行われる。
【0032】
データモデル定義403は、データベースのスキーマ情報(すなわち、項目の属性や名称、桁数)を管理する情報である。
【0033】
ビジネスプロセス定義404は、業務フローを管理する情報である。
【0034】
項目辞書参照情報405は、データモデル定義403および入出力定義402に対して、項目辞書管理部320が管理する項目辞書における所定の定義情報を参照するか否かを示す参照情報を管理する。
【0035】
項目辞書管理部320は、定義すべき項目の項目辞書へ登録、編集および削除を行う機能および項目辞書の情報を管理する機能を備える。登録、変種および削除が行われた各項目は、項目辞書記憶部421によって管理される。
【0036】
項目辞書の新規作成は、項目辞書ファイル作成表示部424で表示される画面への操作により行うことが可能である。項目辞書の新規作成の処理は、図5を用いて後述する。
【0037】
項目辞書への項目の登録・編集・削除は、項目辞書編集表示部423で表示される画面への操作により行うことが可能である。項目辞書へ登録された項目は、定義種別と定義対象の組合せで一つの単位として管理される。以下、当該一つ単位のデータセットを「エントリ」と称する。登録された項目は、値データ、データモデル項目用のデータ、入出力項目用のデータとして、それぞれ管理される。登録された項目の各データは、リポジトリ定義編集部310により編集が可能である。具体的には、リポジトリ定義編集部310が、項目辞書参照命令部330を介して制御する項目辞書選択表示部422から利用可能である。なお、辞書への参照を示す情報は項目辞書参照情報405として記憶される。
【0038】
Webアプリケーション生成部340は、Webアプリケーションを生成する機能を備える。リポジトリ定義解析部441は、項目辞書参照情報405に基いて項目辞書に登録されているリポジトリ情報を解析する。すなわち、リポジトリ定義解析部421は、項目辞書参照情報405に基いて、リポジトリ定義部400からデータベース定義406、データモデル定義403、入出力定義402、ビジネスプロセス定義404を読み込み解析する。Webアプリケーション生成部442は、ソースコードコンパイル部445を介し、Webアプリケーションとしてプログラムを生成することができる。
【0039】
図5は、項目辞書を新規作成する場合のフローチャートの一例である。なお、当該各フローは、プログラム開発装置101の各機能により実行される。
【0040】
S500において、項目辞書管理部320は、表示部に表示される操作画面(不図示)より、新規辞書ファイルの生成を示す表示アイテムが選択された場合に、新規辞書の作成イベントを受信する。
【0041】
S510において、上述のイベントの受信に応じて、項目辞書管理部320の項目辞書ファイル作成表示部424は、新規辞書ファイル作成画面600を表示する。図6に新規辞書ファイル作成画面600の詳細を示す。図6は、項目辞書を新規作成するための操作画面の一例を示す図である。新規項目辞書作成画面600は、入力受付部601を備える。ユーザは、入力受付部601からコードおよび名前の入力が可能となる。つまり、新規作成される項目辞書のコードおよび名前は、新規辞書ファイル作成画面600において入力されたコードおよび名前に基づいて決定される。本実施例では、新規辞書ファイル作成画面600において、コードに「customer」が、名前に「顧客辞書」が、それぞれ入力された例を示す。
【0042】
S520において、項目辞書管理部320は、Finishボタン620が押下されたことに応じて、新規に項目辞書ファイルを作成する。
【0043】
次に、図7を用いて、図5のフローにより作成された項目辞書ファイルについて説明する。
【0044】
図7に項目辞書ファイルを表示する画面の一例を示す図である。。図7(a)は、項目辞書ファイルを編集可能な編集画面である。編集画面700は、項目辞書編集表示部423により表示される画面である。図7(b)は、XML形式で表示したXML表示画面である。項目辞書ファイルは、XMLの言語で記述されたテキストデータ700(以下、XMLデータと称する。)により作成される。ステップ520で入力されたコードおよび名前は、XML700において、コード701と、名前702で示すようにテキストデータの一部として設定される。なお、図7(a)の編集画面700において、「ファイル情報」および「XML」のタブを選択された場合に、項目辞書編集表示部423は、対応する情報に表示を変更する。
【0045】
次に、図8を用いて、生成された項目辞書に対して項目を追加する場合の制御フローを説明する。なお、当該制御は、プログラム開発装置101の各機能により実行される。
【0046】
S800において、項目辞書管理部320は、項目辞書編集画面を開くイベントを取得する。例えば、項目辞書管理部320は、作成された項目辞書のファイル名を示す表示の中からユーザによる操作に応じて、イベントを取得する。
【0047】
S801において、項目辞書編集表示部423は、編集画面700を表示する。
【0048】
S802において、項目辞書管理部320は、項目辞書編集表示部423が表示するコンテキストメニュー画面900から追加ボタン901が選択されたことに応じて、エントリの追加イベントを受け取る。コンテキストメニュー画面900は、一例として編集画面700において、項目辞書のファイル名に対するクリック操作を受け付けることにより表示される。
【0049】
S803において、項目辞書管理部320は、追加されたエントリに対して辞書キーと名称とふりがなを設定する。本実施例では、図9に示すように、エントリに対して、辞書キーに「ORDER」の文字列が、名称に「注文」の文字列が、ふりがなに「ちゅうもん」の文字列がそれぞれ設定される。当該設定により、XMLデータ710は、XMLデータ920に更新される。更新されたエントリは、図9における編集画面910で示すように表示される。言い換えると、更新されたエントリは、追加(あるいは更新)された編集画面910におけるエントリ一覧表示部911において、他のエントリと識別可能な態様で表示される。
【0050】
S804において、項目辞書管理部320は、項目辞書に登録される項目が単項目か否かを判定する。ここで、項目辞書管理部320は、項目辞書編集表示部423が表示するコンテキストメニュー画面900から追加ボタン901が選択されたことに応じて追加イベントを受け取った場合は、単項目の追加であると判断する。
【0051】
S805およびS806において、ユーザの操作により、編集画面940上の選択されたエントリに対して、定義情報に値データ、データモデル項目データ、入出力項目データの少なくともいずれか1つのデータが入力されるとともに保存される。当該保存処理が行われることにより、XML920は、XML950に更新される。更新された辞書は、図10で示す編集画面940における定義情報表示部941のように一覧表示される。ここで、定義情報表示部941は、編集画面940におけるエントリ一覧表示部942で選択されたエントリのエントリの定義情報を表示する機能を備える。
【0052】
S804の判定処理において、項目辞書に登録される項目が単項目でないと判定される場合のフローについて説明する。一例として、S804において、図11における定義構造表示部412が表示する定義ツリー970におけるデータモデル項目定義および入力項目定義からドラッグアンドドロップ操作により登録処理がされた場合には、単項目の登録ではないと判定される。また、項目辞書編集表示部423が表示するコンテキストメニュー画面960における961または962が選択されたことに基づく追加イベントを受け取った場合には、単項目の登録ではないと判定する。
【0053】
このように、すでに設定されている定義を簡易な操作により1または複数の定義を一括で項目辞書に登録できることで、ユーザは簡便な操作で設定が可能となる。
【0054】
S807において、項目辞書管理部320は、辞書に登録するキーの全てを登録するか否かを判定する。項目辞書管理部320は、部分的な登録メニュー962が選択されたことに基づくイベントを受け取った場合は、全てが登録対象ではないと判定しS809に進む。
【0055】
S808において、項目辞書管理部320は、トリガーとなったリポジトリ定義で定義されているキー全てを登録対象に設定する。S809において、項目辞書管理部320は、登録設定ファイル990に設定されている項目を登録対象に設定する。
【0056】
S810において、項目辞書管理部320は、トリガーとなったリポジトリ定義がデータモデル項目定義かどうか判定する。項目辞書管理部320は、データモデル項目定義であると判定したに場合は、S811の処理に進む。S811において、項目辞書管理部320は、データモデル項目に定義されている値を辞書として登録する。S810の判定処理により、トリガーとなったリポジトリ定義が入出力項目定義と判定された場合は、S812の処理に進む。S812において、項目辞書管理部320は、入出力項目定義に定義されている値を項目辞書として登録する。
【0057】
S813において、項目辞書管理部320は、項目が項目辞書登録された場合に、該登録された項目を項目辞書の参照を行うか否かを判定する。項目辞書管理部320は、図11に示す環境設定画面990における入力受付部991への入力がされているか否かに応じて判定を実施する。
【0058】
S814において、項目辞書管理部320は、トリガーとなったリポジトリ定義を辞書参照状態にする。より具体的には、項目辞書管理部320は、定義編集画面1420において、項目辞書が参照状態であることを示す表示アイテム1421を表示させる。
【0059】
図9は、項目辞書ファイルにエントリを追加する場合の表示画面の一例である。
【0060】
コンテキストメニュー画面900は、辞書へエントリを追加するための画面である。901は、追加ボタンである。エントリの追加は、追加項目辞書編集表示部423により表示されるコンテキストメニュー画面900から追加ボタン901が選択されたことに応じて行われる。なお、エントリが追加された後の項目辞書のXMLは920の状態になる。編集画面910は、エントリと、エントリに対応する定義を表示するととものこれらの編集を行う操作画面である。エントリ一覧表示部911において、エントリのそれぞれは識別可能な態様で表示される。
【0061】
図10は、辞書エントリへ単体で項目を追加する際の画面の一例である。辞書エントリへの単体での項目追加は、項目辞書編集表示部423が表示する編集画面940への操作により行われる。XMLデータ950は、追加した後のXMLデータである。なお、図9におけるXMLデータ920は、当該追加がされる前のXMLデータである。辞書項目は、値データ、データモデル項目データ、入出力項目データして、項目辞書記憶部421で管理され、且つ定義種別と定義対象で一意になるように管理される。
【0062】
図11は、辞書エントリへ複数の項目を一括で追加する際の画面の一例である。当該追加の操作は、すでにリポジトリに定義ファイルがある場合に、該定義ファイルの定義を一括で項目辞書に登録する場合に好適に行われる。項目辞書管理部320は、コンテキストメニュー画面960における961あるいは962が選択されたことに応じて、編集画面980を表示する。なお、環境設定画面990により、登録と同時に参照状態にすることも可能である。定義構造表示部412は、定義ツリー970を表示する。
【0063】
ここで、定義構造表示部412により表示される定義ツリー970の表示される領域は、第一の表示領域とする。また、編集画面980が表示される領域を第二の表示領域とする。
【0064】
編集画面980は、第二の表示領域として複数の受付領域(981、982、983)を含む。受付領域981は、受付領域982で選択されたカテゴリに対応するエントリ一覧を表示する表示領域である(エントリ一覧受付部)。受付領域982は、カテゴリ一覧を表示する表示領域である(カテゴリ一覧受付部)。受付領域983は、選択されたエントリに対する定義情報を表示する表示領域である(定義情報部)。
【0065】
ここで、図11を用いて、定義ファイルの定義を一括で項目辞書に登録する操作について説明する。ユーザは、定義ツリー970に表示されるデータモデル項目定義または入力項目定義を示す表示アイテムを、編集画面980のエントリ一覧表示部981に対して、ドラッグアンドドロップ操作することができる。当該ドラッグアンドドロップ操作により、定義情報ファイルを項目辞書に一括で登録することができる。言い換えると、項目辞書管理部320は、ドラッグアンドドロップ操作されることに応じて、表示アイテムに対応する定義ファイルを管理対象としているといえる。項目辞書管理部320は、複数の受付領域におけるいずれの領域にドラックアンドドロップ操作がされたか否かに応じて、定義ファイルを異なる方法で管理する。具体的には、定義ツリー970から受付領域982にドラッグアンドドロップ操作された場合には、定義ファイルは、ドロップ先のカテゴリに対してエントリを追加する。定義ツリー970から受付領域983にドラッグアンドドロップ操作された場合には、ドロップ先のエントリに対し定義情報を追加する。
【0066】
このように、ドラックアンドドロップ操作に応じて、定義ファイルの内容を項目辞書に対して容易に設定することができる。また、ドラックアンドドロップ操作のドロップ先に応じて、設定内容を切り替えることができることでユーザビリティを向上させることができる。
【0067】
図12は、登録されている項目辞書をリポジトリ定義に反映させる場合のフローである。
【0068】
S1200において、項目辞書参照命令部330は、項目辞書編集表示部423が表示するコンテキストメニュー画面1300の項目の一つである辞書参照アイテム1301が選択されたことに応じて辞書参照イベントを受け取る。他の方法として、項目辞書参照命令部330は、項目辞書一覧画面1320から、辞書参照アイテム1321が選択されたことに応じて辞書参照イベントを受け取る。
【0069】
S1210において、項目辞書参照命令部330の発信部431は編集画面1401の呼び出しを行うとともに、項目辞書選択表示部422は、編集画面1401を表示する。
【0070】
S1220において、項目辞書管理部320は、編集画面1400のエントリ一覧表示部1401に表示されたエントリのうち選択されたエントリを、ボタン1402を押下された場合に反映対象とする。ユーザは、反映対象とすべきエントリをエントリ一覧表示部1401から選択することができる。
【0071】
S1221において、項目辞書参照命令部330は、単体への反映か否かの判断を行う。S1230において、項目辞書参照命令部330は、辞書参照アイテム1321による辞書参照イベントである場合は単体への反映と判断し、トリガーとなった項目を辞書参照状態に設定する。この場合、辞書参照アイテム1321は、辞書参照アイテム1421で示す表示態様に変更される。本実施形態においては、辞書参照アイテムの色が変更するものとしているが、これに限られるものでなく、大きさ、形状、模様等の識別可能な表示態様を含みうる。
【0072】
リポジトリ定義情報のXMLデータは、1310から1410へと変更される。また、リポジトリ定義情報は、辞書項目キーの状態で管理しており辞書項目の値では管理していない。これにより辞書の値を変更すると同じ辞書項目キーを参照している項目全てに変更が伝搬される。
【0073】
以下、S1221において、単体への反映ではないと判断された場合の項目辞書参照命令部330のフローを説明する。具体的には、コンテキストメニュー1301から辞書参照イベントを受け取った場合は、S1240に進み、エントリに登録されている複数の辞書項目キーに対して一括で参照処理を行う。
【0074】
図13は、登録されている項目辞書をリポジトリ定義に反映させる際の画面である。項目辞書編集表示部423が表示するコンテキストメニュー画面1300である。コンテキストメニュー画面1300は、辞書参照アイテム1301を含む。
【0075】
XMLデータ1310は、リポジトリ定義を反映させる前のXMLデータである。
【0076】
項目辞書一覧画面1320は、項目辞書を一覧する画面である。項目辞書一覧画面1320は、項目辞書の内容がリポジトリ定義に反映されているか否かを示す辞書参照アイテム1321を含む。辞書参照アイテム1321は、リポジトリ定義に反映されていないことを示す表示アイテムである。
【0077】
図14は、登録されている項目辞書をリポジトリ定義に反映させる際の画面である。編集画面1400は、エントリ一覧表示部1401。ボタン1402を含む。エントリ一覧表示部1401に表示されたエントリを選択することができる。ボタン1402が押下された場合に選択されているエントリを反映対象とする。ユーザは、反映対象とすべきエントリをエントリ一覧表示部1401から選択することができる。
【0078】
XMLデータ1410は、リポジトリ定義を反映させた後のXMLデータである。
【0079】
項目辞書一覧画面1420は、項目辞書を一覧する画面である。項目辞書一覧画面1420は、項目辞書の内容がリポジトリ定義に反映されているか否かを示す辞書参照アイテム1421を含む。辞書参照アイテム1421は、リポジトリ定義に反映されていることを示す表示アイテムである。
【0080】
図15は、辞書エントリ及び辞書項目の内容を更新する際の制御フローである。
【0081】
S1500において、項目辞書管理部320は、ユーザの操作に応じて編集画面を開くイベントを受け取る。
【0082】
S1510において、項目辞書編集表示部423は、編集画面940を表示する。S1520において、項目辞書編集表示部423は、エントリ一覧表示部911に表示されたエントリへのエントリ選択イベントを受け取る。
【0083】
S1530において、項目辞書管理部320は、選択されたエントリが編集された場合には、編集イベントを受け取る。
【0084】
S1540において、項目辞書管理部320は、辞書項目キーの値を編集する場合には辞書項目キーの選択イベントを受け取る。
【0085】
S1550において、項目辞書管理部320は、値を編集する場合には、編集イベントを受け取る。 S1560において、項目辞書管理部320は、項目辞書記憶部421により、編集された項目辞書を保存し変更を確定させる。
【0086】
図16は、Webアプリケーション生成のフローである。
【0087】
S1600において、リポジトリ定義解析部441は、アプリケーション定義401を取得する。
【0088】
S1610において、リポジトリ定義解析部441は、S1600において取得したアプリケーションに含まれるデータモデル定義403を取得する。
【0089】
S1620において、リポジトリ定義解析部441は、データモデル定義403の項目を取得する。
【0090】
S1630において、リポジトリ定義解析部441は、取得した項目定義に辞書参照があるか否かの判定を行う。リポジトリ定義解析部441は、取得した項目定義に辞書参照があると判定した場合は、S1640の処理を実行する。
【0091】
S1640において、リポジトリ定義解析部441は、項目辞書参照情報405に基づいて辞書の値を取得する。リポジトリ定義解析部441は、当該処理をデータモデル定義403の項目数だけ繰り返し行った後に、S1650に進む。
【0092】
S1650において、リポジトリ定義解析部441は、S1600において取得したアプリケーションに所属する入出力定義402を取得する。
【0093】
S1660において、リポジトリ定義解析部441は、入出力定義402の項目を取得する。
【0094】
S1670において、S1660において取得した項目定義に辞書参照があるか否かの判定を行う。リポジトリ定義解析部441は、取得した項目定義に辞書参照があると判定した場合は、S1680の処理を実行する。
【0095】
S1680において、リポジトリ定義解析部441は、項目辞書参照情報405に基づいて辞書の値を取得する。この処理を入出力定義403の項目数分繰り返し行った後に、S1690に進む。次に、S1690において、リポジトリ定義解析部441は、S1600において取得したアプリケーションに所属するビジネスプロセス定義404およびデータベース定義406を取得する。
【0096】
S1700において、リポジトリ定義解析部441の結果を受けてWebアプリケーションコード生成部442はプログラムコードを生成する。
【0097】
S1710においてソースコードコンパイル部445はコンパイルを行い、アプリケーションを生成する。
【0098】
上述の実施形態において、プログラミング開発装置(情報処理装置)は、リポジトリ定義部300により、Webアプリケーションの画面への入力される項目とWebアプリケーションの画面に出力する項目とを定義する入出力定義情報を管理している(入出力定義管理手段)。そして、プログラミング開発装置は、項目辞書管理部320により、1または複数の項目(エントリ)と、該項目に対応する所定の定義情報との対応関係を管理している(項目辞書管理手段)さらに、プログラミング開発装置は、Webアプリケーション生成部340により、入出力定義管理手段で管理する入出力定義情報と、項目辞書管理手段で管理する対応関係とを用いてプログラムを生成する(プログラム生成手段)。
【0099】
このことにより、Webアプリケーションに用いられるプログラムを、複数の定義ファイル間で共通の項目を適用して生成することが可能となる。
【0100】
さらに、項目辞書管理手段でエントリと所定の定義情報を管理することにより、同じキーワードの間で異なる定義をすること、あるいは、同じ意味で異なるキーワードを設定することを抑制することができる。これば、複数のユーザからなるグループにより、共通のアプリケーションを開発する場合には、より有効である。
【0101】
さらに、項目辞書管理手段で管理する内容は、一覧表示され、編集、確認、削除等を容易に行うことができる。このため、定義に変更が発生した場合には、その変更箇所を容易に変更するが可能となるため、プログラムの開発工数の削減に寄与する。
【0102】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。特に、プログラム開発装置101の各機能は、本実施の形態に限定されるものでなく、複数のプログラム開発装置で協業して処理されるものであってもよい。更に、プログラム開発装置は、オンプレミス環境で用いられるサーバであってもよいし、クラウドサービスにおける仮想的なサーバであってもよい。
【0103】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0104】
なお、本実施形態は、コンピュータや制御コンピュータがプログラム(コンピュータプログラム)を実行することによって実現することもできる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD-ROM等のコンピュータが読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も実施例として適用することができる。また、上記のプログラムも実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【0105】
以上、実施形態に基づいて詳述してきたが、特定の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲の様々な形態も本発明の範疇に含まれる。さらに、上述した実施形態は一実施の形態を示すものにすぎず、上述した実施形態から容易に想像可能な発明も本発明の範疇に含まれる。
【符号の説明】
【0106】
101 プログラム開発装置
300 リポジトリ定義部
310 リポジトリ定義編集部
320 項目辞書管理部
340 Webアプリケーション生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16