[go: up one dir, main page]

JP2014059699A - Demo application generation system and demo application generation program - Google Patents

Demo application generation system and demo application generation program Download PDF

Info

Publication number
JP2014059699A
JP2014059699A JP2012204076A JP2012204076A JP2014059699A JP 2014059699 A JP2014059699 A JP 2014059699A JP 2012204076 A JP2012204076 A JP 2012204076A JP 2012204076 A JP2012204076 A JP 2012204076A JP 2014059699 A JP2014059699 A JP 2014059699A
Authority
JP
Japan
Prior art keywords
client terminal
html data
path
demo
output
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
JP2012204076A
Other languages
Japanese (ja)
Inventor
Soichi Ohara
聡一 大原
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2012204076A priority Critical patent/JP2014059699A/en
Priority to CN202110357746.8A priority patent/CN113158651A/en
Priority to PCT/JP2013/073185 priority patent/WO2014045826A1/en
Priority to CN201380059955.8A priority patent/CN104798067B/en
Priority to US14/426,470 priority patent/US9817811B2/en
Priority to CN201610910911.7A priority patent/CN107092589B/en
Publication of JP2014059699A publication Critical patent/JP2014059699A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】Webアプリケーションについて、スタンドアロン環境で動作可能なデモアプリケーションを容易に生成するデモアプリケーション生成システムを提供する。
【解決手段】Webアプリケーションプログラムがクライアント端末200に対して画面を生成して出力する際に出力バッファからHTMLデータ102を取得し、HTMLデータ102に含まれるURL表現もしくはパスをクライアント端末200上の所定のディレクトリを基準とした第1のローカルパスにそれぞれ変換し、またHTMLデータ102の所在場所のパスを第2のローカルパスに変換し、クライアント端末200上の第2のローカルパスにHTMLデータ102からなるHTMLファイルを出力し、さらにHTMLデータ102が参照するリソース104を含む各ファイルについてクライアント端末200上の対応する第1のローカルパスにそれぞれ出力もしくはコピーする。
【選択図】図1
A demo application generation system for easily generating a demo application operable in a stand-alone environment for a Web application is provided.
When a Web application program generates and outputs a screen to a client terminal 200, HTML data 102 is acquired from an output buffer, and a URL expression or path included in the HTML data 102 is specified on the client terminal 200. Are converted into first local paths based on the directory of the client, and the path of the location of the HTML data 102 is converted into a second local path, and the second local path on the client terminal 200 is converted from the HTML data 102 to the second local path. The HTML file is output, and each file including the resource 104 referred to by the HTML data 102 is output or copied to the corresponding first local path on the client terminal 200.
[Selection] Figure 1

Description

本発明は、Webアプリケーションプログラムの開発技術に関し、特に、スタンドアロン環境で動作するデモ用アプリケーションを生成するデモアプリケーション生成システムおよびデモアプリケーション生成プログラムに適用して有効な技術に関するものである。   The present invention relates to a Web application program development technique, and more particularly to a technique that is effective when applied to a demo application generation system and a demo application generation program that generate a demo application that operates in a stand-alone environment.

Webアプリケーションプログラムによるシステムやサービスは、主に、Webサーバ上で稼働するアプリケーションプログラムに対して、ユーザがクライアント端末上で稼働するWebブラウザ等を利用してアクセスすることで実行される。ユーザに対しては、Webブラウザを介してユーザインタフェースが提供される。   A system or service based on a Web application program is mainly executed when a user accesses an application program operating on a Web server using a Web browser operating on a client terminal. A user interface is provided to the user via a Web browser.

このユーザインタフェース(画面の内容や画面遷移等)を簡易的に再現することで、他の顧客やシステムの利用者等に対して、システムやサービスの機能、動作や、画面レイアウト、処理手順等を説明したり内容を確認したりするためのデモ用のアプリケーションプログラムやプロトタイプ等(以下では、これらを総称して“デモアプリケーション”と記載する場合がある)が必要とされる場合がある。Webアプリケーションによるサービスや機能などを動作させるためには、本来、Webサーバとクライアント端末がネットワークを介して接続される構成が必要となるところ、デモを実行するためにそのような構成を用意できない場合も多い。   By simply reproducing this user interface (screen contents, screen transitions, etc.), the functions, operations, screen layout, processing procedures, etc. of the system and services can be communicated to other customers and system users. In some cases, a demonstration application program, prototype, or the like (which may be collectively referred to as “demo application” hereinafter) for explaining or confirming contents may be required. In order to operate a service or a function by a Web application, a configuration in which a Web server and a client terminal are originally connected via a network is necessary, but such a configuration cannot be prepared for executing a demonstration. There are also many.

これに対して、例えば、デモ用のクライアント端末にWebサーバプログラムを導入してローカルでWebサーバ機能を稼働させることで、クライアント端末だけのスタンドアロン環境でWebアプリケーションを実行させる構成としてデモ環境を実現する場合がある。しかしながら、このような構成ではクライアント端末の負担が大きくなってしまう。一方で、クライアント端末だけのスタンドアロン環境で動作可能なアプリケーションを作成して、デモに用いたりプロトタイプとしたりすることも一般的に行われる。例えば、クライアント端末上で、本来のWebアプリケーションプログラムとしても展開可能なアプリケーションプログラムを直接開発することも可能である(例えば非特許文献1など参照)。   On the other hand, for example, by introducing a Web server program to a demonstration client terminal and operating the Web server function locally, the demonstration environment is realized as a configuration in which the Web application is executed in a stand-alone environment of only the client terminal. There is a case. However, such a configuration increases the burden on the client terminal. On the other hand, it is also common to create an application that can operate in a stand-alone environment with only a client terminal, and use it for a demonstration or as a prototype. For example, it is possible to directly develop an application program that can be deployed as an original Web application program on a client terminal (see, for example, Non-Patent Document 1).

また、本来のWebアプリケーションプログラムとは別に、HTTP(HyperText Transfer Protocol)を利用せずにスタンドアロン環境でローカルファイルを直接アクセスすることで動作可能なデモアプリケーションを、本来のWebアプリケーションに基づいて作成することも行われる。   In addition to the original Web application program, a demo application that can operate by directly accessing a local file in a stand-alone environment without using HTTP (HyperText Transfer Protocol) may be created based on the original Web application. Done.

例えば、まず、クライアント端末のWebブラウザを介してWebサーバにアクセスし、本来のWebアプリケーションプログラムを一度動作させて、Webブラウザ上に画面を表示させる。このとき、Webブラウザの機能によりHTML(HyperText Markup Language)のソースコードを表示し、この中でWebサーバ上のファイルやリソースを参照しているパスを、クライアント端末のローカル環境での対応するフォルダやディレクトリを参照するパスに変換した上で、HTMLファイルとしてローカルに保存する。また、参照するリソース自体についてもそれぞれ必要に応じて上記と同様にパスを変換する。   For example, first, a Web server is accessed via a Web browser of a client terminal, an original Web application program is once operated, and a screen is displayed on the Web browser. At this time, the source code of HTML (HyperText Markup Language) is displayed by the function of the Web browser, and the path referring to the file or resource on the Web server is displayed in the folder corresponding to the local environment of the client terminal. After converting the path to refer to the directory, it is stored locally as an HTML file. Also, for the resources to be referred to, the paths are converted in the same manner as described above as necessary.

さらに、これらのリソースのファイルをWebサーバから取得してクライアント端末のローカルの所定のパスに保存する。このような手順で、クライアント端末側にHTMLファイルや必要なリソースを配置するという作業を、Webアプリケーションでの必要な画面遷移の各画面で行うことで、クライアント端末のスタンドアロン環境で動作するデモアプリケーションを作成することが可能である。   Further, these resource files are acquired from the Web server and stored in a predetermined local path of the client terminal. A demo application that operates in a stand-alone environment of the client terminal by performing the procedure of allocating the HTML file and necessary resources on the client terminal side on each screen of the necessary screen transition in the Web application in such a procedure. It is possible to create.

マイクロソフト、“.NET Framework 4 ファイルシステムWebサイトプロジェクト”、インターネット<URL:http://msdn.microsoft.com/ja-jp/library/e5x4xz73>Microsoft, “.NET Framework 4 File System Website Project”, Internet <URL: http://msdn.microsoft.com/en-us/library/e5x4xz73>

例えば、既に開発されているWebアプリケーションについて、上述した手法を用いて、画面遷移の各画面について出力されたHTMLのソースコードについてそれぞれパス等を変換した上でローカルにファイルやリソース等を保存することで、クライアント端末等のWebブラウザでのスタンドアロン環境で動作するデモアプリケーションを作成することが可能である。しかしながら、上述した手法では作成のための人手による処理や手順が非常に多く煩雑であり、また、パス等の変換に漏れなどが生じる可能性も高い。   For example, for a web application that has already been developed, using the method described above, the path, etc., of the HTML source code output for each screen transition screen is converted and the files and resources are stored locally. Thus, it is possible to create a demo application that operates in a stand-alone environment in a Web browser such as a client terminal. However, the above-described method involves a lot of manual processes and procedures for creation, and is highly likely to cause leakage in conversion of paths and the like.

そこで本発明の目的は、動作可能な状態にあるWebアプリケーションについて、スタンドアロン環境で動作可能なデモアプリケーションを容易に生成するデモアプリケーション生成システムおよびデモアプリケーション生成プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   Therefore, an object of the present invention is to provide a demo application generation system and a demo application generation program that easily generate a demo application operable in a stand-alone environment for a Web application in an operable state. The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。   Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.

本発明の代表的な実施の形態によるデモアプリケーション生成システムは、クライアント端末上からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答して画面表示させることで前記クライアント端末に対してサービスを提供するWebアプリケーションプログラムを稼働させるとともに、前記Webアプリケーションプログラムの所定の画面遷移について前記クライアント端末で単独で再現可能とするデモアプリケーションを生成するデモアプリケーション生成システムであって、以下の特徴を有するものである。   A demo application generation system according to a representative embodiment of the present invention calls a corresponding business logic in response to a request from a client terminal, and displays a processing result by the business logic in response to the client terminal. A demo application generation system that operates a Web application program that provides a service to the client terminal and generates a demo application that can reproduce the predetermined screen transition of the Web application program independently on the client terminal. However, it has the following characteristics.

すなわち、デモアプリケーション生成システムは、前記Webアプリケーションプログラムが前記クライアント端末に対して応答する画面を生成して出力する際に、生成された前記画面のHTMLデータを保持する出力バッファから前記HTMLデータを取得し、前記HTMLデータに含まれるURL表現もしくはパスを、前記クライアント端末上の所定のディレクトリを基準とした第1のローカルパスにそれぞれ変換し、また、前記HTMLデータの所在場所のパスを前記所定のディレクトリを基準とした第2のローカルパスに変換する。   That is, when the Web application program generates and outputs a screen that responds to the client terminal, the demo application generation system acquires the HTML data from an output buffer that holds the generated HTML data of the screen. The URL expression or path included in the HTML data is converted into a first local path based on a predetermined directory on the client terminal, and the path of the location of the HTML data is converted to the predetermined path. Convert to a second local path relative to the directory.

さらに、前記デモアプリケーションとして、前記クライアント端末上の前記第2のローカルパスにより示される場所に前記HTMLデータからなるHTMLファイルを出力し、さらに前記HTMLデータが参照するリソースを含む各ファイルについて、前記クライアント端末上の対応する前記第1のローカルパスにより示される場所にそれぞれ出力もしくはコピーすることを特徴とするものである。   Further, as the demonstration application, an HTML file composed of the HTML data is output to a location indicated by the second local path on the client terminal, and the client includes a resource including a resource referred to by the HTML data. It is characterized in that it is output or copied to the location indicated by the corresponding first local path on the terminal.

また、本発明は、コンピュータを上記のようなデモアプリケーション生成システムとして動作させるプログラムにも適用することができる。   The present invention can also be applied to a program that causes a computer to operate as a demo application generation system as described above.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

すなわち、本発明の代表的な実施の形態によれば、動作可能な状態にあるWebアプリケーションについて、スタンドアロン環境で動作可能なデモアプリケーションを容易に生成することが可能となる。   That is, according to the exemplary embodiment of the present invention, it is possible to easily generate a demo application that can operate in a stand-alone environment for a Web application that is in an operable state.

本発明の一実施の形態であるデモアプリケーション生成システムの構成例について概要を示した図である。It is the figure which showed the outline | summary about the structural example of the demo application production | generation system which is one embodiment of this invention. 本発明の一実施の形態におけるパーツオブジェクトにより対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。It is the figure which showed the outline | summary about the example of the process at the time of displaying the input / output item of the column corresponding by the parts object in one embodiment of this invention on a screen. 本発明の一実施の形態におけるHTMLデータからローカルデータを生成する処理の流れの例について概要を示したフローチャートである。It is the flowchart which showed the outline | summary about the example of the flow of a process which produces | generates local data from HTML data in one embodiment of this invention.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

<概要>
本発明の一実施の形態であるデモアプリケーション生成システムは、例えば、Webサーバ上で動作し、業務データベースにアクセスするいわゆるCRUD(Create,Read,Update,Delete)型のWebアプリケーションプログラムの画面遷移について、クライアント端末のWebブラウザ等のスタンドアロン環境で単独で再現可能なデモアプリケーションを容易に生成することを可能とするWebサーバシステムである。
<Overview>
The demo application generation system according to an embodiment of the present invention is, for example, a screen transition of a so-called CRUD (Create, Read, Update, Delete) type Web application program that operates on a Web server and accesses a business database. This is a Web server system that can easily generate a demo application that can be reproduced independently in a stand-alone environment such as a Web browser of a client terminal.

本実施の形態では、例えば、CRUD型のWebアプリケーションプログラムにおいて、画面上の入出力項目(例えば、業務データベースからデータを取得するための検索条件の内容を指定する入力項目や、検索結果の内容を表示する出力項目)に係る内容を表示するために、標準的なコントロールオブジェクト(以下では単に“コントロール”と記載する場合がある)を直接用いるのではなく、後述するような、表示名称とコントロールの設定内容や制御処理および説明テキストの各データが一体となったパーツオブジェクトを用いるものとする。   In the present embodiment, for example, in a CRUD type Web application program, input / output items on the screen (for example, input items for specifying the contents of search conditions for acquiring data from a business database and contents of search results are displayed. Instead of directly using a standard control object (hereinafter simply referred to as “control”) to display the content related to the output item to be displayed), the display name and control as described later are used. It is assumed that a part object in which data of setting contents, control processing, and explanatory text are integrated is used.

このパーツオブジェクトは、画面上にどのようなコントロールを表示するか(例えば、テキストコントロールのみ、(テキストコントロールと)入力フィールド、(テキストコントロールと)ドロップダウンリスト、…等)をパラメータとして指定することが可能である。また、コントロールの属性値(例えば、テキストコントロールに表示されるテキストの内容や、入力フィールドの長さ等)や、制御情報(例えば、入力データの妥当性チェックをどのように行うか等)などについても指定することができるものとし、指定された内容に従ってコントロールを表示および制御するよう実装されている。   This part object can specify what kind of control to display on the screen (for example, text control only, (text control and) input field, (text control and) drop-down list, etc.) as a parameter. Is possible. Control attribute values (for example, text content displayed in text controls, input field length, etc.), control information (for example, how to check validity of input data, etc.) It is also implemented to display and control controls according to specified content.

換言すると、パーツオブジェクトは、入力フィールドやドロップダウンリスト、テキストなどの、入出力項目のデータを取り扱う入出力コントロールと、入出力項目の名称等を表示するテキストコントロールであるラベルコントロールとを組み合わせて表示するよう構成されており、これらのコントロールの出力のパターンを指定可能であるという構成を有する。   In other words, the part object is displayed by combining an input / output control that handles input / output item data such as an input field, drop-down list, and text, and a label control that is a text control that displays the name of the input / output item. In this configuration, the output pattern of these controls can be specified.

このとき、ラベルコントロールと入出力コントロールとを一括して整合性を持った形でコントロールの幅等の属性値を調整することができるため、ユーザが個別に整合性を持つように属性値等を指定するという煩雑な処理の必要がなく、表示されるコントロールの外観の調整を行うことができる。この調整には、例えば、表示可能領域に対して、ラベルコントロールが意図しない箇所で改行されたり、逆に意図した箇所で改行されなかったり等を防止するよう、ラベルコントロールと入出力コントロールの表示幅を一体的に調整することなどが含まれる。   At this time, the attribute value such as the width of the control can be adjusted in a consistent manner for the label control and the input / output control at a time, so the attribute value etc. There is no need for a complicated process of designating, and the appearance of the displayed control can be adjusted. For this adjustment, for example, the display width of the label control and the input / output control is prevented so that the label control is not line-breaked at an unintended location or is not line-breaked at the intended location. For example, to adjust the unity.

本実施の形態では、Webアプリケーションプログラムは、画面上の各入出力項目に係る内容について当該パーツオブジェクトを使用して表示するものとしてソースコードが作成されているものとする。すなわち、パーツオブジェクトを使用して間接的にコントロールを表示する(パーツオブジェクトがWebサーバシステム上での実行時に対象のコントロールを表示するHTMLデータやスクリプト等を動的に生成する)。また、アクセスする対象のデータベースの各カラムと画面上の入出力項目とのマッピングに係る情報は、データベースの各カラムの識別情報(例えばカラム名称)と、対応するパーツオブジェクトの識別情報(例えばHTMLのID属性値)とのマッピング情報としてソースコード上に保持する。   In the present embodiment, it is assumed that the source code is created so that the Web application program displays the contents relating to each input / output item on the screen using the part object. That is, the control is indirectly displayed using the part object (the HTML data or the script that displays the target control when the part object is executed on the Web server system is dynamically generated). Information relating to the mapping between each column of the database to be accessed and input / output items on the screen includes identification information (for example, column name) of each column of the database and identification information (for example, HTML of the corresponding part object). It is stored on the source code as mapping information with (ID attribute value).

さらに、本実施の形態では、各パーツオブジェクトにおいてラベルコントロールに表示するテキスト、および入出力コントロールの属性値や制御処理に係る情報などについて、後述するように、一部を除き、ソースコード上で直接指定するのではなく、パーツオブジェクトのIDもしくは対応するデータベースのカラム名称等の識別情報と関連付けられた辞書データとして外出しにして保持するよう構成する。これにより、いったん生成されたソースコードに対して変更を加えずに、画面の表示方式や、パーツオブジェクトにより画面上に表示されるコントロールの外観や属性等を動的に変更可能とする。   Furthermore, in this embodiment, as will be described later, the text displayed on the label control in each part object, the attribute value of the input / output control and the information related to the control processing, etc. are directly directly on the source code. Instead of specifying, it is configured to be stored as dictionary data associated with identification information such as part object ID or corresponding database column name. This makes it possible to dynamically change the display method of the screen and the appearance and attributes of the controls displayed on the screen by the part object without changing the source code once generated.

また、上記の辞書データへのアクセスなど、パーツオブジェクトが共通して有する機能を継承元のクラスに実装しておき、開発時には当該クラスを継承して各パーツオブジェクトを作成するようにすることで、開発者がパーツオブジェクトの機能を都度実装することなくWebアプリケーションプログラムを開発できるようにしている。   In addition, by implementing the functions that part objects have in common, such as access to the above dictionary data, in the inheritance source class, during development, each part object is created by inheriting the class, A developer can develop a Web application program without implementing the function of a part object each time.

ここで、本実施の形態のデモアプリケーション生成システムは、Webアプリケーションプログラムについて、ユーザが実際に動作させて画面遷移させると、Webサーバプログラムによって各画面が生成されて出力されるタイミングで、Webサーバプログラムの出力バッファに蓄積された画面のHTMLデータに基づいて、クライアント端末のローカルで動作可能なようにパス等を変換したローカルデータを自動的に生成する。このローカルデータを、必要なリソースと合わせてクライアント端末の所定のフォルダやディレクトリ(Webサーバ上と同じ階層構成を有する)に送信して格納する。   Here, the demo application generation system according to the present embodiment is configured such that when the user actually operates the web application program to change the screen, the web server program generates and outputs each screen by the web server program. Based on the HTML data of the screen stored in the output buffer, local data obtained by converting the path and the like so that the client terminal can operate locally is automatically generated. This local data is transmitted and stored together with necessary resources to a predetermined folder or directory (having the same hierarchical structure as that on the Web server) of the client terminal.

このような手法により、実行したWebアプリケーションの画面遷移に対応した、クライアント端末上で単独で動作するデモアプリケーションを自動的に生成することができる。なお、このような手法によるデモアプリケーションの生成は、上述したように、従来は主にユーザが画面毎に手作業により行なっていた。これに対し、本実施の形態では、このようなデモアプリケーションの生成処理を自動的に行うことができ、ユーザの負荷を大幅に低減させることができる。   By such a method, a demo application that operates independently on the client terminal and that corresponds to the screen transition of the executed Web application can be automatically generated. In addition, as described above, the generation of the demo application by such a method has been conventionally performed manually by the user manually for each screen. On the other hand, in the present embodiment, such a demo application generation process can be automatically performed, and the load on the user can be greatly reduced.

なお、本実施の形態では、Webアプリケーションプログラムを上記のパーツオブジェクトを用いて開発するものとしているが、本実施の形態では、上述したように、出力バッファに蓄積された画面のHTMLデータに基づいてデモアプリケーションを生成するため、出力バッファからHTMLデータを取得する処理を実装することが可能のものであれば、特に上記のパーツオブジェクトを用いたものに限られず、どのようなWebアプリケーションプログラムも対象とすることができる。   In this embodiment, the Web application program is developed using the above part object. However, in this embodiment, as described above, the Web application program is based on the HTML data of the screen accumulated in the output buffer. As long as it is possible to implement a process for acquiring HTML data from the output buffer in order to generate a demo application, it is not limited to those using the above part object, and any Web application program is also targeted. can do.

<システム構成>
図1は、本発明の一実施の形態であるデモアプリケーション生成システムの構成例について概要を示した図である。デモアプリケーション生成システム100は、例えば、サーバ機器やクラウドコンピューティング環境での仮想サーバなどのコンピュータ機器により構成され、図示しないOSやDBMS(DataBase Management System)、Webサーバプログラムなどのミドルウェアに加え、ユーザが作成したソースコード101もしくはそこから呼び出されるライブラリやオブジェクト等のソフトウェアプログラムにより実装される要求処理部110、辞書処理部120、ビジネスロジック130、および応答処理部140などの各部を有するWebサーバシステムである。
<System configuration>
FIG. 1 is a diagram showing an outline of a configuration example of a demo application generation system according to an embodiment of the present invention. The demo application generation system 100 includes, for example, computer devices such as server devices and virtual servers in a cloud computing environment. In addition to middleware such as an OS, a DBMS (DataBase Management System), and a Web server program (not shown), the user This is a Web server system having various components such as a request processing unit 110, a dictionary processing unit 120, a business logic 130, and a response processing unit 140, which are implemented by a created source code 101 or a software program such as a library or an object called from the source code 101 .

また、デモアプリケーション生成システム100は、インターネット等のネットワーク300を介して接続されるクライアント端末200上の図示しないWebブラウザ等のプログラムからの要求に対して、ビジネスロジック130により業務データベース(DB)131にアクセスして処理を行い、クライアント端末200に対してHTMLデータ102を出力して応答することによってサービスを提供する。   In addition, the demo application generation system 100 responds to a request from a program such as a web browser (not shown) on the client terminal 200 connected via the network 300 such as the Internet to the business database (DB) 131 by the business logic 130. The service is provided by accessing and processing, and outputting the HTML data 102 to the client terminal 200 and responding.

要求処理部110は、クライアント端末200からの要求を受けて、対応するソースコード101に基づいてコンテンツ(ビジネスロジック130)を呼び出す機能を有し、ソフトウェアプログラムにより実装されるID変換部111、および入力チェック部112などの各部を有する。ID変換部111は、要求メッセージに含まれる画面上の入力項目に対応する、ソースコード101に記載されたパーツオブジェクト103の識別情報(ID)を、ソースコード101に保持されたマッピング情報に基づいて、入出力項目に対応する業務DB131のカラムの識別情報(カラム名称等)に変換する機能を有する。   The request processing unit 110 has a function of receiving a request from the client terminal 200 and calling a content (business logic 130) based on the corresponding source code 101, an ID conversion unit 111 implemented by a software program, and an input Each unit includes a check unit 112 and the like. The ID conversion unit 111 uses the mapping information held in the source code 101 to identify the identification information (ID) of the part object 103 described in the source code 101 corresponding to the input item on the screen included in the request message. And a function of converting into column identification information (column name or the like) of the business DB 131 corresponding to the input / output item.

このマッピング情報は、画面上に表示されるパーツオブジェクト103の識別情報(例えばHTMLのID属性値)と、アクセスする対象の業務DB131の各カラムの識別情報(カラム名等)との対応を保持する。これにより、後述するように、ソースコード101において画面上に配置された各パーツオブジェクト103は、まずID変換部111によって自身のIDに対応するカラム名称を取得した後、当該カラム名称をキーとして、業務DB131へのアクセスや、後述する辞書テーブル121からの辞書データの取得等の後続の処理を行うことができる。   This mapping information holds the correspondence between the identification information (for example, HTML ID attribute value) of the part object 103 displayed on the screen and the identification information (column name, etc.) of each column of the business DB 131 to be accessed. . Thereby, as will be described later, each part object 103 arranged on the screen in the source code 101 first acquires a column name corresponding to its own ID by the ID conversion unit 111, and then uses the column name as a key. Subsequent processing such as access to the business DB 131 and acquisition of dictionary data from the dictionary table 121 described later can be performed.

従って、クライアント端末200に応答するHTMLデータ102上では、各パーツオブジェクト103(によって表示されるコントロール)において、対応する業務DB131のカラム名称をキー等の情報として直接指定する必要がなく、自身のIDをキー等の情報とすることができるため、実際のカラム名称をHTMLデータ102上から隠蔽してセキュリティの強化を図ることが可能である。なお、このような変換を行わず、HTMLデータ102上で各パーツオブジェクト103において対応する業務DB131のカラム名称をキー等の情報として直接指定するようにしてもよい。   Therefore, on the HTML data 102 that responds to the client terminal 200, it is not necessary to directly specify the column name of the corresponding business DB 131 as information such as a key in each part object 103 (control displayed by), and the ID of its own ID Therefore, it is possible to conceal the actual column name from the HTML data 102 to enhance security. Instead of performing such conversion, the column name of the business DB 131 corresponding to each part object 103 on the HTML data 102 may be directly specified as information such as a key.

入力チェック部112は、要求メッセージに含まれる、画面上のパーツオブジェクト103を介して指定された入力項目のデータの内容について一般的な妥当性チェックを行う機能を有する。妥当性チェックの種類としては、例えば、文字数や文字タイプ(数字やアルファベット、かな、全半角など)、使用可能文字の制限、日時や各種コード値などのフォーマットチェックなどが考えられる。   The input check unit 112 has a function of performing a general validity check on the content of the data of the input item specified via the part object 103 on the screen included in the request message. Possible types of validity checks include, for example, the number of characters and character type (numbers, alphabets, kana, full-width, etc.), restrictions on usable characters, format checks such as date and time, and various code values.

妥当性チェックの内容は、例えば、システム(特にクライアント端末200)の言語環境によって異なるものとなり得る。従って、本実施の形態では、入力チェック部112において言語毎のバリエーションも考慮した複数パターンの妥当性チェックのタイプを実装しておき、対象の入力項目についていずれのタイプを用いるかを、言語環境に応じて選択・決定するものとする。ここでは、後述する辞書処理部120を介して、対象の言語の辞書テーブル121にアクセスし、対象の入力項目に対応する辞書データの内容から妥当性チェックのタイプの情報を取得して決定するものとする。   The content of the validity check can vary depending on the language environment of the system (particularly the client terminal 200), for example. Therefore, in the present embodiment, the input check unit 112 implements a plurality of patterns of validity checking types that take into account variations for each language, and determines which type to use for the target input item in the language environment. It shall be selected and determined accordingly. Here, the dictionary table 121 of the target language is accessed via the dictionary processing unit 120 to be described later, and the validity check type information is acquired and determined from the contents of the dictionary data corresponding to the target input item. And

辞書処理部120は、データベースやファイルテーブル等により実装される辞書テーブル121を有し、例えば、辞書テーブル121から、指定されたキー(本実施の形態では、例えば、対象の入出力項目(パーツオブジェクト103)に対応する業務DB131のカラム名称)に対する辞書データを取得して出力する機能を有する。辞書テーブル121は、例えば、対象となる言語環境やWebアプリケーションプログラムの業務種別等のカテゴリー毎に複数用意し、選択して使用するようにしてもよい。   The dictionary processing unit 120 includes a dictionary table 121 implemented by a database, a file table, or the like. For example, a specified key (in this embodiment, for example, a target input / output item (part object) 103) and obtains and outputs dictionary data for the column name of the business DB 131 corresponding to (103). For example, a plurality of dictionary tables 121 may be prepared for each category such as a target language environment or a business type of a Web application program, and may be selected and used.

辞書テーブル121における辞書データの内容やフォーマットは特に限定されない。本実施の形態では、簡易な手法として、例えば後述するように、画面を介して業務DB131の対象のカラムへのデータの入出力処理を行うのに必要な種々のデータ(入出力を行うためのパーツオブジェクト103の属性値や制御のために必要なパラメータ等)を所定の順序でカンマ区切り等により指定するものとする。   The contents and format of the dictionary data in the dictionary table 121 are not particularly limited. In the present embodiment, as a simple method, for example, as will be described later, various data necessary for performing input / output processing of data to a target column of the business DB 131 via a screen (for input / output) It is assumed that the attribute value of the part object 103, parameters necessary for control, etc.) are specified in a predetermined order by comma separation or the like.

具体的には、例えば、対応するパーツオブジェクト103においてラベルコントロールを表示する際の内容である表示名称や、入出力コントロールとして入力フィールドを表示する際の長さ(文字数)、妥当性チェックの種別やIMEのモードなどの制御処理の内容に係る指定、出力データをテーブルに一覧表示する際の短縮されたテキストである短縮表示名称および表示幅、ドロップダウンリスト等により表示する際の値リストなどが考えられる。   Specifically, for example, the display name that is the content when displaying the label control in the corresponding part object 103, the length (number of characters) when the input field is displayed as the input / output control, the type of validity check, Designation related to the contents of control processing such as IME mode, abbreviated display name and display width which are shortened texts when displaying output data in a table, a value list when displaying with a drop-down list, etc. It is done.

なお、図1の例では、辞書処理部120をデモアプリケーション生成システム100上に実装する構成としているが、これに限らず、デモアプリケーション生成システム100とは別のサーバ機器上に独立して構築してもよい。   In the example of FIG. 1, the dictionary processing unit 120 is configured to be mounted on the demo application generation system 100. However, the configuration is not limited to this, and the dictionary processing unit 120 is configured independently on a server device different from the demo application generation system 100. May be.

ビジネスロジック130は、業務DB131を利用して業務アプリケーションとしての処理を行う機能を有する。本実施の形態では、上述したように、業務DB131に対するCRUD型アプリケーションを対象とするが、特にこれに限定されるものではない。   The business logic 130 has a function of performing processing as a business application using the business DB 131. In the present embodiment, as described above, the CRUD type application for the business DB 131 is targeted, but the present invention is not particularly limited to this.

応答処理部140は、ソースコード101の内容に基づくビジネスロジック130等の処理結果に基づいてHTMLデータ102を生成し、クライアント端末200に対して応答する機能を有し、ソフトウェアプログラムにより実装される表示調整部141、表示部142、およびローカルデータ生成部143などの各部を有する。   The response processing unit 140 has a function of generating HTML data 102 based on the processing result of the business logic 130 based on the contents of the source code 101 and responding to the client terminal 200, and is a display implemented by a software program Each unit includes an adjustment unit 141, a display unit 142, a local data generation unit 143, and the like.

表示調整部141は、応答に含まれる各出力項目について、対応するパーツオブジェクト103を表示するためのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値を取得する。ここでは、辞書処理部120を介して対応する言語環境等の辞書テーブル121にアクセスして、対象の出力項目(パーツオブジェクト103)に対応する辞書データから表示名称や属性値等の各種パラメータ値を取得する。   The display adjustment unit 141 acquires, for each output item included in the response, parameter values such as label control text, input / output control attribute values, and control information for displaying the corresponding part object 103. Here, the dictionary table 121 such as the corresponding language environment is accessed via the dictionary processing unit 120, and various parameter values such as display names and attribute values are obtained from the dictionary data corresponding to the target output item (part object 103). get.

表示部142は、表示調整部141が取得した、各パーツオブジェクトについてのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値に基づいて、各パーツオブジェクトにより表示されるコントロールが配置された応答画面のHTMLデータ102を生成する機能を有する。   The display unit 142 arranges controls displayed by each part object based on parameter values such as label control text, input / output control attribute values, and control information obtained by the display adjustment unit 141. A function to generate HTML data 102 of the response screen.

ローカルデータ生成部143は、表示部142により生成されたHTMLデータ102に基づいてローカルデータ105を生成し、必要なリソース104と合わせてクライアント端末200の所定のフォルダやディレクトリに送信して格納することで、クライアント端末200上にデモアプリケーションを生成する機能を有する。   The local data generation unit 143 generates local data 105 based on the HTML data 102 generated by the display unit 142, and transmits the local data 105 together with the necessary resources 104 to a predetermined folder or directory of the client terminal 200 for storage. Thus, the client terminal 200 has a function of generating a demo application.

具体的には、例えばまず、図示しないWebサーバプログラムの出力バッファに蓄積されたHTMLデータ102について、クライアント端末200に対して出力される際にこれを取得する。このタイミングは具体的には例えば出力する“直前”であり、本実施の形態では、画面に表示各するコントロールはパーツオブジェクト103を用いて表示するものとしているため、例えば、パーツオブジェクト103を表示(HTMLを生成)して画面を生成するための共通のクラス等において、最後のHTMLタグ(“</html>”)を書き出す際に所定のメソッド等を呼び出すようにしてもよい。   Specifically, for example, when the HTML data 102 stored in the output buffer of a Web server program (not shown) is output to the client terminal 200, it is acquired. Specifically, this timing is, for example, “immediately before” to output, and in the present embodiment, since each control displayed on the screen is displayed using the part object 103, for example, the part object 103 is displayed ( In a common class or the like for generating a screen by generating HTML, a predetermined method or the like may be called when writing the last HTML tag ("</ html>").

また、本実施の形態と異なり、画面表示のためにパーツオブジェクト103を用いない場合であっても、例えば、各画面共通で最後に所定のメソッド等を呼び出すようなコードを1行追加することで同様の処理を行なうようにしてもよい。また、終了時のトレースポイントやログ出力などのデバッグコードが呼び出された際に実行するなど、画面生成が完了する際のイベントをキャッチすることができる手段であれば適宜利用することができる。   Unlike the present embodiment, even when the part object 103 is not used for screen display, for example, by adding one line of code that calls a predetermined method at the end in common with each screen, for example. Similar processing may be performed. In addition, any means that can catch an event when screen generation is completed, such as execution when a debug code such as a trace point or log output at the end is called, can be used as appropriate.

画面生成完了時に出力バッファから取得したHTMLデータ102に対して、ローカルデータ生成部143は、さらに、当該HTMLデータ102についてクライアント端末200のスタンドアロン環境で動作可能となるように、後述するようなパス変換等を行なってローカルデータ105を生成する。HTMLデータ102が参照する画像データや他のスクリプトファイル等の必要なリソース104についても同様にパス変換等を行う。生成したローカルデータ105および必要なリソース104はクライアント端末200の所定のフォルダやディレクトリに送信して格納する。   For the HTML data 102 acquired from the output buffer when the screen generation is completed, the local data generation unit 143 further performs path conversion as described later so that the HTML data 102 can be operated in the stand-alone environment of the client terminal 200. Etc. to generate local data 105. Similarly, path conversion or the like is performed for the necessary resources 104 such as image data and other script files referred to by the HTML data 102. The generated local data 105 and necessary resources 104 are transmitted to a predetermined folder or directory of the client terminal 200 and stored.

クライアント端末200では、Webブラウザ等を利用してローカルの所定のフォルダやディレクトリに格納されたローカルデータ105および必要なリソース104からなるデモアプリケーションにアクセスすることで、Webサーバを必要とせずにスタンドアロン環境でWebアプリケーションの画面内容や画面遷移を再現することが可能となる。   The client terminal 200 uses a Web browser or the like to access a demo application including the local data 105 stored in a predetermined local folder or directory and the necessary resources 104, so that a stand-alone environment is not required. Thus, it is possible to reproduce the screen contents and screen transition of the Web application.

<Webアプリケーションの画面表示処理>
図2は、CRUD型アプリケーションにおいてパーツオブジェクト103により対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。図2の例では、業務DB131からデータを読み出す際の検索条件を入力する画面において、“顧客名”を指定する入力フィールドを表示する場合の例を抜粋して示している。
<Web application screen display processing>
FIG. 2 is a diagram showing an outline of an example of processing when the input / output items of the corresponding column are displayed on the screen by the part object 103 in the CRUD type application. In the example of FIG. 2, an example in which an input field for specifying “customer name” is displayed on a screen for inputting a search condition when reading data from the business DB 131 is shown.

図の上段に示しているWebアプリケーションプログラムのソースコード101では、“顧客名”を指定する入力フィールドを表示するためにパーツオブジェクト103を呼び出している。具体的には、まず、ソースコード101上に保持されているマッピング情報(図2の例では、array()により対応関係を保持している)からID(“A01”)に対応するカラム名称(“customer_name”)の情報を取得する。   In the source code 101 of the Web application program shown in the upper part of the figure, the part object 103 is called to display an input field for designating “customer name”. Specifically, first, the column name corresponding to the ID (“A01”) from the mapping information held in the source code 101 (in the example of FIG. 2, the correspondence is held by array ()). Get "customer_name") information.

その後、例えば、パーツオブジェクト103の機能を実装したクラスから継承したサブクラスについてインスタンスを作成する形で呼び出す(“CF_itemDic();”)。図2の例では、パラメータの一部として、呼び出す辞書テーブル121のタイプ(“共通辞書”)、表示する入出力コントロールのタイプ(“入力フィールド”)、HTMLのID属性値(“A01”)などを指定して呼び出した状態を簡略化して示している。なお、HTMLのID属性値(“A01”)は、マッピング情報によりカラム名称(“customer_name”)に動的に変換される。   Thereafter, for example, a subclass inherited from a class that implements the function of the part object 103 is called in the form of creating an instance (“CF_itemDic ();”). In the example of FIG. 2, as part of the parameters, the type of dictionary table 121 to be called (“common dictionary”), the type of input / output control to be displayed (“input field”), the ID attribute value of HTML (“A01”), etc. The state called by specifying is simplified. The HTML ID attribute value (“A01”) is dynamically converted into a column name (“customer_name”) by mapping information.

このようなコードにより呼び出されたパーツオブジェクト103は、データとして、少なくとも表示名であるラベル(ラベルコントロールのテキスト)の論理要素と、表示する入出力コントロールの内容に係る論理要素についての情報を保持する。さらに図2に示すように、内容を説明するテキスト等からなるコメントの論理要素について情報を保持していてもよい。図2の例では、パーツオブジェクト103の上記の3つの論理要素のうち、コントロールについては、ソースコード101において“入力フィールド”がパラメータとして指定されているため、これが設定される。   The part object 103 called by such a code holds, as data, at least information on the logical element of the label (text of the label control) as the display name and the logical element related to the contents of the input / output control to be displayed. . Further, as shown in FIG. 2, information may be held for a logical element of a comment made up of text or the like that describes the contents. In the example of FIG. 2, among the above three logical elements of the part object 103, since “input field” is specified as a parameter in the source code 101 for the control, this is set.

呼び出されたパーツオブジェクト103は、さらに、所定の関数やメソッド等により辞書処理部120を介して対象の辞書テーブル121(“共通辞書”)にアクセスして、カラム名称(“customer_name”)に対応する辞書データ(本実施の形態では“顧客名”、40文字、20文字、…などの複数の値の集合)を取得する。   The called part object 103 further accesses the target dictionary table 121 (“common dictionary”) via the dictionary processing unit 120 by a predetermined function or method, and corresponds to the column name (“customer_name”). Dictionary data (a set of a plurality of values such as “customer name”, 40 characters, 20 characters,... In this embodiment) is acquired.

図2の例では、辞書テーブル121の辞書データとして、上から順に、名称(ラベルコントロールに表示するテキスト)、入力フィールドの場合の長さ(半角時の文字数)、入力フィールドの場合の最大長さ(文字数)、入力データの妥当性チェックのタイプ、IMEの初期モード、説明コメント、テーブルに一覧表示する場合のテキスト(表示名)、およびテーブルに一覧表示する場合の表示幅(ピクセル値)などの情報を保持するものとしている。なお、これらの辞書データを取得する際の出力フォーマットとしては、例えば、これらの値をカンマ等で区切った一連の文字列としてもよいし、連想配列等のアクセスしやすいデータとしてもよい。   In the example of FIG. 2, as dictionary data in the dictionary table 121, in order from the top, the name (text to be displayed on the label control), the length in the case of the input field (number of characters in half-width), and the maximum length in the case of the input field (Number of characters), validation type of input data, initial mode of IME, explanatory comment, text (display name) for list display in table, display width (pixel value) for list display in table, etc. Information shall be retained. As an output format when acquiring these dictionary data, for example, a series of character strings in which these values are separated by a comma or the like may be used, or easily accessible data such as an associative array may be used.

辞書テーブル121については、処理効率を考慮した場合、初期処理もしくは最初のアクセス時にメモリ上に辞書データの内容を展開するのが望ましい。この場合、全ての辞書データを展開するとメモリ使用量を圧迫したり、展開処理に時間を要したり等、却って処理効率が低下する場合がある。従って、実装上は、必要な時に必要な範囲の辞書データをメモリ上に展開できるようにするのが望ましい。   For the dictionary table 121, considering the processing efficiency, it is desirable to expand the contents of the dictionary data in the memory at the time of initial processing or first access. In this case, if all the dictionary data is expanded, the processing efficiency may be reduced due to the pressure on the memory usage or the time required for the expansion processing. Therefore, in terms of implementation, it is desirable that dictionary data in a necessary range can be expanded on a memory when necessary.

そこで、本実施の形態では、適用範囲が異なる複数の辞書テーブル121からなる階層構造を有し、これらを適宜選択して使用する構成をとる。例えば、デモアプリケーション生成システム100上で稼働するシステムやアプリケーション全体で共通の辞書(“共通辞書”)や、指定されたWebサイト内でのみ共通の辞書(“サイト辞書”)、サブシステム内でのみ共通の辞書(“ライブラリ辞書”)、画面単位での辞書(“コントローラ辞書”)などの、適用範囲が異なる複数種類の辞書テーブル121を有するものとする。   Therefore, in this embodiment, there is a hierarchical structure including a plurality of dictionary tables 121 having different application ranges, and these are appropriately selected and used. For example, a common dictionary (“common dictionary”) for a system operating on the demo application generation system 100 or the entire application (“common dictionary”), a common dictionary only in a designated website (“site dictionary”), and only in a subsystem Assume that a plurality of types of dictionary tables 121 having different application ranges, such as a common dictionary (“library dictionary”) and a dictionary in units of screens (“controller dictionary”), are used.

この場合、例えば、“コントローラ辞書”などの適用範囲の狭い辞書を参照して該当する辞書データが得られなかった場合に、“ライブラリ辞書”→“サイト辞書”→“共通辞書”と順に上位の(適用範囲が広い)辞書テーブル121に遡って参照できるようにしてもよい。また、辞書データが得られなかったとしてデフォルト値を用いるようにしたりエラーとしたりしてもよい。   In this case, for example, when the corresponding dictionary data is not obtained by referring to a dictionary having a narrow application range such as the “controller dictionary”, the upper order is “library dictionary” → “site dictionary” → “common dictionary”. Reference may be made retrospectively to the dictionary table 121 (which has a wide application range). Further, a default value may be used or an error may be assumed if dictionary data is not obtained.

パーツオブジェクト103は、取得した辞書データから必要なデータを抽出して、コントロールを表示したり制御したりする際のパラメータとして設定する。例えば、入出力コントロールとして入力フィールドを表示する場合の属性値として、辞書データから取得したフィールドの長さを設定するとともに、妥当性チェックのタイプやIMEの初期モードなどの値、説明コメントの内容などを設定する。なお、入力データの妥当性チェックや、IMEのモード設定などの入出力コントロールの制御に係る処理は、入力チェック部112や表示部142の機能であるが、具体的な実装としては、例えば、パーツオブジェクト103の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト103が有する、もしくはパーツオブジェクト103が呼び出すことができる機能として実装しておくものとする。   The part object 103 extracts necessary data from the acquired dictionary data, and sets it as a parameter when displaying or controlling the control. For example, the length of the field acquired from the dictionary data is set as an attribute value when an input field is displayed as an input / output control, the value of the validity check, the initial mode of IME, the contents of the explanation comment, etc. Set. The processing related to input / output control such as validity checking of input data and IME mode setting is a function of the input check unit 112 and the display unit 142. Specific implementation includes, for example, parts It is assumed that the part object 103 is implemented as a function that the part object 103 has or can be called by, for example, defining it as a method in the inheritance source class of the object 103.

これにより、図2の下段の画面201の例に示すように、実行時に“顧客名”を指定するための入力フィールドのコントロールを表示するよう、パーツオブジェクト103がHTMLデータ102を生成することができる。このとき例えば、パーツオブジェクト103の説明コメントの情報を当該入出力項目についてのヘルプ情報等として用いることができる。   As a result, as shown in the example of the lower screen 201 in FIG. 2, the part object 103 can generate the HTML data 102 so as to display the control of the input field for designating the “customer name” at the time of execution. . At this time, for example, information on an explanatory comment of the part object 103 can be used as help information for the input / output item.

なお、入力フィールドを表示する場合、入力フィールドのコントロールだけを表示したのでは何を入力すべきかが不明であるため、本実施の形態では、図2に示すように、当該パーツオブジェクト103に対応する入出力項目の表示名(“顧客名”)を表示するテキストコントロールを入力フィールドに隣接させてラベルとして表示する(ラベルコントロール)。当該テキストは、パーツオブジェクト103の保持データにおけるラベルの情報、すなわちパーツオブジェクト103が辞書テーブル121から取得した辞書データの名称の値(“顧客名”)を設定する。   When displaying the input field, since only the input field control is displayed, it is unclear what should be input. Therefore, in this embodiment, as shown in FIG. A text control that displays the input / output item display name (“customer name”) is displayed adjacent to the input field as a label (label control). The text sets the label information in the data held by the part object 103, that is, the name value (“customer name”) of the dictionary data acquired by the part object 103 from the dictionary table 121.

このようなHTMLデータ102の生成に係る処理は、表示部142等の機能であるが、具体的な実装としては、例えば、パーツオブジェクト103の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト103が有する、もしくはパーツオブジェクト103が呼び出すことができる機能として実装しておくものとする。なお、ここでは、上述したように、表示するラベルコントロールや入出力コントロール、および説明コメントを表示するコメントコントロールの3つの要素を一つの単位として、一括して整合性を持った形でレイアウトや外観に係る属性値等を調整するものとする。   Such processing related to the generation of the HTML data 102 is a function of the display unit 142 or the like. As a specific implementation, for example, a part is defined as a method in a class inherited from the part object 103. It is assumed that the object 103 is implemented as a function that the part object 103 has or can be called. Note that here, as described above, the layout and appearance of the label control and input / output control to be displayed, and the comment control to display the explanatory comment as one unit, the layout and appearance in a consistent manner. The attribute value etc. related to

以上のような処理によって応答処理部140の表示部142や表示調整部141等により生成され、図示しないWebサーバプログラムの出力バッファに蓄積されたHTMLデータ102について、クライアント端末200に対して出力される直前にローカルデータ生成部143がこれを取得して、ローカルデータ105を生成する。本実施の形態では、上述したように、例えば、パーツオブジェクト103を表示(HTMLを生成)して画面を生成するための共通のクラス等において、最後のHTMLタグ(“</html>”)を書き出す際に所定のメソッド等を呼び出すことによってこれを実行する。   The HTML data 102 generated by the display unit 142, the display adjustment unit 141, and the like of the response processing unit 140 and stored in the output buffer of the Web server program (not shown) is output to the client terminal 200 by the above processing. Immediately before, the local data generation unit 143 acquires this and generates the local data 105. In the present embodiment, as described above, for example, the last HTML tag (“</ html>”) is displayed in a common class or the like for displaying the part object 103 (generating HTML) and generating a screen. This is executed by calling a predetermined method or the like when writing.

<ローカルデータ生成処理>
図3は、HTMLデータ102からローカルデータ105を生成する処理の流れの例について概要を示したフローチャートである。ローカルデータ生成部143は、上述したように、クライアント端末200に対して画面遷移における各画面のHTMLデータ102が生成され出力される直前(HTMLデータ102からなる画面生成が完了するとき)のタイミングで呼び出される。呼び出されると、まず、図示しないWebサーバプログラムの出力バッファに蓄積されたHTMLデータ102を取り出し、その中に記載されている各HTMLタグについて、必要に応じて見やすいように階層毎にタブやインデントを設定して階段状になるよう編集する(S01)。
<Local data generation processing>
FIG. 3 is a flowchart showing an outline of an example of a flow of processing for generating the local data 105 from the HTML data 102. As described above, the local data generation unit 143 generates the timing immediately before the HTML data 102 of each screen in the screen transition is generated and output to the client terminal 200 (when the screen generation including the HTML data 102 is completed). Called. When called, first, the HTML data 102 stored in the output buffer of the Web server program (not shown) is extracted, and for each HTML tag described therein, tabs and indents are provided for each hierarchy so that they can be easily seen as necessary. Set and edit to make a staircase (S01).

次に、HTMLデータ102について、記載されているファイルやリソース104のパスを変換する(S02)。具体的には、例えば、“href="/”や“href='/”、“src="/”や“src='/”、“url('/”や“url("/”、その他のURL表現からなる内部パスを、“file:///”に続くローカルパスに変換する。   Next, the path of the file or resource 104 described in the HTML data 102 is converted (S02). Specifically, for example, "href =" / "or" href = '/ "," src = "/" or "src =' /", "url ('/", "url (" / ", etc. Is converted into a local path following “file: ///”.

ここで、ローカルパス変換とは、パス表現が“/”で始まる絶対パスの場合は、クライアント端末200上での保存先の基準となる所定のディレクトリやフォルダ(例えば、“c:\design”など。以下では“出力先ディレクトリ”と記載する)の文字列を先頭に付加してローカルパスを得る。一方、パス表現が“../”で始まる相対バスの場合は、“../”の数だけ、デモアプリケーション生成システム100上での配置場所をルート方向に遡ってたどった場所の絶対パスを取得した後、出力先ディレクトリの文字列を先頭に付加してローカルパスを得る。ローカルパスの文字列は、クライアント端末200のプラットフォームに応じて適宜書式を変換する。このとき、URLが“/”で終わる場合は、“index.html”をファイル名にするとともに、パラメータ部分のファイル名も、後述する処理でクライアント端末200にコピーした際のファイル名に同期して、プラットフォームに応じた適切なファイル名に変換する。なお、出力先ディレクトリの値は、例えば、辞書テーブル121に辞書データとして設定・登録しておくことができる。   Here, the local path conversion means that when the path expression is an absolute path starting with “/”, a predetermined directory or folder (for example, “c: \ design” or the like serving as a storage destination reference on the client terminal 200). (Hereinafter referred to as “Output directory”) is added to the beginning to obtain the local path. On the other hand, in the case of a relative bus whose path expression starts with “../”, the absolute path of the location traced back in the route direction on the demo application generation system 100 by the number of “../”. After acquisition, the local path is obtained by prefixing the character string of the output destination directory. The format of the character string of the local path is appropriately converted according to the platform of the client terminal 200. At this time, if the URL ends with “/”, “index.html” is used as the file name, and the file name of the parameter portion is also synchronized with the file name when it is copied to the client terminal 200 in the processing described later. , Convert to a file name appropriate for the platform. Note that the value of the output destination directory can be set and registered as dictionary data in the dictionary table 121, for example.

その後、HTMLデータ102自体の配置場所についてもローカルパス変換を行って配置場所のパスを取得し、クライアント端末200上における当該配置場所に変換後のHTMLデータ102をファイルとして出力する(S03)。配置場所にフォルダやディレクトリが存在しない場合は新たに作成して出力する。   Thereafter, local path conversion is also performed on the arrangement location of the HTML data 102 itself to obtain the arrangement location path, and the converted HTML data 102 is output to the arrangement location on the client terminal 200 as a file (S03). If a folder or directory does not exist at the location, it is created and output.

さらに、ステップS02においてHTMLデータ102の中で“file:///…”に変換したパスに対応するファイルをリソース104から抽出し(S04)、抽出した各ファイルについて内部に記載されているURL表現からなるパスをローカルパスに変換し(S05)、変換したファイルやリソース104等をクライアント端末200上の所定の配置場所に出力もしくはコピーする(S06)。   Further, a file corresponding to the path converted to “file: ///...” In the HTML data 102 in step S 02 is extracted from the resource 104 (S 04), and the URL expression described inside each extracted file. Is converted into a local path (S05), and the converted file, resource 104, and the like are output or copied to a predetermined location on the client terminal 200 (S06).

例えば、抽出したファイルがCSS(Cascading Style Sheets)ファイルである場合は、その中の“url(…)”内の画像ファイルについて上記のローカルパス変換を行うとともに、クライアント端末200上における当該パスの場所にリソース104から画像ファイルをコピーする。また、CSSファイル自体の配置場所についてもローカルパス変換を行なって配置場所のパスを取得し、クライアント端末200上における当該配置場所に変換後のCSSファイルを出力する。   For example, when the extracted file is a CSS (Cascading Style Sheets) file, the above-mentioned local path conversion is performed on the image file in “url (...)” And the location of the path on the client terminal 200. The image file is copied from the resource 104. In addition, local path conversion is performed for the location of the CSS file itself to obtain the location location path, and the converted CSS file is output to the location on the client terminal 200.

なお、CSSファイルにおいて圧縮ファイルを用いている場合は、ネーミングルール等で圧縮前のファイルであることが特定できるようにした上でサーバ上に圧縮前のファイルを事前配置しておき、これらを用いて処理を行うものとする。同様に、外部ファイルについても、サーバ上の配置場所との変換ルール等を定めておき、外部ファイルであることが特定できるようにした上でサーバ上に事前配置しておくものとする。   If a compressed file is used in the CSS file, the file before compression is specified on the server in advance after the file can be specified by a naming rule or the like. Process. Similarly, an external file is also preliminarily arranged on the server after a conversion rule with an arrangement location on the server is determined so that the external file can be specified.

また、抽出したファイルがJSファイル(JavaScript(登録商標)外部ファイル)である場合は、JSファイル内の画像ファイルを抽出してローカルパス変換を行うとともに、クライアント端末200上における当該パスの場所にリソース104から画像ファイルをコピーする。また、JSファイル内の各URL表現からなる内部パスについてローカルパスへの変換を行う。さらに、JSファイル自体の配置場所についてもローカルパス変換を行なって配置場所のパスを取得し、クライアント端末200上における当該配置場所に変換後のJSファイルを出力する。   If the extracted file is a JS file (JavaScript (registered trademark) external file), the image file in the JS file is extracted to perform local path conversion, and a resource is placed at the location of the path on the client terminal 200. The image file is copied from 104. Also, the internal path consisting of each URL expression in the JS file is converted to a local path. Furthermore, local path conversion is also performed for the location of the JS file itself to obtain the location location path, and the converted JS file is output to the location on the client terminal 200.

また、抽出したファイルが画像ファイルである場合は、変換後のHTMLデータ102において既にローカルパス変換されている画像ファイルのパスについて、クライアント端末200上の対応する場所にリソース104から画像ファイルをコピーする。   If the extracted file is an image file, the image file is copied from the resource 104 to the corresponding location on the client terminal 200 with respect to the path of the image file that has already undergone local path conversion in the converted HTML data 102. .

上述したような一連の処理により、ユーザがWebアプリケーションを実行して画面遷移させた際に、各画面をクライアント端末200上で単独で表示させることが可能なデモアプリケーションを自動的に生成してクライアント端末200上に出力することが可能となる。   Through a series of processes as described above, when a user executes a web application to change the screen, a demo application that can display each screen independently on the client terminal 200 is automatically generated and the client It is possible to output on the terminal 200.

なお、例えば、デモアプリケーションを生成する機能を有効にするか否かの設定情報をデモアプリケーション生成システム100に保持して、当該機能が無効にされている場合は、Webアプリケーションを実行して画面遷移させてもデモアプリケーションを生成しないようにすることができる。また、当該デモアプリケーション生成システム100を、Webアプリケーションプログラムの開発環境等と結合させて構築し、開発した画面の確認やシミュレーションなどの動作時に合わせてデモアプリケーションを生成するようにしてもよい。   Note that, for example, setting information indicating whether or not to enable a function for generating a demo application is held in the demo application generation system 100, and if the function is disabled, the Web application is executed and screen transition is performed. You can prevent the demo application from being generated. Further, the demo application generation system 100 may be constructed by being combined with a development environment of a Web application program, and the demo application may be generated in accordance with an operation such as confirmation of a developed screen or simulation.

以上に説明したように、本発明の一実施の形態であるデモアプリケーション生成システム100によれば、ユーザは、クライアント端末200を介して一度Webアプリケーションを実行させて画面を遷移させれば、画面遷移に含まれる各画面について、クライアント端末200上の所定の出力先ディレクトリの配下に、デモアプリケーション生成システム100(Webサーバ)と同じURL構造で必要なHTMLファイルやリソースファイルを自動的に配置することができ、クライアント端末200上で単独で動作するデモアプリケーションを自動的に生成することができる。これにより、デモアプリケーションの作成負荷を大幅に低減させることが可能となる。   As described above, according to the demo application generation system 100 according to an embodiment of the present invention, once a user causes a Web application to be executed once via the client terminal 200 and the screen is changed, the screen transition is performed. For each of the screens included, the necessary HTML files and resource files with the same URL structure as the demo application generation system 100 (Web server) can be automatically placed under a predetermined output destination directory on the client terminal 200. It is possible to automatically generate a demo application that operates independently on the client terminal 200. As a result, it is possible to significantly reduce the load of creating the demo application.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

例えば、上述したようなデモアプリケーションの生成以外にも、例えば、HTMLファイルとJSファイル、およびCSSファイルからなるローカルファイルをZIPフォーマット等により圧縮して配信するシステムに対して、本実施の形態の仕組みで生成したデータを適用することも可能である。   For example, in addition to the generation of the demo application as described above, for example, the system according to the present embodiment is applied to a system that compresses and distributes a local file composed of an HTML file, a JS file, and a CSS file in the ZIP format or the like. It is also possible to apply the data generated in.

本発明は、スタンドアロン環境で動作するデモ用アプリケーションを生成するデモアプリケーション生成システムおよびデモアプリケーション生成プログラムに利用可能である。   The present invention is applicable to a demo application generation system and a demo application generation program that generate a demo application that operates in a stand-alone environment.

100…デモアプリケーション生成システム、101…ソースコード、102…HTMLデータ、103…パーツオブジェクト、104…リソース、105…ローカルデータ、110…要求処理部、111…ID変換部、112…入力チェック部、120…辞書処理部、121…辞書テーブル、130…ビジネスロジック、131…業務データベース(DB)、140…応答処理部、141…表示調整部、142…表示部、143…ローカルデータ生成部、
200…クライアント端末、201…画面、
300…ネットワーク。
DESCRIPTION OF SYMBOLS 100 ... Demo application production system 101 ... Source code 102 ... HTML data 103 ... Parts object 104 ... Resource 105 ... Local data 110 ... Request processing part 111 ... ID conversion part 112 ... Input check part 120 ... dictionary processing unit, 121 ... dictionary table, 130 ... business logic, 131 ... business database (DB), 140 ... response processing unit, 141 ... display adjustment unit, 142 ... display unit, 143 ... local data generation unit,
200 ... Client terminal, 201 ... Screen,
300: Network.

Claims (4)

クライアント端末上からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答して画面表示させることで前記クライアント端末に対してサービスを提供するWebアプリケーションプログラムを稼働させるとともに、前記Webアプリケーションプログラムの所定の画面遷移について前記クライアント端末で単独で再現可能とするデモアプリケーションを生成するデモアプリケーション生成システムであって、
前記Webアプリケーションプログラムが前記クライアント端末に対して応答する画面を生成して出力する際に、生成された前記画面のHTMLデータを保持する出力バッファから前記HTMLデータを取得し、前記HTMLデータに含まれるURL表現もしくはパスを、前記クライアント端末上の所定のディレクトリを基準とした第1のローカルパスにそれぞれ変換し、また、前記HTMLデータの所在場所のパスを前記所定のディレクトリを基準とした第2のローカルパスに変換し、
前記デモアプリケーションとして、前記クライアント端末上の前記第2のローカルパスにより示される場所に前記HTMLデータからなるHTMLファイルを出力し、さらに前記HTMLデータが参照するリソースを含む各ファイルについて、前記クライアント端末上の対応する前記第1のローカルパスにより示される場所にそれぞれ出力もしくはコピーすることを特徴とするデモアプリケーション生成システム。
Web application program that provides a service to the client terminal by calling a corresponding business logic in response to a request from the client terminal and displaying the processing result of the business logic in response to the client terminal A demo application generation system for generating a demo application that can be reproduced by the client terminal alone with respect to a predetermined screen transition of the Web application program,
When the Web application program generates and outputs a screen that responds to the client terminal, the HTML data is acquired from an output buffer that holds the generated HTML data of the screen, and is included in the HTML data A URL expression or path is converted into a first local path based on a predetermined directory on the client terminal, and a path of the location of the HTML data is converted to a second path based on the predetermined directory. Convert to local path,
As the demo application, an HTML file composed of the HTML data is output to a location indicated by the second local path on the client terminal, and each file including a resource referred to by the HTML data is output on the client terminal. A demo application generation system, characterized in that each is output or copied to a location indicated by the corresponding first local path.
請求項1に記載のデモアプリケーション生成システムにおいて、
前記HTMLデータが参照する前記リソースを含む各ファイルについて、それぞれファイルに含まれるURL表現もしくはパスを、前記所定のディレクトリを基準とした第3のローカルパスに変換することを特徴とするデモアプリケーション生成システム。
The demo application generation system according to claim 1,
A demo application generation system that converts, for each file including the resource referred to by the HTML data, a URL expression or path included in the file into a third local path based on the predetermined directory. .
請求項1または2に記載のデモアプリケーション生成システムにおいて、
前記第1および第2のローカルパスからなる前記所定のディレクトリ以下の階層構成は、前記Webアプリケーションプログラムに係るファイルやリソースが配置されているディレクトリの階層構成と対応していることを特徴とするデモアプリケーション生成システム。
In the demo application generation system according to claim 1 or 2,
Demonstration characterized in that a hierarchical structure below the predetermined directory composed of the first and second local paths corresponds to a hierarchical structure of a directory in which files and resources related to the Web application program are arranged. Application generation system.
クライアント端末上からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答して画面表示させることで前記クライアント端末に対してサービスを提供するWebアプリケーションプログラムを稼働させるとともに、前記Webアプリケーションプログラムの所定の画面遷移について前記クライアント端末で単独で再現可能とするデモアプリケーションを生成するWebサーバシステムとしてコンピュータを動作させるデモアプリケーション生成プログラムであって、
前記Webアプリケーションプログラムが前記クライアント端末に対して応答する画面を生成して出力する際に、生成された前記画面のHTMLデータを保持する出力バッファから前記HTMLデータを取得し、前記HTMLデータに含まれるURL表現もしくはパスを、前記クライアント端末上の所定のディレクトリを基準とした第1のローカルパスにそれぞれ変換し、また、前記HTMLデータの所在場所のパスを前記所定のディレクトリを基準とした第2のローカルパスに変換し、
前記デモアプリケーションとして、前記クライアント端末上の前記第2のローカルパスにより示される場所に前記HTMLデータからなるHTMLファイルを出力し、さらに前記HTMLデータが参照するリソースを含む各ファイルについて、前記クライアント端末上の対応する前記第1のローカルパスにより示される場所にそれぞれ出力もしくはコピーすることを特徴とするデモアプリケーション生成プログラム。
Web application program that provides a service to the client terminal by calling a corresponding business logic in response to a request from the client terminal and displaying the processing result of the business logic in response to the client terminal A demo application generating program that causes a computer to operate as a Web server system that generates a demo application that can be reproduced independently by the client terminal with respect to a predetermined screen transition of the Web application program,
When the Web application program generates and outputs a screen that responds to the client terminal, the HTML data is acquired from an output buffer that holds the generated HTML data of the screen, and is included in the HTML data A URL expression or path is converted into a first local path based on a predetermined directory on the client terminal, and a path of the location of the HTML data is converted to a second path based on the predetermined directory. Convert to local path,
As the demo application, an HTML file composed of the HTML data is output to a location indicated by the second local path on the client terminal, and each file including a resource referred to by the HTML data is output on the client terminal. A demo application generation program that outputs or copies to a location indicated by the corresponding first local path.
JP2012204076A 2012-09-18 2012-09-18 Demo application generation system and demo application generation program Pending JP2014059699A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2012204076A JP2014059699A (en) 2012-09-18 2012-09-18 Demo application generation system and demo application generation program
CN202110357746.8A CN113158651A (en) 2012-09-18 2013-08-29 Web server system and demonstration application generation method
PCT/JP2013/073185 WO2014045826A1 (en) 2012-09-18 2013-08-29 Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
CN201380059955.8A CN104798067B (en) 2012-09-18 2013-08-29 Dictionary system and dictionary call method
US14/426,470 US9817811B2 (en) 2012-09-18 2013-08-29 Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
CN201610910911.7A CN107092589B (en) 2012-09-18 2013-08-29 Web server system, screen control display method, and presentation application generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012204076A JP2014059699A (en) 2012-09-18 2012-09-18 Demo application generation system and demo application generation program

Publications (1)

Publication Number Publication Date
JP2014059699A true JP2014059699A (en) 2014-04-03

Family

ID=50616126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012204076A Pending JP2014059699A (en) 2012-09-18 2012-09-18 Demo application generation system and demo application generation program

Country Status (1)

Country Link
JP (1) JP2014059699A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017208064A (en) * 2016-05-12 2017-11-24 株式会社リコー Information processing system, information processing apparatus, program, and screen generation method
US11159694B2 (en) 2016-05-12 2021-10-26 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method of generating screen

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170453A (en) * 2009-01-26 2010-08-05 Nippon Business Engineering:Kk Static web site construction method, static web site construction service providing method, dynamic/static conversion processor, and dynamic/static conversion processing program
JP2011060196A (en) * 2009-09-14 2011-03-24 Hitachi Ltd Method and system for recording and reproducing operation of web application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170453A (en) * 2009-01-26 2010-08-05 Nippon Business Engineering:Kk Static web site construction method, static web site construction service providing method, dynamic/static conversion processor, and dynamic/static conversion processing program
JP2011060196A (en) * 2009-09-14 2011-03-24 Hitachi Ltd Method and system for recording and reproducing operation of web application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"高いカスタム化機能を誇るPC Xサーバー Reflection X バージョン12.0 日本語版", UNIX USER, vol. 第14巻,第3号, JPN6016032098, 1 March 2005 (2005-03-01), JP, pages 10, ISSN: 0003383068 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017208064A (en) * 2016-05-12 2017-11-24 株式会社リコー Information processing system, information processing apparatus, program, and screen generation method
US11159694B2 (en) 2016-05-12 2021-10-26 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method of generating screen

Similar Documents

Publication Publication Date Title
CN106708480B (en) Management platform implementation method and device
CN105518633B (en) More equipment in Web server system, application and development auxiliary system, the multi-language support method in Web server system, Web server system support method and application and development householder method
CN104636139B (en) One kind visualizes cross-platform mobile application exploitation and generation system
WO2014045826A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US8930824B2 (en) Facilitating propagation of user interface patterns or themes
US20080028302A1 (en) Method and apparatus for incrementally updating a web page
JP2004005568A (en) Updating of high-speed gui style of legacy application
JP3808020B2 (en) Web server having Java servlet function, Java program update method, and computer program
US8136043B2 (en) GUI generation apparatus and method for generating GUI
CN105589959A (en) Form processing method and form processing system
CN109284488B (en) Method, device and medium for modifying front-end table column data based on local storage
US10114617B2 (en) Rapid visualization rendering package for statistical programming language
JP5727413B2 (en) Application development support system and application development support program
CN102142004B (en) Service processing method and service engine
JP2014059699A (en) Demo application generation system and demo application generation program
JP5766651B2 (en) Multilingual Web server system and multilingual support method in Web server system
JP6231260B2 (en) Screen control system, screen control program, screen creation support program, and screen control method
JP2004038334A (en) Operation position storage method, structured document display method, structured document display device, program, and operation position storage data
CN116610385A (en) Application generation method, device, computer device, storage medium and program product
JP5917350B2 (en) Dictionary system and dictionary calling method
JP6113983B2 (en) Screen control display system and screen control display program
JP6331307B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2013200786A (en) Screen control system, screen control program, screen creation support program and screen control method
JP2013238976A (en) Source code generation system
JP5658196B2 (en) Multi-device compatible web server system and multi-device compatible method in web server system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170307