JP2019169002A - ソース作成装置 - Google Patents

ソース作成装置 Download PDF

Info

Publication number
JP2019169002A
JP2019169002A JP2018057132A JP2018057132A JP2019169002A JP 2019169002 A JP2019169002 A JP 2019169002A JP 2018057132 A JP2018057132 A JP 2018057132A JP 2018057132 A JP2018057132 A JP 2018057132A JP 2019169002 A JP2019169002 A JP 2019169002A
Authority
JP
Japan
Prior art keywords
source
information
layer
specified
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018057132A
Other languages
English (en)
Other versions
JP7021990B2 (ja
Inventor
友成 諏佐
Tomonari Susa
友成 諏佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Create Ltd
Original Assignee
Hitachi Solutions Create Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Create Ltd filed Critical Hitachi Solutions Create Ltd
Priority to JP2018057132A priority Critical patent/JP7021990B2/ja
Publication of JP2019169002A publication Critical patent/JP2019169002A/ja
Application granted granted Critical
Publication of JP7021990B2 publication Critical patent/JP7021990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】Webアプリケーションのソースを作成する装置を提供する。【解決手段】ソースプログラムを含むソースを作成するソース作成装置であって、画面項目の情報が格納された機能構成情報部と、画面操作により発生するイベントの処理情報が格納されたイベント情報部と、テンプレートとなるソースが格納されたテンプレートソース情報部と、前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、を備える。【選択図】 図1

Description

本発明は、ソース作成装置に関するものである。
ソフトウェア開発では、低コスト化や納期の短縮化など、ソースプログラムを含むソースの生産性の向上が望まれている。また、Webアプリケーションのように、端末とサーバに処理が多層化され、GUI(Graphical User Interface)をともなうアプリケーションが普及してきており、このようなアプリケーションのソースの生産性の向上は重要である。
ソースの生産性を向上させるために、ソースを自動生成するシステムも提案されており、例えば特許文献1には、第1雛形と対応付けられているソースコード生成規則を記憶する自動生成規則記憶部と、第1設計書及びソース雛形に基づいて、スケルトンクラスソースファイルを生成し、第2の設計書及びソースコード生成規則に基づいて、部品クラスソースファイルを生成するソースファイル生成部とを備える構成が開示されている。
特開2007−241346号公報
特許文献1に開示された構成を用いれば、ソース(ソースコード)の自動生成は可能になる。しかしながら、特許文献1には、Webアプリケーションのソースを自動生成するための十分な構成の開示は見当たらない。
本発明の目的は、Webアプリケーションのソースを作成する装置を提供することである。
本発明に係る代表的なソース作成装置は、ソースプログラムを含むソースを作成するソース作成装置であって、画面項目の情報が格納された機能構成情報部と、画面操作により発生するイベントの処理情報が格納されたイベント情報部と、テンプレートとなるソースが格納されたテンプレートソース情報部と、前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、を備えたことを特徴とする。
本発明によれば、Webアプリケーションのソースを作成する装置を提供することが可能になる。
ソース作成装置の例を示す図である。 各層の例を示す図である。 層間の情報の流れの例を示す図である。 画面項目情報の例を示す図である。 画面情報の例を示す図である。 機能情報の例を示す図である。 問合せの例を示す図である。 クエリ情報の例を示す図である。 イベント定義情報の例を示す図である。 画面イベントパターン情報の例を示す図である。 機能イベントパターン情報の例を示す図である。 テンプレートソース情報の例を示す図である。 ソース作成処理の例を示す図である。 プレゼンテーション層基本ソース作成処理の例を示す図である。 アプリケーション層基本ソース作成処理の例を示す図である。 データアクセス層基本ソース作成処理の例を示す図である。 ソースイベント処理作成処理の例を示す図である。 データアクセス層制御部品提供処理の例を示す図である。
以下、図面を用いて、本発明を実施するための好ましい形態を実施例として説明する。
図1は、ソース作成装置100の例を示す図である。ソース作成装置100は、例えば一般的な計算機であってもよく、プロセッサ180と記憶装置170を備える。プロセッサ180は記憶装置170に格納されたプログラムを実行し、記憶装置170に格納されたデータを処理する。
ソース作成装置100は、プロセッサ180と記憶装置170以外に、図示を省略したネットワークとのインターフェースあるいはユーザインターフェースとなる入出力装置を備えてもよい。また、ソース作成装置100は、ネットワークで相互に接続された複数の計算機から構成されてもよい。
記憶装置170は、メモリ、ハードディスクドライブ、あるいはフラッシュメモリなどの記憶装置であり、これらの組合せであってもよい。機能構成情報部110は、データ(情報)であり、画面項目情報111、画面情報112、機能情報113、および問合せ情報114の各データから構成される。機能構成情報部110に関しては、図4A〜4Eを用いて後でさらに説明する。
イベント情報部120は、データであり、機能イベントパターン情報121、画面イベントパターン情報122、およびイベント定義情報123の各データから構成される。イベント情報部120に関しては、図5A〜5Cを用いて後でさらに説明する。
テンプレートソース情報部130は、データであり、1または複数のテンプレートソース情報131のデータを含む。テンプレートソース情報部130に関しては、図6を用いて後で説明する。
ソース作成処理部140aは、プロセッサ180により実行されるプログラムであり、基本ソース作成部141aとソースイベント処理作成部142aの各プログラムから構成される。
ソース作成処理部140aに関しては、図7と図9を用いて後でさらに説明するが、基本ソース作成部141aとソースイベント処理作成部142aのそれぞれが、基本ソース作成部141b〜141dとソースイベント処理作成部142b〜142dのそれぞれを呼び出す。
プレゼンテーション層ソース作成処理部140b、アプリケーション層ソース作成処理部140c、およびデータアクセス層ソース作成処理部140dのそれぞれは、プロセッサ180により実行されるプログラムであり、基本ソース作成部141b〜141dおよびソースイベント処理作成部142b〜142dそれぞれのいずれかのプログラムを含む。これらのプログラムに関しては、図8A〜8Cを用いて後でさらに説明する。
データアクセス層制御部品提供部150は、プロセッサ180により実行されるプログラムであり、図10を用いて後で説明する。
なお、記憶装置170に格納されたプログラム、例えばソース作成処理部140aというプログラムを実行するプロセッサ180は、ソース作成処理部140aという物すなわち回路とみなされてもよい。
また、記憶装置170に格納されたデータ、例えば機能構成情報部110というデータは、そのデータが読み書きされるプログラムを含むオブジェクトであってもよい。そして、機能構成情報部110を読み書きするプロセッサ180と、読み書きされるデータをまとめて機能構成情報部110という物すなわち回路とみなされてもよい。
このため、ソース作成装置100は、3つの情報部、4つの処理部、および1つの提供部という物を備えた装置とみなされてもよい。
このようなソース作成処理部140aは、プレゼンテーション層ソース作成処理部140b、アプリケーション層ソース作成処理部140c、データアクセス層ソース作成処理部140d、およびデータアクセス層制御部品提供部150を利用して、機能構成情報部110、イベント情報部120、およびテンプレートソース情報部130のデータを処理し、各層のソース160を出力する。
各層のソース160は、プレゼンテーション層ソースファイル161、アプリケーション層ソースファイル162、データアクセス層ソースファイル163、およびデータアクセス制御部品ファイル164から構成され、これらのファイルに関して、図2を用いて次に説明する。
図2は、各層の例を示す図である。図2に示したシステムは、Webアプリケーションの例であり、ユーザ250が端末214(ブラウザ)を操作すると、端末214とネットワークで接続されたサーバ223(Webアプリケーションサーバ)が端末214と情報をやり取りし、サーバ223と接続されたDBサーバ242のDB241にアクセスする。
このようなWebアプリケーションは、多層アプリケーションであり、端末214にプレゼンテーション層210、サーバ223にアプリケーション層220とデータアクセス層230、DBサーバ242にDB層が構成される。ただし、層は、これらの4層に限定されるものではなく、3層以下であってもよいし、5層以上であってもよい。
図2に示した各層のプログラムは互いに連携するものの、処理が分担される等により処理内容そのものは異なるとともに、各処理に適したプログラム言語でソースプログラムが作成されることが一般的であり、プログラム言語も異なる。
プレゼンテーション層210のソースプログラムは「言語A」で作成される。「言語A」は例えばJavaScript(登録商標)などである。アプリケーション層220のソースプログラムは「言語B」で作成される。「言語B」は例えばC#などである。
データアクセス層230のソースプログラムは「言語C」で作成される。「言語C」は例えばSQLなどである。さらに、DB層240のソースプログラムは「言語D」で作成されるというように、層ごとにソースプログラムの言語が異なる場合が多い。
また、ソースプログラムの生産性を別にすれば、データアクセス層230のソースプログラムを「言語B」で作成するなど、層とプログラム言語との組合せにバリエーションのある可能性もある。
プレゼンテーション層210は、静的ページ211、動的ページ212、およびスクリプト言語213を含み、これらは図1に示したプレゼンテーション層ソースファイル161が基となったオブジェクト(コード)である。
ただし、端末214においてインタープリタで処理される場合、オブジェクトはソースそのものであってもよいし、オブジェクトは中間言語のコードであってもよい。また、プレゼンテーション層210は、他のオブジェクトを含んでもよい。
アプリケーション層220は、サービスクラス221と部品クラス222を含む。サービスクラス221が、アプリケーション層ソースファイル162が基となったオブジェクトである。ただし、アプリケーション層220も、他のオブジェクトを含んでもよい。
データアクセス層230は、データアクセス制御クラス231、エンティティクラス232、およびクエリファイル233を含む。データアクセス制御クラス231の一部およびクエリファイルの一部が、データアクセス層ソースファイル163およびデータアクセス制御部品ファイル164が基となったオブジェクトである。以上の複数の層間での情報の流れに関して、図3を用いて次に説明する。
図3は、層間の情報の流れの例を示す図である。図2を用いて説明したものは、同じ符号を付けて説明を省略する。ユーザ250の操作などによりイベントが発生すると、発生時のページがイベント発生元ページ311となる。イベント発生元ページ311は、静的ページ211または動的ページ212である。
イベントに基づいて発生元画面項目情報他321が、プレゼンテーション層210からアプリケーション層220へ送られ、サービスクラス221で処理されて、遷移元画面データ331となる。遷移元画面データ331は、発生元画面項目情報他341としてアプリケーション層220からデータアクセス層230へ送られるとともに、遷移先画面項目データ332へ変換される。
データアクセス層制御部品352とイベントクエリ351は、図2に示したデータアクセス制御クラス231とクエリファイル233のそれぞれ一部である。データアクセス層制御部品352は、発生元画面項目情報他341とイベントクエリ351の情報に基づき、制御用部品群353を介して、DB241へアクセスし、DB241から得られた情報を基にして、発生先画面項目情報他342をアプリケーション層220へ送る。
ここで、エンティティクラス232と制御用部品群353は、ソース作成装置100とは関係なく作成されたデータとオブジェクトであり、サーバ223へ予め格納されていてもよい。
発生先画面項目情報他342は、サービスクラス221で処理されて、遷移先画面項目データ332へ加えられる。遷移先画面項目データ332は、発生先画面項目情報他322としてアプリケーション層220からプレゼンテーション層210へ送られ、イベント発生先ページ312となり、ユーザ250へ表示される。
以上で説明した他に、例えばアプリケーション層220における部品クラス222などの各層における個別処理または専用処理が含まれてもよい。図2と図3では、ソース作成装置100が作成する各層のソース160との関係を主に説明したが、Webアプリケーションにおけるオブジェクト(コード)の動作は、一般的なものと同じであるので、詳しい説明は省略する。
図4Aは、画面項目情報111の例を示す図である。画面項目情報111は、図4Aに示すように、多くの項目と情報(データ)を含むが、各項目は静的属性情報411と動的属性情報412に分けられる。
静的属性情報411は、ソース作成処理部140aが各層のソース160の作成開始前に設定される情報である。ソース作成処理部140aは、静的属性情報411に設定された情報を、各層のソース160のソースファイル、例えばソースプログラムあるいはソースプログラムが読み出すデータ領域に組み込む。
動的属性情報412は、ユーザ250の操作によりイベント発生元ページ311で入力される情報である。ソース作成処理部140aは、動的属性情報412に設定された項目を変数として定義し、各層のソース160のソースファイルに組み込む。
例えば、問合せ情報114から作成されるクエリ情報が、動的な情報であり、条件分岐または繰り返しなどの制御文を含む場合、動的属性情報412に設定された項目から定義された変数は、制御文に組み込まれてもよい。なお、制御文には、静的属性情報411に設定された情報が組み込まれてもよい。
図4Bは画面情報112の例を示す図であり、図4Cは機能情報113の例を示す図である。図4Cに示した例では、「機能名」が「ユーザメンテナンス」と「カードメンテナンス」の両方に対し、「テンプレートソース」として1つの「テンプレートソースその1」が対応付けられている。
このように、機能名が異なる場合であっても、画面の項目情報が異なるだけであり、画面の構造または遷移などが同じ場合は、同じテンプレートソースを使用できるため、2以上の機能名に1つのテンプレートソースが対応付けられてもよい。
図4Dは問合せ情報114の例を示す図である。問合せ情報114の「クエリ名」はクエリ情報を指し示す情報であり、図4Dの例では「Q001」であって、「Q001」のクエリ情報421の例を図4Eに示す。
図4Eに示したクエリ情報421は、SQLで書かれたクエリ情報の例である。クエリ情報421はSQL以外の言語であってもよく、同じ内容の情報となるクエリ情報が複数の異なる言語で作成されてもよい。
クエリ情報は、内容ごとおよび言語ごとのテンプレートが予め設定され、指定された内容および言語にしたがってテンプレートが選択され、静的属性情報411または動的属性情報412に応じて変更されることにより、作成されてもよい。
なお、図4B〜4Dに示した画面情報112、機能情報113、および問合せ情報114も、静的属性情報と動的属性情報を含んでもよい。
図5Aは、イベント定義情報123の例を示す図である。イベント定義情報123は、イベントの処理自体を定義する情報であり、図5Aに示すようにイベントごとに各層の処理が定義されている。イベントにはサブイベントが定義されてもよく、複数のイベントにて同じ処理がある場合は、共通のサブイベントで処理が定義されてもよく、複数の層で同じ処理がある場合も、共通のサブイベントで処理が定義されてもよい。
イベントとサブイベントの処理の記述では、条件分岐または繰り返しなどの制御文、実際に処理を行う命令文、およびその他のイベント処理を読み出す参照指示文の3種類の行から構成される。命令文と参照指示文は、機能構成情報部110で定義された属性情報を変数として含んでもよい。また、制御文は、機能構成情報部110で定義された静的属性情報が使用されてもよい。
また、イベントとサブイベントの処理は、プログラム言語ごとに記述されてもよい。例えば図2を用いて説明したようにデータアクセス層のソースプログラムが「言語B」あるいは「言語C」で記述される場合、イベントのデータアクセス層には「言語B」による処理の記述と「言語C」による処理の記述が選択可能に並んでもよい。
図5Bは、画面イベントパターン情報122の例を示す図である。画面イベントパターン情報122は、画面単位でイベント情報がパターン化され、データベース化された情報を含む。また、図5Cは、機能イベントパターン情報121の例を示す図である。機能イベントパターン情報121は、機能単位でイベント情報がパターン化され、データベース化された情報を含む。
図6は、テンプレートソース情報131の例を示す図である。テンプレートソース情報131は、各層のソースを作成する際のベースとなるソースが定義される。このため、図6ではアプリケーション層220の情報の例を示したが、他にプレゼンテーション層210とデータアクセス層230の情報を含む。
テンプレートソース情報131で定義されるソース(プログラム)は、条件分岐または繰り返しなどの制御文、実際に処理を行う命令文、あるいはクラスまたはプロパティ、さらにメソッドを定義する宣言文などを含んでもよい。これらの各文は、機能構成情報部110で定義された属性情報を変数として含んでもよく、特に、制御文は、機能構成情報部110で定義された静的属性情報が使用されてもよい。
また、テンプレートソース情報131で定義されるソースは、プログラム言語ごとに記述されてもよい。例えば図2を用いて説明したようにデータアクセス層のソースプログラムが「言語B」あるいは「言語C」で記述される場合、データアクセス層のテンプレートソースは、「言語B」による処理の記述のテンプレートソースと「言語C」による処理の記述のテンプレートソースとを含み、選択されてもよい。
図7は、ソース作成処理の例を示す図である。このソース作成処理は、プロセッサ180がソース作成処理部140aのプログラムを実行した処理であってもよい。特に、ステップ701〜703は基本ソース作成部141aであり、ステップ704はソースイベント処理作成部142aである。このため、ソース作成処理部140aなどの各部を主語とする説明は、プロセッサ180を主語とする説明に置き換えられてもよい。
まず、作成対象となるソースの情報が設定されている。設定される情報として、機能名の情報が含まれてもよく、層ごとのソースプログラムの言語の種類の情報が含まれてもよい。これらの情報の設定は、図示を省略したテーブルに設定されてもよいし、ユーザインターフェースを介して設定されてもよい。
そして、こられの設定された情報にしたがって、ソース作成処理部140a(基本ソース作成部141a)は、テンプレートソースあるいはイベント(サブイベント)の処理を特定し、以下の処理で使用する。
ステップ701で、ソース作成処理部140aは、プレゼンテーション層210の基本ソースを作成する。この作成のため、プレゼンテーション層ソース作成処理部140b(基本ソース作成部141b)が呼び出されるが、これに関しては、図8Aを用いて後で説明する。ここで、基本ソースは、イベント処理が組み込まれていないソースである。
ステップ702で、ソース作成処理部140aは、アプリケーション層220の基本ソースを作成する。この作成のため、アプリケーション層ソース作成処理部140c(基本ソース作成部141c)が呼び出されるが、これに関しては、図8Bを用いて後で説明する。
ステップ703で、ソース作成処理部140aは、データアクセス層230の基本ソースを作成する。この作成のため、データアクセス層ソース作成処理部140d(基本ソース作成部141d)が呼び出されるが、これに関しては、図8Cを用いて後で説明する。
各層の基本ソースの作成が終了すると、ステップ704で、ソース作成処理部140a(ソースイベント処理作成部142a)は、各層の基本ソースへイベントに関するソースを組み込む。これに関しては、図9を用いて後で説明する。
最後に、ステップ705で、ソース作成処理部140aは、データアクセス層制御部品の提供処理を行う。この提供のため、データアクセス層制御部品提供部150が呼び出されるが、これに関しては、図10を用いて後で説明する。以上の処理により、各層のソース160は作成される。
図8Aは、プレゼンテーション層基本ソース作成処理の例を示す図である。ステップ801で、プレゼンテーション層ソース作成処理部140b(基本ソース作成部141b)は、機能構成情報部110の機能情報113、画面情報112、および画面項目情報111を読み込む。
ステップ802で、プレゼンテーション層ソース作成処理部140bは、読み込んだ機能構成情報部110の情報に基づいてテンプレートソース情報部130からテンプレートソース情報131を読み込む。
ここで、読み込まれるテンプレートソース情報131は、プレゼンテーション層210に対応するテンプレートソースであるが、プレゼンテーション層210のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
ステップ803で、プレゼンテーション層ソース作成処理部140bは、機能構成情報部110とテンプレートソース情報131の情報を参照し、機能構成情報部110の属性値に基づいてテンプレートソースに含まれる制御文の処理を設定しながら、命令文と宣言文を含むソースを作成する。
この作成の中で、命令文と宣言文に変更情報が含まれている場合は、その変更情報にしたがって機能構成情報部110の属性値が埋め込まれる。
プレゼンテーション層ソース作成処理部140bは、ステップ804で、画面項目情報111を用いて、画面レイアウト情報を定義するソースを作成し、ステップ805で、作成されたソースに、各ソースファイルのインターフェースにおける名前として、画面項目情報111の画面項目を特定するキー情報(画面項目名)を設定する。以上により作成されたソースをプレゼンテーション層基本ソースとする。
図8Bは、アプリケーション層基本ソース作成処理の例を示す図である。アプリケーション層ソース作成処理部140c(基本ソース作成部141c)が実行するステップ811〜813は、ステップ801〜803と同じであるが、プレゼンテーション層210の代わりにアプリケーション層220に対応するテンプレートソースが読み込まれ、使用される。
また、アプリケーション層220のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
次に、イベントにより、プレゼンテーション層210とアプリケーション層220とのデータのインターフェース用のプロパティが必要な場合もあるため、ステップ814で、アプリケーション層ソース作成処理部140cは、イベント情報部120の情報を読み込み、読み込んだイベントの情報と画面項目情報111の情報を用いて、ソースにインターフェース用のプロパティを設定する。
ここで、アプリケーション層ソース作成処理部140cは、インターフェース用のプロパティの変数が多い場合、新たなクラスを定義し、作成するプロパティをそのクラスで定義してもよい。
インターフェース用のプロパティは、プロパティで定義した場合でも、クラスで定義した場合でも、画面項目情報111のキー情報(画面項目名)によりオブジェクトを特定するための情報が設定される。
なお、インターフェース用のプロパティは、例えば図3に示した発生元画面項目情報他321などのプロパティであってもよい。以上により作成されたソースをアプリケーション層基本ソースとする。
図8Cは、データアクセス層基本ソース作成処理の例を示す図である。データアクセス層ソース作成処理部140d(基本ソース作成部141d)が実行するステップ821〜823は、ステップ801〜803と同じであるが、プレゼンテーション層210の代わりにデータアクセス層230に対応するテンプレートソースが読み込まれ、使用される。
また、データアクセス層230のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
次に、ステップ824で、データアクセス層ソース作成処理部140dは、機能構成情報部110の問合せ情報114を読み込み、図4Eに示したようなクエリ情報421を作成する。問合せ情報114以外にクエリ情報そのものが予め定義されている場合は、予め定義されたクエリ情報が、クエリ情報421となってもよい。以上により作成されたソースをデータアクセス層基本ソースとする。
図9は、ソースイベント処理作成処理の例を示す図である。ソース作成処理部140a(ソースイベント処理作成部142a)は、図7に示したステップ704を呼び出し、ステップ901から実行が開始する。
ステップ902で、ソース作成処理部140aは、読み込まれた機能構成情報部110に含まれるイベントに関する情報を1つずつ抽出し、抽出した情報に基づいてイベント情報部120のイベント定義情報123のイベントの処理から1つずつ読み込む。
ステップ902で、ソース作成処理部140aは、読み込まれたイベントの処理がサブイベント処理を含むかを判定し、サブイベント処理を含まないと判定すると、ステップ904へ進み、どこの層の処理であるかを判定する。
ソース作成処理部140aは、ステップ904の判定の結果がプレゼンテーション層である場合、ステップ905へ進み、プレゼンテーション層ソース作成処理部140bのソースイベント処理作成部142bを呼び出し、ステップ904の判定の結果がアプリケーション層である場合、ステップ906へ進み、アプリケーション層ソース作成処理部140cのソースイベント処理作成部142cを呼び出す。
また、ソース作成処理部140aは、ステップ904の判定の結果がデータアクセス層である場合、ステップ907へ進み、データアクセス層ソース作成処理部140dのソースイベント処理作成部142dを呼び出す。
そして、ステップ908で、ソース作成処理部140aは、イベント定義情報123に読み込まれていないイベントの処理が残っている限り、あるいは機能構成情報部110に未抽出のイベントに関する情報が残っている限り、ステップ904へ戻り、次の抽出を行う。
イベントに関する情報の抽出が残らず完了すると、ステップ909で、ソース作成処理部140aは、ステップ902〜908の処理が、ステップ911から開始されるサブイベント処理であったかを判定し、サブイベント処理でなかったと判定すると、ステップ910へ進み、イベント処理を終了する。
ステップ903で、ソース作成処理部140aは、サブイベント処理を含むと判定すると、ステップ912へ進み、図5Aに示したイベントからサブイベントへの点線をたどり、サブイベント処理を実行する。ステップ912のサブイベント処理は、ステップ911から開始される。
サブイベント処理におけるステップ902、908で、ソース作成処理部140aは、イベント定義情報123のイベント処理から1つずつ読み込む代わりに、サブイベント処理から1つずつ読み込む。
ステップ909で、ソース作成処理部140aは、サブイベント処理であったと判定すると、ステップ913へ進み、サブイベント処理を終了し、ステップ912へ戻って、ステップ912からステップ908へ進む。
ソースイベント処理作成部142b〜142dのそれぞれは、それぞれの層の基本ソースへ、イベント定義情報123から読み込まれたイベントの処理をコピーする。ここで、イベント定義情報123の1または複数の行がコピーされてもよい。
読み込まれたイベントの処理が制御文であった場合、機能構成情報部110の属性値に応じて条件分岐または繰り返し処理が設定されてもよい。また、読み込まれたイベントの処理が参照指示文の場合、参照先のイベントのイベント処理が設定されてもよい。
さらに、異なる層へのデータのインターフェースとして、イベントごとに機能構成情報部110の動的属性情報とその動的属性情報を識別できるキー属性との組合せが設定されてもよい。
図10は、データアクセス層制御部品提供処理の例を示す図である。サーバ223のフレームワークなど何らかの制約により、データアクセス層230でイベントクエリ351を使用して、DB241へSQL文が発行できない場合もある。この場合のため、アプリケーション層220からデータアクセス層230へのインターフェースの情報を基にSQL文をDB241へ発行する制御部品を提供する。
ステップ951で、データアクセス層制御部品提供部150は、機能構成情報部110の画面項目情報111を読み込み、アプリケーション層220から受け取る情報を特定して、アプリケーション層220から情報を受け取った場合にDB241へクエリを実行する固定部品クラスを作成する。
以上で説明したように、画面項目の情報とイベントの情報に基づいてソースを作成できるため、特にGUIを用いるアプリケーションのソースの作成することが可能になる。また、機能が異なっていても画面の遷移や制御が同じアプリケーションの作成においては、同じテンプレートを利用でき、画面項目とイベントの情報を各機能に合わせて設定することが可能になる。
さらに、複数の層から成るアプリケーション、特に異なる層が異なる装置に配置され、層ごとにソースのプログラム言語が異なるようなアプリケーションであっても、層ごとのソースのプログラム言語に応じたソースを作成することが可能になる。このようなアプリケーションのソースを作成することが可能になるため、特にWebアプリケーションのソースを、複数の層を通して、作成することが可能になる。
100 ソース作成装置
110 機能構成情報部
120 イベント情報部
130 テンプレートソース情報部
140a ソース作成処理部
140b プレゼンテーション層ソース作成処理部
140c アプリケーション層ソース作成処理部
140d データアクセス層ソース作成処理部
150 データアクセス層制御部品提供部
160 各層のソース

Claims (7)

  1. ソースプログラムを含むソースを作成するソース作成装置であって、
    画面項目の情報が格納された機能構成情報部と、
    画面操作により発生するイベントの処理情報が格納されたイベント情報部と、
    テンプレートとなるソースが格納されたテンプレートソース情報部と、
    前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、
    を備えたことを特徴とするソース作成装置。
  2. 請求項1に記載のソース作成装置であって、
    前記機能構成情報部は、
    2以上の機能名と、前記テンプレートソース情報部に格納された1つのソースとが対応付けられた機能情報と、がさらに格納され、
    前記ソース作成処理部は、
    機能名が指定されると、指定された機能名に対応付けられたソースを前記テンプレートソース情報部の中で特定し、特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成すること
    を特徴とするソース作成装置。
  3. 請求項1に記載のソース作成装置であって、
    前記イベント情報部は、
    前記ソースプログラムの複数のプログラム言語に応じたイベントの処理情報が格納され、
    前記テンプレートソース情報部は、
    前記ソースプログラムの複数のプログラム言語に応じたソースが格納され、
    前記ソース作成処理部は、
    プログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から特定し、特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、特定されたイベントの処理情報を適用して、ソースを作成すること
    を特徴とするソース作成装置。
  4. 請求項3に記載のソース作成装置であって、
    前記ソースは、多層の処理の層ごとのソースであり、
    層ごとのソースは、層ごとのソースプログラムを含み、
    イベント情報部は、
    前記ソースプログラムの層ごとの複数のプログラム言語に応じたイベントの処理情報が格納され、
    前記テンプレートソース情報部は、
    前記ソースプログラムの層ごとの複数のプログラム言語に応じたソースが格納され、
    前記ソース作成処理部は、
    層ごとのプログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から層ごとに特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から層ごとに特定し、層ごとに特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、層ごとの基本ソースを作成し、層ごとに作成された基本ソースへ、層ごとに特定されたイベントの処理情報を適用して、層ごとのソースを作成すること
    を特徴とするソース作成装置。
  5. 請求項4に記載のソース作成装置であって、
    前記テンプレートソース情報部は、
    さらに変更情報を含む命令文と宣言文を有するソースが格納され、
    前記ソース作成処理部は、
    層ごとに特定されたソースの命令文と宣言文に含まれる変更情報にしたがって、前記機能構成情報部に格納された情報を、層ごとに特定されたソースに埋め込むことにより、層ごとの基本ソースを作成すること
    を特徴とするソース作成装置。
  6. 請求項5に記載のソース作成装置であって、
    前記ソースは、端末におけるプレゼンテーション層のソース、およびWebアプリケーションサーバにおけるアプリケーション層のソースとデータアクセス層のソースであること
    を特徴とするソース作成装置。
  7. 請求項6に記載のソース作成装置であって、
    前記機能構成情報部は、
    問合せ情報あるいはクエリ情報がさらに格納され、
    前記ソース作成処理部は、
    プレゼンテーション層、アプリケーション層、およびデータアクセス層それぞれのプログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から層ごとに特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から層ごとに特定し、
    プレゼンテーション層として特定されたソースの命令文と宣言文に含まれる変更情報にしがたって、前記機能構成情報部に格納された情報を、プレゼンテーション層として特定されたソースに埋め込み、前記機能構成情報部に格納された情報に基づいて、画面レイアウト情報を作成することにより、プレゼンテーション層の基本ソースを作成し、
    アプリケーション層として特定されたソースの命令文と宣言文に含まれる変更情報にしがたって、前記機能構成情報部に格納された情報を、アプリケーション層として特定されたソースに埋め込み、前記イベント情報部に格納された情報と前記機能構成情報部に格納された情報に基づいて、他の層とのインターフェース用のプロパティを作成することにより、アプリケーション層の基本ソースを作成し、
    データアクセス層として特定されたソースの命令文と宣言文に含まれる変更情報にしがたって、前記機能構成情報部に格納された情報を、データアクセス層として特定されたソースに埋め込み、前記機能構成情報部に格納された問合せ情報に基づいてクエリ情報を作成する、あるいは前記機能構成情報部に格納されたクエリ情報を使用することにより、データアクセス層の基本ソースを作成し、
    プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとに作成された基本ソースへ、プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとに特定されたイベントの処理情報を適用して、プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとのソースを作成すること
    を特徴とするソース作成装置。
JP2018057132A 2018-03-23 2018-03-23 ソース作成装置 Active JP7021990B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018057132A JP7021990B2 (ja) 2018-03-23 2018-03-23 ソース作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018057132A JP7021990B2 (ja) 2018-03-23 2018-03-23 ソース作成装置

Publications (2)

Publication Number Publication Date
JP2019169002A true JP2019169002A (ja) 2019-10-03
JP7021990B2 JP7021990B2 (ja) 2022-02-17

Family

ID=68108352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018057132A Active JP7021990B2 (ja) 2018-03-23 2018-03-23 ソース作成装置

Country Status (1)

Country Link
JP (1) JP7021990B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102293A (ja) * 1997-09-29 1999-04-13 Mitsubishi Electric Corp プログラム自動生成方法
JP2010211292A (ja) * 2009-03-06 2010-09-24 Mitsubishi Electric Corp 画面表示プログラム生成装置及び画面表示システム及びコンピュータプログラム及び画面表示プログラム生成方法
JP2012150740A (ja) * 2011-01-21 2012-08-09 Hitachi Ltd プログラム生成装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102293A (ja) * 1997-09-29 1999-04-13 Mitsubishi Electric Corp プログラム自動生成方法
JP2010211292A (ja) * 2009-03-06 2010-09-24 Mitsubishi Electric Corp 画面表示プログラム生成装置及び画面表示システム及びコンピュータプログラム及び画面表示プログラム生成方法
JP2012150740A (ja) * 2011-01-21 2012-08-09 Hitachi Ltd プログラム生成装置及び方法

Also Published As

Publication number Publication date
JP7021990B2 (ja) 2022-02-17

Similar Documents

Publication Publication Date Title
JP6487282B2 (ja) ワークフロー管理システムにおいて実行するためのアプリケーションを開発する方法、及びワークフロー管理システムにおいて実行するためのアプリケーションの生成を支援する装置
CN112036736A (zh) 一种工作流创建方法及装置
KR101275871B1 (ko) SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
US20150302110A1 (en) Decoupling front end and back end pages using tags
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
CN107368346A (zh) 一种基于元数据和脚本引擎的代码生成方法及装置
US20150234798A1 (en) System and method for changing a web ui application appearance based on state through css selector cascading
US7603624B2 (en) System and method for styling content in a graphical user interface control
CN108664242B (zh) 生成可视化界面的方法、装置、电子设备和可读存储介质
CN114564252A (zh) 一种低代码平台的事件配置方法、系统、设备及介质
US8214753B2 (en) Logic for designing portlet views
CN113407284A (zh) 导航界面的生成方法、装置、存储介质及电子设备
CN111782213A (zh) 基于dom的动态控制页面生成系统
CN117215556A (zh) 模块化的页面快速构建方法、系统、设备及介质
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
US10649743B2 (en) Application developing method and system
JP7021990B2 (ja) ソース作成装置
JP5766651B2 (ja) 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法
Inayatullah et al. Model-based scaffolding code generation for cross-platform applications
CN110968311A (zh) 前端页面构建方法、装置及电子设备
JP5820324B2 (ja) 設計支援システム、設計支援方法およびプログラム
US11977866B2 (en) Application screen display program installing method
JP2014059699A (ja) デモアプリケーション生成システムおよびデモアプリケーション生成プログラム
JP5962116B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP2015148925A (ja) プログラム生成装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220204

R150 Certificate of patent or registration of utility model

Ref document number: 7021990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150