JP6079512B2 - Program generating apparatus and program generating method - Google Patents

Program generating apparatus and program generating method Download PDF

Info

Publication number
JP6079512B2
JP6079512B2 JP2013181968A JP2013181968A JP6079512B2 JP 6079512 B2 JP6079512 B2 JP 6079512B2 JP 2013181968 A JP2013181968 A JP 2013181968A JP 2013181968 A JP2013181968 A JP 2013181968A JP 6079512 B2 JP6079512 B2 JP 6079512B2
Authority
JP
Japan
Prior art keywords
program
server
target data
processing
client
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.)
Expired - Fee Related
Application number
JP2013181968A
Other languages
Japanese (ja)
Other versions
JP2015049777A (en
Inventor
美嗣 河村
美嗣 河村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013181968A priority Critical patent/JP6079512B2/en
Publication of JP2015049777A publication Critical patent/JP2015049777A/en
Application granted granted Critical
Publication of JP6079512B2 publication Critical patent/JP6079512B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、クライアント側で処理を行うプログラムを自動生成するプログラム生成装置に関するものである。   The present invention relates to a program generation apparatus that automatically generates a program for processing on a client side.

近年、情報システムの形態は、Webアプリケーションが主流となり、システム開発において短期間、低コスト、高品質にシステムを構築するため、より一層、開発の生産性と品質の向上が求められている。
そのため、開発の生産性と品質の向上を目的に、業務仕様からWebアプリケーションを制御するプログラムを自動生成する技術が用いられてきた(特許文献1)。
In recent years, Web applications have become mainstream in the form of information systems, and in order to construct a system in a short period of time, at a low cost and with a high quality in system development, further improvement in development productivity and quality is required.
Therefore, for the purpose of improving development productivity and quality, a technique for automatically generating a program for controlling a Web application from business specifications has been used (Patent Document 1).

特開2005−025416号公報Japanese Patent Laying-Open No. 2005-025416

しかし、従来のWebアプリケーションのプログラムを自動生成する技術では、クライアント側しか知りえない情報を処理するための処理内容がサーバ側にあった場合、クライアント側からサーバ側に情報を送信して、サーバ側で情報を処理するため、情報漏洩の可能性が高くなるという問題があった。   However, in the conventional technology for automatically generating a Web application program, if the processing content for processing information that only the client side can know is on the server side, the information is transmitted from the client side to the server side. Since information is processed on the side, there is a problem that the possibility of information leakage increases.

この発明に係るプログラム生成装置は、サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出手段と、該抽出手段で抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの前記対象データが処理される部分を特定する特定手段と、該特定手段で特定した部分に、前記抽出手段で抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側ログラムとして生成する生成手段とを備えたことを特徴とする。 The program generation device according to the present invention processes the target data from a server-side program that performs processing on the server side, based on storage area information of a storage area of a database in which target data for which processing is specified by the user is stored. An extraction means for extracting the server-side program to be identified, and a portion on which the target data of the client-side program to be processed on the client side is processed is specified based on the information of the server-side program extracted by the extraction means specifying means, the portion identified in said identifying means, the server-side program for processing the object data extracted by the extraction means, characterized by comprising a generating means for generating as said client-side program .

この発明は、ユーザが指定した対象データの記憶領域情報に基づいて、サーバ側プログラムから対象データを処理するプログラムを抽出し、抽出したサーバ側プログラムの情報に基づいてクライアント側プログラムの対象データを処理する部分を特定する。そして、クライアント側プログラムの特定した部分に、抽出したサーバ側ログラムをクライアント側ログラムとして生成するので、例えば、クライアント側しか知りえない情報を、クライアント側からサーバ側に送らずにクライアント側ログラムで処理することができ、情報漏洩を防止することができる。 The present invention extracts a program that processes target data from a server-side program based on storage area information of target data specified by a user, and processes target data of a client-side program based on the extracted server-side program information Specify the part to be. Then, the identified portion of the client-side program, because it generates the extracted server program as a client-side program, for example, the client-side up the information that the client-side only be known, from the client side without sent to the server-side Can be processed programmatically, and information leakage can be prevented.

この発明の実施の形態における、プログラム自動生成装置1の構成図である。It is a block diagram of the automatic program generation apparatus 1 in embodiment of this invention. この発明の実施の形態における、プログラム自動生成装置1のフローチャートである。It is a flowchart of the program automatic generation apparatus 1 in embodiment of this invention. この発明の実施の形態における、サーバロジック9とクライアントロジック10のクラスの構成図の一例を示す図である。It is a figure which shows an example of the block diagram of the class of the server logic 9 and the client logic 10 in embodiment of this invention. この発明の実施の形態における、サーバロジック9のUserDto24の一例を示す図である。It is a figure which shows an example of UserDto24 of the server logic 9 in embodiment of this invention. この発明の実施の形態における、第一言語更新部4によって更新されるサーバロジック9のUserForm22の一例を示す図である。It is a figure which shows an example of UserForm22 of the server logic 9 updated by the 1st language update part 4 in embodiment of this invention. この発明の実施の形態における、第一言語更新部4によって更新されるサーバロジック9のUseLogic23の一例を示す図である。It is a figure which shows an example of UseLogic23 of the server logic 9 updated by the 1st language update part 4 in embodiment of this invention. この発明の実施の形態における、第二言語更新部6によって更新されるクライアントロジック10のJSP21の一例を示す図である。It is a figure which shows an example of JSP21 of the client logic 10 updated by the 2nd language update part 6 in embodiment of this invention. この発明の実施の形態における、処理内容一次記憶部7に記憶された処理内容の一例を示す図である。It is a figure which shows an example of the processing content memorize | stored in the processing content primary storage part 7 in embodiment of this invention.

実施の形態.
図1は、この発明の実施の形態における、プログラム自動生成装置1の構成図である。
図1において、プログラム自動生成装置1は、データベース解析部(データベース解析手段)2、第一言語解析部(抽出手段)3、第一言語更新部(更新手段)4、第二言語解析部(特定手段)5、第二言語更新部(生成手段)6、処理内容一次記憶部(記憶手段)7から構成されている。
Embodiment.
FIG. 1 is a configuration diagram of an automatic program generation device 1 according to an embodiment of the present invention.
In FIG. 1, a program automatic generation apparatus 1 includes a database analysis unit (database analysis unit) 2, a first language analysis unit (extraction unit) 3, a first language update unit (update unit) 4, and a second language analysis unit (specification). Means) 5, a second language update unit (generation unit) 6, and a processing content primary storage unit (storage unit) 7.

プログラム自動生成装置1は、Webアプリケーションで扱うデータに対して、ユーザから対象データの処理が指示されると、Webアプリケーションで扱うデータを記憶するデータベース8に対して処理の実行を行うサーバ側のサーバ側プログラム(サーバロジック9)から、ユーザが指定した対象データを処理するプログラムを抽出し、抽出したプログラムをクライアント側のクライアント側プログラム(クライアントロジック10)として生成する。   The automatic program generation apparatus 1 is a server on the server side that executes processing on a database 8 that stores data handled by a Web application when processing of target data is instructed by a user for data handled by the Web application. A program for processing target data designated by the user is extracted from the side program (server logic 9), and the extracted program is generated as a client side program (client logic 10) on the client side.

データベース8は、サーバロジック9とクライアントロジック10で実行されるWebアプリケーションで扱うデータを記憶する。
サーバロジック9は、Webアプリケーンで扱うデータ処理を第一言語であるJava(登録商標)で記述したサーバ側のプログラムである。サーバロジック9は、ユーザ(クライアント側)からデータの処理要求を受けると(対象データが指示されると)、データベース8に記憶されているデータに対して要求された処理内容を実行するプログラムである。そして、データ処理した結果をクライアントロジック10に渡す。
The database 8 stores data handled by the Web application executed by the server logic 9 and the client logic 10.
The server logic 9 is a server-side program in which data processing handled by a Web application is described in Java (registered trademark) as a first language. The server logic 9 is a program that executes the requested processing content on the data stored in the database 8 when a data processing request is received from the user (client side) (when target data is instructed). . Then, the data processing result is passed to the client logic 10.

クライアントロジック10は、クライアント側のWebアプリケーションの表示用の画面を作成するプログラムであり、第二言語であるJavaScript(登録商標)で記述されている。クライアントロジック10は、サーバロジック9からデータ処理した結果を受け取り、クライアント側の表示用の画面にデータ処理の結果を表示するプログラムである。   The client logic 10 is a program for creating a screen for displaying a Web application on the client side, and is written in JavaScript (registered trademark) as a second language. The client logic 10 is a program that receives the data processing result from the server logic 9 and displays the data processing result on the display screen on the client side.

例えば、データベース8には、ビル管理などで利用するために一元管理されている個人情報が記憶されている。ビル管理では、例えばビルの出入口の入退室管理、またはビルの各フロアの会社毎の入退室管理に個人情報を利用している。個人情報は、データベース8に記憶して管理する際、またはデータの送受信を行う際に、暗号化して秘匿する必要のあるデータである。そのため、この個人情報のうち、例えば名前のデータを更新する必要がある場合には、Webアプリケーションで、ユーザが名前のデータを指定する。   For example, the database 8 stores personal information that is centrally managed for use in building management and the like. In building management, for example, personal information is used for entrance / exit management at the entrance of a building or entrance / exit management for each company on each floor of the building. Personal information is data that needs to be encrypted and concealed when stored and managed in the database 8 or when data is transmitted and received. For this reason, in the personal information, for example, when it is necessary to update the name data, the user designates the name data in the Web application.

プログラム自動生成装置1は、Webアプリケーションで、ユーザから対象データ(例えば名前のデータ)が指定されると、データベース8から対象データが記憶されている記憶領域を探す。そして、データベース8に記憶されている対象データの列名、データ型、データの大きさを含む記憶領域の情報(記憶領域情報)を取得する。そして、取得した記憶領域情報に基づいて、サーバロジック9から、対象データが処理されるパスを探す。そして、対象データを処理するサーバロジック9のプログラムを抽出し、抽出したサーバロジック9のプログラムを処理内容一次記憶部7に記憶して、対象データを処理するプログラムをサーバロジック9から削除する。
次に、対象データのサーバロジック9内での一次記憶領域情報に基づいて、クライアントロジック10から、対象データが処理されるパスを探す。そして、その部分に、処理内容一次記憶部7に記憶した対象データを処理するプログラムを、第一言語であるJava(登録商標)から第二言語であるJavaScript(登録商標)に変換して挿入する。
When target data (for example, name data) is designated by a user using a Web application, the automatic program generation device 1 searches the database 8 for a storage area in which the target data is stored. Then, the storage area information (storage area information) including the column name, data type, and data size of the target data stored in the database 8 is acquired. Then, based on the acquired storage area information, the server logic 9 searches for a path for processing the target data. Then, the server logic 9 program for processing the target data is extracted, the extracted server logic 9 program is stored in the processing content primary storage unit 7, and the program for processing the target data is deleted from the server logic 9.
Next, based on the primary storage area information in the server logic 9 of the target data, the client logic 10 searches for a path for processing the target data. Then, a program for processing the target data stored in the processing content primary storage unit 7 is inserted into the portion after being converted from Java (registered trademark) as the first language into JavaScript (registered trademark) as the second language. .

そのため、個人情報のうち、例えば名前のような秘匿する必要のある対象データを更新するためにユーザが対象データを指定すると、データを一元処理するためにサーバロジック9に構築されていた、例えば暗号化および復号化を含むデータの処理プログラムを抽出し、クライアント側の処理プログラムとして自動的に生成し、クライアント側の処理プログラムによって、データベース8のデータが更新される。
この様に、サーバロジック9で処理していた、例えば暗号化および復号化を含むデータの処理のプログラムをクライアントロジック10に自動的に移して、クライアント側でデータの暗号化および復号化を含むデータの処理を行うため、秘匿する必要のある対象データを復号可能な状態でクライアント側からサーバに送る必要がなくなり、情報漏洩を防止することができる。
Therefore, when the user designates the target data to update the target data that needs to be concealed, such as a name, among the personal information, the server logic 9 is constructed to process the data in a unified manner, for example, the encryption A data processing program including conversion and decryption is extracted and automatically generated as a client-side processing program, and the data in the database 8 is updated by the client-side processing program.
In this way, data including data encryption and decryption is automatically transferred to the client logic 10 by automatically transferring the data processing program including encryption and decryption, which has been processed by the server logic 9. Therefore, it is not necessary to send the target data that needs to be kept secret from the client side to the server in a decryptable state, and information leakage can be prevented.

この様なプログラム自動生成装置1の各構成について説明する。
データベース解析部2は、ユーザから対象データが入力されると、データベース8に記憶されている記憶領域を解析して、対象データが記憶されている領域の列名、データ型、データの大きさを含む情報(記憶領域情報)を取得する。そして、取得した対象データの記憶領域情報を第一言語解析部3に出力する。
Each configuration of such an automatic program generation device 1 will be described.
When the target data is input from the user, the database analysis unit 2 analyzes the storage area stored in the database 8 and determines the column name, data type, and data size of the area in which the target data is stored. Information to be included (storage area information) is acquired. Then, the storage area information of the acquired target data is output to the first language analysis unit 3.

第一言語解析部3は、データベース解析部2から対象データの記憶領域情報が入力されると、サーバロジック9のプログラムを解析して、対象データの記憶領域情報に基づいて、対象データに対して実行される処理内容のパスを探し、対象データに対する処理内容のプログラムを特定する。例えば、対象データの列名、データ型、データの大きさについての情報が含まれる処理内容のプログラムを探して特定する。そして、対象データが処理されるパスを第一言語更新部4に出力する。また、対象データに対する処理内容のプログラムを抽出して、処理内容一次記憶部7に記憶する。   When the storage area information of the target data is input from the database analysis section 2, the first language analysis section 3 analyzes the program of the server logic 9, and applies the target data based on the storage area information of the target data. The path of the processing content to be executed is searched and the processing content program for the target data is specified. For example, a processing content program including information on the column name, data type, and data size of the target data is searched and specified. Then, the path for processing the target data is output to the first language update unit 4. Further, a processing content program for the target data is extracted and stored in the processing content primary storage unit 7.

第一言語更新部4は、第一言語解析部3から入力された対象データが処理されるパスの情報を用いて、対象データに対する処理内容のプログラムをサーバロジック9から削除し、削除したプログラムの部分に代入処理を挿入して更新する。そして、第一言語更新部4は、対象データのサーバロジック9内での一次記憶領域情報を第二言語解析部5に出力する。
対象データのサーバロジック9内での一次記憶領域情報は、例えば、後で詳細に説明する個人情報の名前が対象データであれば、対象データが処理された後の対象データが一次記憶されるクラス名(UserForm)と変数名(firstName,lastName)と、代入処理に更新した後の対象データが一次記憶されるクラス名(UserForm)と変数名(name)である。
The first language update unit 4 uses the path information for processing the target data input from the first language analysis unit 3 to delete the processing content program for the target data from the server logic 9 and Insert and update the substitution process in the part. Then, the first language update unit 4 outputs the primary storage area information in the server logic 9 of the target data to the second language analysis unit 5.
The primary storage area information in the server logic 9 of the target data is, for example, a class in which the target data after the target data is processed is primarily stored if the name of the personal information described in detail later is the target data. A name (UserForm), a variable name (firstName, lastName), a class name (UserForm) in which target data after updating to substitution processing is temporarily stored, and a variable name (name).

第二言語解析部5は、第一言語更新部4から対象データのサーバロジック9内での一次記憶領域情報が入力されると、入力された対象データのサーバロジック9内での一次記憶領域情報を用いてクライアントロジック10を解析し、対象データが処理されるパスを探して、対象データに関する処理部分を特定する。そして、対象データが処理されるパスの情報を第二言語更新部6に出力する。   When the primary storage area information in the server logic 9 of the target data is input from the first language update unit 4, the second language analysis unit 5 receives the primary storage area information in the server logic 9 of the input target data Is used to analyze the client logic 10, search for a path where the target data is processed, and specify a processing portion related to the target data. Then, the information on the path where the target data is processed is output to the second language update unit 6.

第二言語更新部6は、第二言語解析部5から対象データが処理されるパスが入力されると、処理内容一次記憶部7から、対象データを処理する処理内容のプログラムを取得する。そして取得したプログラムを、第一言語であるJava(登録商標)から第二言語であるJavaScript(登録商標)に変換して、クライアント側のプログラムとして生成する。そして、第二言語解析部5から入力された対象データが処理されるパスの情報を用いて、クライアントロジック10に、変換したJavaScript(登録商標)を挿入して更新する。   When the path for processing the target data is input from the second language analysis unit 5, the second language update unit 6 acquires a processing content program for processing the target data from the processing content primary storage unit 7. The acquired program is converted from Java (registered trademark), which is the first language, into JavaScript (registered trademark), which is the second language, and is generated as a client-side program. Then, using the information on the path where the target data input from the second language analysis unit 5 is processed, the converted JavaScript (registered trademark) is inserted into the client logic 10 and updated.

処理内容一次記憶部7は、第一言語解析部3がサーバロジック9から抽出した対象データに対して処理されるプログラムを記憶する。また、記憶している対象データに対して処理されるプログラムが、第二言語更新部6から取得される。   The processing content primary storage unit 7 stores a program to be processed on the target data extracted from the server logic 9 by the first language analysis unit 3. Further, a program to be processed for the stored target data is acquired from the second language update unit 6.

次に、プログラム自動生成装置1の動作について説明する。
図2は、この発明の実施の形態における、プログラム自動生成装置1のフローチャートである。
プログラム自動生成装置1のソースコードを解析する方法は、静的解析であっても動的解析であってもよい。
Webアプリケーションで、ユーザから処理を指示する対象データが入力されると、プログラム自動生成装置1のデータベース解析部2に対象データが入力される。
Next, the operation of the automatic program generation device 1 will be described.
FIG. 2 is a flowchart of the automatic program generation device 1 according to the embodiment of the present invention.
The method for analyzing the source code of the automatic program generation device 1 may be static analysis or dynamic analysis.
When target data instructing processing is input from a user by a Web application, the target data is input to the database analysis unit 2 of the automatic program generation device 1.

そして、データベース解析部2が、データベース8に記憶されている対象データの記憶領域情報(スキーマ名、テーブル名、列名、データ型、データの大きさを含む)を取得する。そして、取得した対象データの記憶領域情報を第一言語解析部3に出力する(S1)。   Then, the database analysis unit 2 acquires storage area information (including schema name, table name, column name, data type, and data size) of the target data stored in the database 8. Then, the storage area information of the acquired target data is output to the first language analysis unit 3 (S1).

第一言語解析部3は、データベース解析部2から対象データの記憶領域情報が入力されると、入力された対象データの記憶領域情報を用いてサーバロジック9を解析し、対象データが通るパスを取得する。そして、取得したパスの情報を第一言語更新部4に出力する。また、対象データに対して処理されるサーバロジック9のプログラムを抽出する。(S2)。   When the storage area information of the target data is input from the database analysis section 2, the first language analysis section 3 analyzes the server logic 9 using the input storage area information of the target data, and passes the path through which the target data passes. get. Then, the acquired path information is output to the first language update unit 4. Further, the server logic 9 program to be processed for the target data is extracted. (S2).

そして、第一言語解析部3は、S2で抽出した対象データに対するプログラムすべてに対して、S4またはS4〜S6を実行したか否かを判定する(S3)。   Then, the first language analysis unit 3 determines whether or not S4 or S4 to S6 has been executed for all the programs for the target data extracted in S2 (S3).

S3で実行されたと判定された場合、第一言語更新部4は、対象データのサーバロジック9内での一次記憶領域情報を第二言語解析部5に出力し、S7の処理に移行する。
S3で実行されていないと判定された場合は、S4の処理を実行する。
第一言語解析部3は、抽出された対象データに対する処理内容が加工または更新を行う処理か否かを判定する(S4)。
処理内容が加工または更新を行う処理と判定された場合、S5の処理を行う。
処理内容が加工または更新を行わない処理と判定された場合、S3の処理に戻る。加工または更新を行わない処理とは、例えば参照のみの場合である。
When it determines with having been performed by S3, the 1st language update part 4 outputs the primary storage area information in the server logic 9 of object data to the 2nd language analysis part 5, and transfers to the process of S7.
If it is determined that the process is not executed in S3, the process of S4 is executed.
The first language analysis unit 3 determines whether or not the processing content for the extracted target data is processing for processing or updating (S4).
When it is determined that the processing content is processing or update processing, processing in S5 is performed.
When it is determined that the processing content is processing that does not process or update, the processing returns to S3. The process that does not process or update is, for example, a case of reference only.

対象データに対して加工または更新を行うプログラムの場合は、第一言語解析部3が、対象データに対して加工または更新を行うプログラムを処理内容一次記憶部7に出力し、記憶する(S5)。   In the case of a program that processes or updates the target data, the first language analysis unit 3 outputs a program that processes or updates the target data to the processing content primary storage unit 7 and stores it (S5). .

そして、第一言語更新部4が、第一言語解析部3から入力されたサーバロジック9の対象データを処理するパスの情報を用いて、処理内容一次記憶部7に記憶されている処理内容をサーバロジック9から削除する(S6)。また、削除したプログラムの部分には、代入処理を挿入して更新する。   Then, the first language update unit 4 uses the path information for processing the target data of the server logic 9 input from the first language analysis unit 3, and stores the processing content stored in the processing content primary storage unit 7. Delete from the server logic 9 (S6). The deleted program portion is updated by inserting substitution processing.

S3で、S4またはS4〜S6が実行されたと判定され、第一言語更新部4から第二言語解析部5に対象データのサーバロジック9内での一次記憶領域情報が入力されると、第二言語解析部5は、入力された対象データのサーバロジック9内での一次記憶領域情報を用いてクライアントロジック10を解析し、対象データが処理されるパスを取得する。そして、取得したパスを第二言語更新部6に出力する(S7)。   When it is determined in S3 that S4 or S4 to S6 has been executed and primary storage area information in the server logic 9 of the target data is input from the first language update unit 4 to the second language analysis unit 5, the second The language analysis unit 5 analyzes the client logic 10 using the primary storage area information in the server logic 9 of the input target data, and acquires a path for processing the target data. Then, the acquired path is output to the second language update unit 6 (S7).

第二言語更新部6は、第二言語解析部5からクライアントロジック10の対象データが処理されるパスが入力されると、処理内容一次記憶部7に記憶されているプログラムを第一言語のJava(登録商標)から第二言語のJavaScript(登録商標)に変換して、クライアント側のプログラムとして生成する。そして、生成した対象データを処理するクライアント側のプログラムを、第一言語解析部3で取得したパスを用いて、クライアントロジック10に挿入し、更新する(S8)。   When the path for processing the target data of the client logic 10 is input from the second language analysis unit 5, the second language update unit 6 executes the program stored in the processing content primary storage unit 7 in the first language Java. (Registered trademark) is converted into Java Script (registered trademark) in the second language, and is generated as a client-side program. Then, the client-side program for processing the generated target data is inserted into the client logic 10 using the path acquired by the first language analysis unit 3 and updated (S8).

次に、サーバロジック9とクライアントロジック10の構成について詳細に説明する。
図3は、この発明の実施の形態における、サーバロジック9とクライアントロジック10のクラスの構成の一例を示す図である。
サーバロジック9とクライアントロジック10は、Webアプリケーションを制御するプログラムのクラスで構成されている。Webアプリケーションを制御するプログラムは、例えば、ユーザから処理を指定された対象データをデータベース8から取得して、対象データに対して処理した結果をクライアント側のWebアプリケーションの画面に表示する制御を行う。
処理プログラムのクラスは、JSP21、UserForm22、UserLogic23、UserDto24、UserDao25で構成されている。
Next, the configuration of the server logic 9 and the client logic 10 will be described in detail.
FIG. 3 is a diagram showing an example of a class configuration of the server logic 9 and the client logic 10 in the embodiment of the present invention.
The server logic 9 and the client logic 10 are composed of program classes that control the Web application. For example, the program that controls the Web application performs control to acquire target data designated by the user from the database 8 and display the result of processing the target data on the screen of the client-side Web application.
The class of the processing program is comprised of JSP21, UserForm22, UserLogic23, UserDto24, and UserDao25.

JSP21は、Webアプリケーションでユーザから処理を要求される対象データが入力されると、Webアプリケーションから対象データの処理要求が入力される。そして、入力された対象データの処理要求をUserLogic22に出力する。そして、UserLogic23から対象データの処理要求の結果が入力されると、UserForm22からUserLogic23で処理された対象データを取得し、処理された対象データをWebアプリケーションの画面に表示する。   When the target data that is requested to be processed by the user in the Web application is input to the JSP 21, the processing request for the target data is input from the Web application. Then, the processing request for the input target data is output to the UserLogic 22. When the result of the processing request for the target data is input from the UserLogic 23, the target data processed by the UserLogic 23 is acquired from the UserForm 22, and the processed target data is displayed on the screen of the Web application.

UserForm22は、UserLogic23がUserDto24から取得した対象データを加工または更新するデータ処理を行った結果を一次的に記憶している。   The UserForm 22 temporarily stores the result of performing data processing for processing or updating the target data acquired by the UserLogic 23 from the UserDto24.

UserLogic23は、JSP21から対象データの処理要求が入力されると、UserDao25に対象データの取得要求を出力する。そして、UserDao25から対象データの取得要求の処理結果が入力されると、UserDao25によってデータベース8から取り出された対象データをUserDto24から取得する。そして、取得した対象データを加工または更新するデータ処理を行い、データ処理の結果をUserForm22に出力して一次的に記憶する。そして、JSP21に対象データの処理要求の結果を出力する。   The UserLogic 23 outputs a target data acquisition request to the UserDao 25 when a target data processing request is input from the JSP 21. When the processing result of the target data acquisition request is input from UserDao 25, the target data retrieved from the database 8 by UserDao 25 is acquired from UserDto24. Then, data processing for processing or updating the acquired target data is performed, and the result of the data processing is output to the UserForm 22 and temporarily stored. Then, the processing request result of the target data is output to the JSP 21.

UserDto24は、UserDao25がデータベース8から取り出した対象データを一時的に記憶する。   The UserDto 24 temporarily stores the target data that the UserDao 25 has taken out from the database 8.

UserDao25は、UserLogic23から対象データの取得要求が入力されると、データベース8から対象データを取り出す。そして、データベース8から取り出した対象データをUserDto24に一次的に記憶する。また、UserLogic23に対象データの取得要求の処理結果を出力する。   The UserDao 25 takes out the target data from the database 8 when an acquisition request for the target data is input from the UserLogic 23. Then, the target data extracted from the database 8 is temporarily stored in the UserDto 24. In addition, the processing result of the acquisition request for the target data is output to UserLogic 23.

サーバロジック9とクライアントロジック10は、上記のような処理プログラムの構成になっているが、サーバロジック9の各クラスは、Java(登録商標)で記述され、クライアントロジック10の各クラスは、JavaScript(登録商標)で記述されている。   The server logic 9 and the client logic 10 are configured as described above, but each class of the server logic 9 is described in Java (registered trademark), and each class of the client logic 10 is JavaScript ( Registered trademark).

次に、各クラスの記述例を示す。
図4は、この発明の実施の形態における、サーバロジック9のUserDto24の一例を示す図である。
UserDto24(a)では、個人情報のうち例えば名前を記憶するためのname属性を持つクラスがJava(登録商標)で記述されている。UserDao25は、UserDto24のインスタンスを作成し、データベースから取得した個人情報のうち名前をname属性として、UserDto24に記憶する。
Next, a description example of each class is shown.
FIG. 4 is a diagram showing an example of UserDto 24 of the server logic 9 in the embodiment of the present invention.
In UserDto24 (a), a class having a name attribute for storing a name, for example, of personal information is described in Java (registered trademark). UserDao25 creates an instance of UserDto24, and stores the name of the personal information acquired from the database as a name attribute in UserDto24.

図5は、この発明の実施の形態における、第一言語更新部4によって更新されるサーバロジック9のUserForm22の一例を示す図である。
図1の第一言語更新部で更新される前のサーバロジック9のUserForm22(a)は、個人情報のうち名前の姓を記憶するためのfirstName属性と、名を記憶するためのlastName属性を持つクラスがJava(登録商標)で記述されている。そして、第一言語更新部で更新された後のUserForm22(b)は、個人情報のうち名前を記憶するためのname属性を持つ。
FIG. 5 is a diagram showing an example of the UserForm 22 of the server logic 9 updated by the first language update unit 4 in the embodiment of the present invention.
UserForm 22 (a) of the server logic 9 before being updated by the first language updating unit in FIG. 1 has a firstName attribute for storing the last name of the name of personal information and a lastName attribute for storing the name. The class is described in Java (registered trademark). Then, UserForm 22 (b) after being updated by the first language updating unit has a name attribute for storing the name of the personal information.

図6は、この発明の実施の形態における、第一言語更新部4によって更新されるサーバロジック9のUseLogic23の一例を示す図である。
図1の第一言語更新部で更新される前のサーバロジック9のUserLogic23(a)は、UserDto24のname属性値を半角スペースで分割し、UserForm22のfirstName属性とlastName属性に記憶するロジックであり、Java(登録商標)で記述されている。
そして、第一言語更新部4で更新された後のUserLogic23(b)は、UserDto24のname属性値をUserForm22のname属性値に記憶するロジックであり、Java(登録商標)で記述されている。
第一言語更新部4は、この更新前のサーバロジック9内での、対象データが処理された後の対象データが一次記憶されるクラス名(UserForm)と変数名(firstName,lastName)と、代入処理に更新した後のサーバロジック内での、対象データが一次記憶されるクラス名(UserForm)と変数名(name)を、第二言語解析部5に出力する。
FIG. 6 is a diagram illustrating an example of UseLogic 23 of the server logic 9 updated by the first language update unit 4 in the embodiment of the present invention.
The UserLogic 23 (a) of the server logic 9 before being updated by the first language update unit in FIG. 1 is a logic that divides the name attribute value of UserDto24 by a single-byte space and stores it in the firstName attribute and the lastName attribute of UserForm22. It is described in Java (registered trademark).
The UserLogic 23 (b) after being updated by the first language update unit 4 is a logic for storing the name attribute value of UserDto 24 in the name attribute value of UserForm 22, and is written in Java (registered trademark).
The first language updating unit 4 assigns a class name (UserForm) and a variable name (firstName, lastName) in which the target data after the target data is processed in the server logic 9 before the update is temporarily stored. The class name (UserForm) and the variable name (name) in which the target data is temporarily stored in the server logic after updating to the process are output to the second language analysis unit 5.

図7は、この発明の実施の形態における、第二言語更新部6によって更新されるクライアントロジック10のJSP21の一例を示す図である。
図1の第二言語更新部で更新される前のクライアントロジック10のJSP21(a)は、UserForm22のfirstName属性をHTMLの中のname1のIDを持つ要素に代入し、lastName属性をname2のIDを持つ要素に代入するロジックであり、JavaScript(登録商標)で記述されている。
FIG. 7 is a diagram showing an example of the JSP 21 of the client logic 10 updated by the second language update unit 6 according to the embodiment of the present invention.
The JSP 21 (a) of the client logic 10 before being updated by the second language update unit in FIG. 1 substitutes the firstName attribute of the UserForm22 into an element having the ID of name1 in HTML, and the lastName attribute is set to the ID of name2. This is a logic to be assigned to an element, and is described in JavaScript (registered trademark).

そして、第二言語更新部で更新された後のJSP21(b)は、UserForm22のname属性値を半角スペースで分割し、HTMLの中のname1のIDを持つ要素とname2のIDを持つ要素に代入するロジックであり、JavaScript(登録商標)で記述されている。
尚、例ではnameに対する処理splitは、第一言語であるJava(登録商標)と第二言語であるJavaScript(登録商標)で同様の表現がされているが、同様の処理をするために別の表現に変換する場合もある。
Then, JSP21 (b) after being updated by the second language update unit divides the name attribute value of UserForm22 into single-byte spaces and substitutes them into an element having ID of name1 and an element having ID of name2 in HTML. And is described in JavaScript (registered trademark).
In the example, the processing split for name is expressed in the same way in the first language Java (registered trademark) and the second language JavaScript (registered trademark). Sometimes converted to an expression.

図8は、この発明の実施の形態における、処理内容一次記憶部7に記憶された処理内容の一例を示す図である。
処理内容一次記憶部7には、処理先71、処理元72、処理内容73が一次的に記憶されている。
処理内容一次記憶部7は、第一言語解析部3がサーバロジック9を解析して、対象データを処理する処理内容(例えば、個人情報の名前を姓と名に分割する処理)を抜き出し、処理先71、処理元72、処理内容73に分けて記憶している。そして、第二言語更新部6が、処理内容73をJavaScript(登録商標)に変換して、クライアント側のプログラムとして生成し、クライアントロジック10に挿入する。
FIG. 8 is a diagram showing an example of the processing content stored in the processing content primary storage unit 7 in the embodiment of the present invention.
The processing content primary storage unit 7 temporarily stores a processing destination 71, a processing source 72, and a processing content 73.
The processing content primary storage unit 7 analyzes the server logic 9 by the first language analysis unit 3 and extracts the processing content for processing the target data (for example, processing for dividing the name of personal information into first name and last name). The data are stored separately in the destination 71, the processing source 72, and the processing content 73. Then, the second language update unit 6 converts the processing content 73 into JavaScript (registered trademark), generates it as a client-side program, and inserts it into the client logic 10.

以上のように、ユーザが指定した対象データの記憶領域情報に基づいて、サーバロジック9から対象データを処理するプログラムを抽出し、第二言語解析部が、対象データのサーバロジック9内での一次記憶領域情報に基づいて、クライアントロジック10の対象データに対する処理部分を特定する。そして、特定した部分に、サーバロジック9から抽出した対象データに対する処理プログラムをクライアント側のプログラムに変換してクライアントロジック10を生成するので、例えば、クライアント側しか知りえない情報を、クライアント側からサーバ側に送らずにクライアント側のプログラムでデータ処理することができるため、情報漏洩を防止することができる。   As described above, based on the storage area information of the target data specified by the user, the program for processing the target data is extracted from the server logic 9, and the second language analysis unit performs the primary processing within the server logic 9 of the target data. Based on the storage area information, the processing part for the target data of the client logic 10 is specified. Then, the client logic 10 is generated by converting the processing program for the target data extracted from the server logic 9 into the client side program in the specified part. For example, information that only the client side can know is sent from the client side to the server side. Since data can be processed by a client program without being sent to the client, information leakage can be prevented.

また、対象データに対して、加工または更新を行う処理内容を特定してサーバロジックから抽出して、クライアントロジック10に対象データを加工または更新する処理を生成するので、データ処理を効率よくクライアント側のプログラムで処理することができる。   In addition, the processing contents to be processed or updated with respect to the target data are specified and extracted from the server logic, and the client logic 10 generates a process for processing or updating the target data. It can be processed by the program.

また、データベース解析手段2から取得した対象データの記憶領域情報を用いて、対象データを処理する処理内容を特定するので、プログラムの生成を高速で行うことができる。   In addition, since the processing content for processing the target data is specified using the storage area information of the target data acquired from the database analysis unit 2, a program can be generated at high speed.

また、サーバ側で行っていた対象データの処理内容を削除するため、クライアント側しか知りえない対象データがサーバ側で処理されることがなく、より情報漏洩を防止することができる。   Further, since the processing content of the target data that has been performed on the server side is deleted, target data that can be known only on the client side is not processed on the server side, and information leakage can be further prevented.

例えば、クライアント側しか知りえない対象データが個人情報であり、サーバ側のプログラムで、個人情報を暗号化してデータベースで一元管理する処理内容をもっていた場合、ユーザがクライアント側のプログラムから個人情報のデータの更新を要求すると、サーバ側はその個人情報のデータをサーバ側のプログラムの中で復号化する必要があった。しかし、プログラム生成装置1によって、このサーバ側のプログラムで行っていた暗号化と復号化の処理を含めたデータ処理をクライアント側のプログラムに移すため、クライアント側からサーバ側に個人情報のデータを送受信する必要がなくなり、情報漏洩を防止することができる。   For example, if the target data that can only be known by the client side is personal information, and the server side program has a processing content that encrypts the personal information and centrally manages it in the database, the user can access the personal information data from the client side program. Therefore, the server side needs to decrypt the personal information data in the server side program. However, since the program generation apparatus 1 transfers the data processing including the encryption and decryption processing performed by the server side program to the client side program, the personal information data is transmitted and received from the client side to the server side. This eliminates the need to perform information leakage and prevents information leakage.

1 プログラム自動生成装置、2 データベース解析部、3 第一言語解析部、4 第一言語更新部、5 第二言語解析部、6 第二言語更新部、7 処理内容一次記憶部、8 データベース、9 サーバロジック、10 クライアントロジック、21 JSP、22 UserForm、23 UserLogic、24 UserDto、25 UseDao。 DESCRIPTION OF SYMBOLS 1 Program automatic generation apparatus, 2 Database analysis part, 3 1st language analysis part, 4 1st language update part, 5 2nd language analysis part, 6 2nd language update part, 7 Processing content primary storage part, 8 Database, 9 Server logic, 10 client logic, 21 JSP, 22 UserForm, 23 UserLogic, 24 UserDto, 25 UseDao.

Claims (6)

サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出手段と、
該抽出手段で抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの記前対象データが処理される部分を特定する特定手段と、
該特定手段で特定した部分に、前記抽出手段で抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側ログラムとして生成する生成手段と
を備えたことを特徴とするプログラム生成装置。
Extraction that extracts the server-side program that processes the target data from the server-side program that performs processing on the server side, based on the storage area information of the storage area of the database that stores the target data for which the user specified the process Means,
A specifying means for specifying a portion of the client-side program to be processed on the client-side program to be processed based on the information of the server-side program extracted by the extracting means;
The identified portions by said specifying means, the server-side program for processing the object data extracted by the extraction means, the program generating apparatus characterized by comprising a generating means for generating as said client-side program.
前記抽出手段は、前記対象データに対して加工または更新を行う処理プログラムを抽出することを特徴とする請求項1記載のプログラム生成装置。   The program generation apparatus according to claim 1, wherein the extraction unit extracts a processing program for processing or updating the target data. 前記対象データがデータベースに記憶された領域の記憶領域情報を取得するデータベース解析手段を更に備え、
前記抽出手段は、前記データベース解析手段が取得した前記記憶領域情報に基づいて、前記対象データを処理するサーバ側プログラムを抽出することを特徴とする請求項1または請求項2記載のプログラム生成装置。
Further comprising database analysis means for acquiring storage area information of an area where the target data is stored in a database;
The program generation apparatus according to claim 1, wherein the extraction unit extracts a server-side program that processes the target data based on the storage area information acquired by the database analysis unit.
前記サーバ側プログラムを更新する更新手段を更に備え、
該更新手段は、前記抽出手段が抽出した前記対象データを処理する前記サーバ側プログラムを、前記サーバ側プログラムから削除することを特徴とする請求項1または請求項2記載のプログラム生成装置。
Update means for updating the server-side program,
3. The program generation apparatus according to claim 1, wherein the updating unit deletes the server-side program that processes the target data extracted by the extracting unit from the server-side program.
前記対象データを処理する前記サーバ側プログラムは、暗号化または復号化を含むことを特徴とする請求項1〜4のいずれか1項に記載のプログラム生成装置。 The server-side program for processing the target data, the program generating apparatus according to claim 1, characterized in that it comprises an encryption or decryption. サーバ側で処理を行うサーバ側プログラムから対象データを処理するサーバ側プログラムを抽出して、クライアント側で処理を行うクライアント側プログラムとして生成するプログラム生成装置のプログラム生成方法において、
サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出ステップと、
該抽出ステップで抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの記前対象データが処理される部分を特定する特定ステップと、
該特定ステップで特定した部分に、前記抽出ステップで抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側ログラムとして生成する生成ステップと
を備えたことを特徴とするプログラム生成方法。
In a program generation method of a program generation apparatus that extracts a server side program that processes target data from a server side program that performs processing on the server side, and generates a client side program that performs processing on the client side.
Extraction that extracts the server-side program that processes the target data from the server-side program that performs processing on the server side, based on the storage area information of the storage area of the database that stores the target data for which the user specified the process Steps,
Based on the information of the server-side program extracted in the extraction step, a specifying step of specifying a portion where pre-recording target data of a client-side program to be processed on the client side is processed;
The identified portions by said specifying step, the server-side program for processing the object data extracted by the extraction step, the program generating method characterized by comprising a generation step of generating as the client-side program.
JP2013181968A 2013-09-03 2013-09-03 Program generating apparatus and program generating method Expired - Fee Related JP6079512B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013181968A JP6079512B2 (en) 2013-09-03 2013-09-03 Program generating apparatus and program generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013181968A JP6079512B2 (en) 2013-09-03 2013-09-03 Program generating apparatus and program generating method

Publications (2)

Publication Number Publication Date
JP2015049777A JP2015049777A (en) 2015-03-16
JP6079512B2 true JP6079512B2 (en) 2017-02-15

Family

ID=52699719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013181968A Expired - Fee Related JP6079512B2 (en) 2013-09-03 2013-09-03 Program generating apparatus and program generating method

Country Status (1)

Country Link
JP (1) JP6079512B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262322A (en) * 2009-04-29 2010-11-18 Toshio Kato Database system enhancing security by separating data such as customer information requiring secrecy, from public area-wide area network and external remote server, to be arranged in user-local side
JP4811511B2 (en) * 2009-09-17 2011-11-09 コニカミノルタビジネステクノロジーズ株式会社 Document processing apparatus, server apparatus, and document processing system

Also Published As

Publication number Publication date
JP2015049777A (en) 2015-03-16

Similar Documents

Publication Publication Date Title
US10579368B2 (en) Blockchain version control systems
US10409583B2 (en) Content deployment system having a content publishing engine with a filter module for selectively extracting content items provided from content sources for integration into a specific release and methods for implementing the same
US11016757B2 (en) Content deployment system having a proxy for continuously providing selected content items to a content publishing engine for integration into a specific release and methods for implementing the same
US9336137B2 (en) System and method for performing data management in a collaborative development environment
KR20130126901A (en) Synchronizing online document edits
US11138216B2 (en) Automatically invoked unified visualization interface
US9658848B2 (en) Stored procedure development and deployment
US20140317158A1 (en) File storage device and method for managing file system thereof
US20220261120A1 (en) Augmenting web applications with optimized workflows supporting user interaction
JP5949222B2 (en) Operation management support apparatus, method and program
KR20210035348A (en) Extracting similar group elements
JP2014229215A (en) Information processing apparatus, information processing method, computer program and computer readable memory medium
US11086899B2 (en) On demand synchronization of information
CN104915390A (en) ETL data lineage query system and query method
JP6446819B2 (en) Document difference display program and information processing apparatus
US9965533B2 (en) Reverse application programming interface (API) endpoint creation process and standardized schema
JP6079512B2 (en) Program generating apparatus and program generating method
US10114617B2 (en) Rapid visualization rendering package for statistical programming language
JP2008203965A (en) Method and program for creating web page
US10218812B2 (en) Manner of display in a mobile application
KR101965722B1 (en) Apparatus for ensuring editing reliability in respect of web document according to whether to edit single or edit simultaneously and operation method thereof
US10255260B2 (en) System and framework for transforming domain data
JP7346671B2 (en) Data conversion device and data conversion method
JP6212373B2 (en) Operation log management apparatus and method
US20180096129A1 (en) Network communication method and network communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170102

R151 Written notification of patent or utility model registration

Ref document number: 6079512

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees