JP6079512B2 - Program generating apparatus and program generating method - Google Patents
Program generating apparatus and program generating method Download PDFInfo
- 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
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).
しかし、従来の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は、この発明の実施の形態における、プログラム自動生成装置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
第一言語解析部3は、データベース解析部2から対象データの記憶領域情報が入力されると、サーバロジック9のプログラムを解析して、対象データの記憶領域情報に基づいて、対象データに対して実行される処理内容のパスを探し、対象データに対する処理内容のプログラムを特定する。例えば、対象データの列名、データ型、データの大きさについての情報が含まれる処理内容のプログラムを探して特定する。そして、対象データが処理されるパスを第一言語更新部4に出力する。また、対象データに対する処理内容のプログラムを抽出して、処理内容一次記憶部7に記憶する。
When the storage area information of the target data is input from the
第一言語更新部4は、第一言語解析部3から入力された対象データが処理されるパスの情報を用いて、対象データに対する処理内容のプログラムをサーバロジック9から削除し、削除したプログラムの部分に代入処理を挿入して更新する。そして、第一言語更新部4は、対象データのサーバロジック9内での一次記憶領域情報を第二言語解析部5に出力する。
対象データのサーバロジック9内での一次記憶領域情報は、例えば、後で詳細に説明する個人情報の名前が対象データであれば、対象データが処理された後の対象データが一次記憶されるクラス名(UserForm)と変数名(firstName,lastName)と、代入処理に更新した後の対象データが一次記憶されるクラス名(UserForm)と変数名(name)である。
The first
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
第二言語更新部6は、第二言語解析部5から対象データが処理されるパスが入力されると、処理内容一次記憶部7から、対象データを処理する処理内容のプログラムを取得する。そして取得したプログラムを、第一言語であるJava(登録商標)から第二言語であるJavaScript(登録商標)に変換して、クライアント側のプログラムとして生成する。そして、第二言語解析部5から入力された対象データが処理されるパスの情報を用いて、クライアントロジック10に、変換したJavaScript(登録商標)を挿入して更新する。
When the path for processing the target data is input from the second
処理内容一次記憶部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
次に、プログラム自動生成装置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
そして、データベース解析部2が、データベース8に記憶されている対象データの記憶領域情報(スキーマ名、テーブル名、列名、データ型、データの大きさを含む)を取得する。そして、取得した対象データの記憶領域情報を第一言語解析部3に出力する(S1)。
Then, the
第一言語解析部3は、データベース解析部2から対象データの記憶領域情報が入力されると、入力された対象データの記憶領域情報を用いてサーバロジック9を解析し、対象データが通るパスを取得する。そして、取得したパスの情報を第一言語更新部4に出力する。また、対象データに対して処理されるサーバロジック9のプログラムを抽出する。(S2)。
When the storage area information of the target data is input from the
そして、第一言語解析部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
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
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
第二言語更新部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
次に、サーバロジック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
UserForm22は、UserLogic23がUserDto24から取得した対象データを加工または更新するデータ処理を行った結果を一次的に記憶している。
The
UserLogic23は、JSP21から対象データの処理要求が入力されると、UserDao25に対象データの取得要求を出力する。そして、UserDao25から対象データの取得要求の処理結果が入力されると、UserDao25によってデータベース8から取り出された対象データをUserDto24から取得する。そして、取得した対象データを加工または更新するデータ処理を行い、データ処理の結果をUserForm22に出力して一次的に記憶する。そして、JSP21に対象データの処理要求の結果を出力する。
The
UserDto24は、UserDao25がデータベース8から取り出した対象データを一時的に記憶する。
The
UserDao25は、UserLogic23から対象データの取得要求が入力されると、データベース8から対象データを取り出す。そして、データベース8から取り出した対象データをUserDto24に一次的に記憶する。また、UserLogic23に対象データの取得要求の処理結果を出力する。
The
サーバロジック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
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 (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
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
The first
図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
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
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
以上のように、ユーザが指定した対象データの記憶領域情報に基づいて、サーバロジック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
また、サーバ側で行っていた対象データの処理内容を削除するため、クライアント側しか知りえない対象データがサーバ側で処理されることがなく、より情報漏洩を防止することができる。 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または請求項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.
サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出ステップと、
該抽出ステップで抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの記前対象データが処理される部分を特定する特定ステップと、
該特定ステップで特定した部分に、前記抽出ステップで抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側プログラムとして生成する生成ステップと
を備えたことを特徴とするプログラム生成方法。 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.
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)
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 |
-
2013
- 2013-09-03 JP JP2013181968A patent/JP6079512B2/en not_active Expired - Fee Related
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 |