JP2006163855A - Web application development support device, and development support method - Google Patents

Web application development support device, and development support method Download PDF

Info

Publication number
JP2006163855A
JP2006163855A JP2004354874A JP2004354874A JP2006163855A JP 2006163855 A JP2006163855 A JP 2006163855A JP 2004354874 A JP2004354874 A JP 2004354874A JP 2004354874 A JP2004354874 A JP 2004354874A JP 2006163855 A JP2006163855 A JP 2006163855A
Authority
JP
Japan
Prior art keywords
screen
definition
information
business logic
definition information
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.)
Pending
Application number
JP2004354874A
Other languages
Japanese (ja)
Inventor
Hiroshi Nagasawa
博志 長澤
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2004354874A priority Critical patent/JP2006163855A/en
Publication of JP2006163855A publication Critical patent/JP2006163855A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a Web application development support device for distributed development of an image design and business logic without requiring a developer, etc., to consider a framework in developing a Web application using the framework. <P>SOLUTION: A ValueObject defining part 101 is a class for holding an input/output item between a presentation layer and a business logic layer constituting a part of the Web application. Definition information of the ValueObject class is stored in an image specification information storage part 103. An image specification defining part 102 hierarchically manages the transition of the display screen and business logic in the Web application. The image specification information storage part 103 stores the definition information of the specification of each display screen and business logic. A presentation layer source code automatic generation part 104 generates a presentation layer source code 110, based on the definition information stored in the picture specification information storage part 103. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、Webアプリケーション開発支援装置及び開発支援方法に関し、特に、Struts等のフレームワークを利用したWebアプリケーションの開発を支援する装置及び方法に関する。   The present invention relates to a Web application development support apparatus and development support method, and more particularly to an apparatus and method for supporting the development of a Web application using a framework such as Struts.

近年、大規模システムを構成するWebアプリケーション開発等において、画面デザインとビジネスロジックとの分散開発による効率化を目的として、Webアプリケーションを、業務処理部分(モデル)と、ブラウザに表示するためのレイアウト部分(ビュー)と、業務部分とレイアウト部分を制御する制御部分(コントローラー)とに分けるMVC(モデル−ビュー−コントローラー)モデルが採用されることがある。
このようなMVCモデルでは、各ページ毎に画面遷移とビジネスロジックとを記述しているため、ビジネスロジックの内容及び画面遷移状況を確認するためには、各ページ毎にソースコードを参照して、ビジネスロジック部分,ページ遷移部分を区別する必要があった。特に、大規模システム開発の場合には、各ページに記述された画面遷移の全体像を把握することが困難なものとなっていた。
このような分散開発において、近時、開発の更なる効率化を図るとともに、ビジネスロジック,画面遷移等の把握を容易なものとするために、MVCモデルに適したフレームワークが利用されている。このようなフレームワークとしては、例えば、J2EE(Java2 Enterprise Edition,「JAVA」は、米国サンマイクロシステムズ社の登録商標)を前提としたStrutsが多く利用されている。ここで、Strutsを利用したWebアプリケーションでは、設定ファイル,コントローラ(ActionServlet),フォームBeanクラスを含むプレゼンテーション層を有している。設定ファイルには、予め、全ての画面遷移,ビジネスロジックの関連付け及び入力パラメータ等が記述されており、1つのコントローラがクライアントからの全てのリクエストを受付け、設定ファイルに記述された情報に基づき、該当するイベントの実行や適切なページへの振り分け等を行っている。また、各ページの入出力情報については、フォームBeanにより、コントローラとのやり取りを行っている。
以上のように、Struts等のフレームワークを利用した場合には、画面遷移の階層的な構造等の全体像を確認することが可能となるとともに、分散開発された表示画面及びビジネスロジックを容易かつ適切に連携させることが可能となっている。
In recent years, in web application development that constitutes large-scale systems, for the purpose of improving efficiency by distributed development of screen design and business logic, a business processing part (model) and a layout part for displaying on a browser An MVC (model-view-controller) model may be employed that divides (view) into a control part (controller) that controls a business part and a layout part.
In such an MVC model, screen transition and business logic are described for each page, so in order to check the contents of the business logic and the screen transition status, refer to the source code for each page, It was necessary to distinguish the business logic part and the page transition part. In particular, in the case of large-scale system development, it has been difficult to grasp the overall picture of screen transitions described on each page.
In such distributed development, recently, a framework suitable for the MVC model is used in order to further improve the efficiency of development and to make it easy to grasp business logic, screen transition, and the like. As such a framework, for example, Struts based on J2EE (Java2 Enterprise Edition, “JAVA” is a registered trademark of Sun Microsystems, Inc.) is often used. Here, the Web application using Struts has a presentation layer including a setting file, a controller (ActionServlet), and a form Bean class. In the configuration file, all screen transitions, business logic associations, input parameters, etc. are described in advance. One controller accepts all requests from the client, and based on the information described in the configuration file Event execution and distribution to appropriate pages. Further, input / output information of each page is exchanged with the controller using a form bean.
As described above, when a framework such as Struts is used, it is possible to check the overall image of the hierarchical structure of screen transitions, and to easily and easily display a display screen and business logic that are distributed and developed. It is possible to link appropriately.

一方、Webアプリケーション開発の効率化を図るための開発支援装置としては、従来より、Webアプリケーションを構成するServlet,Jsp,Beanの各ソースコードを生成する手段を備えたものが公知となっている(例えば、特許文献1参照。)。
特開2001−344105号公報
On the other hand, as a development support apparatus for improving the efficiency of Web application development, a device having means for generating Servlet, Jsp, and Bean source codes constituting a Web application is conventionally known ( For example, see Patent Document 1.)
JP 2001-344105 A

前記特許文献1に記載のWebアプリケーション開発支援装置では、Servlet,Jsp,Beanのそれぞれについて、開発担当者等により予め作成された詳細な設計情報に基づき対応定義表を生成するとともに、各設計情報,対応定義表及び各テンプレートを用いてServlet,Jsp,Beanの各ソースコードを生成することを可能としている。   In the Web application development support apparatus described in Patent Document 1, for each of Servlet, Jsp, and Bean, a correspondence definition table is generated based on detailed design information created in advance by a developer or the like, and each design information, It is possible to generate each source code of Servlet, Jsp, and Bean using the correspondence definition table and each template.

しかし、Webアプリケーションの分散開発において、フレームワークを利用する場合には、各開発者がフレームワークの知識を有することが要求されるとともに、前述の設定ファイル,コントローラ,フォームBean等を実装する工程が必要となるため、必ずしも効率良く開発作業を行うことができるものではなかった。
また、前記特許文献1に記載の開発支援装置では、フレームワークの利用を想定したものでは無かったため、生成されたWebアプリケーションについて、各画面遷移の階層的な構造等、全体像を把握することが困難なものとなっていた。
また、前記特許文献1に記載の開発支援装置では、ソースコードの生成のために、Servlet,Jsp,Beanのそれぞれについて、開発支援装置の仕様に応じた詳細な設計情報を予め作成しておく必要があるため、画面デザインやビジネスロジック等について具体的な仕様を決定することが必要になり、また、設計情報の作成に手間が掛かる可能性がある等、必ずしも効率良く開発作業を行うことができるものでは無かった。
However, when a framework is used in distributed development of a Web application, each developer is required to have knowledge of the framework, and the process of implementing the setting file, controller, form bean, and the like described above is included. Because it is necessary, the development work cannot always be performed efficiently.
In addition, since the development support apparatus described in Patent Document 1 is not intended to use a framework, it is possible to grasp the entire image of the generated Web application, such as the hierarchical structure of each screen transition. It was difficult.
In the development support apparatus described in Patent Document 1, detailed design information corresponding to the specifications of the development support apparatus must be created in advance for each of Servlet, Jsp, and Bean in order to generate source code. Therefore, it is necessary to determine specific specifications for screen design, business logic, etc., and it may take time to create design information. It was not a thing.

本発明は前記課題を解決するためのものであり、フレームワークを利用したWebアプリケーションの開発支援装置として、簡易な定義情報に基づき表示画面とビジネスロジックとの連携部分のみを生成することにより、詳細な設計情報の作成を不要とするとともに、各開発者にフレームワークを意識させることなく、画面デザイン,ビジネスロジックの実装に専念させることを可能とするWebアプリケーション開発支援装置を提供することを目的とする。   The present invention is to solve the above-mentioned problems, and as a Web application development support device using a framework, it generates details only by generating a linkage portion between a display screen and business logic based on simple definition information. The purpose is to provide a Web application development support device that eliminates the need for creating design information and makes it possible to concentrate on screen design and business logic implementation without making each developer aware of the framework. To do.

前記課題を解決するため本発明は、表示画面の画面遷及び表示画面とビジネスロジックとの関連付けを記述した設定ファイルを有し、当該設定ファイルに基づきクライアントからの要求に応じたイベントの実行及びページ遷移を行うプレゼンテーション層と、ビジネスロジック層とを有するWebアプリケーションの開発支援装置であって、プレゼンテーション層とビジネスロジック層との間の入出力項目を保持するクラスについて定義したValueObuject定義情報と、前記表示画面の画面遷移及び各表示画面とビジネスロジックとの関連付けを定義した画面仕様定義情報とを記憶する画面仕様情報記憶部と、各表示画面における入出力項目の入力を受付け、前記ValueObuject定義情報として、前記画面仕様情報記憶部に記憶するValueObuject定義部と、各表示画面についての画面遷移定義情報及びイベント実行定義情報と、前記イベント実行定義情報に対応するビジネスロジック定義情報との入力を受付け、前記画面仕様定義情報として、画面仕様情報記憶部に記憶する画面仕様定義部と、前記画面仕様情報記憶部に記憶された各定義情報に基づき、前記プレゼンテーション層と、前記ビジネスロジック層を構成するビジネスロジックの雛形とを生成する手段とを備えることを特徴とする。
また、前記画面仕様定義部は、前記画面仕様情報記憶部に記憶された画面仕様定義情報を取得し、前記表示画面及びビジネスロジックの画面遷移を階層的に表示する手段を備えることを特徴とする。
また、表示画面の遷移情報及び表示画面とビジネスロジックとの関連付けを定義した画面仕様定義情報と、プレゼンテーション層とビジネスロジック層との間の入出力項目を定義したValueObuject定義情報とを記憶する画面仕様情報記憶部と、当該画面仕様情報記憶部に前記ValueObuject定義情報を記憶するValueObuject定義部部と、前記画面仕様情報記憶部に画面仕様定義情報を記憶する画面仕様定義部と、前記画面仕様情報記憶部に記憶された各定義情報に基づきWebアプリケーションのプレゼンテーション層の一部を生成するソースコード生成部とを備えるWebアプリケーション開発支援装置によるWebアプリケーション開発支援方法であって、ValueObuject定義部が、各表示画面における入出力項目の入力を受付け、前記ValueObuject定義情報として、前記画面仕様情報記憶部に記憶するステップと、画面仕様定義部が、各表示画面についての画面遷移定義情報及びイベント定義情報と、前記イベント定義情報に対応するビジネスロジック定義情報との入力を受付け、前記画面仕様定義情報として、画面仕様情報記憶部に記憶するステップと、前記ソースコード生成部が、前記画面仕様情報記憶部に記憶された各定義情報に基づき、表示画面の遷移情報及び表示画面とビジネスロジックとの関連付けを記述した設定ファイルと、当該設定ファイルの記述に基づきイベントの実行又はページ遷移を行うコントローラとを含むプレゼンテーション層と、前記ビジネスロジック層を構成するビジネスロジックの雛形とを生成するステップとを備える。
In order to solve the above-mentioned problems, the present invention has a setting file that describes the transition of the display screen and the association between the display screen and the business logic. Value object definition information that defines a class that holds an input / output item between a presentation layer and a business logic layer, the development support apparatus for a Web application having a presentation layer that performs transition and a business logic layer, and the display Screen specification information storage for storing screen transitions of screens and screen specification definition information that defines the association between each display screen and business logic, and input of input / output items on each display screen, and as the above value object definition information, Screen specification information storage Receiving the input of the ValueObject definition part stored in the screen, the screen transition definition information and event execution definition information for each display screen, and the business logic definition information corresponding to the event execution definition information, and the screen specification definition information A screen specification definition unit stored in a specification information storage unit, and a means for generating the presentation layer and a business logic model constituting the business logic layer based on the definition information stored in the screen specification information storage unit It is characterized by providing.
In addition, the screen specification definition unit includes means for acquiring screen specification definition information stored in the screen specification information storage unit and hierarchically displaying screen transitions of the display screen and business logic. .
Also, screen specifications for storing transition information of the display screen, screen specification definition information that defines the association between the display screen and the business logic, and value object definition information that defines input / output items between the presentation layer and the business logic layer. An information storage unit; a value object definition unit that stores the value object definition information in the screen specification information storage unit; a screen specification definition unit that stores screen specification definition information in the screen specification information storage unit; and the screen specification information storage A web application development support method by a web application development support apparatus comprising a source code generation unit that generates a part of a presentation layer of a web application based on each definition information stored in the unit, wherein the ValueObject definition unit includes each table Accepting input of input / output items on the screen, and storing it in the screen specification information storage unit as the ValueObject definition information, the screen specification definition unit including screen transition definition information and event definition information for each display screen, Receiving input of business logic definition information corresponding to event definition information and storing it as screen specification definition information in a screen specification information storage unit; and the source code generation unit is stored in the screen specification information storage unit A presentation layer including display screen transition information and a configuration file describing association between the display screen and business logic based on each definition information, and a controller that executes an event or performs page transition based on the description of the configuration file; Business logic that constitutes the business logic layer And a step of generating a stationery.

以上の構成により本発明では、例えば、Struts等のフレームワークを利用したWebアプリケーション開発において、画面デザイン及びビジネスロジックを除いた部分のソースコードの生成等が可能となるため、各開発者にフレームワークを意識させることなく、画面デザイン又はビジネスロジックの実装に専念させることが可能となる。従って、フレームワークについての正確な知識を有しない開発者によっても適切な分散開発を行うことが可能となる。
また、画面仕様定義情報に基づき各表示画面及び関連付けられたビジネスロジックの画面遷移を階層表示することとしたので、設定ファイルに記述された内容を確認することなく、画面遷移等を把握させることが可能となる。
With the above configuration, in the present invention, for example, in web application development using a framework such as Struts, it is possible to generate a source code of a part excluding screen design and business logic. This makes it possible to concentrate on screen design or business logic implementation. Accordingly, even a developer who does not have accurate knowledge about the framework can perform appropriate distributed development.
In addition, since the screen transition of each display screen and associated business logic is hierarchically displayed based on the screen specification definition information, it is possible to grasp the screen transition etc. without checking the contents described in the setting file. It becomes possible.

以下、本発明の一実施の形態に係るWebアプリケーション開発支援装置について、図面に基づき説明する。本実施の形態では、フレームワークとしてStrutsを利用したWebアプリケーションの開発に用いるWebアプリケーション開発支援装置の例について説明する。
図1は、本実施の形態に係るWebアプリケーション開発支援装置の概略構成を示すブロック図である。
Webアプリケーション開発支援装置100は、開発対象となるWebアプリケーションの一部を構成するプレゼンテーション層を示すソースコード110を生成するものであり、ValueObject定義部101と、画面仕様定義部102と、画面仕様情報記憶部103と、プレゼンテーション層ソースコード自動生成部104とを備える。
ValueObject定義部101は、Webアプリケーションの一部を構成するプレゼンテーション層とビジネスロジック層との間の入出力項目を保持するクラスであるValueObjectクラスの定義情報を画面仕様情報記憶部103に記憶する。
画面仕様定義部102は、Webアプリケーションの表示画面及びビジネスロジックの遷移を階層的に管理し、各表示画面及びビジネスロジックの仕様の定義情報を画面仕様情報記憶部103に記憶する。
プレゼンテーション層ソースコード自動生成部104は、画面仕様情報記憶部103に記憶された定義情報に基づき、プレゼンテーション層ソースコード110を生成する。
Hereinafter, a Web application development support apparatus according to an embodiment of the present invention will be described with reference to the drawings. In the present embodiment, an example of a Web application development support apparatus used for developing a Web application that uses Struts as a framework will be described.
FIG. 1 is a block diagram showing a schematic configuration of a Web application development support apparatus according to the present embodiment.
The Web application development support apparatus 100 generates a source code 110 indicating a presentation layer that constitutes a part of a Web application to be developed, and includes a ValueObject definition unit 101, a screen specification definition unit 102, and screen specification information. A storage unit 103 and a presentation layer source code automatic generation unit 104 are provided.
The ValueObject definition unit 101 stores, in the screen specification information storage unit 103, definition information of a ValueObject class that is a class that holds input / output items between a presentation layer and a business logic layer that constitute a part of a Web application.
The screen specification definition unit 102 hierarchically manages the transition of the display screen and business logic of the Web application, and stores the definition information of the specifications of each display screen and business logic in the screen specification information storage unit 103.
The presentation layer source code automatic generation unit 104 generates the presentation layer source code 110 based on the definition information stored in the screen specification information storage unit 103.

図2は、本実施の形態に係るWebアプリケーション開発支援装置100の生成するプレゼンテーション層を含むWebアプリケーションの概略構成の一例を示す図である。
Webアプリケーション200は、プレゼンテーション層210,ビジネスロジック増220,データベース層230とから構成されている。
プレゼンテーション層210は、クライアントの要求を受け取りその処理結果を表示する処理や、ビジネスロジックを呼び出す処理などを行うものである。本例では、WebアプリケーションフレームワークにStrutsを使った場合を示しており、この場合には、画面遷移情報などが記述されたXML形式のStruts設定ファイル211,クライアントの要求を受け取り、ビジネスロジックを呼び出し、ビジネスロジックの結果を設定する処理を行うコントローラとしてのアクションクラス212,クライアントの入力データを保持するアクションフォームBeanクラス213,画面のデザインを実装するJSPファイル214などで構成される。
ビジネスロジック層220は、業務処理を行うビジネスロジッククラス221で構成され、データベース層230は、データベースにアクセスし、データを取得したり、登録したりするデータベースアクセスクラス231で構成される。
本実施の形態に係るWebアプリケーション開発支援装置100は、Webアプリケーション200のうち、プレゼンテーション層210を構成するStruts設定ファイル211,アクションクラス212,アクションフォームBeanクラス213と、ビジネスロジック層220を構成するビジネスロジッククラス221の雛形をプレゼンテーション層ソースコード110として生成する。
FIG. 2 is a diagram illustrating an example of a schematic configuration of a Web application including a presentation layer generated by the Web application development support apparatus 100 according to the present embodiment.
The Web application 200 includes a presentation layer 210, a business logic increase 220, and a database layer 230.
The presentation layer 210 performs processing for receiving a client request and displaying the processing result, processing for calling business logic, and the like. This example shows the case where Struts is used for the Web application framework. In this case, the Struts setting file 211 in the XML format in which screen transition information is described, the client request is received, and the business logic is called. , An action class 212 as a controller that performs processing for setting a business logic result, an action form bean class 213 that holds client input data, a JSP file 214 that implements a screen design, and the like.
The business logic layer 220 includes a business logic class 221 that performs business processing, and the database layer 230 includes a database access class 231 that accesses a database and acquires or registers data.
The Web application development support apparatus 100 according to the present embodiment includes, in the Web application 200, a Struts setting file 211 that configures the presentation layer 210, an action class 212, an action form Bean class 213, and a business that configures the business logic layer 220. A template of the logic class 221 is generated as the presentation layer source code 110.

図3は、本実施の形態に係るWebアプリケーション開発支援装置100の行うプレゼンテーション層ソースコード生成処理の概要を示すフローチャートである。
Webアプリケーション開発装置100では、ValueObject定義部101が定義画面を表示し、ユーザにより任意に定義されたValueObject情報を画面仕様情報記憶部103に記憶するとともに(ステップ301)、画面仕様定義部102が定義画面を表示し、ユーザにより任意に定義された画面情報及びビジネスロジック情報を画面仕様情報記憶部103に記憶する(ステップ302)。
プレゼンテーション層ソースコード自動生成部104は、画面仕様情報記憶部103に記憶された画面仕様情報を取得し、プレゼンテーション層ソースコード105を生成する(ステップ303)。
FIG. 3 is a flowchart showing an overview of presentation layer source code generation processing performed by the Web application development support apparatus 100 according to the present embodiment.
In the Web application development device 100, the ValueObject definition unit 101 displays a definition screen, stores the valueObject information arbitrarily defined by the user in the screen specification information storage unit 103 (step 301), and the screen specification definition unit 102 defines it. A screen is displayed, and screen information and business logic information arbitrarily defined by the user are stored in the screen specification information storage unit 103 (step 302).
The presentation layer source code automatic generation unit 104 acquires the screen specification information stored in the screen specification information storage unit 103, and generates the presentation layer source code 105 (step 303).

次に、本実施の形態に係るWebアプリケーション開発支援装置100の行う開発支援処理方法について、開発者用端末等に表示する定義画面の例に基づき説明する。   Next, a development support processing method performed by the Web application development support apparatus 100 according to the present embodiment will be described based on an example of a definition screen displayed on a developer terminal or the like.

図4は、ValueObject定義部101が表示するValueObject定義画面の一例を示す図である。
図4に示すValueObject定義画面400では、ValueObjectに関する設定項目として、ValueObjectのID401,ValueObjectが入力項目か出力項目かを示すタイプ402,ValueObjectの説明403と、ValueObjectクラスの各項目についての項目名(プロパティ)404,項目の型405,項目の説明406との各入力フィールドを有する。ここで、項目名404,型405,説明406については、複数定義することができるものとする。
FIG. 4 is a diagram illustrating an example of a ValueObject definition screen displayed by the ValueObject definition unit 101.
In the ValueObject definition screen 400 shown in FIG. 4, as setting items related to the ValueObject, the ID 401 of the ValueObject, the type 402 indicating whether the ValueObject is an input item or an output item, the description 403 of the ValueObject, and the item name (property) of each Item of the ValueObject class ) 404, item type 405, and item description 406. Here, a plurality of item names 404, types 405, and explanations 406 can be defined.

図5は、画面仕様定義部102が表示する画面仕様定義画面の一例を示す図である。
図5に示す画面仕様定義画面500は、後述するように画面仕様情報記憶部103に記憶された情報に基づき表示画面及びビジネスロジックの遷移を階層的に表示する画面遷移表示部510と、画面遷移表示部510に表示した要素511の設定を定義する設定定義部520とを有する。
画面遷移表示部510に表示する要素511としては、JSPなどの表示画面と、画面のリンクやボタンのクリックなどのイベントによって呼び出されるビジネスロジックが該当する。
本例では、画面遷移表示部510において、表示画面を示す要素511が選択された場合の設定定義部520の例を示している。
設定定義部520では、表示画面に関する設定項目として、画面名521,URI522,表示画面の出力項目を保持するValueObjectを示す出力VO523の各入力フィールドと、表示画面上で発生するイベント設定部530として、イベントの追加,編集,削除ボタン531〜533と、イベント名534,イベントのタイプ535,イベントの入力項目を保持するValueObjectを示す入力VO536,ビジネスロジックを一意に識別するロジックID537,イベント後の遷移先を示す遷移先URI538の各入力フィールドを有する。
FIG. 5 is a diagram illustrating an example of a screen specification definition screen displayed by the screen specification definition unit 102.
A screen specification definition screen 500 shown in FIG. 5 includes a screen transition display unit 510 that hierarchically displays display screens and business logic transitions based on information stored in the screen specification information storage unit 103, as will be described later. A setting definition unit 520 that defines settings of the elements 511 displayed on the display unit 510.
The element 511 displayed on the screen transition display unit 510 corresponds to a display screen such as JSP and a business logic called by an event such as a screen link or a button click.
In this example, an example of the setting definition unit 520 when the element 511 indicating the display screen is selected in the screen transition display unit 510 is illustrated.
In the setting definition unit 520, as setting items related to the display screen, each input field of the screen name 521, the URI 522, the output VO 523 indicating the value object holding the output item of the display screen, and the event setting unit 530 generated on the display screen, Event add / edit / delete buttons 531 to 533, an event name 534, an event type 535, an input VO 536 indicating a value object holding an event input item, a logic ID 537 for uniquely identifying the business logic, and a transition destination after the event Each of the input fields of the transition destination URI 538 indicating "."

図6は、画面仕様定義部102が表示する画面仕様定義画面の他の例を示す図である。
図6に示す画面仕様定義画面600では、画面遷移表示部610において、ビジネスロジックを示す要素611が選択された場合の、設定定義部620を示している。
設定定義部620では、ビジネスロジックに関する設定項目として、ビジネスロジック名621,ビジネスロジックID622,ビジネスロジックのクラス名623,ビジネスロジックのメソッド名624,ビジネスロジックの引数を示す入力VO625,ビジネスロジックの戻り値を示す出力VO626の各入力フィールドを有する。なお、入力VO625及び出力VO626については、「request」又は「session」などのスコープを定義することができる。
FIG. 6 is a diagram illustrating another example of the screen specification definition screen displayed by the screen specification definition unit 102.
A screen specification definition screen 600 illustrated in FIG. 6 illustrates a setting definition unit 620 when an element 611 indicating business logic is selected in the screen transition display unit 610.
In the setting definition unit 620, as business logic setting items, a business logic name 621, a business logic ID 622, a business logic class name 623, a business logic method name 624, an input VO 625 indicating business logic arguments, and a return value of the business logic Each input field of the output VO 626 indicates the following. For the input VO 625 and the output VO 626, a scope such as “request” or “session” can be defined.

以下、前述の各定義画面を用いて行う画面仕様情報生成処理の具体例について説明する。
本例では、Webアプリケーションとして、顧客番号を入力させるフォームがある入力画面と、入力画面に入力された顧客番号に対応する顧客情報を出力する出力画面の2画面で構成する。なお、このWebアプリケーションは、フレームワークとしてStrutsを利用しているものとする。
Hereinafter, a specific example of the screen specification information generation process performed using each definition screen described above will be described.
In this example, the Web application is composed of two screens: an input screen having a form for inputting a customer number, and an output screen for outputting customer information corresponding to the customer number input on the input screen. Note that this Web application uses Struts as a framework.

まず、ValueObject定義画面により、入出力画面の各入出力項目を保持するクラスを定義させる。
図7は、入力画面の入力項目を保持するクラスを定義させるためのValueObject定義画面を示す図である。
ValueObject定義画面700では、開発者によりID701に「CustomerNo」が、タイプ702に「入力」が、説明703に「顧客番号を保持するValueObject」が定義され、さらにValueObjectの項目704に「no,String,顧客番号」が定義されている。
図8は、出力画面の出力項目を保持するクラスを定義させるためのValueObject定義画面を示す図である。
ValueObject定義画面800では、開発者によりID801に「Customer」が、タイプ802に「出力」が、説明803に「顧客情報を保持するValueObject」が定義され、さらにValueObjectの項目804〜807に「no,String,顧客番号」「name,String,名前」「address,String,住所」「tel,String,電話番号」のそれぞれが定義されている。
ValueObject定義部101は、以上の各ValueObject定義画面700,800に定義された内容を画面仕様情報記憶部103に記憶する。
First, a class that holds each input / output item on the input / output screen is defined on the ValueObject definition screen.
FIG. 7 is a diagram showing a ValueObject definition screen for defining a class that holds input items on the input screen.
In the ValueObject definition screen 700, the developer defines “CustomerNo” as the ID 701, “Input” as the type 702, “ValueObject holding a customer number” as the description 703, and “no, String, Customer number "is defined.
FIG. 8 is a diagram showing a ValueObject definition screen for defining a class that holds output items on the output screen.
In the ValueObject definition screen 800, the developer defines “Customer” in the ID 801, “Output” in the type 802, “ValueObject holding customer information” in the description 803, and “no,” in the ValueObject items 804 to 807. "String, customer number", "name, String, name", "address, String, address", "tel, String, phone number" are defined.
The ValueObject definition unit 101 stores the contents defined in each of the above ValueObject definition screens 700 and 800 in the screen specification information storage unit 103.

次に、画面仕様定義画面により、入出力画面及びビジネスロジックに関する画面仕様を定義させる。
図9は、入力画面の画面仕様を定義させるための画面仕様定義画面を示す図である。
画面仕様定義画面900では、開発者により画面名901に「入力画面」が、URI902に「/input.jsp」が定義されるとともに、イベント設定部904に「output,Form,customerNo,search,/output.jsp」が定義されている。なお、本例に示す入力画面の画面仕様では、出力VO903は空欄となる。
図10は、入力画面のイベントによって呼び出されるビジネスロジックである顧客情報検索の画面仕様を定義させるための画面仕様定義画面を示す図である。
画面仕様定義画面900では、開発者によりビジネスロジック名1001に「顧客情報検索」が、ID1002に「search」が、クラス1003に「sample.CustomerLogic」が、メソッド1004に「search」が、入力VO1005に「CutmerNo,request」が、出力VO1006に「customer,request」が定義されている。
図11は、出力画面の画面仕様を定義させるための画面仕様定義画面を示す図である。
画面仕様定義画面1100では、開発者により画面名1101に「出力画面」が、URI1102に「/output.jsp」が、出力VO1103に「customer」が定義されている。なお、本例では、出力画面においてはValueObjectの項目は定義されていない。
画面仕様定義部101は、以上の各画面仕様定義画面900,1000,1100に定義された内容を画面仕様情報記憶部103に記憶するとともに、記憶した内容に基づき画面仕様定義画面900,1000,1100の画面遷移表示部の表示内容を変更する。
Next, screen specifications related to the input / output screen and business logic are defined on the screen specification definition screen.
FIG. 9 is a diagram showing a screen specification definition screen for defining the screen specification of the input screen.
In the screen specification definition screen 900, the developer defines “input screen” in the screen name 901 and “/input.jsp” in the URI 902, and “output, Form, customerNo, search, / output” in the event setting unit 904. .Jsp "is defined. In the screen specification of the input screen shown in this example, the output VO 903 is blank.
FIG. 10 is a diagram showing a screen specification definition screen for defining a customer information search screen specification that is a business logic called by an event on the input screen.
In the screen specification definition screen 900, the developer sets “business information search” as the business logic name 1001, “search” as the ID 1002, “sample.CustomerLogic” as the class 1003, and “search” as the method 1004 as the input VO 1005. “CustomerNo, request” is defined in the output VO 1006 and “customer, request” is defined.
FIG. 11 is a diagram showing a screen specification definition screen for defining the screen specification of the output screen.
In the screen specification definition screen 1100, the developer defines “output screen” as the screen name 1101, “/output.jsp” as the URI 1102, and “customer” as the output VO 1103. In this example, the ValueObject item is not defined on the output screen.
The screen specification definition unit 101 stores the contents defined in each of the above screen specification definition screens 900, 1000, 1100 in the screen specification information storage unit 103, and the screen specification definition screens 900, 1000, 1100 based on the stored contents. Change the display contents of the screen transition display section.

図12は、画面仕様情報記憶部103に記憶される画面仕様情報の一例として、図7,8に示すValueObject定義画面に定義された内容に基づきValueObject定義部101が記憶した情報と、図9〜11に示す画面仕様定義画面に定義された内容に基づき画面仕様定義部102が記憶した情報とを示す図である。
画面仕様情報1200は、例えば、XML(Extensible Markup Language)ファイルとして生成されており、図11に示すように、ValueObject情報1210と、ビジネスロジック情報1220と、画面情報1230とで構成されている。
ValueObject情報1210には、図7に示すValueObject定義画面700に定義されたValueObjectについての定義情報1211と、図8に示すValueObject定義画面800に定義されたValueObjectについての定義情報1212とが含まれる。
ビジネスロジック情報1220には、図10に示す画面仕様定義画面1000に定義されたビジネスロジックについての定義情報1221が含まれる。なお、定義情報1221におけるinput−vo属性又はoutput−vo属性の値は、ValueObject情報1210の各定義情報1211,1212におけるid属性の値に対応している。
画面情報1230には、図9に示す画面仕様定義画面900に定義された入力画面についての定義情報1131と、図11に示す画面仕様定義画面1100に定義された出力画面についての定義情報1232とが含まれる。なお、定義情報1231における<event>タグのlogic属性の値は、ビジネスロジック情報1220の定義情報1221における<business−logic>タグのid属性の値に対応している。また、<event>タグのforward属性の値は、定義情報1232における<boundary>タグのpath属性の値に対応している。
FIG. 12 shows, as an example of the screen specification information stored in the screen specification information storage unit 103, information stored in the value object definition unit 101 based on the contents defined in the value object definition screen shown in FIGS. 11 is a diagram showing information stored in the screen specification definition unit 102 based on the contents defined in the screen specification definition screen shown in FIG.
The screen specification information 1200 is generated, for example, as an XML (Extensible Markup Language) file, and includes, as shown in FIG. 11, ValueObject information 1210, business logic information 1220, and screen information 1230.
The value object information 1210 includes definition information 1211 for the value object defined in the value object definition screen 700 shown in FIG. 7 and definition information 1212 for the value object defined in the value object definition screen 800 shown in FIG.
The business logic information 1220 includes definition information 1221 about the business logic defined in the screen specification definition screen 1000 shown in FIG. The value of the input-vo attribute or output-vo attribute in the definition information 1221 corresponds to the value of the id attribute in the definition information 1211 and 1212 of the value object information 1210.
The screen information 1230 includes definition information 1131 for the input screen defined in the screen specification definition screen 900 shown in FIG. 9 and definition information 1232 for the output screen defined in the screen specification definition screen 1100 shown in FIG. included. Note that the value of the logic attribute of the <event> tag in the definition information 1231 corresponds to the value of the id attribute of the <businessness-logic> tag in the definition information 1221 of the business logic information 1220. Also, the value of the forward attribute of the <event> tag corresponds to the value of the path attribute of the <boundary> tag in the definition information 1232.

図13は、画面仕様定義部102が画面仕様情報記憶部103に記憶した画面仕様情報に基づき、画面遷移を表示する処理手順を示したフローチャートである。
本処理では、予め開発者によりトップ画面が指定される。例えば、図12に示す画面仕様情報1200では、入力画面がトップ画面として指定される。
画面仕様定義部102は、画面仕様情報に含まれる画面情報について以下の処理を繰り返す(ステップ1301)。
画面仕様定義部102は、画面情報を読み込み、画面情報の定義情報に基づき、ノードを設定するとともに(ステップ1302)、当該画面情報に含まれるイベントについて以下の処理を繰り返す(ステップ1303)。
画面仕様定義部102は、画面情報に含まれるイベントのロジックに設定されているビジネスロジックIDに基づきビジネスロジック情報を読み込み(ステップ1304)、そのビジネスロジックを現在のドの子ノードとして追加する(ステップ1305)。
次に、画面情報における当該イベントの遷移先URIに設定されている画面情報を読み込み(ステップ1306)、その画面をビジネスロジックの子ノードに追加する(ステップ1307)。
以上の処理を画面仕様情報に含まれる画面情報,ビジネスロジック情報について繰り返し、その結果を画面仕様定義画面の画面遷移表示部に階層表示する(ステップ1308)。
例えば、図12に示す画面仕様情報1200の場合、画面情報1230を読み込み、まず、トップ画面としての入力画面の定義情報1231に基づき「入力画面」を最上位のノードとして設定する。次に、入力画面の定義情報1231に含まれるイベントのビジネスロジックID「search」に基づき、ビジネスロジック情報1220の定義情報1221を読み込み、「顧客情報検索」を子ノードに追加するとともに、定義情報1231の遷移先URIのpathに基づき出力画面の定義情報1232を読み込み、ビジネスロジック「顧客情報検索」の子ノードとして「出力画面」を設定する。
以上の処理結果に基づき、各ノードを画面遷移表示部に階層表示する。なお、ルートの階層は表示された画面を選択してルートに指定することもできる。
従って、開発者は、設定ファイルの記述を確認すること無く、画面推移表示部の表示によりWebアプリケーションの画面推移を容易に把握することができ、修正作業等も容易となる。
FIG. 13 is a flowchart showing a processing procedure for displaying a screen transition based on the screen specification information stored in the screen specification information storage unit 103 by the screen specification definition unit 102.
In this process, the top screen is designated in advance by the developer. For example, in the screen specification information 1200 shown in FIG. 12, the input screen is designated as the top screen.
The screen specification definition unit 102 repeats the following processing for the screen information included in the screen specification information (step 1301).
The screen specification definition unit 102 reads the screen information, sets a node based on the definition information of the screen information (step 1302), and repeats the following processing for the event included in the screen information (step 1303).
The screen specification definition unit 102 reads the business logic information based on the business logic ID set in the event logic included in the screen information (step 1304), and adds the business logic as a child node of the current node (step 1304). 1305).
Next, the screen information set in the transition destination URI of the event in the screen information is read (step 1306), and the screen is added to the child node of the business logic (step 1307).
The above processing is repeated for the screen information and business logic information included in the screen specification information, and the result is hierarchically displayed on the screen transition display portion of the screen specification definition screen (step 1308).
For example, in the case of the screen specification information 1200 shown in FIG. 12, the screen information 1230 is read. First, the “input screen” is set as the highest node based on the definition information 1231 of the input screen as the top screen. Next, based on the business logic ID “search” of the event included in the definition information 1231 of the input screen, the definition information 1221 of the business logic information 1220 is read, “customer information search” is added to the child node, and the definition information 1231 The definition information 1232 of the output screen is read based on the path of the transition destination URI, and “output screen” is set as a child node of the business logic “customer information search”.
Based on the above processing results, each node is hierarchically displayed on the screen transition display unit. The root hierarchy can be designated as a root by selecting the displayed screen.
Therefore, the developer can easily grasp the screen transition of the Web application by displaying the screen transition display unit without confirming the description of the setting file, and the correction work or the like is facilitated.

以下、プレゼンテーション層ソースコード自動生成部104が、画面仕様情報記憶部103に記憶された画面仕様情報に基づき、プレゼンテーション層ソースコード110を生成する処理について説明する。
図14は、ValueObject情報に基づき、ValueObjectクラスとアクションフォームBeanクラスのソースコードを生成する処理手順を示すフローチャートである。
プレゼンテーション層ソースコード自動生成部104は、ValueObject情報に含まれる各定義情報について、以下の処理を繰り返す(ステップ1401)。
まず、ValueObject情報の各定義情報を読み込み(ステップ1402)、ValueObjectクラスを生成して(ステップ1403)、<property>タグ毎に属性とその属性のsetter/getterを生成する(ステップ1404)。ValueObjectクラスの生成では、<vaule−object>タグのid属性の値の最初の1文字目を大文字にし、その後にValueを付けたクラス名とする。属性の型名は、<property>タグのtype属性の値で、属性の変数名は、<property>タグのname属性の値である。
次に、<vaule−object>タグのtype属性の値が「input」であるか否かを判定する(ステップ1405)。
判定の結果、type属性の値が「input」である場合には、アクションフォームBeanクラスを生成し(ステップ1406)、valueObjectクラスの場合と同様に、<property>タグごとに属性とその属性のsetter/getterを生成するとともに(ステップ1407)、アクションフォームBeanクラスの定義をStruts設定ファイルに追加する(ステップ1408)。アクションフォームBeanクラスの生成では、まず、親クラスとして、StrutsのクラスであるActionFormを継承する。アクションフォームBeanクラスの属性の型名は、<property>タグのtype属性の値とし、属性の変数名は、<property>タグのname属性の値とする。Struts設定ファイルには、<ValueObject>タグのid属性の値をname属性の値とし、クラス名をtype属性の値とした<form-Bean>タグを追加する。
一方、ステップ1405において、type属性の値が「input」でない場合には、アクションフォームBeanクラスの生成を行わずに、次の定義情報について処理を行う。
以上の処理を繰り返すことにより、ValueObjectクラス及びアクションフォームBeanクラスを生成する。
Hereinafter, a process in which the presentation layer source code automatic generation unit 104 generates the presentation layer source code 110 based on the screen specification information stored in the screen specification information storage unit 103 will be described.
FIG. 14 is a flowchart showing a processing procedure for generating the source code of the value object class and the action form bean class based on the value object information.
The presentation layer source code automatic generation unit 104 repeats the following processing for each definition information included in the value object information (step 1401).
First, each definition information of value object information is read (step 1402), a value object class is generated (step 1403), and an attribute and a setter / getter of the attribute are generated for each <property> tag (step 1404). In the generation of the ValueObject class, the first character of the value of the id attribute of the <value-object> tag is capitalized, and then the class name is added with Value. The type name of the attribute is the value of the type attribute of the <property> tag, and the variable name of the attribute is the value of the name attribute of the <property> tag.
Next, it is determined whether or not the value of the type attribute of the <value-object> tag is “input” (step 1405).
If the value of the type attribute is “input” as a result of the determination, an action form Bean class is generated (step 1406), and the attribute and the setter of that attribute are set for each <property> tag, as in the case of the valueObject class. / Getter is generated (step 1407), and the definition of the action form Bean class is added to the Struts setting file (step 1408). In the generation of the action form Bean class, first, the ActionForm that is a Struts class is inherited as a parent class. The type name of the attribute of the action form Bean class is the value of the type attribute of the <property> tag, and the variable name of the attribute is the value of the name attribute of the <property> tag. A <form-Bean> tag is added to the Struts setting file with the value of the id attribute of the <ValueObject> tag as the value of the name attribute and the value of the class name as the value of the type attribute.
On the other hand, if the value of the type attribute is not “input” in step 1405, the next definition information is processed without generating the action form Bean class.
By repeating the above processing, a ValueObject class and an action form Bean class are generated.

図15は、ビジネスロジック情報に基づき、プレゼンテーション層に対応するビジネスロジック層を構成するビジネスロジッククラスの雛形ソースコードを生成する処理手順を示すフローチャートである。
プレゼンテーション層ソースコード自動生成部104は、ビジネスロジック情報に含まれる各定義情報について、以下の処理を繰り返す(ステップ1501)。
まず、ビジネスロジック情報の各定義情報を読み込み(ステップ1502)、<business−logic>タグのclass属性の値をクラス名とするビジネスロジッククラスを生成する(ステップ1503)。
次に、<business−logic>タグのmethod属性の値のメソッドを生成する(ステップ1504)。メソッドの生成では、定義情報にinput−vo属性が定義されている場合には、その値に対応するValueObjectをメソッドの引数とする。input−vo属性が定義されていない場合は、引数は空である。また、定義情報にoutput−vo属性が定義されている場合には、その値に対応するValueObjectをメソッドの戻り値とする。output−vo属性が定義されていない場合は、void型である。
なお、ビジネスロジック情報の定義情報が複数ある場合には、以上の処理を繰り返し、ビジネスロジッククラスの雛形ソースコードの生成を繰り返す。
FIG. 15 is a flowchart showing a processing procedure for generating a template source code of a business logic class constituting the business logic layer corresponding to the presentation layer based on the business logic information.
The presentation layer source code automatic generation unit 104 repeats the following processing for each definition information included in the business logic information (step 1501).
First, each definition information of business logic information is read (step 1502), and a business logic class having a class attribute value of a class attribute of a <businessness-logic> tag is generated (step 1503).
Next, a method of the value of the method attribute of the <business-logic> tag is generated (step 1504). In the generation of a method, when an input-vo attribute is defined in the definition information, a ValueObject corresponding to the value is used as an argument of the method. If the input-vo attribute is not defined, the argument is empty. Further, when the output-vo attribute is defined in the definition information, the ValueObject corresponding to the value is set as the return value of the method. When the output-vo attribute is not defined, it is a void type.
When there are a plurality of business logic information definition information, the above process is repeated, and generation of a template source code of the business logic class is repeated.

図16は、画面情報に基づき、アクションクラスのソースコードを生成する処理手順を示すフローチャートである。
プレゼンテーション層ソースコード自動生成部104は、画面情報の各定義情報に含まれるイベント情報について以下の処理を繰り返す(ステップ1601)。
まず、各イベント情報を読み込み、<event>タグのname属性の値の最初の1文字目を大文字にし、その後にActionをつけたクラス名のアクションクラスを生成する(ステップ1602)。
次に、親クラスとして、StrutsのクラスであるActionクラスを継承し、executeメソッドをオーバライドする(ステップ1603)。Actionクラスとは、要求に対して、対応するBeanなどで実装されたビジネスロジックの処理をハンドリングするものであり、ActionServletによって、Actionクラスのexecuteメソッドが呼び出され、この中で、認証,バリデーションなどの処理を実行して、適切なビジネスロジックを呼び出すこととなる。
アクションクラスの生成において、定義情報に<event>タグのlogic属性に対応する<business−logic>タグのinput−vo属性が定義されている場合には、executeメソッドで、input−vo属性に対応するValueObject情報によって生成したアクションフォームbeanクラスを取得し、そのデータをinput−vo属性に対応するValueObject情報によって生成したValueObjectにコピーする処理を生成する。
<event>タグのlogic属性に対応する<business−logic>タグのinput−vo属性が定義されている場合には、executeメソッドで、input−vo属性に対応するValueObject情報によって生成したアクションフォームbeanクラスを取得し、そのデータをinput−vo属性に対応するValueObject情報によって生成したValueObjectにコピーする処理を生成する。また、input−vo属性に対応するValueObject情報によって生成したValueObjectを引数として、<event>タグのlogic属性に対応する<business−logic>タグのmethod属性に示すメソッドを呼び出す処理を生成する。
input−vo属性が定義されていない場合には、引数無しで、<event>タグのlogic属性に対応する<business−logic>タグのmethod属性に示すメソッドを呼び出す処理を生成する。
<event>タグのlogic属性に対応する<business−logic>タグのoutput−vo属性が定義されている場合には、処理結果を返す処理を生成する。
以上の処理により生成したアクションクラスの定義をStruts設定ファイルに追加する(ステップ1604)。具体的には、定義情報の<event>タグのname属性の値の頭に「/」を付けた文字列をpath属性の値とし、アクションクラスのクラス名をtype属性の値とし、logic属性に対応するビジネスロジック情報の定義情報におけるinput−vo属性の値をname属性の値とし、ビジネスロジック情報の定義情報におけるinput属性の値をscope属性の値とした<action>タグを追加する。また、「success」をname属性の値とし、<event>タグのforward属性の値をpath属性の値とした<forward>タグを追加する。
FIG. 16 is a flowchart showing a processing procedure for generating the action class source code based on the screen information.
The presentation layer source code automatic generation unit 104 repeats the following processing for event information included in each definition information of the screen information (step 1601).
First, each event information is read, and an action class having a class name with the first letter of the name attribute value of the <event> tag capitalized and then added with an action is generated (step 1602).
Next, the Action class that is the class of Struts is inherited as the parent class, and the execute method is overridden (step 1603). The Action class handles the processing of business logic implemented in the corresponding Bean etc. in response to the request, and the Action method of the Action class is called by the ActionServlet, and authentication, validation, etc. Process will be executed and appropriate business logic will be called.
In the generation of an action class, when the input-vo attribute of the <businesses-logic> tag corresponding to the logic attribute of the <event> tag is defined in the definition information, the execute method corresponds to the input-vo attribute. The action form bean class generated by the value object information is acquired, and a process of copying the data to the value object generated by the value object information corresponding to the input-vo attribute is generated.
If the <business-logic>tag's input-vo attribute corresponding to the <event>tag's logic attribute is defined, the action method bean class generated from the value object information corresponding to the input-vo attribute by the execute method Is generated, and a process of copying the data to the ValueObject generated by the ValueObject information corresponding to the input-vo attribute is generated. In addition, a process for calling a method indicated by the method attribute of the <business-logic> tag corresponding to the logic attribute of the <event> tag is generated using the ValueObject generated by the ValueObject information corresponding to the input-vo attribute as an argument.
If the input-vo attribute is not defined, a process for calling a method indicated by the method attribute of the <business-logic> tag corresponding to the logic attribute of the <event> tag is generated without an argument.
When the output-vo attribute of the <businessness-logic> tag corresponding to the logic attribute of the <event> tag is defined, a process for returning the processing result is generated.
The action class definition generated by the above processing is added to the Struts setting file (step 1604). Specifically, a character string with “/” at the beginning of the name attribute value of the <event> tag of the definition information is set as the value of the path attribute, the class name of the action class is set as the value of the type attribute, and the logical attribute is set. An <action> tag is added in which the value of the input attribute in the definition information of the corresponding business logic information is the value of the name attribute, and the value of the input attribute in the definition information of the business logic information is the value of the scope attribute. Further, a <forward> tag is added in which “success” is the value of the name attribute and the forward attribute value of the <event> tag is the value of the path attribute.

以上の処理により、プレゼンテーション層ソースコード自動生成部104が生成したソースコードの具体例を図17〜22に示す。
図17は、ValueObject情報1210に含まれる定義情報1211に基づき生成した入力ValueObjectクラスを示すソースコードの一例を示す図である。
入力ValueObjectクラス1700では、定義情報1211の<ValueObject>タグ及び<Property>タグの各属性値に基づき、クラス名,属性及びその属性のsetter/getterが生成されている。
具体的には、クラス名として「CustomerNoValue」が設定され、顧客番号に関する属性「no」と、その属性のsetter/getterが生成されている。
図18は、ValueObject情報1210に含まれる定義情報1211に基づき生成したアクションフォームBeanクラスのソースコードの一例を示す図である。
アクションフォームBeanクラス1800では、入力ValueObjectクラス1700と略同様に、定義情報1211の<ValueObject>タグ及び<Property>タグの各属性値に基づき、クラス名,属性及びその属性のsetter/getterが生成されている。
図19は、ValueObject情報1210に含まれる定義情報1212に基づき生成した出力ValueObjectクラスを示すソースコードの一例を示す図である。
出力ValueObjectクラス1900では、入力ValueObjectクラス1700と略同様に、定義情報1212の<ValueObject>タグ及び<Property>タグの各属性値に基づき、クラス名,属性及びその属性のsetter/getterが生成されている。
具体的には、クラス名として「CustomerValue」が設定され、顧客番号,名前,住所及び電話番号に関する各属性「no」,「name」,「address」及び「tel」と、各属性のsetter/getterが生成されている。
Specific examples of the source code generated by the presentation layer source code automatic generation unit 104 by the above processing are shown in FIGS.
FIG. 17 is a diagram illustrating an example of source code indicating an input ValueObject class generated based on the definition information 1211 included in the ValueObject information 1210.
In the input ValueObject class 1700, a class name, an attribute, and a setter / getter of the attribute are generated based on the attribute values of the <ValueObject> tag and the <Property> tag of the definition information 1211.
Specifically, “CustomerNoValue” is set as the class name, and an attribute “no” relating to the customer number and a setter / getter of the attribute are generated.
FIG. 18 is a diagram illustrating an example of the source code of the action form Bean class generated based on the definition information 1211 included in the value object information 1210.
In the action form Bean class 1800, a class name, an attribute, and a setter / getter of the attribute are generated based on the attribute values of the <ValueObject> tag and the <Property> tag of the definition information 1211 in substantially the same manner as the input ValueObject class 1700. ing.
FIG. 19 is a diagram illustrating an example of source code indicating an output ValueObject class generated based on the definition information 1212 included in the ValueObject information 1210.
In the output ValueObject class 1900, class names, attributes, and setter / getters of the attributes are generated based on the attribute values of the <ValueObject> tag and the <Property> tag of the definition information 1212 in substantially the same manner as the input ValueObject class 1700. Yes.
Specifically, “CustomerValue” is set as the class name, each attribute “no”, “name”, “address” and “tel” regarding the customer number, name, address and telephone number, and setter / getter of each attribute. Has been generated.

図20は、ビジネスロジック情報1220に含まれる定義情報1221に基づき生成したビジネスロジックの雛形ソースコードを示す図である。
ビジネスロジックの雛形ソースコード2000では、定義情報1221の<business−logic>タグの各属性値に基づき、クラス名及び各メソッドが生成されているとともに、ビジネスロジック記述部を有している。
具体的には、クラス名として「sample.CustomerLogic」が設定されるとともに、「search」メソッドが生成されている。
FIG. 20 is a diagram showing a business logic template source code generated based on the definition information 1221 included in the business logic information 1220.
In the business logic model source code 2000, a class name and each method are generated based on each attribute value of the <business-logic> tag of the definition information 1221, and a business logic description part is included.
Specifically, “sample.CustomerLogic” is set as a class name, and a “search” method is generated.

図21は、画面情報1230の定義情報1231に基づき生成したアクションクラスのソースコードを示す図である。
アクションクラスのソースコード2100では、定義情報1231の<event>タグの各属性値及びlogic属性値に基づき参照したビジネスロジック情報1220の定義情報1221に基づき、クラス名及び書くメソッドが生成されている。
図22は、ValueObject情報及び画面情報に基づき定義情報を追加したStruts設定ファイルのソースコードを示す図である。
Struts設定ファイルのソースコード2200は、ValueObuject情報1210及び画面情報1230の各定義情報1211,1311に基づき、アクションフォームBeanクラス及びアクションクラスの設定情報,画面遷移情報を記述している。
FIG. 21 is a diagram showing the source code of the action class generated based on the definition information 1231 of the screen information 1230.
In the action class source code 2100, a class name and a writing method are generated based on the definition information 1221 of the business logic information 1220 referred to based on each attribute value and logic attribute value of the <event> tag of the definition information 1231.
FIG. 22 is a diagram illustrating a source code of a Struts setting file in which definition information is added based on ValueObject information and screen information.
The source code 2200 of the Struts setting file describes action form Bean class, action class setting information, and screen transition information based on the definition information 1211 and 1311 of the value object information 1210 and the screen information 1230.

以上のように、本実施の形態に係るWebアプリケーション開発支援装置では、プレゼンテーション層を構成するStruts設定ファイル,アクションクラス,アクションフォームBeanクラスと、各クラス等に対応したビジネスロジッククラスの雛形を生成することが可能となるため、開発者は、画面デザイン及びビジネスロジックの実装に専念することが可能となる。
また、画面仕様定義画面において、画面仕様情報に基づき、定義された画面遷移を階層的に表示することととしたので、画面遷移の把握及び編集が容易となる。
As described above, the Web application development support device according to the present embodiment generates a Struts setting file, an action class, an action form bean class that constitutes a presentation layer, and a business logic class template corresponding to each class. This allows developers to concentrate on screen design and business logic implementation.
Further, since the defined screen transitions are hierarchically displayed on the screen specification definition screen based on the screen specification information, it is easy to grasp and edit the screen transitions.

なお、前記実施の形態では、フレームワークとしてStrutsを利用した場合を前提として説明したが、これに限られるものでは無く、他のフレームワークに対応したクラス等を生成することとしてもよい。
また、本発明のWebアプリケーション開発支援装置を構成する各定義部及びソースコード生成部は、それぞれ別端末で構成してもよい。
In the embodiment described above, the case where Struts is used as a framework has been described. However, the present invention is not limited to this, and a class or the like corresponding to another framework may be generated.
Moreover, each definition part and source code generation part which comprise the Web application development assistance apparatus of this invention may be comprised with a different terminal, respectively.

本発明の一実施の形態に係るWebアプリケーション開発支援装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the web application development assistance apparatus which concerns on one embodiment of this invention. Strutsを利用したWebアプリケーションの概略構成を示す図である。It is a figure which shows schematic structure of the web application using Struts. 本発明の一実施の形態に係るWebアプリケーション開発支援装置による処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process by the web application development assistance apparatus which concerns on one embodiment of this invention. ValueObuject定義画面の画面構成の一例を示す図である。It is a figure which shows an example of a screen structure of a ValueObject definition screen. 画面仕様定義画面(画面仕様定義)の画面構成の一例を示す図である。It is a figure which shows an example of a screen structure of a screen specification definition screen (screen specification definition). 画面仕様定義画面(ビジネスロジック定義)の画面構成の一例を示す図である。It is a figure which shows an example of a screen structure of a screen specification definition screen (business logic definition). ValueObuject定義の一例を示す図である。It is a figure which shows an example of ValueObject definition. ValueObuject定義の一例を示す図である。It is a figure which shows an example of ValueObject definition. 画面仕様定義の一例を示す図である。It is a figure which shows an example of a screen specification definition. ビジネスロジック定義の一例を示す図である。It is a figure which shows an example of a business logic definition. 画面仕様定義の一例を示す図である。It is a figure which shows an example of a screen specification definition. 画面仕様情報を示すソースコードの一例を示す図である。It is a figure which shows an example of the source code which shows screen specification information. 画面仕様定義部の行う画面遷移表示処理手順を示すフローチャートである。It is a flowchart which shows the screen transition display process procedure which a screen specification definition part performs. プレゼンテーション層ソースコード自動生成部の行うソースコード生成処理手順を示すフローチャートである。It is a flowchart which shows the source code production | generation process procedure which a presentation layer source code automatic generation part performs. プレゼンテーション層ソースコード自動生成部の行うソースコード生成処理手順を示すフローチャートである。It is a flowchart which shows the source code production | generation process procedure which a presentation layer source code automatic generation part performs. プレゼンテーション層ソースコード自動生成部の行うソースコード生成処理手順を示すフローチャートである。It is a flowchart which shows the source code production | generation process procedure which a presentation layer source code automatic generation part performs. 生成したValueObujectのソースコードの一例を示す図である。It is a figure which shows an example of the source code of produced | generated ValueObject. 生成したアクションフォームBeanのソースコードの一例を示す図である。It is a figure which shows an example of the source code of the produced | generated action form Bean. 生成したValueObujectのソースコードの一例を示す図である。It is a figure which shows an example of the source code of produced | generated ValueObject. 生成したビジネスロジックの雛形のソースコードの一例を示す図である。It is a figure which shows an example of the source code of the produced | generated business logic model. 生成したアクションクラスのソースコードの一例を示す図である。It is a figure which shows an example of the source code of the produced | generated action class. 生成したStruts設定ファイルのソースコードの一例を示す図である。It is a figure which shows an example of the source code of the produced | generated Struts setting file.

符号の説明Explanation of symbols

100 Webアプリケーション開発支援装置、101 ValueObuject定義部、102 画面仕様定義部、103 画面仕様情報記憶部、104 プレゼンテーション層ソースコード自動生成部、110 プレゼンテーション層ソースコード。   DESCRIPTION OF SYMBOLS 100 Web application development support apparatus, 101 ValueObject definition part, 102 Screen specification definition part, 103 Screen specification information storage part, 104 Presentation layer source code automatic generation part, 110 Presentation layer source code

Claims (3)

表示画面の画面遷及び表示画面とビジネスロジックとの関連付けを記述した設定ファイルを有し、当該設定ファイルに基づきクライアントからの要求に応じたイベントの実行及びページ遷移を行うプレゼンテーション層と、ビジネスロジック層とを有するWebアプリケーションの開発支援装置であって、
プレゼンテーション層とビジネスロジック層との間の入出力項目を保持するクラスについて定義したValueObuject定義情報と、前記表示画面の画面遷移及び各表示画面とビジネスロジックとの関連付けを定義した画面仕様定義情報とを記憶する画面仕様情報記憶部と、
各表示画面における入出力項目の入力を受付け、前記ValueObuject定義情報として、前記画面仕様情報記憶部に記憶するValueObuject定義部と、
各表示画面についての画面遷移定義情報及びイベント実行定義情報と、前記イベント実行定義情報に対応するビジネスロジック定義情報との入力を受付け、前記画面仕様定義情報として、画面仕様情報記憶部に記憶する画面仕様定義部と、
前記画面仕様情報記憶部に記憶された各定義情報に基づき、前記プレゼンテーション層と、前記ビジネスロジック層を構成するビジネスロジックの雛形とを生成する手段と
を備えることを特徴とするWebアプリケーション開発支援装置。
A presentation layer that has a configuration file that describes the screen transition of the display screen and the association between the display screen and the business logic, and that executes the event according to the request from the client and the page transition based on the configuration file, and the business logic layer A development support apparatus for a web application having
ValueObject definition information that defines the class that holds the input / output items between the presentation layer and the business logic layer, and screen specification definition information that defines the screen transition of the display screen and the association between each display screen and the business logic. A screen specification information storage unit for storing;
A ValueObject definition unit that accepts input of input / output items on each display screen and stores the value in the screen specification information storage unit as the ValueObject definition information;
A screen that receives input of screen transition definition information and event execution definition information for each display screen, and business logic definition information corresponding to the event execution definition information, and stores the screen specification definition information in the screen specification information storage unit A specification definition part;
A Web application development support device comprising: the presentation layer and a means for generating a business logic model constituting the business logic layer based on each definition information stored in the screen specification information storage unit .
前記画面仕様定義部は、
前記画面仕様情報記憶部に記憶された画面仕様定義情報を取得し、
前記表示画面及びビジネスロジックの画面遷移を階層的に表示する手段を備えることを特徴とする請求項1に記載のWebアプリケーション開発支援装置。
The screen specification definition part
Obtaining screen specification definition information stored in the screen specification information storage unit;
2. The Web application development support apparatus according to claim 1, further comprising means for hierarchically displaying the display screen and the screen transition of the business logic.
表示画面の遷移情報及び表示画面とビジネスロジックとの関連付けを定義した画面仕様定義情報と、プレゼンテーション層とビジネスロジック層との間の入出力項目を定義したValueObuject定義情報とを記憶する画面仕様情報記憶部と、当該画面仕様情報記憶部に前記ValueObuject定義情報を記憶するValueObuject定義部部と、前記画面仕様情報記憶部に画面仕様定義情報を記憶する画面仕様定義部と、前記画面仕様情報記憶部に記憶された各定義情報に基づきWebアプリケーションのプレゼンテーション層の一部を生成するソースコード生成部とを備えるWebアプリケーション開発支援装置によるWebアプリケーション開発支援方法であって、
ValueObuject定義部が、各表示画面における入出力項目の入力を受付け、前記ValueObuject定義情報として、前記画面仕様情報記憶部に記憶するステップと、
画面仕様定義部が、各表示画面についての画面遷移定義情報及びイベント定義情報と、前記イベント定義情報に対応するビジネスロジック定義情報との入力を受付け、前記画面仕様定義情報として、画面仕様情報記憶部に記憶するステップと、
前記ソースコード生成部が、前記画面仕様情報記憶部に記憶された各定義情報に基づき、表示画面の遷移情報及び表示画面とビジネスロジックとの関連付けを記述した設定ファイルと、当該設定ファイルの記述に基づきイベントの実行又はページ遷移を行うコントローラとを含むプレゼンテーション層と、前記ビジネスロジック層を構成するビジネスロジックの雛形とを生成するステップと
を備えることを特徴とするWebアプリケーション開発支援方法。



Screen specification information storage for storing display screen transition information, screen specification definition information that defines the association between the display screen and business logic, and value object definition information that defines input / output items between the presentation layer and the business logic layer In the screen specification information storage unit, the value object definition unit that stores the value object definition information in the screen specification information storage unit, the screen specification definition unit that stores the screen specification definition information in the screen specification information storage unit, and the screen specification information storage unit A web application development support method by a web application development support apparatus comprising a source code generation unit that generates a part of a presentation layer of a web application based on each stored definition information,
A ValueObject definition unit that accepts input of input / output items on each display screen, and stores it as the ValueObject definition information in the screen specification information storage unit;
The screen specification definition unit accepts input of screen transition definition information and event definition information for each display screen and business logic definition information corresponding to the event definition information, and the screen specification definition storage unit stores the screen specification information as the screen specification definition information. The step of storing in
Based on each definition information stored in the screen specification information storage unit, the source code generation unit includes a setting file that describes display screen transition information and the association between the display screen and business logic, and a description of the setting file. A Web application development support method, comprising: a presentation layer including a controller that executes an event or transitions based on an event; and a step of generating a business logic template that constitutes the business logic layer.



JP2004354874A 2004-12-08 2004-12-08 Web application development support device, and development support method Pending JP2006163855A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004354874A JP2006163855A (en) 2004-12-08 2004-12-08 Web application development support device, and development support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004354874A JP2006163855A (en) 2004-12-08 2004-12-08 Web application development support device, and development support method

Publications (1)

Publication Number Publication Date
JP2006163855A true JP2006163855A (en) 2006-06-22

Family

ID=36665802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004354874A Pending JP2006163855A (en) 2004-12-08 2004-12-08 Web application development support device, and development support method

Country Status (1)

Country Link
JP (1) JP2006163855A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040751A (en) * 2006-08-04 2008-02-21 Hitachi Ltd Information processor supporting setting of operation attribute of application program, information processor method, and program
JP2009087093A (en) * 2007-09-28 2009-04-23 Bank Of Tokyo-Mitsubishi Ufj Ltd Application development support device and program
JP2009251975A (en) * 2008-04-08 2009-10-29 Hitachi Ltd Automatic web application generator
JP2010073062A (en) * 2008-09-19 2010-04-02 Ricoh Co Ltd Image processor, image processing method and program
JP2010123127A (en) * 2008-11-20 2010-06-03 Nhn Corp Component based java web application development framework used in order to make web page
JP2015534145A (en) * 2012-08-14 2015-11-26 マイクロソフト テクノロジー ライセンシング,エルエルシー User interface control framework for stamping out controls using declarative templates
JP2017504104A (en) * 2013-12-05 2017-02-02 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Apparatus, system and method for efficient and low-latency synchronization of graph-like data structures
JP2020024724A (en) * 2015-03-17 2020-02-13 キヤノンマーケティングジャパン株式会社 Information processor, method for controlling information processor, and program
JP2020170530A (en) * 2016-03-09 2020-10-15 キヤノンマーケティングジャパン株式会社 Information processing apparatus, processing method thereof, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182914A (en) * 2000-12-18 2002-06-28 Canon Inc Screen transition display device, screen transition display method and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182914A (en) * 2000-12-18 2002-06-28 Canon Inc Screen transition display device, screen transition display method and storage medium

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040751A (en) * 2006-08-04 2008-02-21 Hitachi Ltd Information processor supporting setting of operation attribute of application program, information processor method, and program
JP2009087093A (en) * 2007-09-28 2009-04-23 Bank Of Tokyo-Mitsubishi Ufj Ltd Application development support device and program
JP2009251975A (en) * 2008-04-08 2009-10-29 Hitachi Ltd Automatic web application generator
JP2010073062A (en) * 2008-09-19 2010-04-02 Ricoh Co Ltd Image processor, image processing method and program
JP2010123127A (en) * 2008-11-20 2010-06-03 Nhn Corp Component based java web application development framework used in order to make web page
US8839194B2 (en) 2008-11-20 2014-09-16 Nhn Corporation Component-based web application development framework used for creating web page
JP2015534145A (en) * 2012-08-14 2015-11-26 マイクロソフト テクノロジー ライセンシング,エルエルシー User interface control framework for stamping out controls using declarative templates
JP2017504104A (en) * 2013-12-05 2017-02-02 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Apparatus, system and method for efficient and low-latency synchronization of graph-like data structures
JP2020024724A (en) * 2015-03-17 2020-02-13 キヤノンマーケティングジャパン株式会社 Information processor, method for controlling information processor, and program
JP2020170530A (en) * 2016-03-09 2020-10-15 キヤノンマーケティングジャパン株式会社 Information processing apparatus, processing method thereof, and program
JP7004930B2 (en) 2016-03-09 2022-01-21 キヤノンマーケティングジャパン株式会社 Information processing equipment and its processing method and program

Similar Documents

Publication Publication Date Title
Walls Spring in action
Freeman Pro Asp. net core MVC
Mann Java Server Faces in Action
US11321669B2 (en) Creating a customized email that includes an action link generated based on form data
CN108984172B (en) Interface file generation method and device
EP1938222A2 (en) Browser based designer and player
Spaanjaars Beginning asp. net 4: in c# and vb
JP2009020705A (en) Gui application development support device and development support method
JPH11143874A (en) Style definition supporting device of structured document
JP2006163855A (en) Web application development support device, and development support method
US8230353B2 (en) Iterative development of services from WSDL
US10409575B2 (en) System and method for developing software applications of wearable devices
KR101456508B1 (en) A data binding method for authoring web applications and the authoring tool by using the same
JP2004102886A (en) Application development support method, device and program, and workflow processing method, device and program
JP2013200844A (en) Screen control system, screen control program, screen creation support program and screen control method
JP2008040751A (en) Information processor supporting setting of operation attribute of application program, information processor method, and program
Skeie Ember. js in Action
JP2006276989A (en) Web page contents generating system
JP2006331356A (en) Business processing program, recording medium recording it, and business processing system
JP7060788B2 (en) Information processing equipment, information processing equipment control methods, and computer programs
Harmon Dojo: Using the Dojo JavaScript Library to Build Ajax Applications
Fredriksson Eklund An Abstraction for the Development of Accessible Web Forms
JP2007304778A (en) Test method for program, program, test device and application development system
Wadia et al. The Definitive Guide to Apache MyFaces and Facelets
JP2007094453A (en) Program development support system, program development support method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101222