JPWO2009157082A1 - Program conversion processing apparatus and program - Google Patents

Program conversion processing apparatus and program Download PDF

Info

Publication number
JPWO2009157082A1
JPWO2009157082A1 JP2010517645A JP2010517645A JPWO2009157082A1 JP WO2009157082 A1 JPWO2009157082 A1 JP WO2009157082A1 JP 2010517645 A JP2010517645 A JP 2010517645A JP 2010517645 A JP2010517645 A JP 2010517645A JP WO2009157082 A1 JPWO2009157082 A1 JP WO2009157082A1
Authority
JP
Japan
Prior art keywords
program
script
subroutine
label information
xml data
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
JP2010517645A
Other languages
Japanese (ja)
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.)
Fujitsu FSAS Inc
Original Assignee
Fujitsu FSAS Inc
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 Fujitsu FSAS Inc filed Critical Fujitsu FSAS Inc
Publication of JPWO2009157082A1 publication Critical patent/JPWO2009157082A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis

Abstract

非Webシステム用のプログラムをWebシステム用のプログラムに自動変換するために,プログラム変換処理装置1の解析手段11が,第1プログラムを解析処理し,解析結果であるXMLデータ3を生成する。意味付け手段15が,XMLデータ3から,画面表示命令を検出し,その命令の次に実行される処理要素にラベル情報を付与し,さらに,XMLデータ3の先頭部分に,ラベル情報による分岐処理を付加して意味付きXMLデータ4を生成する。変換手段17が,意味付きXMLデータ4を変換して,第2プログラムとして出力する。In order to automatically convert a program for a non-Web system into a program for a Web system, the analysis unit 11 of the program conversion processing device 1 analyzes the first program and generates XML data 3 as an analysis result. Meaning means 15 detects a screen display instruction from XML data 3, assigns label information to a processing element executed next to the instruction, and further branches processing based on the label information at the beginning of XML data 3. Is added to generate meaningful XML data 4. The conversion means 17 converts the meaningful XML data 4 and outputs it as a second program.

Description

本発明は,ホストシステム等のプログラムをWebシステム用のプログラムへ自動変換処理するプログラム変換処理装置およびプログラムに関する。   The present invention relates to a program conversion processing apparatus and program for automatically converting a program such as a host system into a program for a Web system.

ホストシステム等の非Webシステムを,普及しているインターネットやイントラネット等の環境を利用するWebシステムで実現したいという需要が高まっている。   There is an increasing demand for realizing a non-Web system such as a host system in a Web system using a prevailing environment such as the Internet or an intranet.

システムの再構築には,多大な投資コストと期間が必要となる。そこで,現行システムのロジックをできる限り活用し,コストを抑制するため,様々なプログラム変換手法が提案されてきた。   Reconstruction of the system requires a large investment cost and time. Therefore, various program conversion methods have been proposed in order to use the logic of the current system as much as possible and reduce the cost.

しかし,現行システムと移行システムのプラットフォームや環境が大きく相違する場合には,プログラム変換処理を自動化できず,人手作業に依存する部分が多くなり,コスト抑制につながらなかった。特に,ホストシステム等のレガシーなシステムとWebシステムとの実行環境は著しく相違し,プログラム変換処理の自動化が困難であった。   However, when the platform and environment of the current system and the migration system differed greatly, the program conversion process could not be automated, and many parts depended on manual work, which did not reduce costs. In particular, the execution environment of a legacy system such as a host system and a Web system is significantly different, making it difficult to automate program conversion processing.

なお,Webアプリケーションのデータベースでは入出力対象データ項目と格納データ項目との不一致があることに着目し,Webアプリケーション開発を支援するため,データベースの各項目に対する属性,表示形式等の入力情報にもとづいて,Webアプリケーションのデータベースの設定ファイル,プログラム本体,実行形式ファイルを生成する装置が知られている(例えば,特許文献1参照)。
特開2004−265278号公報
Note that there is a discrepancy between the input / output target data items and the stored data items in the database of the Web application, and based on input information such as attributes and display formats for each item of the database in order to support Web application development A device for generating a setting file, a program main body, and an execution format file of a database of a Web application is known (see, for example, Patent Document 1).
JP 2004-265278 A

ホストシステムは,汎用コンピュータ(以下,ホスト)がデータの処理や保存を行うという中央集中型のアーキテクチャであり,端末のログイン後は,ホスト−端末間の通信処理において,セッションの維持は自明に行われる。   The host system is a centralized architecture in which a general-purpose computer (hereinafter referred to as the host) processes and stores data. After a terminal logs in, the host maintains a session in the host-terminal communication process. Is called.

また,クライアント−サーバ・システムも,クライアントの通信開始以降,クライアント−サーバ間の通信のセッションは,クライアントアプリケーション内で制御されるため,特に考慮する必要がなかった。   In the client-server system, since the communication session between the client and the server is controlled within the client application after the start of the client communication, there is no need to consider it in particular.

一方,Webシステムにおいて,Webクライアント(クライアントのWebブラウザ)とWebサーバ(Webサーバアプリケーション)との通信はHTTP(HyperText Transfer Protocol)通信であるため,セッション管理が必要である。   On the other hand, in a Web system, since communication between a Web client (client Web browser) and a Web server (Web server application) is HTTP (HyperText Transfer Protocol) communication, session management is required.

例えば,Webクライアント側(Webブラウザ)でページ遷移が発生すると,ページ内に保持されていたメモリ情報は破棄され,セッションを保持できなくなるため,Webサーバ側でセッション管理を行う。   For example, when a page transition occurs on the Web client side (Web browser), the memory information held in the page is discarded and the session cannot be held, so the session management is performed on the Web server side.

しかし,Webシステムによってホストシステムの処理制御を実現させる場合に,単にホスト用アプリケーションをWebサーバ用アプリケーションに変換して,通常のサーバ側セッション管理を行うだけでは,画面遷移を適切に制御できない。   However, when the processing control of the host system is realized by the Web system, the screen transition cannot be appropriately controlled simply by converting the host application into the Web server application and performing normal server-side session management.

図13および図14を用いて,Webシステムにおける画面遷移制御上の制約を説明する。この説明において,ホスト(サーバ)側が,端末(クライアント)側に複数の画面の表示制御を行う場合を想定する。   The restrictions on screen transition control in the Web system will be described with reference to FIGS. 13 and 14. In this description, it is assumed that the host (server) side controls display of a plurality of screens on the terminal (client) side.

図13は,ホストシステムにおけるホスト側のアプリケーションプログラムの動作例を示す図である。   FIG. 13 is a diagram illustrating an operation example of a host-side application program in the host system.

ホストシステムの端末90が処理要求を送信すると(a),ホスト側で実行されるアプリケーションプログラム(ホスト側アプリケーション)91が,「プログラムの始まり」から実行され,所定の処理(命令群)が実行される(b)。ホスト側アプリケーション91内に「画面A表示命令」があれば,端末90へ画面Aデータが送信される(c)。   When the terminal 90 of the host system transmits a processing request (a), an application program (host-side application) 91 executed on the host side is executed from the “start of program”, and predetermined processing (instruction group) is executed. (B). If there is a “screen A display command” in the host-side application 91, screen A data is transmitted to the terminal 90 (c).

端末90で画面Aでの入力処理が実行されてデータがホスト側へ送信されると(d),ホスト側アプリケーション91の「画面A表示命令」の以降の処理群が実行される(e)。   When the input processing on the screen A is executed by the terminal 90 and data is transmitted to the host side (d), the processing group subsequent to the “screen A display command” of the host side application 91 is executed (e).

続いて,この処理内に「画面B表示命令」があれば,端末90へ画面Bデータが送信される(f)。同様に,端末90で画面Bでの入力処理が実行されてデータがホスト側へ送信されると,「画面B表示命令」の以降の処理群が実行される(g)。   Subsequently, if there is a “screen B display command” in this process, the screen B data is transmitted to the terminal 90 (f). Similarly, when the input process on the screen B is executed by the terminal 90 and the data is transmitted to the host side, the process group subsequent to the “screen B display command” is executed (g).

このように,ホスト側アプリケーション91においてリニアに記述されている複数の画面表示処理が,適切に制御される。   As described above, a plurality of screen display processes linearly described in the host-side application 91 are appropriately controlled.

図14は,WebシステムにおけるWebサーバ側のアプリケーションプログラムの動作例を示す図である。   FIG. 14 is a diagram illustrating an operation example of an application program on the Web server side in the Web system.

WebシステムのWebクライアント94がWebサーバ側で実行されるアプリケーションプログラム(Webサーバ側アプリケーション)95へのリクエストメッセージを送信すると(a),Webサーバ側アプリケーション95が起動され,「プログラムの始まり」から実行され,所定の処理(命令群)が実行される(b)。Webサーバ側アプリケーション95内に「画面A表示命令」があれば,Webクライアント94へ画面Aデータが送信される(c)。   When the Web client 94 of the Web system transmits a request message to an application program (Web server side application) 95 executed on the Web server side (a), the Web server side application 95 is started and executed from “start of program”. Then, a predetermined process (instruction group) is executed (b). If there is a “screen A display command” in the Web server side application 95, the screen A data is transmitted to the Web client 94 (c).

「画面A表示命令」の実行後に,Webクライアント94から次のメッセージが送信されても(d),Webサーバ側アプリケーション95が「プログラムの始まり」から実行され,直ちに「画面A表示命令」の次の処理が実行されることはない。   Even if the next message is transmitted from the Web client 94 after execution of the “screen A display command” (d), the Web server side application 95 is executed from the “start of program” and immediately follows the “screen A display command”. The process is not executed.

Webサーバ側アプリケーション95に記述された「画面A表示命令」の次の処理を実行するためには,「プログラムの始まり」の次に「分岐ロジック」を定義しておき,Webクライアント94からのメッセージが対応する処理(例えば,画面A表示命令の次の処理命令)を特定して,特定した命令へのジャンプ処理を行う必要がある。   In order to execute the next processing of the “screen A display command” described in the Web server side application 95, “branch logic” is defined after “start of program”, and a message from the Web client 94 is defined. It is necessary to specify the processing corresponding to (for example, the processing command next to the screen A display command) and perform jump processing to the specified command.

同様に,「画面A表示命令」以降の処理群が実行されて(e),「画面B表示命令」の実行後に(f),Webクライアント94から次のメッセージが送信されても(g),直ちに「画面B表示命令」の次の処理が実行されることはない。この場合も,メッセージが対応する処理が,「画面B表示命令」の次の処理であることを特定してジャンプ処理を行う必要がある(h)。   Similarly, the processing group after the “screen A display command” is executed (e), and after the “screen B display command” is executed (f), even if the next message is transmitted from the Web client 94 (g), The next process of the “screen B display command” is not immediately executed. Also in this case, it is necessary to specify that the process corresponding to the message is the process next to the “screen B display command” and perform the jump process (h).

このように,ホスト側アプリケーション91をWeb用アプリケーションに変換するだけでは,WebシステムにおけるHTTP通信の性質上,ホストシステムと同様の処理制御をWebシステムで実現させることができなかった。   As described above, the processing control similar to that of the host system cannot be realized in the Web system due to the nature of HTTP communication in the Web system only by converting the host-side application 91 to the Web application.

本発明は,かかる問題に鑑みてなされたものであり,その目的は,非Webシステム用のプログラムを,Webシステム用のプログラムに自動的に変換する装置およびプログラムを提供することである。   The present invention has been made in view of such problems, and an object thereof is to provide an apparatus and a program for automatically converting a program for a non-Web system into a program for a Web system.

本発明にかかるプログラム変換処理装置1は,非Webシステム用の第1プログラムをWebシステム用の第2プログラムに変換する装置であって,1)第1プログラムを取得し,第1プログラムの解析用辞書を参照して,第1プログラムを解析処理して解析結果である所定のスクリプトを生成する解析手段と,2)スクリプトから予め定められた命令を検出し,スクリプト内で命令の次に実行される処理要素にラベル情報を付与し,さらにスクリプトの先頭部分にラベル情報による分岐処理を付加する意味付け手段と,3)スクリプトから第2プログラムへの対応関係を示す変換テーブルを備え,この変換テーブルにもとづいて,前記意味付け手段により処理されたスクリプトを変換し,第2プログラムとして出力する変換手段とを備える。   A program conversion processing apparatus 1 according to the present invention is an apparatus for converting a first program for a non-Web system into a second program for a Web system, and 1) for acquiring the first program and analyzing the first program. Analyzing means for analyzing the first program by referring to the dictionary and generating a predetermined script as an analysis result, and 2) detecting a predetermined instruction from the script and executing it after the instruction in the script A conversion means indicating a correspondence relationship from the script to the second program, and a meaning table for adding a label process to the processing element and adding a branch process based on the label information to the head part of the script. And converting means for converting the script processed by the meaning assigning means and outputting it as a second program.

このプログラム変換処理装置は,解析手段が,例えばホストシステム用の第1プログラムを解析処理し,解析結果であるスクリプト(例えば,XMLデータ)を生成する。そして,意味付け手段が,スクリプトから,予め定められた命令,例えばクライアントへのデータ出力命令を検出し,スクリプト内で,検出した命令の次に実行される処理要素にラベル情報を付与する。さらに,スクリプトの先頭部分に,このラベル情報による分岐処理を付加する。   In this program conversion processing device, the analysis means analyzes the first program for the host system, for example, and generates a script (for example, XML data) as an analysis result. Then, the meaning assigning means detects a predetermined instruction, for example, a data output instruction to the client, from the script, and gives label information to a processing element executed next to the detected instruction in the script. Furthermore, branch processing based on this label information is added to the head of the script.

そして,変換手段が,情報が付加されたXMLデータ(意味付きXMLデータ)を変換して,第2プログラムとして出力する。   Then, the converting means converts the XML data to which the information is added (meaningful XML data) and outputs it as the second program.

出力された第2プログラムは,プログラム開始の直後にラベル情報による分岐処理が設定されているため,Webクライアントでの画面遷移状態に対応した処理要素へのジャンプ処理が可能となり,Webサーバ側からWebクライアントへの処理制御が可能となっている。   In the output second program, branch processing based on label information is set immediately after the start of the program, so that jump processing to the processing element corresponding to the screen transition state in the Web client is possible, and the Web server side performs Web processing. Processing control to the client is possible.

これにより,例えばホストシステムのアーキテクチャを引き継ぐWebシステムを実現できるWebシステム用の第2プログラムが,自動変換処理によって生成されるため,Webシステムにおいてホスト−端末の機能分担を再現させることができる。   Thereby, for example, since the second program for the Web system that can realize the Web system that takes over the architecture of the host system is generated by the automatic conversion process, the function sharing between the host and the terminal can be reproduced in the Web system.

また,ホストシステム用のプログラムの構造を反映させた第2プログラムが生成されるため,第2プログラムの可読性と,第1プログラムとの対応関係の把握が容易となり,移行後の保守性が向上する。   In addition, since the second program reflecting the structure of the program for the host system is generated, the readability of the second program and the correspondence relationship with the first program can be easily understood, and the maintainability after migration is improved. .

本発明によれば,ホストシステム等の非Webシステム用のプログラムから,HTTP通信を前提とするWebシステム用のプログラムを得ることができ,システム移行に伴うプログラム変換処理の作業効率,コスト負担を大幅に改善することができる。   According to the present invention, it is possible to obtain a Web system program on the premise of HTTP communication from a program for a non-Web system such as a host system, which greatly increases the work efficiency and cost burden of program conversion processing accompanying system migration. Can be improved.

プログラム変換処理装置の構成例を示す図である。It is a figure which shows the structural example of a program conversion processing apparatus. 処理要素にラベル情報が付与された意味付きXMLデータ例を示す図である。It is a figure which shows the XML data with meaning to which the label information was provided to the processing element. セッション情報に保存されるラベル情報例を示す図である。It is a figure which shows the example of label information preserve | saved at session information. ラベル情報,分岐処理が付加された意味付きXMLデータ例を示す図である。It is a figure which shows the example of meaningful XML data to which label information and branch processing were added. メインプログラムとサブルーチンとで構成される第1プログラムを,サブルーチンを展開した状態で示す図である。It is a figure which shows the 1st program comprised with a main program and a subroutine in the state which expand | deployed the subroutine. 第1プログラムにサブルーチンがある場合に,ラベル情報,ジャンプ処理および分岐処理が付加された意味付きXMLデータの例を示す図である。It is a figure which shows the example of meaningful XML data to which label information, jump processing, and branch processing are added when there is a subroutine in the first program. セッション情報内に保存されるラベル情報および関数情報の例を示す図である。It is a figure which shows the example of the label information and function information preserve | saved in session information. プログラム変換処理装置の処理フロー例を示す図である。It is a figure which shows the example of a processing flow of a program conversion processing apparatus. 第1プログラムである,RPGプログラムソース例を示す図である。It is a figure which shows the RPG program source example which is a 1st program. XMLデータである,XMLスクリプト例を示す図である。It is a figure which shows the example of an XML script which is XML data. 意味付きXMLデータである,XMLスクリプト例を示す図である。It is a figure which shows the example of an XML script which is XML data with a meaning. 第2プログラムである,VB.NETプログラムソース例を示す図である。The second program, VB. It is a figure which shows a NET program source example. ホストシステムにおけるホスト側アプリケーションプログラムの動作例を説明する図である。It is a figure explaining the operation example of the host side application program in a host system. WebシステムにおけるWebサーバ側アプリケーションプログラムの動作例を説明する図である。It is a figure explaining the operation example of the web server side application program in a web system.

符号の説明Explanation of symbols

1 プログラム変換処理装置
11 解析手段
13 解析用辞書
15 意味付け手段
17 変換手段
19 変換テーブル
3 XMLデータ
4 意味付きXMLデータ
DESCRIPTION OF SYMBOLS 1 Program conversion processing apparatus 11 Analysis means 13 Analysis dictionary 15 Meaning means 17 Conversion means 19 Conversion table 3 XML data 4 Meaning XML data

図1は,本発明にかかるプログラム変換処理装置1の構成例を示す図である。   FIG. 1 is a diagram showing a configuration example of a program conversion processing apparatus 1 according to the present invention.

プログラム変換処理装置1は,第1プログラムをWebシステム用の第2プログラムに変換する処理装置であって,解析手段11,解析用辞書13,意味付け手段15,変換手段17,変換テーブル19を備える。   The program conversion processing device 1 is a processing device that converts a first program into a second program for a Web system, and includes an analysis means 11, an analysis dictionary 13, a meaning assignment means 15, a conversion means 17, and a conversion table 19. .

解析手段11は,第1プログラムを取得し,第1プログラム解析処理用の解析用辞書13を参照して,第1プログラムの解析処理を行い,解析結果であるXML(Extensible Markup Language)データ3を生成する。   The analysis unit 11 acquires the first program, refers to the analysis dictionary 13 for the first program analysis process, performs the analysis process of the first program, and generates XML (Extensible Markup Language) data 3 as the analysis result. Generate.

意味付け手段15は,XMLデータ3から,予め定められた命令,例えばクライアントへの「画面表示命令」を検出し,XMLデータ3内の「画面表示命令」の次に実行される処理要素各々にラベル情報を付与する。さらに,XMLデータ3の先頭部分,例えばプログラムの開始から最初の処理要素までの間に,ラベル情報による分岐処理を付加する。   The meaning assigning means 15 detects a predetermined command, for example, a “screen display command” to the client from the XML data 3, and assigns it to each processing element executed next to the “screen display command” in the XML data 3. Label information is given. Further, branch processing based on label information is added between the beginning of the XML data 3, for example, from the start of the program to the first processing element.

また,意味付け手段15は,「画面表示命令」がXMLデータ3のサブルーチン内で検出された場合に,サブルーチンの関数情報を取得する。そして,XMLデータ3の先頭部分に,関数情報によるサブルーチンへのジャンプ処理を付加する。さらに,XMLデータ3のメインプログラムの先頭部分に,メインプログラム内にあるラベル情報に対応する分岐処理を付加し,サブルーチンの先頭部分に,そのサブルーチン内のラベル情報に対応する分岐処理を付加する。ラベル情報,分岐情報,ジャンプ情報などが付加されたXMLデータ3を意味付きXMLデータ4とする。   Further, when the “screen display instruction” is detected in the subroutine of the XML data 3, the meaning assigning means 15 acquires the function information of the subroutine. Then, jump processing to the subroutine based on the function information is added to the head portion of the XML data 3. Further, a branch process corresponding to the label information in the main program is added to the head part of the main program of the XML data 3, and a branch process corresponding to the label information in the subroutine is added to the head part of the subroutine. The XML data 3 to which label information, branch information, jump information, and the like are added is referred to as meaningful XML data 4.

変換手段17は,意味付きXMLデータ4から第2プログラムへの対応関係を示す変換テーブル19を備え,変換テーブル19にもとづいて,意味付きXMLデータ4を変換し,第2プログラムとして出力する。   The conversion means 17 includes a conversion table 19 indicating the correspondence relationship between the meaningful XML data 4 and the second program, converts the meaningful XML data 4 based on the conversion table 19, and outputs the converted data as a second program.

以下に,プログラム変換処理装置1の動作を説明する。   Below, operation | movement of the program conversion processing apparatus 1 is demonstrated.

プログラム変換処理装置1が取得するる第1プログラムは,図13に示すホスト側アプリケーション91に示すソースプログラムである。   The first program acquired by the program conversion processing device 1 is a source program shown in the host-side application 91 shown in FIG.

解析手段11は,第1プログラムに対し解析用辞書13にもとづく解析処理を施し,解析結果であるXMLデータ3を生成する。   The analysis unit 11 performs an analysis process based on the analysis dictionary 13 on the first program, and generates XML data 3 that is an analysis result.

次に,意味付け手段15は,XMLデータ3から「画面A表示命令」,「画面B表示命令」を検出し,XMLデータ3内のこれらの命令の次に実行される処理要素にラベル情報を付与する。   Next, the meaning assigning means 15 detects “screen A display command” and “screen B display command” from the XML data 3, and gives label information to the processing element to be executed next to these commands in the XML data 3. Give.

図2は,XMLデータ3にラベル情報が付与された意味付きXMLデータ4の例を示す図である。   FIG. 2 is a diagram illustrating an example of meaningful XML data 4 in which label information is added to the XML data 3.

図2のXMLデータでは,1番目の「画面A表示命令」の次に実行される処理要素に「ラベル1:」,2番目の「画面B表示命令」の次に実行される処理要素に「ラベル2:」がそれぞれ付与されている。   In the XML data of FIG. 2, “label 1:” is assigned to the processing element executed after the first “screen A display instruction”, and “processing element executed next to the second“ screen B display instruction ”is“ Label 2: "is given respectively.

このラベル情報は,Webシステムで第2プログラムが実行されている間に,WebサーバとWebクライアントとのセッション情報の一部として保存される。   This label information is stored as part of session information between the Web server and the Web client while the second program is being executed in the Web system.

図3は,セッション情報内に保存されるラベル情報例を示す図である。   FIG. 3 is a diagram illustrating an example of label information stored in the session information.

Webシステムで第2プログラムが実行されている間,「画面A表示命令」が実行されたときは,図3(A)に示すように,セッション情報に「ラベル情報:ラベル1」が保存される。同様に,画面B表示命令が実行されたときは,図3(B)に示すように,セッション情報に「ラベル情報:ラベル2」が保存される。   When the “screen A display command” is executed while the second program is being executed in the Web system, “label information: label 1” is stored in the session information as shown in FIG. . Similarly, when the screen B display command is executed, “label information: label 2” is stored in the session information as shown in FIG.

変換手段17は,図2に示す意味付けXMLデータ4のプログラム開始位置(プログラムの始まり)の後に,ラベル情報による分岐処理を付加する。   The conversion means 17 adds a branch process based on label information after the program start position (start of program) of the semantic XML data 4 shown in FIG.

図4は,分岐条件が追加された,意味付きXMLデータ4を示す図である。この分岐処理では,第2プログラムの実行時のセッション情報内のラベル情報の値によって分岐条件が判定される。   FIG. 4 is a diagram showing meaningful XML data 4 to which branch conditions are added. In this branch process, the branch condition is determined based on the value of the label information in the session information when the second program is executed.

変換手段17は,図4に示す意味付きXMLデータ4を,変換テーブル19にもとづいて変換し,変換した第2プログラムを出力する。   The conversion means 17 converts the meaningful XML data 4 shown in FIG. 4 based on the conversion table 19 and outputs the converted second program.

図4の意味付きXMLデータ4から変換された第2プログラムでは,Webクライアントに画面Bが表示されているときには,Webサーバ側に,図3(B)に示すセッション情報が保存される。   In the second program converted from the meaningful XML data 4 of FIG. 4, when the screen B is displayed on the Web client, the session information shown in FIG. 3B is stored on the Web server side.

したがって,Webサーバでは,Webクライアント側で画面Bが表示されている間に送信されたリクエストメッセージを受信すると,第2プログラムの先頭に設定されたラベル情報による分岐処理によって,画面B表示命令の次の処理へジャンプして処理を実行することができる。   Therefore, in the Web server, when a request message transmitted while the screen B is displayed on the Web client side is received, a branch process based on the label information set at the top of the second program is executed, and the next screen B display command is received. It is possible to jump to this process and execute the process.

次に,第1プログラムのXMLデータ3内で,特定の命令,「画面表示命令」がサブルーチンから検出された場合のプログラム変換処理装置1の処理例を説明する。   Next, a processing example of the program conversion processing device 1 when a specific command, “screen display command” is detected from a subroutine in the XML data 3 of the first program will be described.

図5は,メインプログラムとサブルーチンとで構成される第1プログラムを,サブルーチンを展開した状態で示す図である。   FIG. 5 is a diagram showing a first program composed of a main program and a subroutine in a state where the subroutine is expanded.

図5に示すように,第1プログラムの「画面B表示命令」がサブルーチン1内にある場合に,プログラムの先頭,すなわちメインプログラム部分に付加した分岐処理では,サブルーチン1内のラベル2の処理要素へのジャンプ処理が禁止されているため,「ラベル2:」の処理を実行することができない。   As shown in FIG. 5, when the “screen B display instruction” of the first program is in the subroutine 1, in the branch processing added to the head of the program, that is, the main program portion, the processing element of the label 2 in the subroutine 1 Since the jump process to is prohibited, the process of “Label 2:” cannot be executed.

意味付け手段15は,XMLデータ3内で,「画面表示命令」をサブルーチン内から検出した場合に,サブルーチンの関数情報を取得し,意味付きXMLデータ4の先頭部分に,例えば,処理開始から最初の処理要素までの間に,関数情報によるジャンプ処理を付加する。   When the "screen display command" is detected from within the subroutine in the XML data 3, the meaning assigning means 15 acquires the function information of the subroutine, and at the beginning of the meaningful XML data 4, for example, from the start of processing. Jump processing by function information is added between the processing elements.

さらに,意味付きXMLデータ4内のメインプログラム内にあるラベル情報に対応する分岐処理(メイン用分岐処理)を,関数によるジャンプ情報の後に付加し,サブルーチン内にあるラベル情報に対応する分岐処理(サブ用分岐処理)を,対応するサブルーチン内の先頭部分に付加する。   Further, a branch process (main branch process) corresponding to the label information in the main program in the meaningful XML data 4 is added after the jump information by the function, and the branch process corresponding to the label information in the subroutine ( Sub branch processing) is added to the head of the corresponding subroutine.

図6は,サブルーチンがある場合に,ラベル情報,ジャンプ処理および分岐処理が付加された意味付きXMLデータ4の例を示す図である。   FIG. 6 is a diagram illustrating an example of meaningful XML data 4 to which label information, jump processing, and branch processing are added when there is a subroutine.

サブルーチンの関数情報は,Webシステムで第2プログラムが実行されている間,ラベル情報と同様に,Webシステムのセッション情報の一部として保存される。   The function information of the subroutine is stored as a part of the session information of the Web system, like the label information, while the second program is executed in the Web system.

図7は,セッション情報内に保存されるラベル情報および関数情報の例を示す図である。   FIG. 7 is a diagram illustrating an example of label information and function information stored in the session information.

図6の意味付きXMLデータ4から変換された第2プログラムでは,Webクライアントに画面Bが表示されているときには,Webサーバ側に,図7に示すように,「ラベル情報:ラベル2,関数情報:サブルーチン1」を含むセッション情報が保存される。   In the second program converted from the meaningful XML data 4 in FIG. 6, when the screen B is displayed on the Web client, as shown in FIG. 7, the “label information: label 2, function information” is displayed on the Web server side. : Session information including "Subroutine 1" is saved.

したがって,Webサーバでは,Webクライアント側で画面Bが表示されている間に送信されたリクエストメッセージを受信すると,第2プログラムの先頭に設定された関数情報によるジャンプ処理によって,サブルーチン1へのジャンプ処理を実行し,サブルーチン内の先頭に設定されたサブ用分岐処理によって,画面B表示命令の次の処理へジャンプして処理を実行することができる。   Therefore, in the Web server, when the request message transmitted while the screen B is displayed on the Web client side is received, the jump process to the subroutine 1 is performed by the jump process based on the function information set at the head of the second program. , And the processing can be executed by jumping to the next processing of the screen B display instruction by the sub branch processing set at the head in the subroutine.

変換手段17は,図4または図6に示すような意味付きXMLデータ4を,変換テーブル19を用いて変換処理し,変換された第2プログラムを出力する。   The conversion means 17 converts the meaningful XML data 4 as shown in FIG. 4 or FIG. 6 using the conversion table 19 and outputs the converted second program.

このように,プログラム変換処理装置1は,入力された第1プログラムから,Webサーバ側からWebクライアントへの画面表示処理を制御可能なようにコーディングされた第2プログラムを出力することができる。   As described above, the program conversion processing device 1 can output the second program coded so as to be able to control the screen display processing from the Web server side to the Web client from the input first program.

図8は,プログラム変換処理装置1の処理フローを示す図である。   FIG. 8 is a diagram showing a processing flow of the program conversion processing device 1.

解析手段11は,変換対象である第1プログラムを読み込み(ステップS1),解析用辞書13を用いて第1プログラム解析し,解析結果であるXMLデータ3を生成する(ステップS2)。   The analysis unit 11 reads the first program to be converted (step S1), analyzes the first program using the analysis dictionary 13, and generates XML data 3 that is the analysis result (step S2).

意味付け手段15は,XMLデータ3から,特定の命令(例えば「画面表示命令」)を検出し(ステップS3),各画面表示命令の次に実行される処理要素各々にラベル情報を付与する(ステップS4)。XMLデータ3にラベル情報が付与されたものを意味付きXMLデータ4とする。   Meaning means 15 detects a specific command (for example, “screen display command”) from XML data 3 (step S3), and assigns label information to each processing element to be executed next to each screen display command ( Step S4). The XML data 3 to which label information is attached is referred to as meaningful XML data 4.

意味付け手段15が,XMLデータ3のサブルーチン内で画面表示命令を検出した場合には(ステップS5のYES),サブルーチンの関数情報を取得して,意味付きXMLデータ4の先頭部分に,画面表示命令が実行される各サブルーチンへのジャンプ処理を付加する(ステップS6)。   When the meaning assigning means 15 detects a screen display command in the subroutine of the XML data 3 (YES in step S5), the function information of the subroutine is acquired and the screen display is displayed at the head of the meaningful XML data 4. A jump process to each subroutine in which the instruction is executed is added (step S6).

さらに,意味付け手段15は,プログラムのジャンプ情報の後に,メインプログラム内のラベル情報による分岐処理(メイン用分岐処理)を付加し,対応するサブルーチン内の先頭部分に,そのサブルーチン内のラベル情報による分岐処理(サブ用分岐処理)を付加する(ステップS7)。   Further, the meaning means 15 adds a branch process (main branch process) based on the label information in the main program after the jump information of the program, and uses the label information in the subroutine at the head of the corresponding subroutine. A branch process (sub branch process) is added (step S7).

XMLデータ3のサブルーチン内で画面表示命令を検出しなかった場合には(ステップS5のNO),意味付け手段15は,意味付きXMLデータ4の先頭部分に,ラベル情報による分岐処理を付加する(ステップS8)。   When the screen display command is not detected in the subroutine of the XML data 3 (NO in step S5), the meaning assigning means 15 adds a branch process based on the label information to the head portion of the meaningful XML data 4 ( Step S8).

その後,変換手段17は,変換テーブル19にもとづいて,意味付きXMLデータ4を変換して,第2プログラムを出力する(ステップS9)。   Thereafter, the conversion means 17 converts the meaningful XML data 4 based on the conversion table 19 and outputs the second program (step S9).

図9〜図12は,本実施の形態におけるプログラム変換処理装置1が処理するプログラムの具体例を示す図である。   9 to 12 are diagrams showing specific examples of programs processed by the program conversion processing device 1 according to the present embodiment.

図9は,第1プログラムである,RPG(Report Program Generator)によるプログラムソース例である。第1プログラムは,2つの出力処理(EXFMTPROMPT)を含むメインプログラム(MAINLINE)と,1つの出力処理(EXFMTSUBCTL)を含む1つのサブルーチン(SUBROUTINE_SFLPRC)で構成されている。   FIG. 9 shows an example of a program source by RPG (Report Program Generator) which is the first program. The first program includes a main program (MAINLINE) including two output processes (EXFMTPROMPT) and a subroutine (SUBROUTINE_SFLPRC) including one output process (EXFMTSUBCTL).

図10は,図9の第1プログラムに解析処理を施して生成されるXMLデータ3である,XMLスクリプト例である。   FIG. 10 is an example of an XML script, which is XML data 3 generated by performing analysis processing on the first program of FIG.

図11は,図10のXMLデータ3に,ラベル情報,ジャンプ処理,分岐処理のスクリプトを付加した意味付きXMLデータ4である,XMLスクリプト例である。   FIG. 11 is an example of an XML script, which is XML data 4 with meaning obtained by adding a script for label information, jump processing, and branch processing to the XML data 3 in FIG.

図12は,図11の意味付きXMLデータ4から変換処理された第2プログラムである,VB.NETによるプログラムソース例である。   12 shows a second program converted from the meaningful XML data 4 of FIG. It is an example of a program source by NET.

以上,本発明をその実施の形態により説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。   Although the present invention has been described above with reference to the embodiments, it is obvious that the present invention can be variously modified within the scope of the gist thereof.

また,本発明にかかるプログラム変換処理装置1は,コンピュータにより読み取られ実行されるプログラムとして実施することができる。このプログラムは,コンピュータが読み取り可能な,可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができ,これらの記録媒体に記録して提供され,または,通信インタフェースを介して種々の通信網を利用した送受信により提供される。   The program conversion processing device 1 according to the present invention can be implemented as a program that is read and executed by a computer. This program can be stored in an appropriate recording medium such as a portable medium memory, semiconductor memory, or hard disk, which can be read by a computer, provided by being recorded on these recording media, or via a communication interface. It is provided by transmission and reception using various communication networks.

Claims (4)

非Webシステム用の第1プログラムをWebシステム用の第2プログラムに変換するプログラム変換処理装置であって,
第1プログラムを取得し,前記第1プログラムの解析用辞書を参照して,該第1プログラムを解析処理して解析結果である所定のスクリプトを生成する解析手段と,
前記スクリプトから予め定められた命令を検出し,前記スクリプトの該命令の次に実行される処理要素にラベル情報を付与し,さらに前記スクリプトの先頭部分に該ラベル情報による分岐処理を付加する意味付け手段と,
前記スクリプトから第2プログラムへの対応関係を示す変換テーブルを備え,該変換テーブルにもとづいて前記意味付け手段により処理されたスクリプトを変換し,第2プログラムとして出力する変換手段とを備える
ことを特徴とするプログラム変換処理装置。
A program conversion processing device for converting a first program for a non-Web system into a second program for a Web system,
Analyzing means for obtaining a first program, referring to the analysis dictionary of the first program, analyzing the first program, and generating a predetermined script as an analysis result;
Meaning of detecting a predetermined instruction from the script, adding label information to a processing element to be executed next to the instruction of the script, and adding branch processing based on the label information to the head of the script Means,
A conversion table that indicates a correspondence relationship from the script to the second program, and a conversion unit that converts the script processed by the meaning unit based on the conversion table and outputs the converted script as a second program. A program conversion processing device.
前記意味付け手段は,前記命令が前記スクリプトのサブルーチン内で検出された場合に,該サブルーチンの関数情報を取得し,前記スクリプトの先頭部分に該関数情報による対応するサブルーチンへのジャンプ処理を付加し,前記スクリプトのメインプログラムの先頭部分に該メインプログラム内にあるラベル情報に対応する分岐処理を付加し,該サブルーチンの先頭部分に該サブルーチン内のラベル情報に対応する分岐処理を付加する
ことを特徴とする請求項1に記載のプログラム変換処理装置。
When the instruction is detected in the subroutine of the script, the meaning assigning means acquires the function information of the subroutine and adds a jump process to the corresponding subroutine based on the function information at the head of the script. A branch process corresponding to the label information in the main program is added to the head part of the main program of the script, and a branch process corresponding to the label information in the subroutine is added to the head part of the subroutine. The program conversion processing device according to claim 1.
非Webシステム用の第1プログラムをWebシステム用の第2プログラムに変換するプログラム変換処理プログラムであって,
コンピュータを,
第1プログラムを取得し,前記第1プログラムの解析用辞書を参照して,該第1プログラムを解析処理して解析結果である所定のスクリプトを生成する解析手段と,
前記スクリプトから予め定められた命令を検出し,前記スクリプトの該命令の次に実行される処理要素にラベル情報を付与し,さらに前記スクリプトの先頭部分に該ラベル情報による分岐処理を付加する意味付け手段と,
前記スクリプトから第2プログラムへの対応関係を示す変換テーブルを備え,該変換テーブルにもとづいて前記意味付け手段により処理されたスクリプトを変換し,第2プログラムとして出力する変換手段として機能させる
ことを特徴とするプログラム変換処理プログラム。
A program conversion processing program for converting a first program for a non-Web system into a second program for a Web system,
Computer
Analyzing means for obtaining a first program, referring to the analysis dictionary of the first program, analyzing the first program, and generating a predetermined script as an analysis result;
Meaning of detecting a predetermined instruction from the script, adding label information to a processing element to be executed next to the instruction of the script, and adding branch processing based on the label information to the head of the script Means,
A conversion table showing a correspondence relationship from the script to the second program, and converting the script processed by the meaning means based on the conversion table to function as a conversion means for outputting as a second program. Program conversion processing program.
前記意味付け手段は,前記命令が前記スクリプトのサブルーチン内で検出された場合に,該サブルーチンの関数情報を取得し,前記スクリプトの先頭部分に該関数情報による対応するサブルーチンへのジャンプ処理を付加し,前記スクリプトのメインプログラムの先頭部分に該メインプログラム内にあるラベル情報に対応する分岐処理を付加し,該サブルーチンの先頭部分に該サブルーチン内のラベル情報に対応する分岐処理を付加する
ことを特徴とする請求項3に記載のプログラム変換処理プログラム。
When the instruction is detected in the subroutine of the script, the meaning assigning means acquires the function information of the subroutine and adds a jump process to the corresponding subroutine based on the function information at the head of the script. A branch process corresponding to the label information in the main program is added to the head part of the main program of the script, and a branch process corresponding to the label information in the subroutine is added to the head part of the subroutine. The program conversion processing program according to claim 3.
JP2010517645A 2008-06-27 2008-06-27 Program conversion processing apparatus and program Pending JPWO2009157082A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/061696 WO2009157082A2 (en) 2008-06-27 2008-06-27 Program converting device and program

Publications (1)

Publication Number Publication Date
JPWO2009157082A1 true JPWO2009157082A1 (en) 2011-12-01

Family

ID=41445059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010517645A Pending JPWO2009157082A1 (en) 2008-06-27 2008-06-27 Program conversion processing apparatus and program

Country Status (2)

Country Link
JP (1) JPWO2009157082A1 (en)
WO (1) WO2009157082A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038297A (en) * 2002-06-28 2004-02-05 Jcreation Co Ltd Program format conversion apparatus and conversion program
JP2004118374A (en) * 2002-09-25 2004-04-15 Keio Gijuku Conversion device, conversion method, conversion program and computer-readable recording medium with conversion program recorded
JP2005038050A (en) * 2003-07-16 2005-02-10 Toshiba Corp Document conversion device and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038297A (en) * 2002-06-28 2004-02-05 Jcreation Co Ltd Program format conversion apparatus and conversion program
JP2004118374A (en) * 2002-09-25 2004-04-15 Keio Gijuku Conversion device, conversion method, conversion program and computer-readable recording medium with conversion program recorded
JP2005038050A (en) * 2003-07-16 2005-02-10 Toshiba Corp Document conversion device and method

Also Published As

Publication number Publication date
WO2009157082A2 (en) 2009-12-30

Similar Documents

Publication Publication Date Title
AU2017210597B2 (en) System and method for the online editing of pdf documents
US20110145694A1 (en) Method and System for Transforming an Integrated Webpage
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
JP2005513590A5 (en)
CN111104631B (en) Webp picture format conversion method
US10839146B2 (en) Information processing system, information processing apparatus, control method, and storage medium
JP7280388B2 (en) Apparatus and method, equipment and medium for implementing a customized artificial intelligence production line
JP2005266954A (en) Operation information recording/reproduction apparatus
JP5039946B2 (en) Technology for relaying communication between client devices and server devices
JP5267342B2 (en) Mashup program, mashup device, and mashup method
CN112632425A (en) Method, device, equipment and storage medium for generating offline resource file
CN106293862B (en) A kind of analysis method and device of expandable mark language XML data
WO2009157082A2 (en) Program converting device and program
CN115514677A (en) Server dial testing method and system
CN111143310A (en) Log recording method and device and readable storage medium
KR101319243B1 (en) A method for providing web-page and a computer-readable recording medium recording program for implementing the method
JP2007011467A (en) Method and device for automatically generating assertion description
JP2006260039A (en) Information processor and information processing program
US20090327410A1 (en) Web page data transmitting apparatus and method of controlling operation of same
JP5097070B2 (en) Property file reading system and method and program
US11886381B2 (en) Meta-format and technique to produce tutorials for multiple publishing formats
JP4201206B2 (en) CGI program creation method, recording medium recording program according to the method, and CGI program creation device
JP4354514B2 (en) Program automatic conversion method, program automatic conversion device, and program
JP5594199B2 (en) File upload proxy method, proxy program, and proxy device
NZ734303A (en) System and method for the online editing of pdf documents

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120813

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120904