JP7021990B2 - Source creator - Google Patents
Source creator Download PDFInfo
- Publication number
- JP7021990B2 JP7021990B2 JP2018057132A JP2018057132A JP7021990B2 JP 7021990 B2 JP7021990 B2 JP 7021990B2 JP 2018057132 A JP2018057132 A JP 2018057132A JP 2018057132 A JP2018057132 A JP 2018057132A JP 7021990 B2 JP7021990 B2 JP 7021990B2
- Authority
- JP
- Japan
- Prior art keywords
- source
- information
- layer
- specified
- event
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソース作成装置に関するものである。 The present invention relates to a source creation device.
ソフトウェア開発では、低コスト化や納期の短縮化など、ソースプログラムを含むソースの生産性の向上が望まれている。また、Webアプリケーションのように、端末とサーバに処理が多層化され、GUI(Graphical User Interface)をともなうアプリケーションが普及してきており、このようなアプリケーションのソースの生産性の向上は重要である。 In software development, it is desired to improve the productivity of sources including source programs, such as cost reduction and shortening of delivery time. In addition, applications such as Web applications, in which processes are multi-layered on terminals and servers and GUIs (Graphical User Interface) are becoming widespread, it is important to improve the productivity of the sources of such applications.
ソースの生産性を向上させるために、ソースを自動生成するシステムも提案されており、例えば特許文献1には、第1雛形と対応付けられているソースコード生成規則を記憶する自動生成規則記憶部と、第1設計書及びソース雛形に基づいて、スケルトンクラスソースファイルを生成し、第2の設計書及びソースコード生成規則に基づいて、部品クラスソースファイルを生成するソースファイル生成部とを備える構成が開示されている。 In order to improve the productivity of the source, a system for automatically generating the source has also been proposed. For example, in Patent Document 1, an automatic generation rule storage unit that stores a source code generation rule associated with the first template. And a source file generator that generates a skeleton class source file based on the first design document and source template, and generates a component class source file based on the second design document and source code generation rules. Is disclosed.
特許文献1に開示された構成を用いれば、ソース(ソースコード)の自動生成は可能になる。しかしながら、特許文献1には、Webアプリケーションのソースを自動生成するための十分な構成の開示は見当たらない。 If the configuration disclosed in Patent Document 1 is used, the source (source code) can be automatically generated. However, Patent Document 1 does not disclose a sufficient configuration for automatically generating a source of a Web application.
本発明の目的は、Webアプリケーションのソースを作成する装置を提供することである。 An object of the present invention is to provide a device for creating a source of a Web application.
本発明に係る代表的なソース作成装置は、ソースプログラムを含むソースを作成するソース作成装置であって、画面項目の情報が格納された機能構成情報部と、画面操作により発生するイベントの処理情報が格納されたイベント情報部と、テンプレートとなるソースが格納されたテンプレートソース情報部と、前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、を備えたことを特徴とする。 A typical source creation device according to the present invention is a source creation device that creates a source including a source program, and has a function configuration information unit in which information on screen items is stored and processing information of an event generated by a screen operation. The information of the screen items stored in the functional configuration information section is applied to the event information section in which is stored, the template source information section in which the source to be the template is stored, and the source stored in the template source information section. Then, a basic source is created, and the source creation processing unit that creates the source by applying the processing information of the event stored in the event information unit to the created basic source is provided. do.
本発明によれば、Webアプリケーションのソースを作成する装置を提供することが可能になる。 According to the present invention, it becomes possible to provide a device for creating a source of a Web application.
以下、図面を用いて、本発明を実施するための好ましい形態を実施例として説明する。
図1は、ソース作成装置100の例を示す図である。ソース作成装置100は、例えば一般的な計算機であってもよく、プロセッサ180と記憶装置170を備える。プロセッサ180は記憶装置170に格納されたプログラムを実行し、記憶装置170に格納されたデータを処理する。
Hereinafter, preferred embodiments for carrying out the present invention will be described as examples with reference to the drawings.
FIG. 1 is a diagram showing an example of a
ソース作成装置100は、プロセッサ180と記憶装置170以外に、図示を省略したネットワークとのインターフェースあるいはユーザインターフェースとなる入出力装置を備えてもよい。また、ソース作成装置100は、ネットワークで相互に接続された複数の計算機から構成されてもよい。
In addition to the
記憶装置170は、メモリ、ハードディスクドライブ、あるいはフラッシュメモリなどの記憶装置であり、これらの組合せであってもよい。機能構成情報部110は、データ(情報)であり、画面項目情報111、画面情報112、機能情報113、および問合せ情報114の各データから構成される。機能構成情報部110に関しては、図4A~4Eを用いて後でさらに説明する。
The
イベント情報部120は、データであり、機能イベントパターン情報121、画面イベントパターン情報122、およびイベント定義情報123の各データから構成される。イベント情報部120に関しては、図5A~5Cを用いて後でさらに説明する。
The
テンプレートソース情報部130は、データであり、1または複数のテンプレートソース情報131のデータを含む。テンプレートソース情報部130に関しては、図6を用いて後で説明する。
The template
ソース作成処理部140aは、プロセッサ180により実行されるプログラムであり、基本ソース作成部141aとソースイベント処理作成部142aの各プログラムから構成される。
The source
ソース作成処理部140aに関しては、図7と図9を用いて後でさらに説明するが、基本ソース作成部141aとソースイベント処理作成部142aのそれぞれが、基本ソース作成部141b~141dとソースイベント処理作成部142b~142dのそれぞれを呼び出す。
The source
プレゼンテーション層ソース作成処理部140b、アプリケーション層ソース作成処理部140c、およびデータアクセス層ソース作成処理部140dのそれぞれは、プロセッサ180により実行されるプログラムであり、基本ソース作成部141b~141dおよびソースイベント処理作成部142b~142dそれぞれのいずれかのプログラムを含む。これらのプログラムに関しては、図8A~8Cを用いて後でさらに説明する。
Each of the presentation layer source
データアクセス層制御部品提供部150は、プロセッサ180により実行されるプログラムであり、図10を用いて後で説明する。
The data access layer control
なお、記憶装置170に格納されたプログラム、例えばソース作成処理部140aというプログラムを実行するプロセッサ180は、ソース作成処理部140aという物すなわち回路とみなされてもよい。
The
また、記憶装置170に格納されたデータ、例えば機能構成情報部110というデータは、そのデータが読み書きされるプログラムを含むオブジェクトであってもよい。そして、機能構成情報部110を読み書きするプロセッサ180と、読み書きされるデータをまとめて機能構成情報部110という物すなわち回路とみなされてもよい。
Further, the data stored in the
このため、ソース作成装置100は、3つの情報部、4つの処理部、および1つの提供部という物を備えた装置とみなされてもよい。
Therefore, the
このようなソース作成処理部140aは、プレゼンテーション層ソース作成処理部140b、アプリケーション層ソース作成処理部140c、データアクセス層ソース作成処理部140d、およびデータアクセス層制御部品提供部150を利用して、機能構成情報部110、イベント情報部120、およびテンプレートソース情報部130のデータを処理し、各層のソース160を出力する。
Such a source
各層のソース160は、プレゼンテーション層ソースファイル161、アプリケーション層ソースファイル162、データアクセス層ソースファイル163、およびデータアクセス制御部品ファイル164から構成され、これらのファイルに関して、図2を用いて次に説明する。
The
図2は、各層の例を示す図である。図2に示したシステムは、Webアプリケーションの例であり、ユーザ250が端末214(ブラウザ)を操作すると、端末214とネットワークで接続されたサーバ223(Webアプリケーションサーバ)が端末214と情報をやり取りし、サーバ223と接続されたDBサーバ242のDB241にアクセスする。
FIG. 2 is a diagram showing an example of each layer. The system shown in FIG. 2 is an example of a Web application. When the
このようなWebアプリケーションは、多層アプリケーションであり、端末214にプレゼンテーション層210、サーバ223にアプリケーション層220とデータアクセス層230、DBサーバ242にDB層が構成される。ただし、層は、これらの4層に限定されるものではなく、3層以下であってもよいし、5層以上であってもよい。
Such a Web application is a multi-layer application, and the terminal 214 has a
図2に示した各層のプログラムは互いに連携するものの、処理が分担される等により処理内容そのものは異なるとともに、各処理に適したプログラム言語でソースプログラムが作成されることが一般的であり、プログラム言語も異なる。 Although the programs of each layer shown in FIG. 2 cooperate with each other, the processing contents themselves differ due to the division of processing, etc., and the source program is generally created in a programming language suitable for each processing. The language is also different.
プレゼンテーション層210のソースプログラムは「言語A」で作成される。「言語A」は例えばJavaScript(登録商標)などである。アプリケーション層220のソースプログラムは「言語B」で作成される。「言語B」は例えばC#などである。
The source program of the
データアクセス層230のソースプログラムは「言語C」で作成される。「言語C」は例えばSQLなどである。さらに、DB層240のソースプログラムは「言語D」で作成されるというように、層ごとにソースプログラムの言語が異なる場合が多い。
The source program of the
また、ソースプログラムの生産性を別にすれば、データアクセス層230のソースプログラムを「言語B」で作成するなど、層とプログラム言語との組合せにバリエーションのある可能性もある。
Further, apart from the productivity of the source program, there may be variations in the combination of the layer and the programming language, such as creating the source program of the
プレゼンテーション層210は、静的ページ211、動的ページ212、およびスクリプト言語213を含み、これらは図1に示したプレゼンテーション層ソースファイル161が基となったオブジェクト(コード)である。
The
ただし、端末214においてインタープリタで処理される場合、オブジェクトはソースそのものであってもよいし、オブジェクトは中間言語のコードであってもよい。また、プレゼンテーション層210は、他のオブジェクトを含んでもよい。
However, when processed by the interpreter at the terminal 214, the object may be the source itself, or the object may be an intermediate language code. Further, the
アプリケーション層220は、サービスクラス221と部品クラス222を含む。サービスクラス221が、アプリケーション層ソースファイル162が基となったオブジェクトである。ただし、アプリケーション層220も、他のオブジェクトを含んでもよい。
The
データアクセス層230は、データアクセス制御クラス231、エンティティクラス232、およびクエリファイル233を含む。データアクセス制御クラス231の一部およびクエリファイルの一部が、データアクセス層ソースファイル163およびデータアクセス制御部品ファイル164が基となったオブジェクトである。以上の複数の層間での情報の流れに関して、図3を用いて次に説明する。
The
図3は、層間の情報の流れの例を示す図である。図2を用いて説明したものは、同じ符号を付けて説明を省略する。ユーザ250の操作などによりイベントが発生すると、発生時のページがイベント発生元ページ311となる。イベント発生元ページ311は、静的ページ211または動的ページ212である。
FIG. 3 is a diagram showing an example of information flow between layers. Those described with reference to FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. When an event occurs due to an operation of the
イベントに基づいて発生元画面項目情報他321が、プレゼンテーション層210からアプリケーション層220へ送られ、サービスクラス221で処理されて、遷移元画面データ331となる。遷移元画面データ331は、発生元画面項目情報他341としてアプリケーション層220からデータアクセス層230へ送られるとともに、遷移先画面項目データ332へ変換される。
Based on the event, the source screen item information and 321 are sent from the
データアクセス層制御部品352とイベントクエリ351は、図2に示したデータアクセス制御クラス231とクエリファイル233のそれぞれ一部である。データアクセス層制御部品352は、発生元画面項目情報他341とイベントクエリ351の情報に基づき、制御用部品群353を介して、DB241へアクセスし、DB241から得られた情報を基にして、発生先画面項目情報他342をアプリケーション層220へ送る。
The data access
ここで、エンティティクラス232と制御用部品群353は、ソース作成装置100とは関係なく作成されたデータとオブジェクトであり、サーバ223へ予め格納されていてもよい。
Here, the
発生先画面項目情報他342は、サービスクラス221で処理されて、遷移先画面項目データ332へ加えられる。遷移先画面項目データ332は、発生先画面項目情報他322としてアプリケーション層220からプレゼンテーション層210へ送られ、イベント発生先ページ312となり、ユーザ250へ表示される。
The generation destination screen item information and
以上で説明した他に、例えばアプリケーション層220における部品クラス222などの各層における個別処理または専用処理が含まれてもよい。図2と図3では、ソース作成装置100が作成する各層のソース160との関係を主に説明したが、Webアプリケーションにおけるオブジェクト(コード)の動作は、一般的なものと同じであるので、詳しい説明は省略する。
In addition to the above description, individual processing or dedicated processing in each layer such as the
図4Aは、画面項目情報111の例を示す図である。画面項目情報111は、図4Aに示すように、多くの項目と情報(データ)を含むが、各項目は静的属性情報411と動的属性情報412に分けられる。
FIG. 4A is a diagram showing an example of
静的属性情報411は、ソース作成処理部140aが各層のソース160の作成開始前に設定される情報である。ソース作成処理部140aは、静的属性情報411に設定された情報を、各層のソース160のソースファイル、例えばソースプログラムあるいはソースプログラムが読み出すデータ領域に組み込む。
The
動的属性情報412は、ユーザ250の操作によりイベント発生元ページ311で入力される情報である。ソース作成処理部140aは、動的属性情報412に設定された項目を変数として定義し、各層のソース160のソースファイルに組み込む。
The
例えば、問合せ情報114から作成されるクエリ情報が、動的な情報であり、条件分岐または繰り返しなどの制御文を含む場合、動的属性情報412に設定された項目から定義された変数は、制御文に組み込まれてもよい。なお、制御文には、静的属性情報411に設定された情報が組み込まれてもよい。
For example, when the query information created from the
図4Bは画面情報112の例を示す図であり、図4Cは機能情報113の例を示す図である。図4Cに示した例では、「機能名」が「ユーザメンテナンス」と「カードメンテナンス」の両方に対し、「テンプレートソース」として1つの「テンプレートソースその1」が対応付けられている。
FIG. 4B is a diagram showing an example of
このように、機能名が異なる場合であっても、画面の項目情報が異なるだけであり、画面の構造または遷移などが同じ場合は、同じテンプレートソースを使用できるため、2以上の機能名に1つのテンプレートソースが対応付けられてもよい。 In this way, even if the function names are different, only the item information on the screen is different, and if the screen structure or transition is the same, the same template source can be used, so 1 for 2 or more function names. Two template sources may be associated.
図4Dは問合せ情報114の例を示す図である。問合せ情報114の「クエリ名」はクエリ情報を指し示す情報であり、図4Dの例では「Q001」であって、「Q001」のクエリ情報421の例を図4Eに示す。
FIG. 4D is a diagram showing an example of
図4Eに示したクエリ情報421は、SQLで書かれたクエリ情報の例である。クエリ情報421はSQL以外の言語であってもよく、同じ内容の情報となるクエリ情報が複数の異なる言語で作成されてもよい。
The
クエリ情報は、内容ごとおよび言語ごとのテンプレートが予め設定され、指定された内容および言語にしたがってテンプレートが選択され、静的属性情報411または動的属性情報412に応じて変更されることにより、作成されてもよい。
Query information is created by presetting templates for each content and language, selecting templates according to the specified content and language, and changing them according to
なお、図4B~4Dに示した画面情報112、機能情報113、および問合せ情報114も、静的属性情報と動的属性情報を含んでもよい。
The
図5Aは、イベント定義情報123の例を示す図である。イベント定義情報123は、イベントの処理自体を定義する情報であり、図5Aに示すようにイベントごとに各層の処理が定義されている。イベントにはサブイベントが定義されてもよく、複数のイベントにて同じ処理がある場合は、共通のサブイベントで処理が定義されてもよく、複数の層で同じ処理がある場合も、共通のサブイベントで処理が定義されてもよい。
FIG. 5A is a diagram showing an example of
イベントとサブイベントの処理の記述では、条件分岐または繰り返しなどの制御文、実際に処理を行う命令文、およびその他のイベント処理を読み出す参照指示文の3種類の行から構成される。命令文と参照指示文は、機能構成情報部110で定義された属性情報を変数として含んでもよい。また、制御文は、機能構成情報部110で定義された静的属性情報が使用されてもよい。
The description of event and sub-event processing consists of three types of lines: a control statement such as conditional branching or repetition, an instruction statement that actually performs processing, and a reference statement that reads other event processing. The instruction statement and the reference instruction statement may include the attribute information defined in the function
また、イベントとサブイベントの処理は、プログラム言語ごとに記述されてもよい。例えば図2を用いて説明したようにデータアクセス層のソースプログラムが「言語B」あるいは「言語C」で記述される場合、イベントのデータアクセス層には「言語B」による処理の記述と「言語C」による処理の記述が選択可能に並んでもよい。 Further, the processing of the event and the sub-event may be described for each programming language. For example, when the source program of the data access layer is described in "Language B" or "Language C" as described with reference to FIG. 2, the data access layer of the event is described in the process by "Language B" and "Language". The description of the process according to "C" may be arranged in a selectable manner.
図5Bは、画面イベントパターン情報122の例を示す図である。画面イベントパターン情報122は、画面単位でイベント情報がパターン化され、データベース化された情報を含む。また、図5Cは、機能イベントパターン情報121の例を示す図である。機能イベントパターン情報121は、機能単位でイベント情報がパターン化され、データベース化された情報を含む。
FIG. 5B is a diagram showing an example of the screen
図6は、テンプレートソース情報131の例を示す図である。テンプレートソース情報131は、各層のソースを作成する際のベースとなるソースが定義される。このため、図6ではアプリケーション層220の情報の例を示したが、他にプレゼンテーション層210とデータアクセス層230の情報を含む。
FIG. 6 is a diagram showing an example of
テンプレートソース情報131で定義されるソース(プログラム)は、条件分岐または繰り返しなどの制御文、実際に処理を行う命令文、あるいはクラスまたはプロパティ、さらにメソッドを定義する宣言文などを含んでもよい。これらの各文は、機能構成情報部110で定義された属性情報を変数として含んでもよく、特に、制御文は、機能構成情報部110で定義された静的属性情報が使用されてもよい。
The source (program) defined in the
また、テンプレートソース情報131で定義されるソースは、プログラム言語ごとに記述されてもよい。例えば図2を用いて説明したようにデータアクセス層のソースプログラムが「言語B」あるいは「言語C」で記述される場合、データアクセス層のテンプレートソースは、「言語B」による処理の記述のテンプレートソースと「言語C」による処理の記述のテンプレートソースとを含み、選択されてもよい。
Further, the source defined in the
図7は、ソース作成処理の例を示す図である。このソース作成処理は、プロセッサ180がソース作成処理部140aのプログラムを実行した処理であってもよい。特に、ステップ701~703は基本ソース作成部141aであり、ステップ704はソースイベント処理作成部142aである。このため、ソース作成処理部140aなどの各部を主語とする説明は、プロセッサ180を主語とする説明に置き換えられてもよい。
FIG. 7 is a diagram showing an example of the source creation process. This source creation process may be a process in which the
まず、作成対象となるソースの情報が設定されている。設定される情報として、機能名の情報が含まれてもよく、層ごとのソースプログラムの言語の種類の情報が含まれてもよい。これらの情報の設定は、図示を省略したテーブルに設定されてもよいし、ユーザインターフェースを介して設定されてもよい。 First, the information of the source to be created is set. As the information to be set, the information of the function name may be included, or the information of the language type of the source program for each layer may be included. The setting of this information may be set in a table (not shown) or may be set via a user interface.
そして、こられの設定された情報にしたがって、ソース作成処理部140a(基本ソース作成部141a)は、テンプレートソースあるいはイベント(サブイベント)の処理を特定し、以下の処理で使用する。
Then, according to these set information, the source
ステップ701で、ソース作成処理部140aは、プレゼンテーション層210の基本ソースを作成する。この作成のため、プレゼンテーション層ソース作成処理部140b(基本ソース作成部141b)が呼び出されるが、これに関しては、図8Aを用いて後で説明する。ここで、基本ソースは、イベント処理が組み込まれていないソースである。
In
ステップ702で、ソース作成処理部140aは、アプリケーション層220の基本ソースを作成する。この作成のため、アプリケーション層ソース作成処理部140c(基本ソース作成部141c)が呼び出されるが、これに関しては、図8Bを用いて後で説明する。
In
ステップ703で、ソース作成処理部140aは、データアクセス層230の基本ソースを作成する。この作成のため、データアクセス層ソース作成処理部140d(基本ソース作成部141d)が呼び出されるが、これに関しては、図8Cを用いて後で説明する。
In
各層の基本ソースの作成が終了すると、ステップ704で、ソース作成処理部140a(ソースイベント処理作成部142a)は、各層の基本ソースへイベントに関するソースを組み込む。これに関しては、図9を用いて後で説明する。
When the creation of the basic source of each layer is completed, in
最後に、ステップ705で、ソース作成処理部140aは、データアクセス層制御部品の提供処理を行う。この提供のため、データアクセス層制御部品提供部150が呼び出されるが、これに関しては、図10を用いて後で説明する。以上の処理により、各層のソース160は作成される。
Finally, in
図8Aは、プレゼンテーション層基本ソース作成処理の例を示す図である。ステップ801で、プレゼンテーション層ソース作成処理部140b(基本ソース作成部141b)は、機能構成情報部110の機能情報113、画面情報112、および画面項目情報111を読み込む。
FIG. 8A is a diagram showing an example of a presentation layer basic source creation process. In
ステップ802で、プレゼンテーション層ソース作成処理部140bは、読み込んだ機能構成情報部110の情報に基づいてテンプレートソース情報部130からテンプレートソース情報131を読み込む。
In
ここで、読み込まれるテンプレートソース情報131は、プレゼンテーション層210に対応するテンプレートソースであるが、プレゼンテーション層210のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
Here, the
ステップ803で、プレゼンテーション層ソース作成処理部140bは、機能構成情報部110とテンプレートソース情報131の情報を参照し、機能構成情報部110の属性値に基づいてテンプレートソースに含まれる制御文の処理を設定しながら、命令文と宣言文を含むソースを作成する。
In
この作成の中で、命令文と宣言文に変更情報が含まれている場合は、その変更情報にしたがって機能構成情報部110の属性値が埋め込まれる。
If the instruction statement and the declaration statement include change information in this creation, the attribute value of the function
プレゼンテーション層ソース作成処理部140bは、ステップ804で、画面項目情報111を用いて、画面レイアウト情報を定義するソースを作成し、ステップ805で、作成されたソースに、各ソースファイルのインターフェースにおける名前として、画面項目情報111の画面項目を特定するキー情報(画面項目名)を設定する。以上により作成されたソースをプレゼンテーション層基本ソースとする。
In
図8Bは、アプリケーション層基本ソース作成処理の例を示す図である。アプリケーション層ソース作成処理部140c(基本ソース作成部141c)が実行するステップ811~813は、ステップ801~803と同じであるが、プレゼンテーション層210の代わりにアプリケーション層220に対応するテンプレートソースが読み込まれ、使用される。
FIG. 8B is a diagram showing an example of an application layer basic source creation process.
また、アプリケーション層220のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
Further, when the programming language of the
次に、イベントにより、プレゼンテーション層210とアプリケーション層220とのデータのインターフェース用のプロパティが必要な場合もあるため、ステップ814で、アプリケーション層ソース作成処理部140cは、イベント情報部120の情報を読み込み、読み込んだイベントの情報と画面項目情報111の情報を用いて、ソースにインターフェース用のプロパティを設定する。
Next, since the property may be required for the data interface between the
ここで、アプリケーション層ソース作成処理部140cは、インターフェース用のプロパティの変数が多い場合、新たなクラスを定義し、作成するプロパティをそのクラスで定義してもよい。
Here, the application layer source
インターフェース用のプロパティは、プロパティで定義した場合でも、クラスで定義した場合でも、画面項目情報111のキー情報(画面項目名)によりオブジェクトを特定するための情報が設定される。
The property for the interface is set with the information for specifying the object by the key information (screen item name) of the
なお、インターフェース用のプロパティは、例えば図3に示した発生元画面項目情報他321などのプロパティであってもよい。以上により作成されたソースをアプリケーション層基本ソースとする。 The property for the interface may be, for example, a property such as the source screen item information and 321 shown in FIG. The source created as described above is used as the application layer basic source.
図8Cは、データアクセス層基本ソース作成処理の例を示す図である。データアクセス層ソース作成処理部140d(基本ソース作成部141d)が実行するステップ821~823は、ステップ801~803と同じであるが、プレゼンテーション層210の代わりにデータアクセス層230に対応するテンプレートソースが読み込まれ、使用される。
FIG. 8C is a diagram showing an example of a data access layer basic source creation process.
また、データアクセス層230のプログラム言語が指定されている場合、指定されたプログラム言語にさらに対応するテンプレートソースである。
Further, when the programming language of the
次に、ステップ824で、データアクセス層ソース作成処理部140dは、機能構成情報部110の問合せ情報114を読み込み、図4Eに示したようなクエリ情報421を作成する。問合せ情報114以外にクエリ情報そのものが予め定義されている場合は、予め定義されたクエリ情報が、クエリ情報421となってもよい。以上により作成されたソースをデータアクセス層基本ソースとする。
Next, in
図9は、ソースイベント処理作成処理の例を示す図である。ソース作成処理部140a(ソースイベント処理作成部142a)は、図7に示したステップ704を呼び出し、ステップ901から実行が開始する。
FIG. 9 is a diagram showing an example of a source event process creation process. The source
ステップ902で、ソース作成処理部140aは、読み込まれた機能構成情報部110に含まれるイベントに関する情報を1つずつ抽出し、抽出した情報に基づいてイベント情報部120のイベント定義情報123のイベントの処理から1つずつ読み込む。
In
ステップ902で、ソース作成処理部140aは、読み込まれたイベントの処理がサブイベント処理を含むかを判定し、サブイベント処理を含まないと判定すると、ステップ904へ進み、どこの層の処理であるかを判定する。
In
ソース作成処理部140aは、ステップ904の判定の結果がプレゼンテーション層である場合、ステップ905へ進み、プレゼンテーション層ソース作成処理部140bのソースイベント処理作成部142bを呼び出し、ステップ904の判定の結果がアプリケーション層である場合、ステップ906へ進み、アプリケーション層ソース作成処理部140cのソースイベント処理作成部142cを呼び出す。
When the determination result of
また、ソース作成処理部140aは、ステップ904の判定の結果がデータアクセス層である場合、ステップ907へ進み、データアクセス層ソース作成処理部140dのソースイベント処理作成部142dを呼び出す。
If the determination result in
そして、ステップ908で、ソース作成処理部140aは、イベント定義情報123に読み込まれていないイベントの処理が残っている限り、あるいは機能構成情報部110に未抽出のイベントに関する情報が残っている限り、ステップ904へ戻り、次の抽出を行う。
Then, in
イベントに関する情報の抽出が残らず完了すると、ステップ909で、ソース作成処理部140aは、ステップ902~908の処理が、ステップ911から開始されるサブイベント処理であったかを判定し、サブイベント処理でなかったと判定すると、ステップ910へ進み、イベント処理を終了する。
When the extraction of all the information related to the event is completed, in
ステップ903で、ソース作成処理部140aは、サブイベント処理を含むと判定すると、ステップ912へ進み、図5Aに示したイベントからサブイベントへの点線をたどり、サブイベント処理を実行する。ステップ912のサブイベント処理は、ステップ911から開始される。
If the source
サブイベント処理におけるステップ902、908で、ソース作成処理部140aは、イベント定義情報123のイベント処理から1つずつ読み込む代わりに、サブイベント処理から1つずつ読み込む。
In
ステップ909で、ソース作成処理部140aは、サブイベント処理であったと判定すると、ステップ913へ進み、サブイベント処理を終了し、ステップ912へ戻って、ステップ912からステップ908へ進む。
If the source
ソースイベント処理作成部142b~142dのそれぞれは、それぞれの層の基本ソースへ、イベント定義情報123から読み込まれたイベントの処理をコピーする。ここで、イベント定義情報123の1または複数の行がコピーされてもよい。
Each of the source event
読み込まれたイベントの処理が制御文であった場合、機能構成情報部110の属性値に応じて条件分岐または繰り返し処理が設定されてもよい。また、読み込まれたイベントの処理が参照指示文の場合、参照先のイベントのイベント処理が設定されてもよい。
When the processing of the read event is a control statement, conditional branching or repetitive processing may be set according to the attribute value of the function
さらに、異なる層へのデータのインターフェースとして、イベントごとに機能構成情報部110の動的属性情報とその動的属性情報を識別できるキー属性との組合せが設定されてもよい。
Further, as a data interface to different layers, a combination of the dynamic attribute information of the function
図10は、データアクセス層制御部品提供処理の例を示す図である。サーバ223のフレームワークなど何らかの制約により、データアクセス層230でイベントクエリ351を使用して、DB241へSQL文が発行できない場合もある。この場合のため、アプリケーション層220からデータアクセス層230へのインターフェースの情報を基にSQL文をDB241へ発行する制御部品を提供する。
FIG. 10 is a diagram showing an example of a data access layer control component providing process. Due to some restrictions such as the framework of the
ステップ951で、データアクセス層制御部品提供部150は、機能構成情報部110の画面項目情報111を読み込み、アプリケーション層220から受け取る情報を特定して、アプリケーション層220から情報を受け取った場合にDB241へクエリを実行する固定部品クラスを作成する。
In
以上で説明したように、画面項目の情報とイベントの情報に基づいてソースを作成できるため、特にGUIを用いるアプリケーションのソースの作成することが可能になる。また、機能が異なっていても画面の遷移や制御が同じアプリケーションの作成においては、同じテンプレートを利用でき、画面項目とイベントの情報を各機能に合わせて設定することが可能になる。 As described above, since the source can be created based on the screen item information and the event information, it is possible to create the source of the application using the GUI in particular. In addition, the same template can be used when creating an application with the same screen transitions and controls even if the functions are different, and screen items and event information can be set according to each function.
さらに、複数の層から成るアプリケーション、特に異なる層が異なる装置に配置され、層ごとにソースのプログラム言語が異なるようなアプリケーションであっても、層ごとのソースのプログラム言語に応じたソースを作成することが可能になる。このようなアプリケーションのソースを作成することが可能になるため、特にWebアプリケーションのソースを、複数の層を通して、作成することが可能になる。 Furthermore, even if an application consists of multiple layers, especially an application in which different layers are arranged in different devices and the programming language of the source is different for each layer, a source corresponding to the programming language of the source for each layer is created. Will be possible. Since it becomes possible to create the source of such an application, it becomes possible to create the source of a Web application in particular through a plurality of layers.
100 ソース作成装置
110 機能構成情報部
120 イベント情報部
130 テンプレートソース情報部
140a ソース作成処理部
140b プレゼンテーション層ソース作成処理部
140c アプリケーション層ソース作成処理部
140d データアクセス層ソース作成処理部
150 データアクセス層制御部品提供部
160 各層のソース
100
Claims (6)
画面項目の情報が格納された機能構成情報部と、
画面操作により発生するイベントの処理情報が格納されたイベント情報部と、
テンプレートとなるソースが格納されたテンプレートソース情報部と、
前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、
を備え、
前記機能構成情報部は、
2以上の機能名と、前記テンプレートソース情報部に格納された1つのソースとが対応付けられた機能情報と、がさらに格納され、
前記ソース作成処理部は、
機能名が指定されると、指定された機能名に対応付けられたソースを前記テンプレートソース情報部の中で特定し、特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成すること
を特徴とするソース作成装置。 A source creation device that creates sources including source programs.
The function configuration information section that stores screen item information and
The event information section that stores the processing information of events that occur due to screen operations, and
The template source information section that stores the template source,
A basic source is created by applying the information of the screen items stored in the functional configuration information section to the source stored in the template source information section, and the created basic source is stored in the event information section. The source creation processing unit that creates the source by applying the processing information of the event
Equipped with
The functional configuration information unit is
Function information associated with two or more function names and one source stored in the template source information unit is further stored.
The source creation processing unit
When the function name is specified, the source associated with the specified function name is specified in the template source information unit, and the information of the screen item stored in the function configuration information unit is sent to the specified source. To create a basic source by applying
A source creation device featuring.
画面項目の情報が格納された機能構成情報部と、
画面操作により発生するイベントの処理情報が格納されたイベント情報部と、
テンプレートとなるソースが格納されたテンプレートソース情報部と、
前記テンプレートソース情報部に格納されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、前記イベント情報部に格納されたイベントの処理情報を適用して、ソースを作成するソース作成処理部と、
を備え、
前記イベント情報部は、
前記ソースプログラムの複数のプログラム言語に応じたイベントの処理情報が格納され、
前記テンプレートソース情報部は、
前記ソースプログラムの複数のプログラム言語に応じたソースが格納され、
前記ソース作成処理部は、
プログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から特定し、特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、基本ソースを作成し、作成された基本ソースへ、特定されたイベントの処理情報を適用して、ソースを作成すること
を特徴とするソース作成装置。 A source creation device that creates sources including source programs.
The function configuration information section that stores screen item information and
The event information section that stores the processing information of events that occur due to screen operations, and
The template source information section that stores the template source,
A basic source is created by applying the information of the screen items stored in the functional configuration information section to the source stored in the template source information section, and the created basic source is stored in the event information section. The source creation processing unit that creates the source by applying the processing information of the event
Equipped with
The event information unit
Event processing information corresponding to a plurality of programming languages of the source program is stored.
The template source information unit is
Sources corresponding to multiple programming languages of the source program are stored.
The source creation processing unit
When the program language is specified, the source corresponding to the specified program language is specified from the template source information unit, and the processing information of the event corresponding to the specified program language is specified from the event information unit. Then, apply the information of the screen items stored in the functional configuration information section to the specified source to create the basic source, and apply the processing information of the specified event to the created basic source. , A source creation device characterized by creating a source.
前記ソースは、多層の処理の層ごとのソースであり、
層ごとのソースは、層ごとのソースプログラムを含み、
イベント情報部は、
前記ソースプログラムの層ごとの複数のプログラム言語に応じたイベントの処理情報が格納され、
前記テンプレートソース情報部は、
前記ソースプログラムの層ごとの複数のプログラム言語に応じたソースが格納され、
前記ソース作成処理部は、
層ごとのプログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から層ごとに特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から層ごとに特定し、層ごとに特定されたソースへ、前記機能構成情報部に格納された画面項目の情報を適用して、層ごとの基本ソースを作成し、層ごとに作成された基本ソースへ、層ごとに特定されたイベントの処理情報を適用して、層ごとのソースを作成すること
を特徴とするソース作成装置。 The source creation device according to claim 2 .
The source is a layer-by-layer source for multi-layer processing.
The layer-by-layer source contains the layer-by-layer source program.
The event information department
Event processing information corresponding to a plurality of programming languages for each layer of the source program is stored.
The template source information unit is
Sources corresponding to multiple programming languages for each layer of the source program are stored.
The source creation processing unit
When the program language for each layer is specified, the source corresponding to the specified program language is specified for each layer from the template source information section, and the processing information of the event corresponding to the specified program language is the event. Specify for each layer from the information section, apply the information of the screen items stored in the functional configuration information section to the source specified for each layer, create a basic source for each layer, and create each layer. A source creation device characterized in that a source for each layer is created by applying processing information of an event specified for each layer to the created basic source.
前記テンプレートソース情報部は、
さらに変更情報を含む命令文と宣言文を有するソースが格納され、
前記ソース作成処理部は、
層ごとに特定されたソースの命令文と宣言文に含まれる変更情報にしたがって、前記機能構成情報部に格納された情報を、層ごとに特定されたソースに埋め込むことにより、層ごとの基本ソースを作成すること
を特徴とするソース作成装置。 The source creation device according to claim 3 .
The template source information unit is
In addition, the source with the statement and declaration containing the change information is stored.
The source creation processing unit
The basic source for each layer is obtained by embedding the information stored in the functional configuration information unit in the source specified for each layer according to the change information contained in the statement and declaration of the source specified for each layer. A source creation device characterized by creating.
前記ソースは、端末におけるプレゼンテーション層のソース、およびWebアプリケーションサーバにおけるアプリケーション層のソースとデータアクセス層のソースであること
を特徴とするソース作成装置。 The source creation device according to claim 4 .
The source is a source creating device, characterized in that the source is a source of a presentation layer in a terminal, a source of an application layer in a Web application server, and a source of a data access layer.
前記機能構成情報部は、
問合せ情報あるいはクエリ情報がさらに格納され、
前記ソース作成処理部は、
プレゼンテーション層、アプリケーション層、およびデータアクセス層それぞれのプログラム言語が指定されると、指定されたプログラム言語に対応するソースを前記テンプレートソース情報部の中から層ごとに特定し、指定されたプログラム言語に対応するイベントの処理情報を前記イベント情報部の中から層ごとに特定し、
プレゼンテーション層として特定されたソースの命令文と宣言文に含まれる変更情報にしたがって、前記機能構成情報部に格納された情報を、プレゼンテーション層として特定されたソースに埋め込み、前記機能構成情報部に格納された情報に基づいて、画面レイアウト情報を作成することにより、プレゼンテーション層の基本ソースを作成し、
アプリケーション層として特定されたソースの命令文と宣言文に含まれる変更情報にしたがって、前記機能構成情報部に格納された情報を、アプリケーション層として特定されたソースに埋め込み、前記イベント情報部に格納された情報と前記機能構成情報部に格納された情報に基づいて、他の層とのインターフェース用のプロパティを作成することにより、アプリケーション層の基本ソースを作成し、
データアクセス層として特定されたソースの命令文と宣言文に含まれる変更情報にしたがって、前記機能構成情報部に格納された情報を、データアクセス層として特定されたソースに埋め込み、前記機能構成情報部に格納された問合せ情報に基づいてクエリ情報を作成する、あるいは前記機能構成情報部に格納されたクエリ情報を使用することにより、データアクセス層の基本ソースを作成し、
プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとに作成された基本ソースへ、プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとに特定されたイベントの処理情報を適用して、プレゼンテーション層、アプリケーション層、およびデータアクセス層ごとのソースを作成すること
を特徴とするソース作成装置。 The source creation device according to claim 5 .
The functional configuration information unit is
More query information or query information is stored,
The source creation processing unit
When the programming language of each of the presentation layer, application layer, and data access layer is specified, the source corresponding to the specified programming language is specified for each layer from the template source information section, and the specified programming language is used. The processing information of the corresponding event is specified for each layer from the event information section, and the processing information is specified for each layer.
According to the change information contained in the statement and declaration of the source specified as the presentation layer, the information stored in the functional configuration information unit is embedded in the source specified as the presentation layer and stored in the functional configuration information unit. Create a basic source for the presentation layer by creating screen layout information based on the information provided.
The information stored in the functional configuration information unit is embedded in the source specified as the application layer and stored in the event information unit according to the change information contained in the instruction statement and the declaration statement of the source specified as the application layer. Create the basic source of the application layer by creating the properties for the interface with other layers based on the information and the information stored in the functional configuration information section.
According to the change information included in the statement and declaration of the source specified as the data access layer, the information stored in the functional configuration information unit is embedded in the source specified as the data access layer, and the functional configuration information unit is used. Create the query information based on the query information stored in, or create the basic source of the data access layer by using the query information stored in the functional configuration information section.
Applying event processing information identified for each presentation layer, application layer, and data access layer to the basic sources created for each presentation layer, application layer, and data access layer, the presentation layer, application layer, and data access layer. A source creation device characterized by creating a source for each data access layer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018057132A JP7021990B2 (en) | 2018-03-23 | 2018-03-23 | Source creator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018057132A JP7021990B2 (en) | 2018-03-23 | 2018-03-23 | Source creator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019169002A JP2019169002A (en) | 2019-10-03 |
JP7021990B2 true JP7021990B2 (en) | 2022-02-17 |
Family
ID=68108352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018057132A Active JP7021990B2 (en) | 2018-03-23 | 2018-03-23 | Source creator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7021990B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211292A (en) | 2009-03-06 | 2010-09-24 | Mitsubishi Electric Corp | Screen display program generation device, screen display system, computer program and screen display program generation method |
JP2012150740A (en) | 2011-01-21 | 2012-08-09 | Hitachi Ltd | Program generating device and method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11102293A (en) * | 1997-09-29 | 1999-04-13 | Mitsubishi Electric Corp | Program automatic generating method |
-
2018
- 2018-03-23 JP JP2018057132A patent/JP7021990B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211292A (en) | 2009-03-06 | 2010-09-24 | Mitsubishi Electric Corp | Screen display program generation device, screen display system, computer program and screen display program generation method |
JP2012150740A (en) | 2011-01-21 | 2012-08-09 | Hitachi Ltd | Program generating device and method |
Also Published As
Publication number | Publication date |
---|---|
JP2019169002A (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6487282B2 (en) | Method for developing application to be executed in workflow management system, and apparatus for supporting generation of application to be executed in workflow management system | |
CN110235122B (en) | System and method for converting web content into reusable templates and components | |
US20150302110A1 (en) | Decoupling front end and back end pages using tags | |
KR101275871B1 (en) | System and method for producing homepage in SaaS ENVIRONMENT, A computer-readable storage medium therefor | |
US20140047409A1 (en) | Enterprise application development tool | |
US7603624B2 (en) | System and method for styling content in a graphical user interface control | |
CN113032708A (en) | Code-free Web development system | |
CN113076096A (en) | Desktop application program development method, device, equipment and storage medium | |
CN108664242B (en) | Method and device for generating visual interface, electronic equipment and readable storage medium | |
CN114564252A (en) | Event configuration method, system, equipment and medium for low-code platform | |
CN112352214A (en) | Display control device, display control method, and display control program | |
CN113407284A (en) | Navigation interface generation method and device, storage medium and electronic equipment | |
CN111782213A (en) | Dynamic control page generation system based on DOM | |
CN115328479A (en) | Webpage generating method and system | |
US11604662B2 (en) | System and method for accelerating modernization of user interfaces in a computing environment | |
CN113095056B (en) | Generation method, processing method, device, electronic equipment and medium | |
CN112231197A (en) | Page testing method and device and storage medium | |
CN111506312B (en) | Page generation method and device, computer equipment and storage medium | |
CN117215556A (en) | Modularized page rapid construction method, system, equipment and medium | |
JP7021990B2 (en) | Source creator | |
JP6231260B2 (en) | Screen control system, screen control program, screen creation support program, and screen control method | |
US11809844B2 (en) | Creating an app method and system | |
CN112558957B (en) | Method and device for generating webpage form, electronic equipment and readable storage medium | |
Inayatullah et al. | Model-based scaffolding code generation for cross-platform applications | |
TW201725521A (en) | Application developing method and system |
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 |