JP5225399B2 - デスクトップ・アプリケーション移行のためのシステムと方法 - Google Patents
デスクトップ・アプリケーション移行のためのシステムと方法 Download PDFInfo
- Publication number
- JP5225399B2 JP5225399B2 JP2011012822A JP2011012822A JP5225399B2 JP 5225399 B2 JP5225399 B2 JP 5225399B2 JP 2011012822 A JP2011012822 A JP 2011012822A JP 2011012822 A JP2011012822 A JP 2011012822A JP 5225399 B2 JP5225399 B2 JP 5225399B2
- Authority
- JP
- Japan
- Prior art keywords
- template
- interface
- data
- data type
- unit
- 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
- 238000000034 method Methods 0.000 title claims 4
- 230000005012 migration Effects 0.000 title claims 2
- 238000013508 migration Methods 0.000 title claims 2
- 238000005316 response function Methods 0.000 claims 3
- 238000000605 extraction Methods 0.000 claims 2
- 239000000284 extract Substances 0.000 claims 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Description
既存のシステムを廃棄し、同じ一連の機能を有するシステムのブラウザ−サーバ版(browser-server
version)を改めて開発するとすると、開発コストが余りに高くなり、もとのシステムの浪費を引き起こす。従って、高性能なデスクトップ・アプリケーション移行方法が望まれている。
これにより、開発者は、デスクトップ・アプリケーションのデータアクセス、論理フロー、アルゴリズム実装等の機能実現の詳細を考慮することなく、短期間でウェブ・アプリケーションを開発することが可能になる。
・要求解析ユニット110:サーバ100側に設けられ、ブラウザ200からHTTP要求(URL)を解析し、ブラウザ200が要求するものがどの動的なウェブページであるかを識別する。
・データ検索ユニット120:サーバ100側に設けられ、要求解析ユニット110の解析結果に基づいて、関連するデータについてデータベース170を検索する。検索されたデータがウェブページ内の動的な部分を生成するために用いられる。
・モジュールアクセスユニット130:サーバ100側に設けられ、要求解析ユニット110の解析結果に基づいて要求された特定のテンプレートを取得する。
・変数割当ユニット140:サーバ100側に設けられ、モジュールアクセスユニット130によって取得した特定のテンプレート内の変数を割り当てる。すなわち、データ検索ユニット120によって検索された特定のデータを、モジュールアクセスユニット130によって取得した特定のテンプレート内の変数に割り当てる。
・送信ユニット140:サーバ100側に設けられ、ブラウザ200から送信されたHTTP要求(URL)に対する応答として、割り当てられたテンプレートをブラウザ200に送る。
・レンダリングユニット210:ブラウザ200側に設けられ、ブラウザ200上に動的なウェブページを提示(表示)する。
表示部分の可変部分は、変数(点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2")によって表わされる。
データ部分は変数割当ユニット140によって充填される。
データベース700から検索された特定のデータは、表示部分に存在する対応する変数(点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2")と置き換えられる。
図2において、ブラウザ200は、変数"Table1.msg1"と"Table1.msg2"
を特定のデータで以下のように置き換える。
・「Table1.msg1」をmsg1で置き換える。
・「Table1.msg2」をmsg2で置き換える。
1.新たなウェブ・アプリケーションを開発するのではなく、既存のデスクトップ・アプリケーションに基づいてウェブ・アプリケーションを実現する場合(ウェブ・アプリケーションのインタフェースと機能の全部あるいは大部分がデスクトップ・アプリケーションのそれと同じである場合、すなわち、本明細書で定義する”デスクトップ・アプリケーション移行”の場合)、プログラマはテンプレートをすべて手作業で仕上げなければならず、特にベージが多い場合に、開発効率が非常に低くなる。
2.通常、ウェブ・アプリケーションの開発者は、デスクトップ・アプリケーションのデータベースを取得することができず、このため、直接データ情報を抽出することができず、情報を利用してテンプレートに補充することができない。
本発明は、開発段階と実際の実行段階に分けられる。
開発段階においては、各ウィンドウのインタフェース記述データは、デスクトップ・アプリケーションの全てのウィンドウを走査(走査)することにより抽出される。最初のテンプレートは、各ウィンドウのインタフェース記述データを用いて半自動的に生成される。最初のテンプレートに基づき、手作業及び/又はルールに従って、どの部分が「データ型インタフェース要素」であるか指定され、最終的なテンプレートが形成される。
実際の実行段階においては、デスクトップ・アプリケーションのインタフェース記述データがリアルタイムに取得され、そのインタフェース記述データから「データ型インタフェース要素」の値と属性情報が抽出され、最終的に提示されるウェブページを形成するために、テンプレートに充填される。
半自動的にテンプレートを生成することにより、新たなウェブ・アプリケーションの開発効率を著しく改善すると共に、開発コストを低減する。
第1の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、テンプレート生成段階(開発段階)と実際の実行段階を含む。以下、この実施の形態について、図3と図4を参照して詳細に説明する。
例えば、ウィンドウ走査ユニット510は、メイン・ウィンドウ中のそれぞれ操作可能な制御要素を一つずつ操作し、それぞれの子ウィンドウを取得する。
デスクトップ・アプリケーション600のウィンドウがすべてくまなく調べられるまで、その処理が繰り返される。
インタフェース記述データは、XML、HTML、WMLなどの記述言語のフォーマットを用いることが可能である。しかし、本発明は、それらのフォーマットに限定されない。
テンプレート生成ユニット530は、テンプレートを生成し、それらをテンプレートデータベース360に格納するために用いる。
テンプレートデータベース360は、生成されたテンプレートを半自動的に格納するために用いる。
もちろん、構成ファイルは、テンプレート生成段階の前、あるいはその段階中に、手作業で編集し、修正することが可能である。
動作再現ユニット380は、要求解析ユニット310によって解析された動作記述データをデスクトップ・アプリケーション600に対するコマンドに変換し、ブラウザ400(リモート)上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション600を作動する。
インタフェース情報抽出ユニット520は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション600から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット390は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット330に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット390はいかなる動作も実行する必要はない。
上記の2つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
第2の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、同様に、テンプレート生成段階と実行段階を含む。以下、この実施の形態について、図5と図6を参照して詳細に説明する。
例えば、ウィンドウ走査ユニット510が、ある操作中に、ウィンドウBをポップアップするためにウィンドウA上の制御要素Xをクリックすると、ウィンドウAとB間の制御要素Xについてのジャンプ関係が記録される。例えば、インタフェース関係データベース560に格納されるそのインタフェースジャンプ関係は、テーブル2に示すようになる。テーブル2では、さらに他のインタフェースジャンプ関係の例も示している。
動作再現ユニット380は、要求解析ユニット810によって解析された動作記述データをデスクトップ・アプリケーション600に対するコマンドに変換し、ブラウザ400(リモート)上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション600を作動する。
インタフェース情報抽出ユニット520は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション600から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット890は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット330に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット390はいかなる動作も実行する必要はない。
上記の2つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
上記の第1と第2の実施の形態は、テンプレートに基づくデスクトップ・アプリケーション移行のためのシステムと方法を良好に実現する。
同時に、発明者は、ほとんどの状況において、インタフェース記述データがユーザの操作に応じて毎回僅かに変化することに着目した。データ送信量とネットワーク負荷を軽減し、かつユーザの手間を改善するために、変化したインタフェース記述データだけを送信することが可能である。
そのため、第1と第2の実施の形態において、インタフェース情報比較ユニット900を、現在のインタフェース記述データを前のインタフェース記述データと比較するために導入する。これにより、送信ユニット350に変化したインタフェース記述データを提供する。
更に、実行段階において、インタフェース/ウィンドウがトレーニングされない場合がある。
すなわち、テンプレートアクセスユニット330が、新ウィンドウ判定ユニット390/890によって指定されたテンプレートを見つけ出すことができない。これは、現在のテンプレートデータベース360がまだ完全でないことを示しており、さらなるトレーニングとテンプレート生成が必要である。
同時に、テンプレートに関するウィンドウ間のジャンプ関係は、インタフェース関係データベース560に格納される(第2の実施の形態、インタフェースジャンプ関係抽出ユニット540によって実現される)。
これにより、テンプレートアクセスユニット330は、テンプレートデータベース360内の新ウィンドウ判定ユニット390/890によって指定されるテンプレートを見つけ出すことができ、送信ユニット350にテンプレートを出力する。
図9と図10は、テンプレート生成段階と実行段階における適用例をそれぞれ示している。
1. ウィンドウ走査ユニット510は、デスクトップ・アプリケーション600のウィンドウ内の各制御要素を走査する。
2. インタフェース情報抽出ユニット520は、制御要素のメタデータ情報(例えば、ボタン制御要素の座標、サイズ、制御ID(control ID)、ハンドル(handles)、テキスト記述など)を抽出する。
図9に示す例は、ユーザ名情報"Tom"のインタフェース記述データ(左の点線ブロックで囲まれる内容)と、"Account View"ボタンのインタフェース記述データ(左の一点鎖線ブロックで囲まれる内容)を示している。
3.UI生成ユニット3510は、自動的にインタフェース記述データをUI記述(例えば、XMLコード、HTMLコード、WMLコードなど)に変換する。
図9に示す例は、ユーザ名前情報"Tom"のインタフェース記述データに基づいて生成された、ユーザ名情報"Tom"のHTMLコード情報(中央の点線ブロックで囲まれる内容)と、"Account View"ボタンのインタフェース記述データに基づいて生成された、テンプレート内の"Account View"ボタンのインタフェース記述データのHTMLコード情報(中央の一点鎖線ブロックで囲まれる内容)を示している。
4.応答関数生成ユニット5320は各インタフェース要素/制御要素に対応する応答関数を追加する。あるインタフェース要素がブラウザで操作されると、その応答関数が呼び起こされて実行され、動作記述データがサーバに送信される。この動作記述データは、動作に関する情報を含む。この動作に関する情報は、例えば、どのような動作がどのインタフェース要素上で実行されたかについての情報、動作を実行するために必要なパラメータの情報等である。
図9に示す例は、"Account View"ボタンの応答関数[onclick=“sendCommand();”]を示している。これにより、最初のテンプレートの生成が完了する。
5. データ型要素定義ユニット5330は、どのようなタイプの制御要素のどの属性がデータ型要素であるかを決定し、データ型要素に処理スクリプトを自動的に追加する。
図9に示す例において、"Welcome"の後のユーザ名情報(左の実線ブロックで囲まれた"Tom")は、データ型要素であり、そのデータ型要素に対する処理スクリプト(右側の点線ブロックで囲まれた内容)が、自動的に生成されている。
1.実行時、デスクトップ・アプリケーション600は、ブラウザ400からの要求に従って操作され、新たなウィンドウがデスクトップ・アプリケーション600に出現する。
2.インタフェース情報抽出ユニット520は、ウィンドウのインタフェース記述データを抽出する。
3.テンプレートアクセスユニット330は、そのウィンドウに対応するテンプレート(すなわち、図9の右側にテンプレート)を見つけ出す。
4.送信ユニット350は、インタフェース記述データと、見つけ出したテンプレートをブラウザ400側に送信する。
5.ブラウザ400側の動的レンダリングユニット410は、テンプレート内のデータ型要素を見つけ出す。
6. 動的レンダリングユニット410は、インタフェース記述データ内のデータ型要素に対応する実際のデータを見つけ出す。
図10に示す例において、実際のデータは“Jarid”である。
7.動的レンダリングユニット410は、データ型要素の値“Tom”を、実際のデータの値“Jarid”で置き換え、ブラウザ400上に提示する最終的なブラウザ・ウェブページ(図10の右側のウェブページ)を生成する。
コンピュータ上で実行された場合、コンピュータ・プログラム・ロジックが関連する操作を提供し、それにより上記のデスクトップ・アプリケーション移行方法を提供する。
コンピュータ・プログラム・ロジックが、コンピュータ装置の少なくとも1つのプロセッサ上で実行されると、コンピュータ・プログラム・ロジックは、プロセッサに本発明の実施の形態において説明したような操作(方法)を実行させる。
本発明のこうした構成は、典型的には、光媒体(例:CD−ROM)などのコンピュータ可読媒体、フロッピーディスクもしくはハードディスク等の各種タイプの媒体上で提供されるか、または符号化されたソフトウェア、コード、またはその他のデータ構造体、1つ以上のROM、RAM、もしくはPROMチップ上のファームウェアもしくはマイクロコード、ダウンロード可能なソフトウェアイメージ、または特定用途向け集積回路(ASIC)あるいは単一もしくは複数モジュール上の共有データベースとして提供される。
ソフトウェアまたはファームウェアの形態をとる構成は、計算装置上にインストールし、当該計算装置内の1つ以上のプロセッサを介して本発明の実施例を実装することができる。ソフトウェアプロセスを、例えば他のエンティティ内のデータ通信装置や計算装置と共に稼働させると、本発明のシステムが提供される。本発明のシステムは、いくつかのソフトウェアプロセスを複数のデータ通信装置間に分散させたり、一連の小型専用コンピュータ上ですべてのソフトウェアプロセスを稼働させたり、あるいは単一のコンピュータ上ですべてのソフトウェアプロセスを稼働させたりすることにより実現することも可能である。
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、
前記インタフェース記述データに基づいて最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットと
を備えることを特徴とするサーバ。
前記ウィンドウ走査ユニットの走査手順に従って前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットをさらに備えることを特徴とする付記1に記載のサーバ。
前記テンプレート生成ユニットが、
前記インタフェース記述データに基づいて所望の静的なページを生成するインタフェース生成ユニットと、
各インタフェース要素/制御要素について対応する応答関数であって、前記インタフェース要素/制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を追加する応答関数生成ユニットと、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含むことを特徴とする付記1又は付記2に記載のサーバ。
前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする付記1から付記3の何れか1項に記載のサーバ。
デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するステップと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
前記インタフェース記述データに基づいて最初のテンプレートを生成するステップと、
当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと
を有することを特徴とするテンプレート生成方法。
前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップをさらに有することを特徴とする付記5に記載のテンプレート生成方法。
最初のテンプレートを生成するステップが、
前記インタフェース記述データに基づいて所望の静的なページを生成するステップと、
各インタフェース要素/制御要素について対応する応答関数追加するステップを含み、
前記インタフェース要素/制御要素が操作されると、前記応答関数が呼び起こされて実行され、サーバに動作記述データを送信することを特徴とする付記5又は付記6に記載のテンプレート生成方法。
どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素が自動的に指定されることを特徴とする付記5から付記7の何れか1項に記載のテンプレート生成方法。
ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、
前記動作記述データに基づいて、前記デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、
前記ブラウザにインタフェース記述データを送信する送信ユニットと
を備えることを特徴とするサーバ。
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記9に記載のサーバ。
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備えることを特徴とする付記10に記載のサーバ。
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記9に記載のサーバ。
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットと、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとをさらに備えることを特徴とする付記12に記載のサーバ。
テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、
サーバが、
ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、
前記動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、
前記インタフェース記述データをブラウザに送信するステップを有し、
前記ブラウザが、
前記インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、
インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する
ことを特徴とするテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記サーバが、
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記14に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記15に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記サーバが、
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記14に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記17に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記データ型要素を充填するステップが、
インタフェース情報内のデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素の値を、インタフェース情報内のデータ型要素の値で置き換えるステップとを含むことを特徴とする付記14から付記18の何れか1項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
前記データ型要素を充填するステップが、
テンプレート内のデータ型要素を位置決めするステップと、
インタフェース情報内の対応するデータ型要素を位置決めするステップと、
テンプレート内のデータ型要素の値を、インタフェース情報内の対応するデータ型要素の値で置き換えるステップとを含むことを特徴とする付記14から付記18の何れか1項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
110:要求解析ユニット
120:データ検索ユニット
130:モジュールアクセスユニット
140:変数割当ユニット
150:送信ユニット
160:テンプレートデータベース
170:データベース
200:ブラウザ
210:レンダリングユニット
300:サーバ
360:テンプレートデータベース
510:ウィンドウ走査ユニット
520:インタフェース情報抽出ユニット
530:テンプレート生成ユニット
5310:インタフェース(UI)生成ユニット
5320:応答関数生成ユニット
5330:データ型要素定義ユニット
600:デスクトップ・アプリケーション
310:要求解析ユニット
330:テンプレートアクセスユニット
350:送信ユニット
360:テンプレートデータベース
380:動作再現ユニット
390:新ウィンドウ判定ユニット
400:ブラウザ
410:動的レンダリングユニット
700:アプリケーション・コンテナ
500:サーバ
540:インタフェースジャンプ関係抽出ユニット
560:インタフェース関係データベース
810:要求解析ユニット
890:新ウィンドウ判定ユニット
900:インタフェース情報比較ユニット
Claims (4)
- デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、
前記インタフェース記述データに基づいてUI記述言語で生成された最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットと、
前記ウィンドウ走査ユニットの走査手順に従って前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとを備え、
前記処理スクリプトは、前記データ型要素に表示するデータを取得するスクリプトである
ことを特徴とするサーバ。 - 前記テンプレート生成ユニットが、
前記インタフェース記述データに基づいて前記最初のテンプレートを生成するインタフェース生成ユニットと、
各インタフェース要素/制御要素について対応する応答関数であって、前記インタフェース要素/制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を、前記最初のテンプレートに追加する応答関数生成ユニットと、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含み、
前記動作記述データは、どのような動作/操作がどのインタフェース要素/制御要素で実行されたかを示す情報である
ことを特徴とする請求項1に記載のサーバ。 - 前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする請求項1又は請求項2に記載のサーバ。
- デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するステップと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
前記インタフェース記述データに基づいてUI記述言語で生成された最初のテンプレートを生成するステップと、
当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと、
前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップとを有し、
前記処理スクリプトは、前記データ型要素に表示するデータを取得するスクリプトである
ことを特徴とするテンプレート生成方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010130159.7 | 2010-03-17 | ||
CN201010130159.7A CN102193953B (zh) | 2010-03-17 | 2010-03-17 | 桌面应用迁移系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011198354A JP2011198354A (ja) | 2011-10-06 |
JP5225399B2 true JP5225399B2 (ja) | 2013-07-03 |
Family
ID=44602032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011012822A Expired - Fee Related JP5225399B2 (ja) | 2010-03-17 | 2011-01-25 | デスクトップ・アプリケーション移行のためのシステムと方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110231784A1 (ja) |
JP (1) | JP5225399B2 (ja) |
CN (1) | CN102193953B (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200976B (zh) * | 2010-03-23 | 2014-11-05 | 日电(中国)有限公司 | 桌面应用转换成网络应用的定制系统和方法 |
US9571332B2 (en) | 2012-04-17 | 2017-02-14 | Adara Networks, Inc. | Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure |
JP2013231448A (ja) | 2012-04-27 | 2013-11-14 | Jtekt Corp | 一方向クラッチ及び発電装置 |
US9219762B2 (en) | 2012-10-30 | 2015-12-22 | Netiq Corporation | Techniques for desktop migration |
US9277017B2 (en) | 2012-10-30 | 2016-03-01 | Netiq Corporation | Techniques for device independent session migration |
JP2014173698A (ja) | 2013-03-12 | 2014-09-22 | Jtekt Corp | クラッチユニットの組立方法 |
JP6142587B2 (ja) | 2013-03-12 | 2017-06-07 | 株式会社ジェイテクト | クラッチユニット及び風力発電装置 |
CN105008716B (zh) | 2013-03-12 | 2018-11-16 | 株式会社捷太格特 | 风力发电设备 |
US20160025073A1 (en) | 2013-03-12 | 2016-01-28 | Jtekt Corporation | Shaft coupling device and wind power generation device |
JP6155713B2 (ja) | 2013-03-12 | 2017-07-05 | 株式会社ジェイテクト | 風力発電装置用の一方向クラッチ及び風力発電装置 |
CN104685470B (zh) * | 2013-06-08 | 2018-11-30 | 苹果公司 | 用于从模板生成用户界面的设备和方法 |
AU2014305816B2 (en) | 2013-08-08 | 2018-11-29 | Oshyn, Inc. | Migrating data for web content management systems |
CN104267947B (zh) * | 2014-09-23 | 2018-06-19 | 广州猎豹网络科技有限公司 | 一种编辑弹窗图片的方法及弹窗图片编辑装置 |
US10185706B2 (en) * | 2014-10-10 | 2019-01-22 | Aktiebolaget Skf | Generating web browser views for applications |
US20160103815A1 (en) * | 2014-10-10 | 2016-04-14 | Dicky Suryadi | Generating mobile web browser views for applications |
CN104317862B (zh) * | 2014-10-15 | 2018-09-18 | 东港股份有限公司 | 一种电子快照处理方法和装置 |
CN106326250B (zh) * | 2015-06-23 | 2020-03-13 | 高德软件有限公司 | 一种信息组织方法及系统 |
US9910651B2 (en) * | 2015-08-31 | 2018-03-06 | Verizon Patent And Licensing Inc. | System for developing, testing, deploying, and managing applications in real-time |
CN106547750B (zh) * | 2015-09-16 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种网站建立方法、装置及计算设备 |
CN105354073B (zh) * | 2015-10-27 | 2018-11-06 | 中通服公众信息产业股份有限公司 | 一种基于安卓系统的单机应用网络化方法和系统 |
US10506017B2 (en) | 2016-05-20 | 2019-12-10 | Adobe Inc. | Manipulation of PDF file content through HTTP requests |
CN107943439B (zh) * | 2016-10-13 | 2021-09-07 | 斑马智行网络(香港)有限公司 | 界面移动方法、装置、智能终端、服务器和操作系统 |
US10782963B2 (en) * | 2017-09-11 | 2020-09-22 | Siemens Industry Software GmbH | Introducing artifact information system and method |
CN109165016A (zh) * | 2018-08-29 | 2019-01-08 | 郑州悉知信息科技股份有限公司 | 网页构建方法和装置 |
CN111240669B (zh) * | 2018-11-28 | 2024-04-12 | 阿里巴巴集团控股有限公司 | 界面生成方法、装置、电子设备及计算机存储介质 |
CN111240677B (zh) * | 2020-01-13 | 2023-09-05 | 浙江吉利汽车研究院有限公司 | 一种机器人可视化界面生成方法、装置及计算机存储介质 |
CN112215923A (zh) * | 2020-10-23 | 2021-01-12 | 北京高途云集教育科技有限公司 | 一种图片生成方法、装置、电子设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3716016B2 (ja) * | 1995-09-13 | 2005-11-16 | 技術研究組合医療福祉機器研究所 | 画面探索インタフェース装置 |
US6854089B1 (en) * | 1999-02-23 | 2005-02-08 | International Business Machines Corporation | Techniques for mapping graphical user interfaces of applications |
JP2002006970A (ja) * | 2000-06-19 | 2002-01-11 | Takasaki Kyodo Keisan Center:Kk | アプリケーションソフトウェア試用システム |
US6978301B2 (en) * | 2000-12-06 | 2005-12-20 | Intelliden | System and method for configuring a network device |
CN1371049A (zh) * | 2001-02-22 | 2002-09-25 | 三慧科技股份有限公司 | 网页应用程序产生器 |
JP2002268882A (ja) * | 2001-03-07 | 2002-09-20 | Fujitsu Ltd | Webアプリケーションシステム、及びプログラム |
US7131063B2 (en) * | 2001-09-13 | 2006-10-31 | International Business Machines Corporation | Method and system for delivering dynamic information in a network |
US7594181B2 (en) * | 2002-06-27 | 2009-09-22 | Siebel Systems, Inc. | Prototyping graphical user interfaces |
JP4326836B2 (ja) * | 2003-05-21 | 2009-09-09 | 株式会社エヌ・ティ・ティ・ドコモ | シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法 |
JP2005321926A (ja) * | 2004-05-07 | 2005-11-17 | Mitsubishi Electric Corp | ホームネットワークシステム |
JP4889338B2 (ja) * | 2006-03-28 | 2012-03-07 | キヤノンソフトウェア株式会社 | 画面プログラムレイアウト変更方法および情報処理装置およびプログラムおよび記録媒体 |
CN100426750C (zh) * | 2006-04-23 | 2008-10-15 | 华为技术有限公司 | 一种生成两套网管系统的方法 |
JP2008282297A (ja) * | 2007-05-14 | 2008-11-20 | Ize:Kk | クライアント・サーバシステム、ウェブosのプログラム、ウェブosの実行方法 |
CN101378400B (zh) * | 2007-08-30 | 2013-01-30 | 国际商业机器公司 | 实现桌面应用和Web应用聚合的方法、服务器和系统 |
US20090125799A1 (en) * | 2007-11-14 | 2009-05-14 | Kirby Nathaniel B | User interface image partitioning |
US7664862B2 (en) * | 2008-01-14 | 2010-02-16 | International Business Machines Corporation | Browser-based proxy server for customization and distribution of existing applications |
JP4626675B2 (ja) * | 2008-05-15 | 2011-02-09 | 村田機械株式会社 | 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ |
-
2010
- 2010-03-17 CN CN201010130159.7A patent/CN102193953B/zh not_active Expired - Fee Related
-
2011
- 2011-01-24 US US13/012,464 patent/US20110231784A1/en not_active Abandoned
- 2011-01-25 JP JP2011012822A patent/JP5225399B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102193953A (zh) | 2011-09-21 |
US20110231784A1 (en) | 2011-09-22 |
JP2011198354A (ja) | 2011-10-06 |
CN102193953B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5225399B2 (ja) | デスクトップ・アプリケーション移行のためのシステムと方法 | |
CN109885311B (zh) | 一种应用程序的生成方法及设备 | |
AU2017210597B2 (en) | System and method for the online editing of pdf documents | |
US10108715B2 (en) | Transformation and presentation of on-demand native application crawling results | |
CN103389895B (zh) | 一种前端页面的生成方法及系统 | |
US20110035435A1 (en) | Method and system for converting desktop application to web application | |
US20110145694A1 (en) | Method and System for Transforming an Integrated Webpage | |
JP2019530921A (ja) | 提示するためのネイティブコンテンツをサーバ側でレンダリングするための方法およびシステム | |
JP6016808B2 (ja) | Webアクセスを実装するための方法およびサーバシステム | |
US20220043546A1 (en) | Selective server-side rendering of scripted web page interactivity elements | |
CN106933887A (zh) | 一种数据可视化方法及装置 | |
US10567472B2 (en) | Manipulation of PDF files using HTML authoring tools | |
EP4055797B1 (en) | Web application component migration to a cloud computing system | |
CN112395027A (zh) | 微件界面生成方法、装置、存储介质与电子设备 | |
WO2023123089A1 (zh) | 内容管理系统、静态页面的管理方法、装置及存储介质 | |
US11604662B2 (en) | System and method for accelerating modernization of user interfaces in a computing environment | |
JPH1115723A (ja) | マルチメディアデータ供給方法及びマルチメディアデータサーバ | |
CN107391175B (zh) | 控件数据配置方法及计算机可读存储介质 | |
JP2010282587A (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
CN116756016A (zh) | 多浏览器测试方法、装置、设备、介质及程序产品 | |
US20060155817A1 (en) | Web services integration systems and methods | |
CN116502005A (zh) | 网络资源配置化生成方法、装置、电子设备及存储介质 | |
CN118152046A (zh) | 一种信息确定方法、装置、设备和计算机可读存储介质 | |
JP2004362343A (ja) | ソースコード変換装置、ソースコード変換方法、およびプログラム | |
CN117251231B (zh) | 一种动画资源处理方法、装置、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130218 |
|
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: 20130304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130312 |
|
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: 20160322 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |