JP6079512B2 - プログラム生成装置及びプログラム生成方法 - Google Patents
プログラム生成装置及びプログラム生成方法 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
そのため、開発の生産性と品質の向上を目的に、業務仕様からWebアプリケーションを制御するプログラムを自動生成する技術が用いられてきた(特許文献1)。
図1は、この発明の実施の形態における、プログラム自動生成装置1の構成図である。
図1において、プログラム自動生成装置1は、データベース解析部(データベース解析手段)2、第一言語解析部(抽出手段)3、第一言語更新部(更新手段)4、第二言語解析部(特定手段)5、第二言語更新部(生成手段)6、処理内容一次記憶部(記憶手段)7から構成されている。
サーバロジック9は、Webアプリケーンで扱うデータ処理を第一言語であるJava(登録商標)で記述したサーバ側のプログラムである。サーバロジック9は、ユーザ(クライアント側)からデータの処理要求を受けると(対象データが指示されると)、データベース8に記憶されているデータに対して要求された処理内容を実行するプログラムである。そして、データ処理した結果をクライアントロジック10に渡す。
次に、対象データのサーバロジック9内での一次記憶領域情報に基づいて、クライアントロジック10から、対象データが処理されるパスを探す。そして、その部分に、処理内容一次記憶部7に記憶した対象データを処理するプログラムを、第一言語であるJava(登録商標)から第二言語であるJavaScript(登録商標)に変換して挿入する。
この様に、サーバロジック9で処理していた、例えば暗号化および復号化を含むデータの処理のプログラムをクライアントロジック10に自動的に移して、クライアント側でデータの暗号化および復号化を含むデータの処理を行うため、秘匿する必要のある対象データを復号可能な状態でクライアント側からサーバに送る必要がなくなり、情報漏洩を防止することができる。
データベース解析部2は、ユーザから対象データが入力されると、データベース8に記憶されている記憶領域を解析して、対象データが記憶されている領域の列名、データ型、データの大きさを含む情報(記憶領域情報)を取得する。そして、取得した対象データの記憶領域情報を第一言語解析部3に出力する。
対象データのサーバロジック9内での一次記憶領域情報は、例えば、後で詳細に説明する個人情報の名前が対象データであれば、対象データが処理された後の対象データが一次記憶されるクラス名(UserForm)と変数名(firstName,lastName)と、代入処理に更新した後の対象データが一次記憶されるクラス名(UserForm)と変数名(name)である。
図2は、この発明の実施の形態における、プログラム自動生成装置1のフローチャートである。
プログラム自動生成装置1のソースコードを解析する方法は、静的解析であっても動的解析であってもよい。
Webアプリケーションで、ユーザから処理を指示する対象データが入力されると、プログラム自動生成装置1のデータベース解析部2に対象データが入力される。
S3で実行されていないと判定された場合は、S4の処理を実行する。
第一言語解析部3は、抽出された対象データに対する処理内容が加工または更新を行う処理か否かを判定する(S4)。
処理内容が加工または更新を行う処理と判定された場合、S5の処理を行う。
処理内容が加工または更新を行わない処理と判定された場合、S3の処理に戻る。加工または更新を行わない処理とは、例えば参照のみの場合である。
図3は、この発明の実施の形態における、サーバロジック9とクライアントロジック10のクラスの構成の一例を示す図である。
サーバロジック9とクライアントロジック10は、Webアプリケーションを制御するプログラムのクラスで構成されている。Webアプリケーションを制御するプログラムは、例えば、ユーザから処理を指定された対象データをデータベース8から取得して、対象データに対して処理した結果をクライアント側のWebアプリケーションの画面に表示する制御を行う。
処理プログラムのクラスは、JSP21、UserForm22、UserLogic23、UserDto24、UserDao25で構成されている。
図4は、この発明の実施の形態における、サーバロジック9のUserDto24の一例を示す図である。
UserDto24(a)では、個人情報のうち例えば名前を記憶するためのname属性を持つクラスがJava(登録商標)で記述されている。UserDao25は、UserDto24のインスタンスを作成し、データベースから取得した個人情報のうち名前をname属性として、UserDto24に記憶する。
図1の第一言語更新部で更新される前のサーバロジック9のUserForm22(a)は、個人情報のうち名前の姓を記憶するためのfirstName属性と、名を記憶するためのlastName属性を持つクラスがJava(登録商標)で記述されている。そして、第一言語更新部で更新された後のUserForm22(b)は、個人情報のうち名前を記憶するためのname属性を持つ。
図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に出力する。
図1の第二言語更新部で更新される前のクライアントロジック10のJSP21(a)は、UserForm22のfirstName属性をHTMLの中のname1のIDを持つ要素に代入し、lastName属性をname2のIDを持つ要素に代入するロジックであり、JavaScript(登録商標)で記述されている。
尚、例ではnameに対する処理splitは、第一言語であるJava(登録商標)と第二言語であるJavaScript(登録商標)で同様の表現がされているが、同様の処理をするために別の表現に変換する場合もある。
処理内容一次記憶部7には、処理先71、処理元72、処理内容73が一次的に記憶されている。
処理内容一次記憶部7は、第一言語解析部3がサーバロジック9を解析して、対象データを処理する処理内容(例えば、個人情報の名前を姓と名に分割する処理)を抜き出し、処理先71、処理元72、処理内容73に分けて記憶している。そして、第二言語更新部6が、処理内容73をJavaScript(登録商標)に変換して、クライアント側のプログラムとして生成し、クライアントロジック10に挿入する。
Claims (6)
- サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出手段と、
該抽出手段で抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの記前対象データが処理される部分を特定する特定手段と、
該特定手段で特定した部分に、前記抽出手段で抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側プログラムとして生成する生成手段と
を備えたことを特徴とするプログラム生成装置。 - 前記抽出手段は、前記対象データに対して加工または更新を行う処理プログラムを抽出することを特徴とする請求項1記載のプログラム生成装置。
- 前記対象データがデータベースに記憶された領域の記憶領域情報を取得するデータベース解析手段を更に備え、
前記抽出手段は、前記データベース解析手段が取得した前記記憶領域情報に基づいて、前記対象データを処理するサーバ側プログラムを抽出することを特徴とする請求項1または請求項2記載のプログラム生成装置。 - 前記サーバ側プログラムを更新する更新手段を更に備え、
該更新手段は、前記抽出手段が抽出した前記対象データを処理する前記サーバ側プログラムを、前記サーバ側プログラムから削除することを特徴とする請求項1または請求項2記載のプログラム生成装置。 - 前記対象データを処理する前記サーバ側プログラムは、暗号化または復号化を含むことを特徴とする請求項1〜4のいずれか1項に記載のプログラム生成装置。
- サーバ側で処理を行うサーバ側プログラムから対象データを処理するサーバ側プログラムを抽出して、クライアント側で処理を行うクライアント側プログラムとして生成するプログラム生成装置のプログラム生成方法において、
サーバ側で処理を行うサーバ側プログラムから、ユーザが処理を指定した対象データが記憶されているデータベースの記憶領域の記憶領域情報に基づいて、前記対象データを処理する前記サーバ側プログラムを抽出する抽出ステップと、
該抽出ステップで抽出された前記サーバ側プログラムの情報に基づいて、クライアント側で処理を行うクライアント側プログラムの記前対象データが処理される部分を特定する特定ステップと、
該特定ステップで特定した部分に、前記抽出ステップで抽出した前記対象データを処理する前記サーバ側プログラムを、前記クライアント側プログラムとして生成する生成ステップと
を備えたことを特徴とするプログラム生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013181968A JP6079512B2 (ja) | 2013-09-03 | 2013-09-03 | プログラム生成装置及びプログラム生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013181968A JP6079512B2 (ja) | 2013-09-03 | 2013-09-03 | プログラム生成装置及びプログラム生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015049777A JP2015049777A (ja) | 2015-03-16 |
JP6079512B2 true JP6079512B2 (ja) | 2017-02-15 |
Family
ID=52699719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013181968A Expired - Fee Related JP6079512B2 (ja) | 2013-09-03 | 2013-09-03 | プログラム生成装置及びプログラム生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6079512B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262322A (ja) * | 2009-04-29 | 2010-11-18 | Toshio Kato | 機密性を要求される顧客情報などのデータを公域・広域ネットワークと外部リモートサーバから分離し、利用者・ローカル側に配置することで、セキュリティを向上させるデータベースシステム |
JP4811511B2 (ja) * | 2009-09-17 | 2011-11-09 | コニカミノルタビジネステクノロジーズ株式会社 | 文書処理装置、サーバ装置および文書処理システム |
-
2013
- 2013-09-03 JP JP2013181968A patent/JP6079512B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015049777A (ja) | 2015-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579368B2 (en) | Blockchain version control systems | |
US10684847B2 (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 | |
US20190163459A1 (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 | |
US9336137B2 (en) | System and method for performing data management in a collaborative development environment | |
KR20130126901A (ko) | 온라인 문서 편집의 동기화 | |
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 | |
KR102233867B1 (ko) | 유사 그룹 요소 추출 | |
US20130086138A1 (en) | Implementing a java method | |
JP2014229215A (ja) | 情報処理装置、情報処理方法、コンピュータプログラムおよびコンピュータ可読メモリ媒体 | |
JP6446819B2 (ja) | 文書差分表示プログラム及び情報処理装置 | |
US11086899B2 (en) | On demand synchronization of information | |
CN104915390A (zh) | 一种etl数据血统查询***及查询方法 | |
US10114617B2 (en) | Rapid visualization rendering package for statistical programming language | |
US9965533B2 (en) | Reverse application programming interface (API) endpoint creation process and standardized schema | |
JP6079512B2 (ja) | プログラム生成装置及びプログラム生成方法 | |
US20100287292A1 (en) | Method, apparatus and computer program product for generating a content website in a data communications network | |
US11663038B2 (en) | Workflow data migration management | |
KR101965722B1 (ko) | 단독 편집 및 동시 편집인지에 따라 웹 문서에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법 | |
US10255260B2 (en) | System and framework for transforming domain data | |
JP7346671B2 (ja) | データ変換装置およびデータ変換方法 | |
JP7087506B2 (ja) | 機器管理装置、機器管理方法、機器管理プログラム及び機器管理システム | |
JP6212373B2 (ja) | 操作ログ管理装置及び方法 | |
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 |