JP2011048605A - プログラム実行装置及びアプリケーションプログラムの実行方法 - Google Patents

プログラム実行装置及びアプリケーションプログラムの実行方法 Download PDF

Info

Publication number
JP2011048605A
JP2011048605A JP2009196238A JP2009196238A JP2011048605A JP 2011048605 A JP2011048605 A JP 2011048605A JP 2009196238 A JP2009196238 A JP 2009196238A JP 2009196238 A JP2009196238 A JP 2009196238A JP 2011048605 A JP2011048605 A JP 2011048605A
Authority
JP
Japan
Prior art keywords
application program
substitute
execution
standard
virtual machine
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.)
Granted
Application number
JP2009196238A
Other languages
English (en)
Other versions
JP2011048605A5 (ja
JP5128559B2 (ja
Inventor
Tomokazu Taki
友和 瀧
Akinori Inoue
明憲 井上
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009196238A priority Critical patent/JP5128559B2/ja
Publication of JP2011048605A publication Critical patent/JP2011048605A/ja
Publication of JP2011048605A5 publication Critical patent/JP2011048605A5/ja
Application granted granted Critical
Publication of JP5128559B2 publication Critical patent/JP5128559B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】アプリケーションプログラム移植時の疎通確認の迅速化及び移植の容易さを向上でき、また、アプリケーションプログラムが実行するベンダー固有メソッドを仮想マシンで吸収することができるプログラム実行装置を提供する。
【解決手段】既存のJ2EEアプリケーションプログラム移植時の疎通動作検証作業において、JavaVMプログラム220のJavaVM差分管理部230は、アプリケーションプログラムが実行するベンダー固有メソッドと、代用メソッドとを関連付ける1対1の変換テーブル245を作成する。アプリケーションプログラムのメソッドを実行の際に、1対1の変換テーブル245を参照してベンダー固有メソッドを検知すると、ベンダー固有メソッドを代用メソッドに変換してアプリケーションプログラムの実行を継続する。
【選択図】図1

Description

本発明は、アプリケーションサーバにデプロイ(利用可能なように準備)しているアプリケーションプログラムが実行するベンダー固有メソッドを、仮想マシンが実行可能なように処理できるプログラム実行装置及びアプリケーションプログラムの実行方法に関する。
現在、Java(登録商標)プログラムは、種々の情報機器(情報処理システムも含む。)で実行されており、情報機器には、JavaVM(Virtual Machine)プログラムと呼ばれるJavaプログラムを実行する仮想マシンが搭載されている。
既存のJ2EE(Java 2 Enterprise Edition)アプリケーションプログラム移植時の疎通動作検証作業において、アプリケーションサーバにデプロイしているアプリケーションプログラムが実行するベンダー固有メソッド(非標準メソッド)があると、J2EEの標準メソッドと差分があるため、アプリケーションプログラムに改良を加えるか、または、ベンダー固有メソッド相当の実装も移植時に準備する必要がある。
通常、アプリケーションサーバにデプロイしているアプリケーションプログラムがメソッドを実行すると、アプリケーションサーバのJavaVMプログラムによりアプリケーションサーバに実装済みの対応メソッドを実行する。この対応メソッドの実行方法について、実行負荷及び使用メモリ量を低減する技術は、特許文献1に公開されている。
特開2001−51853号公報
アプリケーションプログラムには、ベンダー固有メソッドを実行するものも多く、アプリケーションサーバに実装済みの対応メソッドが存在しない場合はエラーが発生し疎通確認が速やかに完了しないという問題が発生する。アプリケーションプログラムの移植性という面では大きな欠点であり、疎通確認の迅速化及び移植の容易さを向上するため、ベンダー固有メソッド実行時にエラーを回避して実行の継続を図る工夫の余地は考えられる。
具体的には、アプリケーションプログラムが実行するメソッドのうちベンダー固有メソッド実行時に、アプリケーションサーバにインタフェースも含め完全一致する対応メソッドが実装されていない場合がある。このため、ClassNotFoundExceptionなどのエラーが発生し実行処理が異常停止する。前記のエラー原因であるJ2EE仕様に閉じていないベンダー固有メソッドの差分を吸収するために、アプリケーションプログラムもしくはアプリケーションサーバのソースコードに修正を加えて対応する必要があり、時間及び労力を費やしてしまう。さらに、その修正版での再テスト作業も別途必要になるためアプリケーションプログラムをアプリケーションサーバに移植する時の障壁になる。
本発明は、前記の課題を解決するための発明であって、アプリケーションプログラム移植時の疎通確認の迅速化及び移植の容易さを向上でき、また、アプリケーションプログラムが実行するベンダー固有メソッドを仮想マシンで吸収することができるプログラム実行装置及びアプリケーションプログラムの実行方法を提供することを目的とする。
前記目的を達成するために、本発明は、既存のJ2EEアプリケーションプログラム移植時の疎通動作検証作業において、アプリケーションサーバにデプロイしているアプリケーションプログラムが実行するベンダー固有メソッド(非標準メソッド)とアプリケーションサーバで実装済みの実行可能な代用メソッドとの変換テーブルを作成したものである。さらに、仮想マシン(JavaVMプログラム)において、作成した変換テーブルに基づきメソッド呼び出しを非標準メソッドから実行可能な代用メソッドへ変換することでアプリケーションプログラムの実行を継続することを特徴とする。
本発明によれば、アプリケーションプログラム移植時の疎通確認の迅速化及び移植の容易さを向上でき、また、アプリケーションプログラムが実行するベンダー固有メソッドを仮想マシンで吸収することができる。
実施形態の移植先アプリケーションサーバを含む情報処理システム構成を示す図である。 アプリケーションプログラム移植前の実行状態を把握する処理を示す図である。 メソッド変換シミュレーションテスト実行時の処理を示す図である。 アプリケーションプログラム移植後のベンダー固有メソッド変換実行時の処理を示す図である。 アプリケーションプログラム移植後の標準メソッド実行時の処理を示す図である。 メソッド変換シミュレーション準備作業のシミュレーションテストテーブル作成処理を示すフローチャートである。 メソッド変換シミュレーションによるベンダー固有メソッド変換テーブルの作成処理を示すフローチャートである。 移植先アプリケーションサーバにデプロイしているアプリケーションプログラムのベンダー固有メソッド実行から代用メソッド実行への変換処理を示すフローチャートである。 ベンダー固有メソッドテーブルを示す図である。 シミュレーションテストテーブルを示す図である。 代用メソッドテーブルを示す図である。 1対nの変換テーブルを示す図である。 1対1の変換テーブルを示す図である。 手動変換シミュレーション実行前のメソッド変換用テーブルの確認及び調整を行う画面例を示す図である。 手動変換シミュレーション実行後のメソッド変換用テーブルの確認及び調整を行う画面例を示す図である。
以下、本発明を実施するための形態を図面に基づいて詳細に説明する。
図1は、移植先アプリケーションサーバを含む情報処理システム構成を示す図である。情報処理システムは、クライアントマシン100と移植先アプリケーションサーバ200を含んで構成され、クライアントマシン100と移植先アプリケーションサーバ200は、ネットワーク300を介して接続されている。
クライアントマシン100は、主記憶装置101、CPU(処理部、Central Processing Unit)102、画面表示装置103などを有する。主記憶装置101には、アプリケーションプログラムA(110)が記憶されている。アプリケーションプログラムA(110)には、例えば、Webブラウザ、コマンドによるスクリプト実行のバッチアプリケーションがある。なお、Webブラウザとは、Webページを閲覧するためのアプリケーションプログラムをいう。インターネットからHTML(HyperText Markup Language)ファイルや画像ファイル、音楽ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。入力フォームを使用してデータをWebサーバに送信したり、JavaScript(登録商標)、Flash(登録商標)、Javaなどで記述されたソフトウェアやアニメーションなどを再生・動作させる機能を持ったものもある。
疎通動作検証者は、シミュレーションテストテーブル作成処理(図6参照)及び1対1の変換テーブル作成処理(図7参照)をするテーブル作成モード、メソッド実行変換処理(図8参照)の実行モードなどの操作指令を、画面表示装置103を介して、例えば入力手段から入力する。
移植先アプリケーションサーバ200は、主記憶装置201(記憶部)、CPU202(処理部)などを有している。主記憶装置201には、アプリケーションプログラムB(210)、JavaVMプログラム220(第2の仮想マシン)が記憶されている。アプリケーションプログラムB(210)には、例えば、Webアプリケーション、J2EE仕様のEJB(登録商標)(Enterprise JavaBeans)を実行するEJBアプリケーションなどがある。
主記憶装置101,201は、RAM(Random Access Memory)、ROM(Read Only Memory)などにより構成される。CPU102,202は、RAM、ROMなどに記憶されているプログラムを実行する。画面表示装置103は、ディスプレイなどであり、後述する手動変換シミュレーション実行前の画面(図14参照)、手動変換シミュレーション実行後の画面(図15参照)などを表示する。なお、プログラムはCPUにより実行されるが、以下の説明において、例えば、アプリケーションプログラムA(110)がアプリケーションプログラムB(210)のメソッドを実行するなどと表現する場合もある。
クライアントマシン100のCPU102は、アプリケーションプログラムA(110)を実行する。移植先アプリケーションサーバ200のCPU202は、アプリケーションプログラムB(210)及びJavaVMプログラム220を実行する。アプリケーションプログラムB(210)は、1以上のベンダー固有メソッド211と1以上のJ2EE標準メソッド212とを有している。
JavaVMプログラム220は、Java言語で記述されたプログラムを逐次解析して実行するJava用仮想マシンである。Java言語で記述されたプログラムは、バイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Java用仮想マシンは、このバイトコードを実行するインタープリタである。
JavaVMプログラム220には、JavaVM差分管理部230、5種類のテーブル(ベンダー固有メソッドテーブル241(図9参照)、シミュレーションテストテーブル242(図10参照)、代用メソッドテーブル243(図11参照)、1対nの変換テーブル244(図12参照)、1対1の変換テーブル245(図13参照))、代用メソッドライブラリ221、及びJ2EE標準メソッドライブラリ222が含まれる。JavaVM差分管理部230は、シミュレーション部231、テーブル操作部232及びメソッド変換部233で構成する。
シミュレーション部231は、移植元アプリケーションサーバ400(図2参照)のアプリケーションプログラムを移植先アプリケーションサーバ200に移植する準備段階に、移植元アプリケーションサーバ400のJavaVMプログラム420(第1の仮想マシン)を監視しメソッドの実行情報(例えば、メソッド名、入力値、出力値、内部値)を取得する。シミュレーション部231は、実行されたメソッドがベンダー固有メソッドか否かを確認し、ベンダー固有メソッドである場合に、テーブル操作部232を介してメソッドの実行情報をベンダー固有メソッドテーブル241及びシミュレーションテストテーブル242に登録する。また、シミュレーション部231は、ベンダー固有メソッドを代用メソッドに変換した場合のメソッド変換の実行結果が、シミュレーションテストテーブル242(図10参照)の実行情報(ベンダー固有メソッド名、入力値、出力値、内部値)と比較して正常実行であると判定すると、ベンダー固有メソッドの代用のメソッドであることを、テーブル操作部232を介して、1対nの変換テーブル244及び1対1の変換テーブル245に登録する。
テーブル操作部232は、5種類のテーブルへの登録/削除/更新の機能、5種類のテーブルからの情報取得の機能を有する。例えば、テーブル操作部232は、代用メソッドライブラリ221から取得した代用メソッド名を代用メソッドテーブル243(図11参照)に登録する。また、テーブル操作部232は、ベンダー固有メソッドテーブル241及びシミュレーションテストテーブル242から情報を取得する。また、テーブル操作部232は、シミュレーション部231の実行結果を、1対nの変換テーブル244(図12参照)及び1対1の変換テーブル245(図13参照)に登録する。
メソッド変換部233は、アプリケーションプログラムB(210)を実行する際に、ベンダー固有メソッドが検知された場合、1対1の変換テーブル245(図13参照)を参照してベンダー固有メソッドを代用メソッドに変換し、実行を継続する機能を有する。また、ベンダー固有メソッドを代用するための代用メソッドがない場合に、クライアントマシン100の画面表示装置103にエラーメッセージを出力する。
次に5種類のテーブルについて説明する。適宜図1を参照する。
図9は、ベンダー固有メソッドテーブルを示す図である。ベンダー固有メソッドテーブル241は、アプリケーションプログラムB(210)が実行するベンダー固有メソッド211のテーブルである。テーブル操作部232は、本テーブルのベンダー固有メソッド名(901)の列にベンダーメソッドのインタフェースを登録する。具体的には、アプリケーションプログラムB(210)には、ベンダーメソッド1、ベンダーメソッド2、・・・、ベンダーメソッド6などが含まれていることがわかる。
図10は、シミュレーションテストテーブルを示す図である。シミュレーションテストテーブル242は、移植元アプリケーションサーバ400(図2参照)においてベンダー固有メソッド211の実行時の実行状態テーブルである。シミュレーション部231は、移植元アプリケーションサーバ400において、アプリケーションプログラムB(210)で実行するベンダー固有メソッド211のJavaVMプログラム420(図2参照)から内部の実行情報(例えば、メソッドの実行情報)を取得する。テーブル操作部232は、取得した実行情報として、ベンダー固有メソッド名1001の列にベンダーメソッドのインタフェースを、入力値1002の列にメソッドの引数値を、出力値1003の列にメソッドの戻り値を、内部値1004の列にメソッド内部での状態値を登録する。同一のベンダー固有メソッド211の実行でも入力値1002が複数パターン存在する場合は、全パターンの組み合わせを登録する。
具体的には、ベンダーメソッド1は、入力値は整数型で「1」(int1)及び整数型で「2」(int2)のとき、実行結果の出力値は整数型で「3」(int3)である。そのときの内部値として、変数aが整数型で「1」(int a=1)、変数bが整数型で「2」(int b=2)である。
シミュレーションテストテーブル242は、アプリケーションプログラムB(210)を移植元アプリケーションサーバ400で稼働させた実行状態の値をもとに、アプリケーションプログラムB(210)を移植先アプリケーションサーバ200で検証する際のテストデータとなる。
図11は、代用メソッドテーブルを示す図である。代用メソッドテーブル243は、移植先アプリケーションサーバ200で実行可能な代用メソッドライブラリ221のテーブルである。テーブル操作部232は、本テーブルの代用メソッド名1101の列に代用メソッドのインタフェースを登録する。
図12は、1対nの変換テーブルを示す図である。1対nの変換テーブル244は、ベンダー固有のメソッドを代用メソッドに変換した際のメソッド変換シミュレーションの結果による正常実行変換テーブルである。メソッド変換シミュレーションとは、シミュレーション部231が、移植先アプリケーションサーバ200にデプロイしているアプリケーションプログラムB(210)のベンダー固有メソッド211を、メソッド変換部233を介して代用メソッドライブラリ221からの代用メソッドに変換し、メソッド変換後の実行をシミュレーションすることをいう。その結果、正常実行が確認できた組み合わせについて、テーブル操作部232は、ベンダー固有メソッド名1201の列にベンダーメソッドのインタフェースを、代用メソッド名1202の列に代用メソッドライブラリ221からの代用メソッドのインタフェースを、平均実行時間(ms)(1203)の列に変換実行に費やした平均時間を登録する。1つのベンダー固有メソッド211に対し正常変換可能な代用メソッドライブラリ221のインタフェースが複数存在する場合は、全組み合わせを登録する。
図13は、1対1の変換テーブルを示す図である。1対1の変換テーブル245は、アプリケーションプログラムB(210)実行時の動作を決定するメソッド変換テーブルである。図13のテーブルは、ベンダー固有メソッド名1301、代用メソッド名1302、平均実行時間(ms)(1303)から構成され、図12のテーブルと同じ構成のテーブルであり、ベンダー固有メソッド211と正常にメソッド変換可能な代用メソッドライブラリ221のインタフェースの組み合わせを1対1に結びつけるテーブルである。テーブル操作部232は、図12の1対nの変換テーブル244で正常にメソッド変換可能な組み合わせが1つしか存在しない場合は、その組み合わせで登録する。組み合わせが複数存在している場合は、平均実行時間(ms)(1203)の列が最短の組み合わせで登録する。正常にメソッド変換可能な組み合わせが1つも存在しない場合は、クライアントマシン100の画面表示装置103にエラーメッセージを出力し、疎通動作検証者にエラー内容の確認及び調整を促す。また、メソッド変換シミュレーションの結果、正常実行した新規作成の代用メソッドF1が追加されると、図13に登録される。
具体的には、図12に示すベンダーメソッド6には、代用メソッドC、代用メソッドD、代用メソッドEが該当し、その中で、平均実行時間が最短である代用メソッドEが、図13に示すベンダーメソッド6の行に登録される。
本実施形態の処理には、主に下記の処理があり、図2から図5を参照して処理概要を説明する。なお、図中には、説明に必要なブロックのみ示している。
(1)アプリケーションプログラム移植前の実行状態を把握する処理(図2参照)
(2)メソッド変換シミュレーションテスト実行時の処理(図3参照)
(3)アプリケーションプログラム移植後のベンダー固有メソッド変換実行時の処理(図4参照)
(4)アプリケーションプログラム移植後の標準メソッド実行時の処理(図5参照)
なお、(1)及び(2)は、テーブル作成モードの処理であり、(3)及び(4)は、実行モードの処理である。
図2は、アプリケーションプログラム移植前の実行状態を把握する処理を示す図である。図2には、メソッド変換シミュレーションテスト準備作業の移植元アプリケーションサーバ400の実行時のプログラム構成を示している。クライアントマシン100、移植元アプリケーションサーバ400及び移植先アプリケーションサーバ200がネットワーク300を介して接続されている。
移植元アプリケーションサーバ400において、移植対象のプログラムであるアプリケーションプログラムB(210)及びJavaVMプログラム420が予め起動されている。アプリケーションプログラムB(210)は、ベンダー固有メソッド211及びJ2EE標準メソッド212を含んでいる。JavaVMプログラム420は、ベンダー固有メソッドライブラリ421及びJ2EE標準メソッドライブラリ422を含んでいる。
移植先アプリケーションサーバ200において、JavaVM差分管理部230のシミュレーション部231が移植元アプリケーションサーバ400のJavaVMプログラム420を監視する(ステップS21)。クライアントマシン100のアプリケーションプログラムA(110)が実行されると、移植元アプリケーションサーバ400のアプリケーションプログラムB(210)のベンダー固有メソッド211及びJ2EE標準メソッド212を実行する(ステップS22)。ベンダー固有メソッド211は、JavaVMプログラム420のベンダー固有メソッドライブラリ421中の該当するベンダー固有メソッドを、J2EE標準メソッド212は、JavaVMプログラム420のJ2EE標準メソッドライブラリ422中の該当するJ2EE標準メソッドをそれぞれ実行する(ステップS23)。
JavaVM差分管理部230のシミュレーション部231は、移植元アプリケーションサーバ400のJavaVMプログラム420の実行情報中のメソッド名を取得し、取得したメソッド名に該当するメソッドを移植先アプリケーションサーバ200のJ2EE標準メソッドライブラリ222から抽出し実行する(ステップS24)。この実行結果より正常実行メソッドは、J2EE標準メソッド212として、また、実行失敗メソッドはベンダー固有メソッド211として判定する。シミュレーション部231がベンダー固有メソッド211と特定した場合、テーブル操作部232は、シミュレーション部231で取得した実行状態をベンダー固有メソッドテーブル241及びシミュレーションテストテーブル242に登録し、シミュレーションテストで必要な情報を登録する。
図3は、メソッド変換シミュレーションテスト実行時の処理を示す図である。JavaVMプログラム220は、メソッド変換シミュレーションの指令をクライアントマシン100から受理すると、JavaVM差分管理部230のシミュレーション部231が代用メソッドライブラリ221から代用メソッドの情報を取得し(ステップS31)、テーブル操作部232を介して取得した情報を代用メソッドテーブル243に登録する(ステップS32)。
シミュレーション部231は、テーブル操作部232を介して、図2で登録済みのベンダー固有メソッドテーブル241及びシミュレーションテストテーブル242を取得する(ステップS33)。シミュレーション部231は、テーブル操作部232が取得したテーブルに基づいて、メソッド変換をメソッド変換部233に要求する(ステップS34)。メソッド変換部233は、代用メソッドライブラリ221から該当する代用メソッドを用いてメソッド変換を行い(ステップS35)、シミュレーション部231が実行結果を確認する。テーブル操作部232は、確認された実行結果を1対n変換テーブル244及び1対1の変換テーブル245に登録する(ステップS36)。
疎通動作検証者は、クライアントマシン100の画面表示装置103を介して、テーブル操作部232にメソッド変換シミュレーション結果表示の要求をすると(ステップS37)、登録済みの1対1の変換テーブル245などの変換内容の確認及び調整をすることができる。
図4は、アプリケーションプログラム移植後のベンダー固有メソッド変換実行時の処理を示す図である。図3と同様に移植先アプリケーションサーバ200のJavaVMプログラム220及びアプリケーションプログラムB(210)をクライアントマシン100からの接続に備え事前に起動しておく。
クライアントマシン100のアプリケーションプログラムA(110)が実行されると、移植先アプリケーションサーバ200で起動済みのアプリケーションプログラムB(210)のベンダー固有メソッド211が実行される(ステップS41)。実行されたベンダー固有メソッド211は、JavaVM差分管理部230のテーブル操作部232を実行する(ステップS42)。テーブル操作部232は、図3で登録済みの1対1の変換テーブル245を取得し(ステップS43)、メソッド変換部233が取得された変換テーブル245に基づいてメソッド変換を実行し(ステップS44)、代用メソッドライブラリ221中のメソッドを実行することで処理を継続する。
1対1の変換テーブル245から取得した代用メソッド名のメソッドが代用メソッドライブラリ221中に存在しない場合は、JavaVM差分管理部230のメソッド変換部233からクライアントマシン100の画面表示装置103にエラーメッセージを出力する(ステップS45)。
前記説明は処理概要であるが、仮想マシンであるJavaVMプログラム220は、アプリケーションプログラムB(210)の実行の際にメソッドの実行を検知すると、1対1の変換テーブル245を参照してベンダー固有メソッドであるか否かを判定し、ベンダー固有メソッドである場合、ベンダー固有メソッドを代用メソッドに変換してアプリケーションプログラムB(210)の実行を継続することができる。
図5は、アプリケーションプログラム移植後の標準メソッド実行時の処理を示す図である。図5において、J2EE標準メソッド212の実行時について説明する。図3と同様に移植先アプリケーションサーバ200のJavaVMプログラム220及びアプリケーションプログラムB(210)をクライアントマシン100からの接続に備え事前に起動しておく。
クライアントマシン100のアプリケーションプログラムA(110)が実行されると、移植先アプリケーションサーバ200で起動済みのアプリケーションプログラムB(210)のJ2EE標準メソッド212が実行される(ステップS51)。実行されたJ2EE標準メソッド212は、JavaVM差分管理部230のテーブル操作部232を実行する(ステップS52)。テーブル操作部232は、図3で更新済みの1対1の変換テーブル245を取得し(ステップS53)、メソッド変換部233はメソッド変換を実行せずに、標準対応済みのJ2EE標準メソッドライブラリ222中のメソッドを実行することで処理を継続する(ステップS54)。
前記説明は処理概要であるが、仮想マシンであるJavaVMプログラム220は、アプリケーションプログラムB(210)の実行の際にメソッドの実行を検知すると、1対1の変換テーブル245を参照してベンダー固有メソッドであるか否かを判定し、ベンダー固有メソッドでない場合、標準メソッドとしてアプリケーションプログラムB(210)の実行を継続することができる。
図6は、メソッド変換シミュレーション準備作業のシミュレーションテストテーブル作成処理を示すフローチャートである。適宜図1、図2を参照して説明する。移植先アプリケーションサーバ200のJavaVM差分管理部230のシミュレーション部231は、移植元アプリケーションサーバ400のJavaVMプログラム420を監視しメソッド実行情報のうちメソッド名を取得する(ステップS601)。移植元アプリケーションサーバ400のアプリケーションプログラムB(210)の実行中、以下のステップS603からステップS606の処理を繰り返す(ステップS602)。
クライアントマシン100のアプリケーションプログラムA(110)を実行すると、移植元アプリケーションサーバ400にデプロイして起動済みのアプリケーションプログラムB(210)は、ベンダー固有メソッド211及びJ2EE標準メソッド212を実行する。ベンダー固有メソッド211は、移植元アプリケーションサーバ400のJavaVMプログラム420のベンダー固有メソッドライブラリ421中のメソッドを実行し、J2EE標準メソッド212は移植元アプリケーションサーバ400のJavaVMプログラム420のJ2EE標準メソッドライブラリ422中のメソッドを実行する。
移植先アプリケーションサーバ200のJavaVM差分管理部230のシミュレーション部231は、移植元アプリケーションサーバ400のJavaVMプログラム420のメソッド実行情報を監視しており、実行されたメソッドの実行を検知すると、移植先アプリケーションサーバ200でのシミュレーション結果に基づいて、ベンダー固有メソッド211か否かを判定する(ステップS603)。エラー実行の場合はベンダー固有メソッドであると判定(ステップS603,Yes)し、正常実行の場合はJ2EEメソッドと判定(ステップS603,No)する。
具体的には、シミュレーション部231は、移植元アプリケーションサーバ400の実行を移植先アプリケーションサーバ200で模倣するが、移植元アプリケーションサーバ400は、ベンダー固有メソッドライブラリ421の実装があるため正常に実行できるが、移植先アプリケーションサーバ200は、ベンダー固有メソッドライブラリ421の実装が無いためエラーになり、ベンダー固有メソッドであると判定(ステップS603,Yes)する。一方、シミュレーション部231は、移植元アプリケーションサーバ400でJ2EE標準メソッドを実行時には、移植先アプリケーションサーバ200でもJ2EE標準メソッドの実装はあるため正常に実行でき、J2EE標準メソッドであると判定(ステップS603,No)する。
シミュレーション部231は、ベンダー固有メソッドと確認した場合(ステップS603,Yes)、メソッド実行情報(ベンダー固有メソッド名、メソッド入力値、メソッド出力値、メソッド内部値)を取得する(ステップS604)。テーブル操作部232は、シミュレーション部231が取得した実行情報のうちベンダー固有メソッド名を移植先アプリケーションサーバ200のベンダー固有メソッドテーブル241に登録して更新する(ステップS605)。また、テーブル操作部232は、シミュレーション部231が取得したメソッド実行情報(ベンダー固有メソッド名、メソッド入力値、メソッド出力値、メソッド内部値)を移植先アプリケーションサーバ200のシミュレーションテストテーブル242に登録して更新し(ステップS606)、ステップS607に進む。そして、ステップS602に戻り、アプリケーションプログラムB(210)の実行中はステップS603から繰り返す。
ステップS603において、シミュレーション部231がベンダー固有メソッドでないと判定した場合(ステップS603,No)、ステップS607に進み、次の実行メソッドに処理を移す。
図7は、メソッド変換シミュレーションによるベンダー固有メソッド変換テーブルの作成処理を示すフローチャートである。図7において、ベンダー固有メソッド変換テーブルである1対1の変換テーブル245(図13参照)の作成処理を示す。適宜図1、図3を参照する。クライアントマシン100からの接続(要求)に備えて、移植先アプリケーションサーバ200のJavaVMプログラム220を起動しておく。
JavaVM差分管理部230のシミュレーション部231は、代用メソッドライブラリ221の情報を取得し、テーブル操作部232は、シミュレーション部231が取得した情報(代用メソッド名)を代用メソッドテーブル243に登録して更新する(ステップS701)。シミュレーション部231は、テーブル操作部232を介して、ベンダー固有メソッドテーブル241の情報(ベンダー固有メソッドテーブル情報)を取得し(ステップS702)、シミュレーションテストテーブル242の情報(シミュレーションテーブル情報)を取得する(ステップS703)。そして、ベンダー固有メソッドテーブル241のベンダー固有メソッド数に対して、以下の処理(ステップS705からステップS711)を繰り返す(ステップS704)。
シミュレーション部231は、テーブル操作部232を介して代用メソッドテーブル243から代用メソッド数を取得し、その個数分以下の処理(ステップS706からステップS708)を繰り返す(ステップS705)。
シミュレーション部231は、シミュレーションテーブル情報を用いてベンダー固有メソッドを代用メソッドに変換して実行する(ステップS706)。具体的には、テーブル操作部232が取得した移植先アプリケーションサーバ200のシミュレーションテストテーブル242の実行情報(ベンダー固有メソッド名、入力値、出力値、内部値)を用いて、メソッド変換部233がベンダー固有メソッドを代用メソッドに変換して実行する。
シミュレーション部231は、メソッド変換実行結果をシミュレーションテストテーブル242の実行情報(ベンダー固有メソッド名、入力値、出力値、内部値)と比較し全て同一であれば正常実行、一箇所でも異なればエラー実行と判定する(ステップS707)。
メソッド変換実行結果が正常実行の場合(ステップS707,Yes)、テーブル操作部232が実行情報(ベンダー固有メソッド名、代用メソッド名、平均実行時間(ms))を1対nの変換テーブル244に登録して更新し(ステップS708)、ステップS709に進む。
ステップS707において、メソッド変換シミュレーションの結果が失敗した場合(ステップS707,No)、ステップS709に進む。そして、次の代用メソッドに対して、ステップS706においてメソッド変換シミュレーションを実行する。
全ての代用メソッドにおいて検証がすむと、シミュレーション部231は、1つ以上の代用メソッドが変換可能か否かを判定する(ステップS710)。具体的には、シミュレーション部231は、テーブル操作部232を介して1対nの変換テーブル244を取得し、実行中のベンダー固有メソッド211に対し1つ以上メソッド変換が正常実行する代用メソッドの組み合わせが存在するか確認する。
メソッド変換が正常実行する組み合わせが存在する場合(ステップS710,Yes)、シミュレーション部231は、1対nの変換テーブル244の組み合わせのうち平均実行時間が最短の組み合わせ情報でテーブル操作部232を介して1対1の変換テーブル245を登録して更新し(ステップS711)、ステップS712に進む。
ステップS710において、実行中のベンダー固有メソッド211に対し変換可能な代用メソッドが1つも存在しない場合(ステップS710,No)、ステップS712に進み、次のベンダー固有メソッドの処理を移す。
シミュレーション部231は、1対1の変換テーブル245に未作成のベンダーメソッドが存在するか否かを判定する(ステップS713)。具体的には、取得した1対1の変換テーブル245の内容で全てのベンダー固有メソッド211に変換可能な代用メソッドの組み合わせが漏れなく全部成立しているか確認する。
成立していない場合、すなわち、組み合わせが未作成のベンダーメソッドがある場合(ステップS713,Yes)、未変換メソッドを確認する画面を表示して、疎通動作検証者に確認及び調整を促す(ステップS714)。具体的には、クライアントマシン100の画面表示装置103に変換組み合わせを確認するようメッセージを出力して、疎通動作検証者に移植先アプリケーションサーバ200の1対1の変換テーブル245の内容を確認及び調整を促し、一連の処理を終了する。
ステップS713において、実行するベンダー固有メソッド211全てに対し変換可能な代用メソッドが存在する場合(ステップS713,No)、そのままの状態で1対1の変換テーブル245の作成処理を終了する。
図8は、移植先アプリケーションサーバにデプロイしているアプリケーションプログラムのベンダー固有メソッド実行から代用メソッド実行への変換処理を示すフローチャートである。適宜、図1、図4、図5を参照して説明する。移植先アプリケーションサーバ200のJavaVMプログラム220及びアプリケーションプログラムB(210)をクライアントマシン100からの接続に備え事前に起動しておく。
移植先アプリケーションサーバ200のアプリケーションプログラムB(210)の実行中、以下の処理を繰り返す(ステップS801)。クライアントマシン100のアプリケーションプログラムA(110)を実行すると、移植先アプリケーションサーバ200で起動済みのアプリケーションプログラムB(210)のメソッドを実行する。このときにJavaVMプログラム220から、テーブル操作部232は、実行メソッド情報(メソッド名)を取得する(ステップS802)。そして、テーブル操作部232は、1対1の変換テーブル245を取得する(ステップS803)。
メソッド変換部233は、ベンダー固有メソッドの実行か否かを判定する(ステップS804)。具体的には、ステップS802で取得したメソッド名がステップS803で取得した1対1変換テーブル245のベンダー固有メソッド名と一致するか検索し、検索成功すればベンダー固有メソッド211の実行、検索失敗すればJ2EE標準メソッド212の実行と判定する。
検索成功しベンダー固有メソッド211の実行の場合(ステップS804,Yes)、メソッド変換部233は、テーブル操作部232を介して1対1変換テーブル245から変換する代用メソッド名を取得する(ステップS805)。メソッド変換部233は、テーブル操作部232が取得した代用メソッド名のメソッドが代用メソッドライブラリ221に存在するか確認する(ステップS806)。メソッドが存在する場合(ステップS806,Yes)、メソッド変換部233は、存在する代用メソッドライブラリ221中のメソッドを実行し(ステップS807)、ステップS808に進む。
ステップS804において、実行メソッドがJ2EE標準メソッド212の場合(ステップS804,No)、移植先アプリケーションサーバ200のJ2EE標準メソッドライブラリ222中のメソッドを実行する(ステップS809)。ステップS809でJ2EE標準メソッドの実行完了後は、ステップS808に進み、次の実行メソッドに処理を移す。
ステップS806において、取得した代用メソッド名のメソッドが存在しない場合(ステップS806,No)、メソッド変換部233は、エラーメッセージをクライアントマシン100の画面表示装置103に出力する(ステップS810)。ステップS810において、JavaVM差分管理部230のメソッド変換部233は、エラーメッセージを出力したら、クライアントマシン100のアプリケーションプログラムA(110)の継続実行は、不可能のためメソッド実行変換の異常終了を行う(ステップS811)。
図14は、手動変換シミュレーション実行前のメソッド変換用テーブルの確認及び調整を行う画面例を示す図である。JavaVM差分管理部230は、メソッド変換用テーブルである1対1の変換テーブル245に基づいて、クライアントマシン100の画面表示装置103に表示する。
画面1400の左から右へベンダー固有メソッド1401、変換の有無1402、代用メソッド1403、平均実行時間(ms)1404、手動変換シミュレーション1405の項目を表示し、各行が変換組み合わせを表す。ベンダー固有メソッド1401、代用メソッド1403、平均実行時間(ms)1404は、図13に示すベンダー固有メソッド名(1301)の列、代用メソッド名(1302)の列、平均実行時間(ms)(1303)の列に対応する。
アプリケーションプログラムB(210)のベンダー固有メソッド211に対する変換可能な代用メソッドが存在する組み合わせの場合は、変換の有無1402に矢印(−>)を表示する。変換可能な代用メソッドが存在しない場合は、変換の有無1402には何も表示しない。
代用メソッド1403は、プルダウン表示になっていて、図12に示す該当する変換可能な代用メソッド名1202をプルダウンリストから選択でき、選択した代用メソッド1403との変換組み合わせの平均実行時間(ms)1404もリアルタイムに画面表示する。
新規作成の代用メソッドの動作確認として手動変換シミュレーションが実行できる。手動変換シミュレーション1405は、チェックボックス1406とテキストボックス1407及び「手動変換シミュレーション実行」のボタン1408で構成する。
具体的には、手動変換シミュレーションを実行する新規作成の代用メソッドのインタフェース名をテキストボックス1407に入力し、該当するチェックボックス1406に印を付け、画面1400の右下にある「手動変換シミュレーション実行」のボタン1408を押下することでメソッド変換結果を確認できる。
図15は、手動変換シミュレーション実行後のメソッド変換用テーブルの確認及び調整を行う画面例を示す図である。図14に示す画面構成と同一で、手動変換シミュレーション実行の結果、正常にメソッド変換が実行できた場合、変更の有無1402、代用メソッド1403、平均実行時間(ms)1404の画面表示が更新されている。具体的には、ベンダーメソッド4の代用メソッドとして「新規作成の代用メソッドF1」及び平均実行時間として「5」が追加される。
疎通動作検証者は、この更新内容を検討する。画面起動時の設定に戻したい場合は画面1400の右下の「設定キャンセル」のボタン1409を押下すると設定は保存しない。現在の画面表示の内容に更新したい場合は画面1400の右下の「設定適用」のボタン1410を押下することで設定が保存される。画面1400により設定内容の確認及び変換メソッドを選択しての手動変換シミュレーションが可能であり、より柔軟にメソッド変換組み合わせの調整が可能になる。
本実施形態の情報処理システムは、アプリケーションプログラムを実行可能なように処理する第1の仮想マシン(例えば、JavaVMプログラム420)を備える移植元アプリケーションサーバ400と、アプリケーションプログラムの移植先であり、アプリケーションプログラムを実行可能なように処理する第2の仮想マシン(例えば、JavaVMプログラム220)を備える移植先アプリケーションサーバ200とを有する。
第2の仮想マシンは、第2の仮想マシンで標準に使用される標準メソッドのライブラリであるJ2EE標準メソッドライブラリ222と、標準メソッドに含まれない非標準メソッドの代わりに使用される代用メソッドのライブラリである代用メソッドライブラリ221を備えている。
第2の仮想マシンは、第1の仮想マシンのメソッドの実行状態を監視し、メソッドの実行を検知すると、メソッドのメソッド名が、標準メソッドライブラリ中のメソッド名と合致するか否かを判定し、メソッド名が合致しない場合、非標準メソッド実行の際のメソッド名、入力値、出力値とを関連付けるテスト情報(例えば、シミュレーションテストテーブル242)を移植先サーバの記憶部(例えば、主記憶装置201)に登録する。
第2の仮想マシンは、非標準メソッドと、代用メソッドとを関連付けの要求をクライアントマシン100から受理すると、代用メソッドライブラリから代用メソッドを順にテスト情報に基づいて実行し、テスト情報の入力値に基づいて実行した出力値とテスト情報の出力値とが合致するメソッドを、非標準メソッドの代用メソッドとして関連付けてメソッド対応情報(例えば、1対1の変換テーブル245)として記憶部に登録し、移植先アプリケーションサーバにおいてアプリケーションプログラムのメソッドを実行する際に、メソッド対応情報を参照して非標準メソッドであると検知すると、非標準メソッドを代用メソッドに変換してアプリケーションプログラムを実行する。
本実施形態によれば、既存のJ2EEアプリケーションプログラム移植時の疎通動作検証作業において、メソッド変換部233のメソッド呼び出し変換によってアプリケーションプログラム及びアプリケーションサーバのソースコードに手を加えず、変換テーブルという定義変更により差分の吸収を行う。これにより、アプリケーションプログラム及びアプリケーションサーバのソースコードの修正版の発行が不要になり修正版の再テストも行う必要が無いため、時間及び能力の浪費が抑制でき疎通確認の迅速化及び移植の容易さ向上に繋がり、結果としてアプリケーションプログラム移植時の障壁を下げる効果がある。
本実施形態では、JavaVM差分管理部230を、シミュレーション部231、テーブル操作部232、メソッド変換部233として説明したが、これに限定されるものではない。本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、JavaVM差分管理部230をテーブル作成モード部と実行モード部から構成してもよい。
100 クライアントマシン
101,201 主記憶装置(記憶部)
102,202 CPU(処理部)
103 画面表示装置
110 アプリケーションプログラムA
200 移植先アプリケーションサーバ
210 アプリケーションプログラムB
211 ベンダー固有メソッド
212 J2EE標準メソッド
220 JavaVMプログラム(第2の仮想マシン、仮想マシン)
221 代用メソッドライブラリ
222,422 J2EE標準メソッドライブラリ
230 JavaVM差分管理部(メソッド管理部)
231 シミュレーション部
232 テーブル操作部
233 メソッド変換部
241 ベンダー固有メソッドテーブル
242 シミュレーションテストテーブル(テスト情報)
243 代用メソッドテーブル
244 1対nの変換テーブル
245 1対1の変換テーブル(メソッド対応情報)
300 ネットワーク
400 移植元アプリケーションサーバ
420 JavaVMプログラム(第1の仮想マシン)
421 ベンダー固有メソッドライブラリ

Claims (5)

  1. 記憶部にアプリケーションプログラムおよび前記アプリケーションプログラムを実行可能なように処理する仮想マシンを記憶し、処理部が前記仮想マシンを実行するプログラム実行装置であって、
    前記仮想マシンは、
    前記仮想マシンで標準に使用される標準メソッドのライブラリである標準メソッドライブラリと、
    前記標準メソッドに含まれない非標準メソッドの代わりに使用される代用メソッドのライブラリである代用メソッドライブラリと、
    前記非標準メソッドと、前記代用メソッドとを関連付けるメソッド対応情報と、
    前記アプリケーションプログラムのメソッドの実行の際に、前記メソッド対応情報を参照して前記非標準メソッドを検知すると、前記非標準メソッドを前記代用メソッドに変換して前記アプリケーションプログラムを実行するメソッド管理部とを有する
    ことを特徴とするプログラム実行装置。
  2. 前記記憶部に前記非標準メソッド実行の際の入力値と、出力値とを関連付けるテスト情報を記憶しており、
    前記メソッド管理部は、
    クライアントから前記メソッド対応情報の作成要求を受理すると、
    前記代用メソッドライブラリから代用メソッドを順に実行し、前記テスト情報の入力値に基づいて実行した出力値と前記テスト情報の出力値とが合致するメソッドを、前記非標準メソッドの代用メソッドとして関連付けて前記メソッド対応情報に登録する
    ことを特徴とする請求項1に記載のプログラム実行装置。
  3. 前記仮想マシンは、Java(登録商標)仮想マシンであり、かつ、前記アプリケーションプログラムは、Javaプログラムである
    ことを特徴とする請求項1または請求項2に記載のプログラム実行装置。
  4. アプリケーションプログラムを実行可能なように処理する第1の仮想マシンを備える移植元サーバと、前記アプリケーションプログラムの移植先であり、前記アプリケーションプログラムを実行可能なように処理する第2の仮想マシンを備える移植先サーバとを有する情報処理システムにおいて、
    前記第2の仮想マシンは、前記第2の仮想マシンで標準に使用される標準メソッドのライブラリである標準メソッドライブラリと、前記標準メソッドに含まれない非標準メソッドの代わりに使用される代用メソッドのライブラリである代用メソッドライブラリと、を備えており、前記アプリケーションプログラムを前記移植先サーバに移植した際のアプリケーションプログラムの実行方法であって、
    前記第2の仮想マシンは、
    第1の仮想マシンのメソッドの実行状態を監視し、
    前記メソッドの実行を検知すると、前記メソッドのメソッド名が、前記標準メソッドライブラリ中のメソッド名と合致するか否かを判定し、
    メソッド名が合致しない場合、非標準メソッド実行の際のメソッド名、入力値、出力値とを関連付けるテスト情報を前記移植先サーバの記憶部に登録し、
    前記非標準メソッドと、前記代用メソッドとを関連付けの要求をクライアントから受理すると、
    前記代用メソッドライブラリから代用メソッドを順に前記テスト情報に基づいて実行し、前記テスト情報の入力値に基づいて実行した出力値と前記テスト情報の出力値とが合致するメソッドを、前記非標準メソッドの代用メソッドとして関連付けてメソッド対応情報として前記記憶部に登録し、
    前記移植先サーバにおいて前記アプリケーションプログラムのメソッドを実行する際に、前記メソッド対応情報を参照して前記非標準メソッドであると検知すると、前記非標準メソッドを前記代用メソッドに変換して前記アプリケーションプログラムを実行する
    ことを特徴とするアプリケーションプログラムの実行方法。
  5. 前記第1の仮想マシンおよび前記第2の仮想マシンは、Java(登録商標)仮想マシンであり、かつ、前記アプリケーションプログラムは、Javaプログラムである
    ことを特徴とする請求項4に記載のアプリケーションプログラムの実行方法。
JP2009196238A 2009-08-27 2009-08-27 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム Expired - Fee Related JP5128559B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009196238A JP5128559B2 (ja) 2009-08-27 2009-08-27 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009196238A JP5128559B2 (ja) 2009-08-27 2009-08-27 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2011048605A true JP2011048605A (ja) 2011-03-10
JP2011048605A5 JP2011048605A5 (ja) 2011-04-21
JP5128559B2 JP5128559B2 (ja) 2013-01-23

Family

ID=43834861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009196238A Expired - Fee Related JP5128559B2 (ja) 2009-08-27 2009-08-27 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5128559B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122655A (ja) * 2011-12-09 2013-06-20 Hitachi Systems Ltd ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム
US9350790B2 (en) 2010-02-04 2016-05-24 International Business Machines Corporation Utilization of target browsers
US9678814B2 (en) 2011-10-04 2017-06-13 International Business Machines Corporation Implementing a java method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187137A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 計算機システム
JPH0773044A (ja) * 1993-09-02 1995-03-17 Mitsubishi Electric Corp 最適化コンパイル方法及び最適化コンパイル装置
JPH1153177A (ja) * 1997-08-01 1999-02-26 Matsushita Electric Ind Co Ltd 車載型または携帯型情報提供装置およびそのソフトウェア構造
JP2004246789A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> プログラム機能拡張システム、プログラム機能拡張方法、プログラム機能拡張プログラムおよび記録媒体
JP2007280095A (ja) * 2006-04-07 2007-10-25 Keirin Hirabayashi ブラックボックス判定装置
JP2008210214A (ja) * 2007-02-27 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187137A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 計算機システム
JPH0773044A (ja) * 1993-09-02 1995-03-17 Mitsubishi Electric Corp 最適化コンパイル方法及び最適化コンパイル装置
JPH1153177A (ja) * 1997-08-01 1999-02-26 Matsushita Electric Ind Co Ltd 車載型または携帯型情報提供装置およびそのソフトウェア構造
JP2004246789A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> プログラム機能拡張システム、プログラム機能拡張方法、プログラム機能拡張プログラムおよび記録媒体
JP2007280095A (ja) * 2006-04-07 2007-10-25 Keirin Hirabayashi ブラックボックス判定装置
JP2008210214A (ja) * 2007-02-27 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350790B2 (en) 2010-02-04 2016-05-24 International Business Machines Corporation Utilization of target browsers
US9473558B2 (en) 2010-02-04 2016-10-18 International Business Machines Corporation Utilization of target browsers
US9678814B2 (en) 2011-10-04 2017-06-13 International Business Machines Corporation Implementing a java method
US9973563B2 (en) 2011-10-04 2018-05-15 International Business Machines Corporation Implementing a java method
JP2013122655A (ja) * 2011-12-09 2013-06-20 Hitachi Systems Ltd ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム

Also Published As

Publication number Publication date
JP5128559B2 (ja) 2013-01-23

Similar Documents

Publication Publication Date Title
US8954869B2 (en) Generating a front end graphical user interface for a plurality of text based commands
US7886284B2 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US8875102B1 (en) Multiple browser architecture and method
US11226830B2 (en) System for building, managing, deploying and executing reusable analytical solution modules for industry applications
US10209968B2 (en) Application compiling
US20120117491A1 (en) Web interface for remote platform build
JP5128559B2 (ja) プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム
JP4717426B2 (ja) 情報処理装置及びその方法
Varanasi et al. Spring Rest
CN104731598A (zh) 一种基于Webkit内核提供网页浏览的方法及装置
EP4296861A1 (en) System and method for cloud infrastructure test automation
US10606569B2 (en) Declarative configuration elements
JP6603746B2 (ja) 仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法及びコンピューティングシステム
JP4048736B2 (ja) 障害解析支援方法および装置
US8726152B2 (en) Automated detection and implementation of state and object modifications
US9557973B2 (en) Automatic generation of API classes
US8286131B2 (en) Environment definition files for an environment definition system
WO2018083977A1 (ja) システム構築支援装置、方法およびプログラム
JP2019160105A (ja) インタフェース変換プログラム、インタフェース変換方法および情報処理装置
JPWO2013031129A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5215349B2 (ja) 制御プログラム開発支援装置
JP2008134684A (ja) 情報通信機器検証装置および情報通信機器検証プログラム
Luna et al. A flexible tool suite for change-aware test-driven development of web applications
JP6398456B2 (ja) ソフトウェア生成装置
JP7231823B2 (ja) プログラム、情報処理システム及びその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120914

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: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121031

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees