JP5225399B2 - デスクトップ・アプリケーション移行のためのシステムと方法 - Google Patents

デスクトップ・アプリケーション移行のためのシステムと方法 Download PDF

Info

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
Application number
JP2011012822A
Other languages
English (en)
Other versions
JP2011198354A (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.)
NEC China Co Ltd
Original Assignee
NEC China Co 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 NEC China Co Ltd filed Critical NEC China Co Ltd
Publication of JP2011198354A publication Critical patent/JP2011198354A/ja
Application granted granted Critical
Publication of JP5225399B2 publication Critical patent/JP5225399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation 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)を改めて開発するとすると、開発コストが余りに高くなり、もとのシステムの浪費を引き起こす。従って、高性能なデスクトップ・アプリケーション移行方法が望まれている。
ここで、「デスクトップ・アプリケーション移行」の意味は、移行手段によって、少ない開発量でウェブ・アプリケーションを完成させるために、既存のデスクトップ・アプリケーションとそのリソースを用いることである。ウェブ・アプリケーションのインタフェースと機能は基本的には既存のデスクトップ・アプリケーションのそれらと同じである。
「移行」の意味は、既存のデスクトップ・アプリケーションが実行されており、かつ、それらのインタフェースが、ウェブページ形式(あるいは、他のネットワーク・クライアントが表示できる他の形式)でユーザに提供するために再描画されることである。ユーザがウェブページ上で操作を実行した後、その操作は対応する機能を達成するためにデスクトップ・アプリケーション上で再現される。その後、更新後のインタフェースが再描画され、ユーザに提示される。
これにより、開発者は、デスクトップ・アプリケーションのデータアクセス、論理フロー、アルゴリズム実装等の機能実現の詳細を考慮することなく、短期間でウェブ・アプリケーションを開発することが可能になる。
現在、デスクトップ・アプリケーションをウェブ・アプリケーションに移行するための方法として、主に2つの方法がある。
1つの方法は、デスクトップ・アプリケーションのリアルタイムGUI(Graphic User Interface)インタフェース情報(例えば、インタフェースのスクリーンショット、各インタフェース要素/制御要素の必要な属性情報等)に従って対応するウェブページを生成するという方法である。この方法の問題点は、全てのウェブページ要素を生成するため、多くの時間を消費するという点である。
別の方法は、オフラインで(すなわち、事前に)ウェブページのテンプレートを作成し、テンプレートに基づいてウェブページを迅速に生成するという方法である。この方法は、上記の方法と比較して、より効果的な解決策である。
特許文献1(CN 1555534A)は、ネットワーク内の動的な情報を配信するための方法とシステムを開示する。この方法では、要求を受信した後、ネットワーク・サーバが対応するテンプレートと動的なデータを検索し、次に、ブラウザにそれらを送信する。ブラウザは動的な情報を提示する。
具体的には、図1は、特許文献1に開示されるシステムの構成を示すブロック図である。図1に示すように、各モジュールは以下の機能を有する。
・要求解析ユニット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上に動的なウェブページを提示(表示)する。
図2は、特許文献1に開示されるテンプレートの具体例を示す。図2に示すように、テンプレートは、表示部分とデータ部分から成る。表示部分はテンプレートの主要部分であり、プログラマによって予め記述されている。
表示部分の可変部分は、変数(点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2")によって表わされる。
データ部分は変数割当ユニット140によって充填される。
データベース700から検索された特定のデータは、表示部分に存在する対応する変数(点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2")と置き換えられる。
図2において、ブラウザ200は、変数"Table1.msg1"と"Table1.msg2"
を特定のデータで以下のように置き換える。
・「Table1.msg1」をmsg1で置き換える。
・「Table1.msg2」をmsg2で置き換える。
CN 1555534A
しかしながら、特許文献1に記載される既存の方法は以下のような問題点を有する。
1.新たなウェブ・アプリケーションを開発するのではなく、既存のデスクトップ・アプリケーションに基づいてウェブ・アプリケーションを実現する場合(ウェブ・アプリケーションのインタフェースと機能の全部あるいは大部分がデスクトップ・アプリケーションのそれと同じである場合、すなわち、本明細書で定義する”デスクトップ・アプリケーション移行”の場合)、プログラマはテンプレートをすべて手作業で仕上げなければならず、特にベージが多い場合に、開発効率が非常に低くなる。
2.通常、ウェブ・アプリケーションの開発者は、デスクトップ・アプリケーションのデータベースを取得することができず、このため、直接データ情報を抽出することができず、情報を利用してテンプレートに補充することができない。
本発明の目的は、関連技術における上記課題を解決するデスクトップ・アプリケーション移行のためのシステムと方法を提供することにある。
本発明は、開発段階と実際の実行段階に分けられる。
開発段階においては、各ウィンドウのインタフェース記述データは、デスクトップ・アプリケーションの全てのウィンドウを走査(走査)することにより抽出される。最初のテンプレートは、各ウィンドウのインタフェース記述データを用いて半自動的に生成される。最初のテンプレートに基づき、手作業及び/又はルールに従って、どの部分が「データ型インタフェース要素」であるか指定され、最終的なテンプレートが形成される。
実際の実行段階においては、デスクトップ・アプリケーションのインタフェース記述データがリアルタイムに取得され、そのインタフェース記述データから「データ型インタフェース要素」の値と属性情報が抽出され、最終的に提示されるウェブページを形成するために、テンプレートに充填される。
本発明の第1の態様によれば、サーバは、デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、インタフェース記述データに基づいて最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットとを含む。
好ましくは、サーバが、ウィンドウ走査ユニットの走査手順に従ってデスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットをさらに含む。
好ましくは、テンプレート生成ユニットが、インタフェース記述データに基づいて所望の静的なページを生成するインタフェース生成ユニットと、各インタフェース要素/制御要素について対応する応答関数であって、インタフェース要素/制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を追加する応答関数生成ユニットと、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含む。
好ましくは、テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定する。
本発明の第2の態様によれば、デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するステップと、デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、インタフェース記述データに基づいて最初のテンプレートを生成するステップと、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップとを含む。
好ましくは、デスクトップ・アプリケーション移行のためのテンプレート生成方法は、デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップをさらに含む。
好ましくは、最初のテンプレートを生成するステップが、インタフェース記述データに基づいて所望の静的なページを生成するステップと、各インタフェース要素/制御要素について対応する応答関数追加するステップを含み、インタフェース要素/制御要素が操作されると、応答関数が呼び起こされて実行され、サーバに動作記述データを送信する。
好ましくは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素が自動的に指定される。
本発明の第3の態様によれば、サーバは、ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、動作記述データに基づいて、デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、ブラウザにインタフェース記述データを送信する送信ユニットとを含む。
好ましくは、サーバが、インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、送信ユニットは、検索されたテンプレートをブラウザに送信する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備える。
好ましくは、サーバが、動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、送信ユニットは、検索されたテンプレートをブラウザに送信する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットと、最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとをさらに備える。
本発明の第4の態様によれば、テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、サーバが、ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、インタフェース記述データをブラウザに送信するステップを有し、ブラウザが、インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する。
好ましくは、テンプレートに基づいたデスクトップ・アプリケーション移行方法において、サーバが、インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定し、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、検索されたテンプレートをブラウザに送信し、ブラウザが、インタフェース情報に従って受信したテンプレートにデータ型要素を充填する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、最終的なテンプレートをブラウザに送信する。
好ましくは、テンプレートに基づいたデスクトップ・アプリケーション移行方法において、サーバが、動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定し、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、検索されたテンプレートをブラウザに送信し、ブラウザが、インタフェース情報に従って受信したテンプレートにデータ型要素を充填する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納し、最終的なテンプレートをブラウザに送信する。
好ましくは、データ型要素を充填するステップが、インタフェース情報内のデータ型要素を位置決めするステップと、テンプレート内の対応するデータ型要素を位置決めするステップと、テンプレート内の対応するデータ型要素の値を、インタフェース情報内のデータ型要素の値で置き換えるステップとを含む。
また、好ましくは、データ型要素を充填するステップが、テンプレート内のデータ型要素を位置決めするステップと、インタフェース情報内の対応するデータ型要素を位置決めするステップと、テンプレート内のデータ型要素の値を、インタフェース情報内の対応するデータ型要素の値で置き換えるステップとを含む。
関連技術と比較し、本発明は少なくとも以下の効果を有する。
半自動的にテンプレートを生成することにより、新たなウェブ・アプリケーションの開発効率を著しく改善すると共に、開発コストを低減する。
本発明の上記および他の目的、特徴、並びに効果は、図面を参照して説明された下記の好適な実施例からさらに明らかになるであろう。
特許文献1(CN 1555534A)に開示されるシステムのブロック図である。 特許文献1(CN 1555534A)に開示されるテンプレートの具体例を示す図である。 本発明の第1の本実施の形態による、テンプレート生成段階におけるサーバ300の構成例を示すブロック図である。 本発明の第1の実施の形態による、実行段階におけるサーバ300とブラウザ400の構成例を示すブロック図である。 本発明の第2の本実施の形態による、テンプレート生成段階におけるサーバ300の構成例を示すブロック図である。 本発明の第2の本実施の形態による、実行段階におけるサーバ500とブラウザ400の構成例を示すブロック図である。 本発明の第1の実施の形態による、実行段階における改良されたサーバ300とブラウザ400の構成例を示すブロック図である。 本発明の第2の実施の形態による、実行段階における改良されたサーバ500とブラウザ400の構成例を示すブロック図である。 テンプレート生成段階における適用例を示す図である。 実行段階における適用例を示す図である。 これらの図では、同一もしくは類似の構造およびステップは同一もしくは類似の参照番号によって示している。
以下、本発明について、図面に示される実施の形態を参照してより詳細に説明する。しかし、以下の説明は、あくまで例示であり、本発明を限定するものとして理解してはならない。さらに、以下の説明において、本発明の概念を不明瞭にしないように、周知の構成と技術に関する説明を省略している。
(第1の実施の形態)
第1の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、テンプレート生成段階(開発段階)と実際の実行段階を含む。以下、この実施の形態について、図3と図4を参照して詳細に説明する。
図3は、本実施の形態による、テンプレート生成段階におけるサーバ300の構成例を示すブロック図である。
図3に示すように、サーバ300は、サーバ300側にインストールされたデスクトップ・アプリケーション600と、ウィンドウ走査ユニット510と、インタフェース情報抽出ユニット520と、テンプレート生成ユニット530およびテンプレートデータベース360を含む。
テンプレート生成段階中、デスクトップ・アプリケーション600は、ウィンドウ走査ユニット510からの指示に従って対応する操作を実行し、対応する出力(ウィンドウ、応答情報など)を返す。
ウィンドウ走査ユニット510は、デスクトップ・アプリケーション600の全てのウィンドウ、メニュー項目および/またはダイアログ・ボックスを走査するために用いられる。走査処理は、手作業あるいは半自動で実現される。
例えば、ウィンドウ走査ユニット510は、メイン・ウィンドウ中のそれぞれ操作可能な制御要素を一つずつ操作し、それぞれの子ウィンドウを取得する。
デスクトップ・アプリケーション600のウィンドウがすべてくまなく調べられるまで、その処理が繰り返される。
インタフェース情報抽出ユニット520は、デスクトップ・アプリケーション600から各ウィンドウのインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
インタフェース記述データは、XML、HTML、WMLなどの記述言語のフォーマットを用いることが可能である。しかし、本発明は、それらのフォーマットに限定されない。
テンプレート生成ユニット530は、テンプレートを生成し、それらをテンプレートデータベース360に格納するために用いる。
テンプレートデータベース360は、生成されたテンプレートを半自動的に格納するために用いる。
テンプレート生成ユニット530は、インタフェース(UI)生成ユニット5310と、応答関数生成ユニット5320と、データ型要素定義ユニット5330とをさらに含んでいる。
UI生成ユニット5310は、XMLウェブページ、HTMLウェブページ、WMLウェブページなどのインタフェース記述データに基づいて所望の静的なページを生成する。Flashファイルなどの、ウェブ・クライアントで提示されるどのような表現形式も生成することが可能であることは勿論である。
応答関数生成ユニット5320は、各インタフェース要素/制御要素について対応する応答関数を追加する。あるインタフェース要素が操作されると、その応答関数が呼び起こされ、サーバ300に動作記述データを送信する。動作記述データは、動作に関する情報を含む。この動作に関する情報は、例えば、どのような動作がどのインタフェース要素上で実行されたかについての情報、動作を実行するために必要なパラメータの情報等である。
データ型要素定義要素5330は、テンプレートのデータ部分を定義するために用いる。データ部分は動的な部分を指し、実行時におけるデスクトップ・アプリケーション600の実際の状況に従って生成される。データ型要素定義要素5330は、構成ファイルの情報に基づいて、どのようなタイプの制御要素のどの属性がデータ型要素であるかを自動的に決定する。例えば、構成ファイルの例をテーブル1に示す。
Figure 0005225399
例えば、テーブル1に示されるテキスト要素構成ファイルの全ての属性「enabled」、「hasfocus」、「visible」、「text」、「caption」、「selectionlength」、「selectionstart」、「selectiontext」及び「protected」はデータ部分(すなわち、データ型要素)である。
もちろん、構成ファイルは、テンプレート生成段階の前、あるいはその段階中に、手作業で編集し、修正することが可能である。
あるいは、データ型要素定義ユニット5330は、オペレータが手作業でどの要素がデータ型要素であるかを指定することを要求することも可能である。
データ型要素定義ユニット5330は、データ部分に対して処理スクリプトを自動的に追加する。その結果、処理スクリプトは、対応するデータ型要素をデスクトップ・アプリケーション600のウィンドウ上の実際の情報で置き換える。
図4は、本実施の形態による、実行段階におけるサーバ300とブラウザ400の構成例を示すブロック図である。
図4に示すように、サーバ300は、サーバ300にインストールされたデスクトップ・アプリケーション600と、要求解析ユニット310と、動作再現ユニット380と、インタフェース情報抽出ユニット520と、新ウィンドウ判定ユニット390と、テンプレートアクセスユニット330と、テンプレートデータベース360および送信ユニット350を含む。ブラウザ400は主に動的レンダリングユニット410を含む。
実行段階中に、要求解析ユニット310は、ブラウザ400からのHTTP要求(URL)を解析して、HTTP要求に含まれる動作記述データを取得する。
サーバ300側に設けられたデスクトップ・アプリケーション600と、動作再現ユニット380およびインタフェース情報抽出ユニット520は、デスクトップ・アプリケーション600の操作を再現するために、サーバ側にアプリケーション・コンテナ700を構成する。
動作再現ユニット380は、要求解析ユニット310によって解析された動作記述データをデスクトップ・アプリケーション600に対するコマンドに変換し、ブラウザ400(リモート)上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション600を作動する。
インタフェース情報抽出ユニット520は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション600から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
新ウィンドウ判定ユニット390は、インタフェース情報抽出ユニット520からのインタフェース記述データに基づいて新たなウィンドウがポップアップしているかどうかを判定する。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット390は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット330に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット390はいかなる動作も実行する必要はない。
テンプレートアクセスユニット330は、新ウィンドウ判定ユニット390によって指定されたテンプレートについてテンプレートデータベース360を検索し、送信ユニット350に取得したテンプレートを出力するために用いる。
送信ユニット350は、インタフェース情報抽出ユニット520からのインタフェース記述データ、及び/又は、テンプレートアクセスユニット330からのテンプレートを、ブラウザ400に送信するために用いる。
ブラウザ400の動的レンダリングユニット410は、インタフェース記述データを解析し、テンプレート中のデータ部分に充填するために対応するインタフェース情報を抽出する。この動的レンダリングユニット410は、インタフェース情報内のデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の値をインタフェース情報内のデータ型要素の値で置き換えるステップを含む。
上記の2つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
(第2の実施の形態)
第2の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、同様に、テンプレート生成段階と実行段階を含む。以下、この実施の形態について、図5と図6を参照して詳細に説明する。
図5は、本実施の形態による、テンプレート生成段階におけるサーバ300の構成例を示すブロック図である。
図5に示すように、サーバ500は、サーバ500側にインストールされたデスクトップ・アプリケーション600と、ウィンドウ走査ユニット510と、インタフェース情報抽出ユニット520と、テンプレート生成ユニット530およびテンプレートデータベース360を含む。上記ユニットと構成要素は、第1の実施の形態において説明したそれぞれのユニットと同じ機能と動作を有する。従って、上記ユニットについての説明は省略する。加えて、サーバ500は、さらにインタフェースジャンプ関係抽出ユニット540と、インタフェース関係データベース560を備えている。
テンプレート生成段階中、第1の実施の形態で説明した動作と同じ動作に加えて、インタフェースジャンプ関係抽出ユニット540が、ウィンドウ走査ユニット510の走査プロセスに基づいてそれぞれの操作ウィンドウ間のジャンプ関係を自動的に記録し、そのジャンプ関係をインタフェース関係データベース560に格納する。
例えば、ウィンドウ走査ユニット510が、ある操作中に、ウィンドウBをポップアップするためにウィンドウA上の制御要素Xをクリックすると、ウィンドウAとB間の制御要素Xについてのジャンプ関係が記録される。例えば、インタフェース関係データベース560に格納されるそのインタフェースジャンプ関係は、テーブル2に示すようになる。テーブル2では、さらに他のインタフェースジャンプ関係の例も示している。
Figure 0005225399
勿論、インタフェース関係データベース560も、それぞれのウィンドウ/インタフェース/ページ間のジャンプ関係を記録するために、手作業であるいは半自動的に生成することが可能である。
図6は、本実施の形態による、実行段階におけるサーバ500とブラウザ400の構成例を示すブロック図である。
図6に示すように、サーバ500は、サーバ500にインストールされたデスクトップ・アプリケーション600と、要求解析ユニット810と、動作再現ユニット380と、インタフェース情報抽出ユニット520と、新ウィンドウ判定ユニット890と、インタフェース関係データベース560と、テンプレートアクセスユニット330と、テンプレートデータベース360および送信ユニット350を含む。ブラウザ400は、主に動的レンダリングユニット410を含む。
実行段階中に、要求解析ユニット810は、ブラウザ400からのHTTP要求(URL)を解析して、HTTP要求に含まれる動作記述データを取得する。
サーバ500側に設けられたデスクトップ・アプリケーション600と、動作再現ユニット380およびインタフェース情報抽出ユニット520は、デスクトップ・アプリケーション600の操作を再現するために、サーバ側にアプリケーション・コンテナ700を構成する。
動作再現ユニット380は、要求解析ユニット810によって解析された動作記述データをデスクトップ・アプリケーション600に対するコマンドに変換し、ブラウザ400(リモート)上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション600を作動する。
インタフェース情報抽出ユニット520は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション600から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
新ウィンドウ判定ユニット890は、要求解析ユニット810によって解析された動作記述データに基づいて、インタフェース関係データベース560に格納されたウィンドウ/インタフェース/ページ間のジャンプ関係を問い合わせ、新たなウィンドウがポップアップしているかどうかを判定する。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット890は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット330に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット390はいかなる動作も実行する必要はない。
テンプレートアクセスユニット330は、新ウィンドウ判定ユニット390によって指定されたテンプレートについてテンプレートデータベース360を検索し、送信ユニット350に取得したテンプレートを出力するために用いる。
送信ユニット350は、インタフェース情報抽出ユニット520からのインタフェース記述データ、及び/又は、テンプレートアクセスユニット330からのテンプレートを、ブラウザ400に送信するために用いる。
ブラウザ400の動的レンダリングユニット410は、インタフェース記述データを解析し、テンプレート中のデータ部分に補充するために対応するインタフェース情報を抽出する。この動的レンダリングユニット410は、インタフェース情報内のデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の値をインタフェース情報内のデータ型要素の値で置き換えるステップを含む。
上記の2つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
(第1と第2実施の形態の改良1)
上記の第1と第2の実施の形態は、テンプレートに基づくデスクトップ・アプリケーション移行のためのシステムと方法を良好に実現する。
同時に、発明者は、ほとんどの状況において、インタフェース記述データがユーザの操作に応じて毎回僅かに変化することに着目した。データ送信量とネットワーク負荷を軽減し、かつユーザの手間を改善するために、変化したインタフェース記述データだけを送信することが可能である。
そのため、第1と第2の実施の形態において、インタフェース情報比較ユニット900を、現在のインタフェース記述データを前のインタフェース記述データと比較するために導入する。これにより、送信ユニット350に変化したインタフェース記述データを提供する。
図7と図8は、本発明の第1と第2実施の形態による、実行段階における改良されたサーバ300/500とブラウザ400の構成例を示すブロック図である。
インタフェース情報比較ユニット900は、インタフェース情報抽出ユニット530と送信ユニット350の間に位置し、送信ユニット350に変化したインタフェース記述データだけを提供するために、インタフェース情報抽出ユニット520によって今回提供された現在のインタフェース記述データを、インタフェース情報抽出ユニット520によって以前に提供されたインタフェース記述データと比較するよう適合されている。
この場合、ブラウザ400の動的レンダリングユニット410は、変化したインタフェース記述データに対応するテンプレート内のデータ部分を更新するだけであり、テンプレート内の残りのデータ部分は、以前に充填された値を維持する。
(第1と第2実施の形態の改良2)
更に、実行段階において、インタフェース/ウィンドウがトレーニングされない場合がある。
すなわち、テンプレートアクセスユニット330が、新ウィンドウ判定ユニット390/890によって指定されたテンプレートを見つけ出すことができない。これは、現在のテンプレートデータベース360がまだ完全でないことを示しており、さらなるトレーニングとテンプレート生成が必要である。
この場合、本発明によるデスクトップ・アプリケーション移行のための方法を首尾よく実行させるために、テンプレートを生成するステップの一部を追加する(すなわち、テンプレート生成ユニット530がインタフェース情報抽出ユニット520からのインタフェース記述データに基づいて最終的なテンプレートを生成する)。これにより、現在不足しているテンプレートをリアルタイムに生成し、テンプレートデータベース360(第1と第2実施の形態)にテンプレートを格納する。
同時に、テンプレートに関するウィンドウ間のジャンプ関係は、インタフェース関係データベース560に格納される(第2の実施の形態、インタフェースジャンプ関係抽出ユニット540によって実現される)。
これにより、テンプレートアクセスユニット330は、テンプレートデータベース360内の新ウィンドウ判定ユニット390/890によって指定されるテンプレートを見つけ出すことができ、送信ユニット350にテンプレートを出力する。
(適用例)
図9と図10は、テンプレート生成段階と実行段階における適用例をそれぞれ示している。
図9に示すように、テンプレート生成段階においては、
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")は、データ型要素であり、そのデータ型要素に対する処理スクリプト(右側の点線ブロックで囲まれた内容)が、自動的に生成されている。
図10に示すように、実行段階においては、
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又は付記2に記載のサーバ。
(付記4)
前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする付記1から付記3の何れか1項に記載のサーバ。
(付記5)
デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するステップと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
前記インタフェース記述データに基づいて最初のテンプレートを生成するステップと、
当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと
を有することを特徴とするテンプレート生成方法。
(付記6)
前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップをさらに有することを特徴とする付記5に記載のテンプレート生成方法。
(付記7)
最初のテンプレートを生成するステップが、
前記インタフェース記述データに基づいて所望の静的なページを生成するステップと、
各インタフェース要素/制御要素について対応する応答関数追加するステップを含み、
前記インタフェース要素/制御要素が操作されると、前記応答関数が呼び起こされて実行され、サーバに動作記述データを送信することを特徴とする付記5又は付記6に記載のテンプレート生成方法。
(付記8)
どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素が自動的に指定されることを特徴とする付記5から付記7の何れか1項に記載のテンプレート生成方法。
(付記9)
ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、
前記動作記述データに基づいて、前記デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、
前記ブラウザにインタフェース記述データを送信する送信ユニットと
を備えることを特徴とするサーバ。
(付記10)
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記9に記載のサーバ。
(付記11)
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備えることを特徴とする付記10に記載のサーバ。
(付記12)
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記9に記載のサーバ。
(付記13)
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットと、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとをさらに備えることを特徴とする付記12に記載のサーバ。
(付記14)
テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、
サーバが、
ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、
前記動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、
前記インタフェース記述データをブラウザに送信するステップを有し、
前記ブラウザが、
前記インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、
インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する
ことを特徴とするテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記15)
前記サーバが、
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記14に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記16)
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記15に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記17)
前記サーバが、
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記14に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記18)
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記17に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記19)
前記データ型要素を充填するステップが、
インタフェース情報内のデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素の値を、インタフェース情報内のデータ型要素の値で置き換えるステップとを含むことを特徴とする付記14から付記18の何れか1項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
(付記20)
前記データ型要素を充填するステップが、
テンプレート内のデータ型要素を位置決めするステップと、
インタフェース情報内の対応するデータ型要素を位置決めするステップと、
テンプレート内のデータ型要素の値を、インタフェース情報内の対応するデータ型要素の値で置き換えるステップとを含むことを特徴とする付記14から付記18の何れか1項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
100:サーバ
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)

  1. デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、
    デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、
    前記インタフェース記述データに基づいてUI記述言語で生成された最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットと
    前記ウィンドウ走査ユニットの走査手順に従って前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとを備え
    前記処理スクリプトは、前記データ型要素に表示するデータを取得するスクリプトである
    ことを特徴とするサーバ。
  2. 前記テンプレート生成ユニットが、
    前記インタフェース記述データに基づいて前記最初のテンプレートを生成するインタフェース生成ユニットと、
    各インタフェース要素/制御要素について対応する応答関数であって、前記インタフェース要素/制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を、前記最初のテンプレートに追加する応答関数生成ユニットと、
    最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含み、
    前記動作記述データは、どのような動作/操作がどのインタフェース要素/制御要素で実行されたかを示す情報である
    ことを特徴とする請求項1に記載のサーバ
  3. 前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする請求項1又は請求項2に記載のサーバ
  4. デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
    デスクトップ・アプリケーションのウィンドウ、メニュー項目及び/又はダイアログ・ボックスを全て走査するステップと、
    デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
    前記インタフェース記述データに基づいてUI記述言語で生成された最初のテンプレートを生成するステップと、
    当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に対応する処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと、
    前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップとを有し、
    前記処理スクリプトは、前記データ型要素に表示するデータを取得するスクリプトである
    ことを特徴とするテンプレート生成方法
JP2011012822A 2010-03-17 2011-01-25 デスクトップ・アプリケーション移行のためのシステムと方法 Expired - Fee Related JP5225399B2 (ja)

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 (26)

* Cited by examiner, † Cited by third party
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 一方向クラッチ及び発電装置
US9277017B2 (en) 2012-10-30 2016-03-01 Netiq Corporation Techniques for device independent session migration
US9219762B2 (en) 2012-10-30 2015-12-22 Netiq Corporation Techniques for desktop migration
JP2014173698A (ja) 2013-03-12 2014-09-22 Jtekt Corp クラッチユニットの組立方法
JP6155713B2 (ja) 2013-03-12 2017-07-05 株式会社ジェイテクト 風力発電装置用の一方向クラッチ及び風力発電装置
JP6142587B2 (ja) 2013-03-12 2017-06-07 株式会社ジェイテクト クラッチユニット及び風力発電装置
US20160025073A1 (en) 2013-03-12 2016-01-28 Jtekt Corporation Shaft coupling device and wind power generation device
WO2014141940A1 (ja) 2013-03-12 2014-09-18 株式会社ジェイテクト 風力発電装置
CN104685470B (zh) * 2013-06-08 2018-11-30 苹果公司 用于从模板生成用户界面的设备和方法
DK3030973T3 (da) 2013-08-08 2020-05-11 Oshyn Inc Migrering af data til web indholdsstyringssystem
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 浙江吉利汽车研究院有限公司 一种机器人可视化界面生成方法、装置及计算机存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
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 村田機械株式会社 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ

Also Published As

Publication number Publication date
CN102193953A (zh) 2011-09-21
CN102193953B (zh) 2017-04-12
JP2011198354A (ja) 2011-10-06
US20110231784A1 (en) 2011-09-22

Similar Documents

Publication Publication Date Title
JP5225399B2 (ja) デスクトップ・アプリケーション移行のためのシステムと方法
AU2017210597B2 (en) System and method for the online editing of pdf documents
US10108715B2 (en) Transformation and presentation of on-demand native application crawling results
US8549395B2 (en) Method and system for transforming an integrated webpage
US8700988B2 (en) Selectively interpreted portal page layout template
US20110035435A1 (en) Method and system for converting desktop application to web application
JP2019530921A (ja) 提示するためのネイティブコンテンツをサーバ側でレンダリングするための方法およびシステム
JP2011511974A (ja) ブラウザ・ベースのプロキシ・サーバを使用した既存アプリケーションをカスタマイズおよび配布するための方法、システム、およびコンピュータ・プログラム(既存アプリケーションをカスタマイズおよび配布するためのブラウザ・ベースのプロキシ・サーバ)
JP6016808B2 (ja) Webアクセスを実装するための方法およびサーバシステム
CN106951270B (zh) 一种代码处理方法、系统及服务器
WO2023123089A1 (zh) 内容管理系统、静态页面的管理方法、装置及存储介质
US10567472B2 (en) Manipulation of PDF files using HTML authoring tools
US9772986B2 (en) Transforming HTML forms into mobile native forms
CN112395027A (zh) 微件界面生成方法、装置、存储介质与电子设备
US20220043546A1 (en) Selective server-side rendering of scripted web page interactivity elements
CN107391175B (zh) 控件数据配置方法及计算机可读存储介质
CN111797340B (zh) 一种自定义提取流程的服务封装系统
JP5267342B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法
JPH1115723A (ja) マルチメディアデータ供給方法及びマルチメディアデータサーバ
US8321535B2 (en) Web services integration systems and methods
JP2004362343A (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
CN117251231B (zh) 一种动画资源处理方法、装置、系统及电子设备
US11886381B2 (en) Meta-format and technique to produce tutorials for multiple publishing formats
CN114996345B (zh) 基于ogc网络处理服务的在线服务组合方法
JP2000076057A (ja) デ―タ処理システムにおいてデ―タにアクセスするための方法および装置

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