Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROGRAM CONVERTING DEVICE AND PROGRAM
Document Type and Number:
WIPO Patent Application WO/2009/157082
Kind Code:
A2
Inventors:
SUMIDA MAKOTO (JP)
Application Number:
PCT/JP2008/061696
Publication Date:
December 30, 2009
Filing Date:
June 27, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJITSU FSAS INC (JP)
SUMIDA MAKOTO (JP)
International Classes:
G06F9/45; G06F9/44
Attorney, Agent or Firm:
SHIGEHISA, Keiko (JP)
Keiko Shigehisa (JP)
Download PDF:
Claims:
 非Webシステム用の第1プログラムをWebシステム用の第2プログラムに変換するプログラム変換処理装置であって,
 第1プログラムを取得し,前記第1プログラムの解析用辞書を参照して,該第1プログラムを解析処理して解析結果である所定のスクリプトを生成する解析手段と,
 前記スクリプトから予め定められた命令を検出し,前記スクリプトの該命令の次に実行される処理要素にラベル情報を付与し,さらに前記スクリプトの先頭部分に該ラベル情報による分岐処理を付加する意味付け手段と,
 前記スクリプトから第2プログラムへの対応関係を示す変換テーブルを備え,該変換テーブルにもとづいて前記意味付け手段により処理されたスクリプトを変換し,第2プログラムとして出力する変換手段とを備える
 ことを特徴とするプログラム変換処理装置。
 前記意味付け手段は,前記命令が前記スクリプトのサブルーチン内で検出された場合に,該サブルーチンの関数情報を取得し,前記スクリプトの先頭部分に該関数情報による対応するサブルーチンへのジャンプ処理を付加し,前記スクリプトのメインプログラムの先頭部分に該メインプログラム内にあるラベル情報に対応する分岐処理を付加し,該サブルーチンの先頭部分に該サブルーチン内のラベル情報に対応する分岐処理を付加する
 ことを特徴とする請求項1に記載のプログラム変換処理装置。
 非Webシステム用の第1プログラムをWebシステム用の第2プログラムに変換するプログラム変換処理プログラムであって,
 コンピュータを,
 第1プログラムを取得し,前記第1プログラムの解析用辞書を参照して,該第1プログラムを解析処理して解析結果である所定のスクリプトを生成する解析手段と,
 前記スクリプトから予め定められた命令を検出し,前記スクリプトの該命令の次に実行される処理要素にラベル情報を付与し,さらに前記スクリプトの先頭部分に該ラベル情報による分岐処理を付加する意味付け手段と,
 前記スクリプトから第2プログラムへの対応関係を示す変換テーブルを備え,該変換テーブルにもとづいて前記意味付け手段により処理されたスクリプトを変換し,第2プログラムとして出力する変換手段として機能させる
 ことを特徴とするプログラム変換処理プログラム。
 前記意味付け手段は,前記命令が前記スクリプトのサブルーチン内で検出された場合に,該サブルーチンの関数情報を取得し,前記スクリプトの先頭部分に該関数情報による対応するサブルーチンへのジャンプ処理を付加し,前記スクリプトのメインプログラムの先頭部分に該メインプログラム内にあるラベル情報に対応する分岐処理を付加し,該サブルーチンの先頭部分に該サブルーチン内のラベル情報に対応する分岐処理を付加する
 ことを特徴とする請求項3に記載のプログラム変換処理プログラム。
Description:
プログラム変換処理装置および ログラム

 本発明は,ホストシステム等のプログラム をWebシステム用のプログラムへ自動変換処理 するプログラム変換処理装置およびプログラ ムに関する。

 ホストシステム等の非Webシステムを,普及 しているインターネットやイントラネット等 の環境を利用するWebシステムで実現したいと いう需要が高まっている。

 システムの再構築には,多大な投資コスト と期間が必要となる。そこで,現行システム ロジックをできる限り活用し,コストを抑制 るため,様々なプログラム変換手法が提案さ れてきた。

 しかし,現行システムと移行システムのプ ラットフォームや環境が大きく相違する場合 には,プログラム変換処理を自動化できず,人 作業に依存する部分が多くなり,コスト抑制 につながらなかった。特に,ホストシステム のレガシーなシステムとWebシステムとの実 環境は著しく相違し,プログラム変換処理の 動化が困難であった。

 なお,Webアプリケーションのデータベースで は入出力対象データ項目と格納データ項目と の不一致があることに着目し,Webアプリケー ョン開発を支援するため,データベースの各 目に対する属性,表示形式等の入力情報にも とづいて,Webアプリケーションのデータベー の設定ファイル,プログラム本体,実行形式フ ァイルを生成する装置が知られている(例え ,特許文献1参照)。

特開2004-265278号公報

 ホストシステムは,汎用コンピュータ(以 ,ホスト)がデータの処理や保存を行うという 中央集中型のアーキテクチャであり,端末の グイン後は,ホスト-端末間の通信処理におい て,セッションの維持は自明に行われる。

 また,クライアント-サーバ・システムも, ライアントの通信開始以降,クライアント- ーバ間の通信のセッションは,クライアント プリケーション内で制御されるため,特に考 慮する必要がなかった。

 一方,Webシステムにおいて,Webクライアン (クライアントのWebブラウザ)とWebサーバ(Web ーバアプリケーション)との通信はHTTP(HyperTex t Transfer Protocol)通信であるため,セッション 理が必要である。

 例えば,Webクライアント側(Webブラウザ)で ージ遷移が発生すると,ページ内に保持され ていたメモリ情報は破棄され,セッションを 持できなくなるため,Webサーバ側でセッショ 管理を行う。

 しかし,Webシステムによってホストシステ ムの処理制御を実現させる場合に,単にホス 用アプリケーションをWebサーバ用アプリケ ションに変換して,通常のサーバ側セッショ 管理を行うだけでは,画面遷移を適切に制御 できない。

 図13および図14を用いて,Webシステムにお る画面遷移制御上の制約を説明する。この 明において,ホスト(サーバ)側が,端末(クライ アント)側に複数の画面の表示制御を行う場 を想定する。

 図13は,ホストシステムにおけるホスト側 アプリケーションプログラムの動作例を示 図である。

 ホストシステムの端末90が処理要求を送 すると(a),ホスト側で実行されるアプリケー ョンプログラム(ホスト側アプリケーション )91が,「プログラムの始まり」から実行され, 定の処理(命令群)が実行される(b)。ホスト アプリケーション91内に「画面A表示命令」 あれば,端末90へ画面Aデータが送信される(c)

 端末90で画面Aでの入力処理が実行されて ータがホスト側へ送信されると(d),ホスト側 アプリケーション91の「画面A表示命令」の以 降の処理群が実行される(e)。

 続いて,この処理内に「画面B表示命令」 あれば,端末90へ画面Bデータが送信される(f) 同様に,端末90で画面Bでの入力処理が実行さ れてデータがホスト側へ送信されると,「画 B表示命令」の以降の処理群が実行される(g)

 このように,ホスト側アプリケーション91 おいてリニアに記述されている複数の画面 示処理が,適切に制御される。

 図14は,WebシステムにおけるWebサーバ側の プリケーションプログラムの動作例を示す である。

 WebシステムのWebクライアント94がWebサー 側で実行されるアプリケーションプログラ (Webサーバ側アプリケーション)95へのリクエ トメッセージを送信すると(a),Webサーバ側ア プリケーション95が起動され,「プログラムの 始まり」から実行され,所定の処理(命令群)が 実行される(b)。Webサーバ側アプリケーション 95内に「画面A表示命令」があれば,Webクライ ント94へ画面Aデータが送信される(c)。

 「画面A表示命令」の実行後に,Webクライ ント94から次のメッセージが送信されても(d) ,Webサーバ側アプリケーション95が「プログラ ムの始まり」から実行され,直ちに「画面A表 命令」の次の処理が実行されることはない

 Webサーバ側アプリケーション95に記述さ た「画面A表示命令」の次の処理を実行する めには,「プログラムの始まり」の次に「分 岐ロジック」を定義しておき,Webクライアン 94からのメッセージが対応する処理(例えば, 面A表示命令の次の処理命令)を特定して,特 した命令へのジャンプ処理を行う必要があ 。

 同様に,「画面A表示命令」以降の処理群 実行されて(e),「画面B表示命令」の実行後に (f),Webクライアント94から次のメッセージが送 信されても(g),直ちに「画面B表示命令」の次 処理が実行されることはない。この場合も, メッセージが対応する処理が,「画面B表示命 」の次の処理であることを特定してジャン 処理を行う必要がある(h)。

 このように,ホスト側アプリケーション91 Web用アプリケーションに変換するだけでは, WebシステムにおけるHTTP通信の性質上,ホスト ステムと同様の処理制御をWebシステムで実 させることができなかった。

 本発明は,かかる問題に鑑みてなされたも のであり,その目的は,非Webシステム用のプロ ラムを,Webシステム用のプログラムに自動的 に変換する装置およびプログラムを提供する ことである。

 本発明にかかるプログラム変換処理装置1 は,非Webシステム用の第1プログラムをWebシス ム用の第2プログラムに変換する装置であっ て,1)第1プログラムを取得し,第1プログラムの 解析用辞書を参照して,第1プログラムを解析 理して解析結果である所定のスクリプトを 成する解析手段と,2)スクリプトから予め定 られた命令を検出し,スクリプト内で命令の 次に実行される処理要素にラベル情報を付与 し,さらにスクリプトの先頭部分にラベル情 による分岐処理を付加する意味付け手段と,3 )スクリプトから第2プログラムへの対応関係 示す変換テーブルを備え,この変換テーブル にもとづいて,前記意味付け手段により処理 れたスクリプトを変換し,第2プログラムとし て出力する変換手段とを備える。

 このプログラム変換処理装置は,解析手段 が,例えばホストシステム用の第1プログラム 解析処理し,解析結果であるスクリプト(例 ば,XMLデータ)を生成する。そして,意味付け 段が,スクリプトから,予め定められた命令, えばクライアントへのデータ出力命令を検 し,スクリプト内で,検出した命令の次に実行 される処理要素にラベル情報を付与する。さ らに,スクリプトの先頭部分に,このラベル情 による分岐処理を付加する。

 そして,変換手段が,情報が付加されたXML ータ(意味付きXMLデータ)を変換して,第2プロ ラムとして出力する。

 出力された第2プログラムは,プログラム 始の直後にラベル情報による分岐処理が設 されているため,Webクライアントでの画面遷 状態に対応した処理要素へのジャンプ処理 可能となり,Webサーバ側からWebクライアント への処理制御が可能となっている。

 これにより,例えばホストシステムのアー キテクチャを引き継ぐWebシステムを実現でき るWebシステム用の第2プログラムが,自動変換 理によって生成されるため,Webシステムにお いてホスト-端末の機能分担を再現させるこ ができる。

 また,ホストシステム用のプログラムの構 造を反映させた第2プログラムが生成される め,第2プログラムの可読性と,第1プログラム の対応関係の把握が容易となり,移行後の保 守性が向上する。

 本発明によれば,ホストシステム等の非Web システム用のプログラムから,HTTP通信を前提 するWebシステム用のプログラムを得ること でき,システム移行に伴うプログラム変換処 理の作業効率,コスト負担を大幅に改善する とができる。

プログラム変換処理装置の構成例を示 図である。 処理要素にラベル情報が付与された意 付きXMLデータ例を示す図である。 セッション情報に保存されるラベル情 例を示す図である。 ラベル情報,分岐処理が付加された意味 付きXMLデータ例を示す図である。 メインプログラムとサブルーチンとで 成される第1プログラムを,サブルーチンを 開した状態で示す図である。 第1プログラムにサブルーチンがある場 合に,ラベル情報,ジャンプ処理および分岐処 が付加された意味付きXMLデータの例を示す である。 セッション情報内に保存されるラベル 報および関数情報の例を示す図である。 プログラム変換処理装置の処理フロー を示す図である。 第1プログラムである,RPGプログラムソ ス例を示す図である。 XMLデータである,XMLスクリプト例を示 図である。 意味付きXMLデータである,XMLスクリプ 例を示す図である。 第2プログラムである,VB.NETプログラム ース例を示す図である。 ホストシステムにおけるホスト側アプ リケーションプログラムの動作例を説明する 図である。 WebシステムにおけるWebサーバ側アプリ ケーションプログラムの動作例を説明する図 である。

符号の説明

 1 プログラム変換処理装置
 11 解析手段
 13 解析用辞書
 15 意味付け手段
 17 変換手段
 19 変換テーブル
 3 XMLデータ
 4 意味付きXMLデータ

 図1は,本発明にかかるプログラム変換処 装置1の構成例を示す図である。

 プログラム変換処理装置1は,第1プログラ をWebシステム用の第2プログラムに変換する 処理装置であって,解析手段11,解析用辞書13, 味付け手段15,変換手段17,変換テーブル19を備 える。

 解析手段11は,第1プログラムを取得し,第1 ログラム解析処理用の解析用辞書13を参照 て,第1プログラムの解析処理を行い,解析結 であるXML(Extensible Markup Language)データ3を生 する。

 意味付け手段15は,XMLデータ3から,予め定 られた命令,例えばクライアントへの「画面 示命令」を検出し,XMLデータ3内の「画面表 命令」の次に実行される処理要素各々にラ ル情報を付与する。さらに,XMLデータ3の先頭 部分,例えばプログラムの開始から最初の処 要素までの間に,ラベル情報による分岐処理 付加する。

 また,意味付け手段15は,「画面表示命令」 がXMLデータ3のサブルーチン内で検出された 合に,サブルーチンの関数情報を取得する。 して,XMLデータ3の先頭部分に,関数情報によ サブルーチンへのジャンプ処理を付加する さらに,XMLデータ3のメインプログラムの先 部分に,メインプログラム内にあるラベル情 に対応する分岐処理を付加し,サブルーチン の先頭部分に,そのサブルーチン内のラベル 報に対応する分岐処理を付加する。ラベル 報,分岐情報,ジャンプ情報などが付加された XMLデータ3を意味付きXMLデータ4とする。

 変換手段17は,意味付きXMLデータ4から第2 ログラムへの対応関係を示す変換テーブル19 を備え,変換テーブル19にもとづいて,意味付 XMLデータ4を変換し,第2プログラムとして出 する。

 以下に,プログラム変換処理装置1の動作 説明する。

 プログラム変換処理装置1が取得するる第 1プログラムは,図13に示すホスト側アプリケ ション91に示すソースプログラムである。

 解析手段11は,第1プログラムに対し解析用 辞書13にもとづく解析処理を施し,解析結果で あるXMLデータ3を生成する。

 次に,意味付け手段15は,XMLデータ3から「 面A表示命令」,「画面B表示命令」を検出し,X MLデータ3内のこれらの命令の次に実行される 処理要素にラベル情報を付与する。

 図2は,XMLデータ3にラベル情報が付与され 意味付きXMLデータ4の例を示す図である。

 図2のXMLデータでは,1番目の「画面A表示命 令」の次に実行される処理要素に「ラベル1: ,2番目の「画面B表示命令」の次に実行され 処理要素に「ラベル2:」がそれぞれ付与さ ている。

 このラベル情報は,Webシステムで第2プロ ラムが実行されている間に,WebサーバとWebク イアントとのセッション情報の一部として 存される。

 図3は,セッション情報内に保存されるラ ル情報例を示す図である。

 Webシステムで第2プログラムが実行されて いる間,「画面A表示命令」が実行されたとき ,図3(A)に示すように,セッション情報に「ラ ル情報:ラベル1」が保存される。同様に,画 B表示命令が実行されたときは,図3(B)に示す うに,セッション情報に「ラベル情報:ラベ 2」が保存される。

 変換手段17は,図2に示す意味付けXMLデータ 4のプログラム開始位置(プログラムの始まり) の後に,ラベル情報による分岐処理を付加す 。

 図4は,分岐条件が追加された,意味付きXML ータ4を示す図である。この分岐処理では, 2プログラムの実行時のセッション情報内の ベル情報の値によって分岐条件が判定され 。

 変換手段17は,図4に示す意味付きXMLデータ 4を,変換テーブル19にもとづいて変換し,変換 た第2プログラムを出力する。

 図4の意味付きXMLデータ4から変換された 2プログラムでは,Webクライアントに画面Bが 示されているときには,Webサーバ側に,図3(B) 示すセッション情報が保存される。

 したがって,Webサーバでは,Webクライアン 側で画面Bが表示されている間に送信された クエストメッセージを受信すると,第2プロ ラムの先頭に設定されたラベル情報による 岐処理によって,画面B表示命令の次の処理へ ジャンプして処理を実行することができる。

 次に,第1プログラムのXMLデータ3内で,特定 の命令,「画面表示命令」がサブルーチンか 検出された場合のプログラム変換処理装置1 処理例を説明する。

 図5は,メインプログラムとサブルーチン で構成される第1プログラムを,サブルーチン を展開した状態で示す図である。

 図5に示すように,第1プログラムの「画面B 表示命令」がサブルーチン1内にある場合に, ログラムの先頭,すなわちメインプログラム 部分に付加した分岐処理では,サブルーチン1 のラベル2の処理要素へのジャンプ処理が禁 止されているため,「ラベル2:」の処理を実行 することができない。

 意味付け手段15は,XMLデータ3内で,「画面 示命令」をサブルーチン内から検出した場 に,サブルーチンの関数情報を取得し,意味付 きXMLデータ4の先頭部分に,例えば,処理開始か ら最初の処理要素までの間に,関数情報によ ジャンプ処理を付加する。

 さらに,意味付きXMLデータ4内のメインプ グラム内にあるラベル情報に対応する分岐 理(メイン用分岐処理)を,関数によるジャン 情報の後に付加し,サブルーチン内にあるラ ル情報に対応する分岐処理(サブ用分岐処理 )を,対応するサブルーチン内の先頭部分に付 する。

 図6は,サブルーチンがある場合に,ラベル 報,ジャンプ処理および分岐処理が付加され た意味付きXMLデータ4の例を示す図である。

 サブルーチンの関数情報は,Webシステムで 第2プログラムが実行されている間,ラベル情 と同様に,Webシステムのセッション情報の一 部として保存される。

 図7は,セッション情報内に保存されるラ ル情報および関数情報の例を示す図である

 図6の意味付きXMLデータ4から変換された 2プログラムでは,Webクライアントに画面Bが 示されているときには,Webサーバ側に,図7に すように,「ラベル情報:ラベル2,関数情報:サ ブルーチン1」を含むセッション情報が保存 れる。

 したがって,Webサーバでは,Webクライアン 側で画面Bが表示されている間に送信された クエストメッセージを受信すると,第2プロ ラムの先頭に設定された関数情報によるジ ンプ処理によって,サブルーチン1へのジャン プ処理を実行し,サブルーチン内の先頭に設 されたサブ用分岐処理によって,画面B表示命 令の次の処理へジャンプして処理を実行する ことができる。

 変換手段17は,図4または図6に示すような 味付きXMLデータ4を,変換テーブル19を用いて 換処理し,変換された第2プログラムを出力 る。

 このように,プログラム変換処理装置1は, 力された第1プログラムから,Webサーバ側か Webクライアントへの画面表示処理を制御可 なようにコーディングされた第2プログラム 出力することができる。

 図8は,プログラム変換処理装置1の処理フ ーを示す図である。

 解析手段11は,変換対象である第1プログラ ムを読み込み(ステップS1),解析用辞書13を用 て第1プログラム解析し,解析結果であるXMLデ ータ3を生成する(ステップS2)。

 意味付け手段15は,XMLデータ3から,特定の 令(例えば「画面表示命令」)を検出し(ステ プS3),各画面表示命令の次に実行される処理 素各々にラベル情報を付与する(ステップS4) 。XMLデータ3にラベル情報が付与されたもの 意味付きXMLデータ4とする。

 意味付け手段15が,XMLデータ3のサブルーチ ン内で画面表示命令を検出した場合には(ス ップS5のYES),サブルーチンの関数情報を取得 て,意味付きXMLデータ4の先頭部分に,画面表 命令が実行される各サブルーチンへのジャ プ処理を付加する(ステップS6)。

 さらに,意味付け手段15は,プログラムのジ ャンプ情報の後に,メインプログラム内のラ ル情報による分岐処理(メイン用分岐処理)を 付加し,対応するサブルーチン内の先頭部分 ,そのサブルーチン内のラベル情報による分 処理(サブ用分岐処理)を付加する(ステップS 7)。

 XMLデータ3のサブルーチン内で画面表示命 令を検出しなかった場合には(ステップS5のNO) ,意味付け手段15は,意味付きXMLデータ4の先頭 分に,ラベル情報による分岐処理を付加する (ステップS8)。

 その後,変換手段17は,変換テーブル19にも づいて,意味付きXMLデータ4を変換して,第2プ ログラムを出力する(ステップS9)。

 図9~図12は,本実施の形態におけるプログ ム変換処理装置1が処理するプログラムの具 例を示す図である。

 図9は,第1プログラムである,RPG(Report Progra m Generator)によるプログラムソース例である 第1プログラムは,2つの出力処理(EXFMTPROMPT)を むメインプログラム(MAINLINE)と,1つの出力処 (EXFMTSUBCTL)を含む1つのサブルーチン(SUBROUTINE _SFLPRC)で構成されている。

 図10は,図9の第1プログラムに解析処理を して生成されるXMLデータ3である,XMLスクリプ ト例である。

 図11は,図10のXMLデータ3に,ラベル情報,ジ ンプ処理,分岐処理のスクリプトを付加した 味付きXMLデータ4である,XMLスクリプト例で る。

 図12は,図11の意味付きXMLデータ4から変換 理された第2プログラムである,VB.NETによる ログラムソース例である。

 以上,本発明をその実施の形態により説明 したが,本発明はその主旨の範囲において種 の変形が可能であることは当然である。

 また,本発明にかかるプログラム変換処理 装置1は,コンピュータにより読み取られ実行 れるプログラムとして実施することができ 。このプログラムは,コンピュータが読み取 り可能な,可搬媒体メモリ,半導体メモリ,ハー ドディスクなどの適当な記録媒体に格納する ことができ,これらの記録媒体に記録して提 され,または,通信インタフェースを介して種 々の通信網を利用した送受信により提供され る。




 
Previous Patent: RFID TAG

Next Patent: METHOD OF BIOASSAYING YOKKANSAN