(57)【要約】【課題】  デスクトップ・アプリケーション移行のためのシステムと方法を提供する。【解決手段】  開発段階において、各ウィンドウのインタフェース記述データは、デスクトップ・アプリケーションの全てのウィンドウを走査（走査）することにより抽出される。最初のテンプレートは、各ウィンドウのインタフェース記述データを用いて半自動的に生成される。最初のテンプレートに基づき、手作業及び／又はルールに従って、どの部分が「データ型インタフェース要素」であるか指定され、最終的なテンプレートが形成される。実際の実行段階において、デスクトップ・アプリケーションのインタフェース記述データがリアルタイムに取得され、そのインタフェース記述データから「データ型インタフェース要素」の値と属性情報が抽出され、最終的に提示されるウェブページを形成するために、テンプレートに充填される。【選択図】  図４
2011198354.tif 000002
【特許請求の範囲】
【請求項１】
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、
前記インタフェース記述データに基づいて最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットと
を備えることを特徴とするサーバ。
【請求項２】
前記ウィンドウ走査ユニットの走査手順に従って前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットをさらに備えることを特徴とする請求項１に記載のサーバ。
【請求項３】
前記テンプレート生成ユニットが、
前記インタフェース記述データに基づいて所望の静的なページを生成するインタフェース生成ユニットと、
各インタフェース要素／制御要素について対応する応答関数であって、前記インタフェース要素／制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を追加する応答関数生成ユニットと、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含むことを特徴とする請求項１又は請求項２に記載のサーバ。
【請求項４】
前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする請求項１から請求項３の何れか１項に記載のサーバ。
【請求項５】
デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するステップと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
前記インタフェース記述データに基づいて最初のテンプレートを生成するステップと、
当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと
を有することを特徴とするテンプレート生成方法。
【請求項６】
ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、
前記動作記述データに基づいて、前記デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、
前記ブラウザにインタフェース記述データを送信する送信ユニットと
を備えることを特徴とするサーバ。
【請求項７】
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする請求項６に記載のサーバ。
【請求項８】
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備えることを特徴とする請求項７に記載のサーバ。
【請求項９】
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする請求項６に記載のサーバ。
【請求項１０】
テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、
サーバが、
ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、
前記動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、
前記インタフェース記述データをブラウザに送信するステップを有し、
前記ブラウザが、
前記インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、
インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する
ことを特徴とするテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータアプリケーション移行の分野に関し、特に、テンプレートに基づくデスクトップ・アプリケーション移行のためのシステムと方法に関する。
【背景技術】
【０００２】
クラウドコンピューティングとインターネットの発展に伴い、人々は、何時でも何処でもサービスにアクセスすることを望むようになっている。しかしながら、既存の多くのデスクトップ・アプリケーション（スタンド・アロンのアプリケーション或いはクライアント・サーバ版アプリケーション）は、サービスを何時でも何処でも提供するというよりむしろ、対応する操作を実行する前にユーザがまずクライアントをインストールすべきことを要求する。
既存のシステムを廃棄し、同じ一連の機能を有するシステムのブラウザ−サーバ版（browser-server
version）を改めて開発するとすると、開発コストが余りに高くなり、もとのシステムの浪費を引き起こす。従って、高性能なデスクトップ・アプリケーション移行方法が望まれている。
【０００３】
ここで、「デスクトップ・アプリケーション移行」の意味は、移行手段によって、少ない開発量でウェブ・アプリケーションを完成させるために、既存のデスクトップ・アプリケーションとそのリソースを用いることである。ウェブ・アプリケーションのインタフェースと機能は基本的には既存のデスクトップ・アプリケーションのそれらと同じである。
【０００４】
「移行」の意味は、既存のデスクトップ・アプリケーションが実行されており、かつ、それらのインタフェースが、ウェブページ形式（あるいは、他のネットワーク・クライアントが表示できる他の形式）でユーザに提供するために再描画されることである。ユーザがウェブページ上で操作を実行した後、その操作は対応する機能を達成するためにデスクトップ・アプリケーション上で再現される。その後、更新後のインタフェースが再描画され、ユーザに提示される。
これにより、開発者は、デスクトップ・アプリケーションのデータアクセス、論理フロー、アルゴリズム実装等の機能実現の詳細を考慮することなく、短期間でウェブ・アプリケーションを開発することが可能になる。
【０００５】
現在、デスクトップ・アプリケーションをウェブ・アプリケーションに移行するための方法として、主に２つの方法がある。
【０００６】
１つの方法は、デスクトップ・アプリケーションのリアルタイムＧＵＩ（Graphic User Interface）インタフェース情報（例えば、インタフェースのスクリーンショット、各インタフェース要素／制御要素の必要な属性情報等）に従って対応するウェブページを生成するという方法である。この方法の問題点は、全てのウェブページ要素を生成するため、多くの時間を消費するという点である。
【０００７】
別の方法は、オフラインで（すなわち、事前に）ウェブページのテンプレートを作成し、テンプレートに基づいてウェブページを迅速に生成するという方法である。この方法は、上記の方法と比較して、より効果的な解決策である。
【０００８】
特許文献１（ＣＮ  １５５５５３４Ａ）は、ネットワーク内の動的な情報を配信するための方法とシステムを開示する。この方法では、要求を受信した後、ネットワーク・サーバが対応するテンプレートと動的なデータを検索し、次に、ブラウザにそれらを送信する。ブラウザは動的な情報を提示する。
【０００９】
具体的には、図１は、特許文献１に開示されるシステムの構成を示すブロック図である。図１に示すように、各モジュールは以下の機能を有する。
・要求解析ユニット１１０：サーバ１００側に設けられ、ブラウザ２００からＨＴＴＰ要求（ＵＲＬ）を解析し、ブラウザ２００が要求するものがどの動的なウェブページであるかを識別する。
・データ検索ユニット１２０：サーバ１００側に設けられ、要求解析ユニット１１０の解析結果に基づいて、関連するデータについてデータベース１７０を検索する。検索されたデータがウェブページ内の動的な部分を生成するために用いられる。
・モジュールアクセスユニット１３０：サーバ１００側に設けられ、要求解析ユニット１１０の解析結果に基づいて要求された特定のテンプレートを取得する。
・変数割当ユニット１４０：サーバ１００側に設けられ、モジュールアクセスユニット１３０によって取得した特定のテンプレート内の変数を割り当てる。すなわち、データ検索ユニット１２０によって検索された特定のデータを、モジュールアクセスユニット１３０によって取得した特定のテンプレート内の変数に割り当てる。
・送信ユニット１４０：サーバ１００側に設けられ、ブラウザ２００から送信されたＨＴＴＰ要求（ＵＲＬ）に対する応答として、割り当てられたテンプレートをブラウザ２００に送る。
・レンダリングユニット２１０：ブラウザ２００側に設けられ、ブラウザ２００上に動的なウェブページを提示（表示）する。
【００１０】
図２は、特許文献１に開示されるテンプレートの具体例を示す。図２に示すように、テンプレートは、表示部分とデータ部分から成る。表示部分はテンプレートの主要部分であり、プログラマによって予め記述されている。
表示部分の可変部分は、変数（点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2"）によって表わされる。
データ部分は変数割当ユニット１４０によって充填される。
データベース７００から検索された特定のデータは、表示部分に存在する対応する変数（点線ブロックで囲まれた"Table1.msg1"と"Table1.msg2"）と置き換えられる。
図２において、ブラウザ２００は、変数"Table1.msg1"と"Table1.msg2"
を特定のデータで以下のように置き換える。
・「Ｔａｂｌｅ１．ｍｓｇ１」をｍｓｇ１で置き換える。
・「Ｔａｂｌｅ１．ｍｓｇ２」をｍｓｇ２で置き換える。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】ＣＮ  １５５５５３４Ａ
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載される既存の方法は以下のような問題点を有する。
１．新たなウェブ・アプリケーションを開発するのではなく、既存のデスクトップ・アプリケーションに基づいてウェブ・アプリケーションを実現する場合（ウェブ・アプリケーションのインタフェースと機能の全部あるいは大部分がデスクトップ・アプリケーションのそれと同じである場合、すなわち、本明細書で定義する”デスクトップ・アプリケーション移行”の場合）、プログラマはテンプレートをすべて手作業で仕上げなければならず、特にベージが多い場合に、開発効率が非常に低くなる。
２．通常、ウェブ・アプリケーションの開発者は、デスクトップ・アプリケーションのデータベースを取得することができず、このため、直接データ情報を抽出することができず、情報を利用してテンプレートに補充することができない。
【課題を解決するための手段】
【００１３】
本発明の目的は、関連技術における上記課題を解決するデスクトップ・アプリケーション移行のためのシステムと方法を提供することにある。
本発明は、開発段階と実際の実行段階に分けられる。
開発段階においては、各ウィンドウのインタフェース記述データは、デスクトップ・アプリケーションの全てのウィンドウを走査（走査）することにより抽出される。最初のテンプレートは、各ウィンドウのインタフェース記述データを用いて半自動的に生成される。最初のテンプレートに基づき、手作業及び／又はルールに従って、どの部分が「データ型インタフェース要素」であるか指定され、最終的なテンプレートが形成される。
実際の実行段階においては、デスクトップ・アプリケーションのインタフェース記述データがリアルタイムに取得され、そのインタフェース記述データから「データ型インタフェース要素」の値と属性情報が抽出され、最終的に提示されるウェブページを形成するために、テンプレートに充填される。
【００１４】
本発明の第１の態様によれば、サーバは、デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、インタフェース記述データに基づいて最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットとを含む。
【００１５】
好ましくは、サーバが、ウィンドウ走査ユニットの走査手順に従ってデスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットをさらに含む。
【００１６】
好ましくは、テンプレート生成ユニットが、インタフェース記述データに基づいて所望の静的なページを生成するインタフェース生成ユニットと、各インタフェース要素／制御要素について対応する応答関数であって、インタフェース要素／制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を追加する応答関数生成ユニットと、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含む。
【００１７】
好ましくは、テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定する。
【００１８】
本発明の第２の態様によれば、デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するステップと、デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、インタフェース記述データに基づいて最初のテンプレートを生成するステップと、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップとを含む。
【００１９】
好ましくは、デスクトップ・アプリケーション移行のためのテンプレート生成方法は、デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップをさらに含む。
【００２０】
好ましくは、最初のテンプレートを生成するステップが、インタフェース記述データに基づいて所望の静的なページを生成するステップと、各インタフェース要素／制御要素について対応する応答関数追加するステップを含み、インタフェース要素／制御要素が操作されると、応答関数が呼び起こされて実行され、サーバに動作記述データを送信する。
【００２１】
好ましくは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素が自動的に指定される。
【００２２】
本発明の第３の態様によれば、サーバは、ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、動作記述データに基づいて、デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、ブラウザにインタフェース記述データを送信する送信ユニットとを含む。
【００２３】
好ましくは、サーバが、インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、送信ユニットは、検索されたテンプレートをブラウザに送信する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備える。
【００２４】
好ましくは、サーバが、動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、送信ユニットは、検索されたテンプレートをブラウザに送信する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットと、最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとをさらに備える。
【００２５】
本発明の第４の態様によれば、テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、サーバが、ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、インタフェース記述データをブラウザに送信するステップを有し、ブラウザが、インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する。
【００２６】
好ましくは、テンプレートに基づいたデスクトップ・アプリケーション移行方法において、サーバが、インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定し、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、検索されたテンプレートをブラウザに送信し、ブラウザが、インタフェース情報に従って受信したテンプレートにデータ型要素を充填する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、最終的なテンプレートをブラウザに送信する。
【００２７】
好ましくは、テンプレートに基づいたデスクトップ・アプリケーション移行方法において、サーバが、動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定し、テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、検索されたテンプレートをブラウザに送信し、ブラウザが、インタフェース情報に従って受信したテンプレートにデータ型要素を充填する。より好ましくは、サーバが、所望のテンプレートが見つからない場合に、インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納し、最終的なテンプレートをブラウザに送信する。
【００２８】
好ましくは、データ型要素を充填するステップが、インタフェース情報内のデータ型要素を位置決めするステップと、テンプレート内の対応するデータ型要素を位置決めするステップと、テンプレート内の対応するデータ型要素の値を、インタフェース情報内のデータ型要素の値で置き換えるステップとを含む。
【００２９】
また、好ましくは、データ型要素を充填するステップが、テンプレート内のデータ型要素を位置決めするステップと、インタフェース情報内の対応するデータ型要素を位置決めするステップと、テンプレート内のデータ型要素の値を、インタフェース情報内の対応するデータ型要素の値で置き換えるステップとを含む。
【発明の効果】
【００３０】
関連技術と比較し、本発明は少なくとも以下の効果を有する。
半自動的にテンプレートを生成することにより、新たなウェブ・アプリケーションの開発効率を著しく改善すると共に、開発コストを低減する。
【図面の簡単な説明】
【００３１】
本発明の上記および他の目的、特徴、並びに効果は、図面を参照して説明された下記の好適な実施例からさらに明らかになるであろう。
【図１】特許文献１（ＣＮ  １５５５５３４Ａ）に開示されるシステムのブロック図である。
【図２】特許文献１（ＣＮ  １５５５５３４Ａ）に開示されるテンプレートの具体例を示す図である。
【図３】本発明の第１の本実施の形態による、テンプレート生成段階におけるサーバ３００の構成例を示すブロック図である。
【図４】本発明の第１の実施の形態による、実行段階におけるサーバ３００とブラウザ４００の構成例を示すブロック図である。
【図５】本発明の第２の本実施の形態による、テンプレート生成段階におけるサーバ３００の構成例を示すブロック図である。
【図６】本発明の第２の本実施の形態による、実行段階におけるサーバ５００とブラウザ４００の構成例を示すブロック図である。
【図７】本発明の第１の実施の形態による、実行段階における改良されたサーバ３００とブラウザ４００の構成例を示すブロック図である。
【図８】本発明の第２の実施の形態による、実行段階における改良されたサーバ５００とブラウザ４００の構成例を示すブロック図である。
【図９】テンプレート生成段階における適用例を示す図である。
【図１０】実行段階における適用例を示す図である。  これらの図では、同一もしくは類似の構造およびステップは同一もしくは類似の参照番号によって示している。
【発明を実施するための形態】
【００３２】
以下、本発明について、図面に示される実施の形態を参照してより詳細に説明する。しかし、以下の説明は、あくまで例示であり、本発明を限定するものとして理解してはならない。さらに、以下の説明において、本発明の概念を不明瞭にしないように、周知の構成と技術に関する説明を省略している。
【００３３】
（第１の実施の形態）
第１の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、テンプレート生成段階（開発段階）と実際の実行段階を含む。以下、この実施の形態について、図３と図４を参照して詳細に説明する。
【００３４】
図３は、本実施の形態による、テンプレート生成段階におけるサーバ３００の構成例を示すブロック図である。
【００３５】
図３に示すように、サーバ３００は、サーバ３００側にインストールされたデスクトップ・アプリケーション６００と、ウィンドウ走査ユニット５１０と、インタフェース情報抽出ユニット５２０と、テンプレート生成ユニット５３０およびテンプレートデータベース３６０を含む。
【００３６】
テンプレート生成段階中、デスクトップ・アプリケーション６００は、ウィンドウ走査ユニット５１０からの指示に従って対応する操作を実行し、対応する出力（ウィンドウ、応答情報など）を返す。
【００３７】
ウィンドウ走査ユニット５１０は、デスクトップ・アプリケーション６００の全てのウィンドウ、メニュー項目および／またはダイアログ・ボックスを走査するために用いられる。走査処理は、手作業あるいは半自動で実現される。
例えば、ウィンドウ走査ユニット５１０は、メイン・ウィンドウ中のそれぞれ操作可能な制御要素を一つずつ操作し、それぞれの子ウィンドウを取得する。
デスクトップ・アプリケーション６００のウィンドウがすべてくまなく調べられるまで、その処理が繰り返される。
【００３８】
インタフェース情報抽出ユニット５２０は、デスクトップ・アプリケーション６００から各ウィンドウのインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
インタフェース記述データは、ＸＭＬ、ＨＴＭＬ、ＷＭＬなどの記述言語のフォーマットを用いることが可能である。しかし、本発明は、それらのフォーマットに限定されない。
テンプレート生成ユニット５３０は、テンプレートを生成し、それらをテンプレートデータベース３６０に格納するために用いる。
テンプレートデータベース３６０は、生成されたテンプレートを半自動的に格納するために用いる。
【００３９】
テンプレート生成ユニット５３０は、インタフェース（ＵＩ）生成ユニット５３１０と、応答関数生成ユニット５３２０と、データ型要素定義ユニット５３３０とをさらに含んでいる。
【００４０】
ＵＩ生成ユニット５３１０は、ＸＭＬウェブページ、ＨＴＭＬウェブページ、ＷＭＬウェブページなどのインタフェース記述データに基づいて所望の静的なページを生成する。Ｆｌａｓｈファイルなどの、ウェブ・クライアントで提示されるどのような表現形式も生成することが可能であることは勿論である。
【００４１】
応答関数生成ユニット５３２０は、各インタフェース要素／制御要素について対応する応答関数を追加する。あるインタフェース要素が操作されると、その応答関数が呼び起こされ、サーバ３００に動作記述データを送信する。動作記述データは、動作に関する情報を含む。この動作に関する情報は、例えば、どのような動作がどのインタフェース要素上で実行されたかについての情報、動作を実行するために必要なパラメータの情報等である。
【００４２】
データ型要素定義要素５３３０は、テンプレートのデータ部分を定義するために用いる。データ部分は動的な部分を指し、実行時におけるデスクトップ・アプリケーション６００の実際の状況に従って生成される。データ型要素定義要素５３３０は、構成ファイルの情報に基づいて、どのようなタイプの制御要素のどの属性がデータ型要素であるかを自動的に決定する。例えば、構成ファイルの例をテーブル１に示す。
【００４３】
【表１】
2011198354.tif 000003
【００４４】
例えば、テーブル１に示されるテキスト要素構成ファイルの全ての属性「enabled」、「ｈａｓｆｏｃｕｓ」、「visible」、「text」、「caption」、「ｓｅｌｅｃｔｉｏｎｌｅｎｇｔｈ」、「ｓｅｌｅｃｔｉｏｎｓｔａｒｔ」、「ｓｅｌｅｃｔｉｏｎｔｅｘｔ」及び「protected」はデータ部分（すなわち、データ型要素）である。
もちろん、構成ファイルは、テンプレート生成段階の前、あるいはその段階中に、手作業で編集し、修正することが可能である。
【００４５】
あるいは、データ型要素定義ユニット５３３０は、オペレータが手作業でどの要素がデータ型要素であるかを指定することを要求することも可能である。
【００４６】
データ型要素定義ユニット５３３０は、データ部分に対して処理スクリプトを自動的に追加する。その結果、処理スクリプトは、対応するデータ型要素をデスクトップ・アプリケーション６００のウィンドウ上の実際の情報で置き換える。
【００４７】
図４は、本実施の形態による、実行段階におけるサーバ３００とブラウザ４００の構成例を示すブロック図である。
【００４８】
図４に示すように、サーバ３００は、サーバ３００にインストールされたデスクトップ・アプリケーション６００と、要求解析ユニット３１０と、動作再現ユニット３８０と、インタフェース情報抽出ユニット５２０と、新ウィンドウ判定ユニット３９０と、テンプレートアクセスユニット３３０と、テンプレートデータベース３６０および送信ユニット３５０を含む。ブラウザ４００は主に動的レンダリングユニット４１０を含む。
【００４９】
実行段階中に、要求解析ユニット３１０は、ブラウザ４００からのＨＴＴＰ要求（ＵＲＬ）を解析して、ＨＴＴＰ要求に含まれる動作記述データを取得する。
【００５０】
サーバ３００側に設けられたデスクトップ・アプリケーション６００と、動作再現ユニット３８０およびインタフェース情報抽出ユニット５２０は、デスクトップ・アプリケーション６００の操作を再現するために、サーバ側にアプリケーション・コンテナ７００を構成する。
動作再現ユニット３８０は、要求解析ユニット３１０によって解析された動作記述データをデスクトップ・アプリケーション６００に対するコマンドに変換し、ブラウザ４００（リモート）上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション６００を作動する。
インタフェース情報抽出ユニット５２０は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション６００から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
【００５１】
新ウィンドウ判定ユニット３９０は、インタフェース情報抽出ユニット５２０からのインタフェース記述データに基づいて新たなウィンドウがポップアップしているかどうかを判定する。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット３９０は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット３３０に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット３９０はいかなる動作も実行する必要はない。
【００５２】
テンプレートアクセスユニット３３０は、新ウィンドウ判定ユニット３９０によって指定されたテンプレートについてテンプレートデータベース３６０を検索し、送信ユニット３５０に取得したテンプレートを出力するために用いる。
【００５３】
送信ユニット３５０は、インタフェース情報抽出ユニット５２０からのインタフェース記述データ、及び／又は、テンプレートアクセスユニット３３０からのテンプレートを、ブラウザ４００に送信するために用いる。
【００５４】
ブラウザ４００の動的レンダリングユニット４１０は、インタフェース記述データを解析し、テンプレート中のデータ部分に充填するために対応するインタフェース情報を抽出する。この動的レンダリングユニット４１０は、インタフェース情報内のデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の値をインタフェース情報内のデータ型要素の値で置き換えるステップを含む。
上記の２つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
【００５５】
（第２の実施の形態）
第２の実施の形態による、テンプレートに基づくデスクトップ・アプリケーション移行のための方法は、同様に、テンプレート生成段階と実行段階を含む。以下、この実施の形態について、図５と図６を参照して詳細に説明する。
【００５６】
図５は、本実施の形態による、テンプレート生成段階におけるサーバ３００の構成例を示すブロック図である。
【００５７】
図５に示すように、サーバ５００は、サーバ５００側にインストールされたデスクトップ・アプリケーション６００と、ウィンドウ走査ユニット５１０と、インタフェース情報抽出ユニット５２０と、テンプレート生成ユニット５３０およびテンプレートデータベース３６０を含む。上記ユニットと構成要素は、第１の実施の形態において説明したそれぞれのユニットと同じ機能と動作を有する。従って、上記ユニットについての説明は省略する。加えて、サーバ５００は、さらにインタフェースジャンプ関係抽出ユニット５４０と、インタフェース関係データベース５６０を備えている。
【００５８】
テンプレート生成段階中、第１の実施の形態で説明した動作と同じ動作に加えて、インタフェースジャンプ関係抽出ユニット５４０が、ウィンドウ走査ユニット５１０の走査プロセスに基づいてそれぞれの操作ウィンドウ間のジャンプ関係を自動的に記録し、そのジャンプ関係をインタフェース関係データベース５６０に格納する。
例えば、ウィンドウ走査ユニット５１０が、ある操作中に、ウィンドウＢをポップアップするためにウィンドウＡ上の制御要素Ｘをクリックすると、ウィンドウＡとＢ間の制御要素Ｘについてのジャンプ関係が記録される。例えば、インタフェース関係データベース５６０に格納されるそのインタフェースジャンプ関係は、テーブル２に示すようになる。テーブル２では、さらに他のインタフェースジャンプ関係の例も示している。
【００５９】
【表２】
2011198354.tif 000004
【００６０】
勿論、インタフェース関係データベース５６０も、それぞれのウィンドウ／インタフェース／ページ間のジャンプ関係を記録するために、手作業であるいは半自動的に生成することが可能である。
【００６１】
図６は、本実施の形態による、実行段階におけるサーバ５００とブラウザ４００の構成例を示すブロック図である。
【００６２】
図６に示すように、サーバ５００は、サーバ５００にインストールされたデスクトップ・アプリケーション６００と、要求解析ユニット８１０と、動作再現ユニット３８０と、インタフェース情報抽出ユニット５２０と、新ウィンドウ判定ユニット８９０と、インタフェース関係データベース５６０と、テンプレートアクセスユニット３３０と、テンプレートデータベース３６０および送信ユニット３５０を含む。ブラウザ４００は、主に動的レンダリングユニット４１０を含む。
【００６３】
実行段階中に、要求解析ユニット８１０は、ブラウザ４００からのＨＴＴＰ要求（ＵＲＬ）を解析して、ＨＴＴＰ要求に含まれる動作記述データを取得する。
【００６４】
サーバ５００側に設けられたデスクトップ・アプリケーション６００と、動作再現ユニット３８０およびインタフェース情報抽出ユニット５２０は、デスクトップ・アプリケーション６００の操作を再現するために、サーバ側にアプリケーション・コンテナ７００を構成する。
動作再現ユニット３８０は、要求解析ユニット８１０によって解析された動作記述データをデスクトップ・アプリケーション６００に対するコマンドに変換し、ブラウザ４００（リモート）上のユーザの操作を反映する同じか或いは類似する操作を実行するためにデスクトップ・アプリケーション６００を作動する。
インタフェース情報抽出ユニット５２０は、テンプレート生成段階における動作と類似する動作を実行する。すなわち、デスクトップ・アプリケーション６００から各ウィンドウについてインタフェース情報を抽出し、その情報をインタフェース記述データにまとめる。
【００６５】
新ウィンドウ判定ユニット８９０は、要求解析ユニット８１０によって解析された動作記述データに基づいて、インタフェース関係データベース５６０に格納されたウィンドウ／インタフェース／ページ間のジャンプ関係を問い合わせ、新たなウィンドウがポップアップしているかどうかを判定する。
新たなウィンドウがポップアップしていれば、新ウィンドウ判定ユニット８９０は、新たなウィンドウに対応するテンプレートを必要とすることをテンプレートアクセスユニット３３０に通知する。新たなウィンドウがポップアップしていなければ、新ウィンドウ判定ユニット３９０はいかなる動作も実行する必要はない。
【００６６】
テンプレートアクセスユニット３３０は、新ウィンドウ判定ユニット３９０によって指定されたテンプレートについてテンプレートデータベース３６０を検索し、送信ユニット３５０に取得したテンプレートを出力するために用いる。
【００６７】
送信ユニット３５０は、インタフェース情報抽出ユニット５２０からのインタフェース記述データ、及び／又は、テンプレートアクセスユニット３３０からのテンプレートを、ブラウザ４００に送信するために用いる。
【００６８】
ブラウザ４００の動的レンダリングユニット４１０は、インタフェース記述データを解析し、テンプレート中のデータ部分に補充するために対応するインタフェース情報を抽出する。この動的レンダリングユニット４１０は、インタフェース情報内のデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の位置を位置決めするステップ、テンプレート内の対応するデータ型要素の値をインタフェース情報内のデータ型要素の値で置き換えるステップを含む。
上記の２つの位置決めステップの順番は逆であってもよく、テンプレート内のデータ型要素の位置を位置決めし、インタフェース情報内の対応するデータ型要素の位置を位置決めし、テンプレート内のデータ型要素の値をインタフェース情報内の対応するデータ型要素の値で置き換えてもよい。
【００６９】
（第１と第２実施の形態の改良１）
上記の第１と第２の実施の形態は、テンプレートに基づくデスクトップ・アプリケーション移行のためのシステムと方法を良好に実現する。
同時に、発明者は、ほとんどの状況において、インタフェース記述データがユーザの操作に応じて毎回僅かに変化することに着目した。データ送信量とネットワーク負荷を軽減し、かつユーザの手間を改善するために、変化したインタフェース記述データだけを送信することが可能である。
そのため、第１と第２の実施の形態において、インタフェース情報比較ユニット９００を、現在のインタフェース記述データを前のインタフェース記述データと比較するために導入する。これにより、送信ユニット３５０に変化したインタフェース記述データを提供する。
【００７０】
図７と図８は、本発明の第１と第２実施の形態による、実行段階における改良されたサーバ３００／５００とブラウザ４００の構成例を示すブロック図である。
【００７１】
インタフェース情報比較ユニット９００は、インタフェース情報抽出ユニット５３０と送信ユニット３５０の間に位置し、送信ユニット３５０に変化したインタフェース記述データだけを提供するために、インタフェース情報抽出ユニット５２０によって今回提供された現在のインタフェース記述データを、インタフェース情報抽出ユニット５２０によって以前に提供されたインタフェース記述データと比較するよう適合されている。
【００７２】
この場合、ブラウザ４００の動的レンダリングユニット４１０は、変化したインタフェース記述データに対応するテンプレート内のデータ部分を更新するだけであり、テンプレート内の残りのデータ部分は、以前に充填された値を維持する。
【００７３】
（第１と第２実施の形態の改良２）
更に、実行段階において、インタフェース／ウィンドウがトレーニングされない場合がある。
すなわち、テンプレートアクセスユニット３３０が、新ウィンドウ判定ユニット３９０／８９０によって指定されたテンプレートを見つけ出すことができない。これは、現在のテンプレートデータベース３６０がまだ完全でないことを示しており、さらなるトレーニングとテンプレート生成が必要である。
【００７４】
この場合、本発明によるデスクトップ・アプリケーション移行のための方法を首尾よく実行させるために、テンプレートを生成するステップの一部を追加する（すなわち、テンプレート生成ユニット５３０がインタフェース情報抽出ユニット５２０からのインタフェース記述データに基づいて最終的なテンプレートを生成する）。これにより、現在不足しているテンプレートをリアルタイムに生成し、テンプレートデータベース３６０（第１と第２実施の形態）にテンプレートを格納する。
同時に、テンプレートに関するウィンドウ間のジャンプ関係は、インタフェース関係データベース５６０に格納される（第２の実施の形態、インタフェースジャンプ関係抽出ユニット５４０によって実現される）。
これにより、テンプレートアクセスユニット３３０は、テンプレートデータベース３６０内の新ウィンドウ判定ユニット３９０／８９０によって指定されるテンプレートを見つけ出すことができ、送信ユニット３５０にテンプレートを出力する。
【００７５】
（適用例）
図９と図１０は、テンプレート生成段階と実行段階における適用例をそれぞれ示している。
【００７６】
図９に示すように、テンプレート生成段階においては、
１．  ウィンドウ走査ユニット５１０は、デスクトップ・アプリケーション６００のウィンドウ内の各制御要素を走査する。
２．  インタフェース情報抽出ユニット５２０は、制御要素のメタデータ情報（例えば、ボタン制御要素の座標、サイズ、制御ＩＤ（control ID）、ハンドル（handles）、テキスト記述など）を抽出する。
図９に示す例は、ユーザ名情報"Tom"のインタフェース記述データ（左の点線ブロックで囲まれる内容）と、"Account View"ボタンのインタフェース記述データ（左の一点鎖線ブロックで囲まれる内容）を示している。
３．ＵＩ生成ユニット３５１０は、自動的にインタフェース記述データをＵＩ記述（例えば、ＸＭＬコード、ＨＴＭＬコード、ＷＭＬコードなど）に変換する。
図９に示す例は、ユーザ名前情報"Tom"のインタフェース記述データに基づいて生成された、ユーザ名情報"Tom"のＨＴＭＬコード情報（中央の点線ブロックで囲まれる内容）と、"Account View"ボタンのインタフェース記述データに基づいて生成された、テンプレート内の"Account View"ボタンのインタフェース記述データのＨＴＭＬコード情報（中央の一点鎖線ブロックで囲まれる内容）を示している。
４．応答関数生成ユニット５３２０は各インタフェース要素／制御要素に対応する応答関数を追加する。あるインタフェース要素がブラウザで操作されると、その応答関数が呼び起こされて実行され、動作記述データがサーバに送信される。この動作記述データは、動作に関する情報を含む。この動作に関する情報は、例えば、どのような動作がどのインタフェース要素上で実行されたかについての情報、動作を実行するために必要なパラメータの情報等である。
図９に示す例は、"Account View"ボタンの応答関数[onclick=“sendCommand();”]を示している。これにより、最初のテンプレートの生成が完了する。
５．  データ型要素定義ユニット５３３０は、どのようなタイプの制御要素のどの属性がデータ型要素であるかを決定し、データ型要素に処理スクリプトを自動的に追加する。
図９に示す例において、"Welcome"の後のユーザ名情報（左の実線ブロックで囲まれた"Tom"）は、データ型要素であり、そのデータ型要素に対する処理スクリプト（右側の点線ブロックで囲まれた内容）が、自動的に生成されている。
【００７７】
図１０に示すように、実行段階においては、
１．実行時、デスクトップ・アプリケーション６００は、ブラウザ４００からの要求に従って操作され、新たなウィンドウがデスクトップ・アプリケーション６００に出現する。
２．インタフェース情報抽出ユニット５２０は、ウィンドウのインタフェース記述データを抽出する。
３．テンプレートアクセスユニット３３０は、そのウィンドウに対応するテンプレート（すなわち、図９の右側にテンプレート）を見つけ出す。
４．送信ユニット３５０は、インタフェース記述データと、見つけ出したテンプレートをブラウザ４００側に送信する。
５．ブラウザ４００側の動的レンダリングユニット４１０は、テンプレート内のデータ型要素を見つけ出す。
６．  動的レンダリングユニット４１０は、インタフェース記述データ内のデータ型要素に対応する実際のデータを見つけ出す。
図１０に示す例において、実際のデータは“Jarid”である。
７．動的レンダリングユニット４１０は、データ型要素の値“Tom”を、実際のデータの値“Jarid”で置き換え、ブラウザ４００上に提示する最終的なブラウザ・ウェブページ（図１０の右側のウェブページ）を生成する。
【００７８】
なお、ここで開示した本発明の実施の形態の他の構成は、初めに簡単に説明し、その後に詳しく説明した実施例の方法のステップと操作のためのソフトウェア・プログラムを含む。特に、このコンピュータ・プログラム製品は、コード化されたコンピュータ・プログラム・ロジックを含むコンピュータ読み取り可能な記録媒体を有する実施例である。
コンピュータ上で実行された場合、コンピュータ・プログラム・ロジックが関連する操作を提供し、それにより上記のデスクトップ・アプリケーション移行方法を提供する。
コンピュータ・プログラム・ロジックが、コンピュータ装置の少なくとも１つのプロセッサ上で実行されると、コンピュータ・プログラム・ロジックは、プロセッサに本発明の実施の形態において説明したような操作（方法）を実行させる。
本発明のこうした構成は、典型的には、光媒体（例：ＣＤ−ＲＯＭ）などのコンピュータ可読媒体、フロッピーディスクもしくはハードディスク等の各種タイプの媒体上で提供されるか、または符号化されたソフトウェア、コード、またはその他のデータ構造体、１つ以上のＲＯＭ、ＲＡＭ、もしくはＰＲＯＭチップ上のファームウェアもしくはマイクロコード、ダウンロード可能なソフトウェアイメージ、または特定用途向け集積回路（ＡＳＩＣ）あるいは単一もしくは複数モジュール上の共有データベースとして提供される。
ソフトウェアまたはファームウェアの形態をとる構成は、計算装置上にインストールし、当該計算装置内の１つ以上のプロセッサを介して本発明の実施例を実装することができる。ソフトウェアプロセスを、例えば他のエンティティ内のデータ通信装置や計算装置と共に稼働させると、本発明のシステムが提供される。本発明のシステムは、いくつかのソフトウェアプロセスを複数のデータ通信装置間に分散させたり、一連の小型専用コンピュータ上ですべてのソフトウェアプロセスを稼働させたり、あるいは単一のコンピュータ上ですべてのソフトウェアプロセスを稼働させたりすることにより実現することも可能である。
【００７９】
本発明の実施例は、厳密には、ソフトウェア・プログラム、１台のデータ通信装置上のソフトウェアおよびハードウェア、独立したソフトウェア、または独立した回路として実装できることに留意されたい。
【００８０】
以上、本発明についてその好適な実施例を参照して説明したが、当該技術に精通した当業者には、本発明の精神と範囲から逸脱することなく他の様々な修正、変更、追加を行うことが可能なことは明らかであろう。したがって、本発明の範囲は上記の具体的な実施例に限定されず、付記した請求項によってのみ限定される。
【００８１】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００８２】
（付記１）
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するウィンドウ走査ユニットと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるインタフェース情報抽出ユニットと、
前記インタフェース記述データに基づいて最初のテンプレートを生成し、当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するテンプレート生成ユニットと
を備えることを特徴とするサーバ。
【００８３】
（付記２）
前記ウィンドウ走査ユニットの走査手順に従って前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットをさらに備えることを特徴とする付記１に記載のサーバ。
【００８４】
（付記３）
前記テンプレート生成ユニットが、
前記インタフェース記述データに基づいて所望の静的なページを生成するインタフェース生成ユニットと、
各インタフェース要素／制御要素について対応する応答関数であって、前記インタフェース要素／制御要素が操作されると、呼び起こされて実行されサーバに動作記述データを送信する応答関数を追加する応答関数生成ユニットと、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、生成した最終的なテンプレートをテンプレートデータベースに格納するデータ型要素定義ユニットを含むことを特徴とする付記１又は付記２に記載のサーバ。
【００８５】
（付記４）
前記テンプレート生成ユニットは、どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素を自動的に指定することを特徴とする付記１から付記３の何れか１項に記載のサーバ。
【００８６】
（付記５）
デスクトップ・アプリケーション移行のためのテンプレート生成方法であって、
デスクトップ・アプリケーションのウィンドウ、メニュー項目及び／又はダイアログ・ボックスを全て走査するステップと、
デスクトップ・アプリケーションの各ウィンドウについてインタフェース情報を抽出し、インタフェース記述データにインタフェース情報をまとめるステップと、
前記インタフェース記述データに基づいて最初のテンプレートを生成するステップと、
当該最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、テンプレートデータベースに最終的なテンプレートを格納するステップと
を有することを特徴とするテンプレート生成方法。
【００８７】
（付記６）
前記デスクトップ・アプリケーションの各ウィンドウ間のジャンプ関係を自動的に記録し、ジャンプ関係をインタフェース関係データベースに格納するステップをさらに有することを特徴とする付記５に記載のテンプレート生成方法。
【００８８】
（付記７）
最初のテンプレートを生成するステップが、
前記インタフェース記述データに基づいて所望の静的なページを生成するステップと、
各インタフェース要素／制御要素について対応する応答関数追加するステップを含み、
前記インタフェース要素／制御要素が操作されると、前記応答関数が呼び起こされて実行され、サーバに動作記述データを送信することを特徴とする付記５又は付記６に記載のテンプレート生成方法。
【００８９】
（付記８）
どのようなタイプの制御要素のどの属性がデータ型要素であるかを定める構成ファイルに基づいて、最初のテンプレート内のデータ型要素が自動的に指定されることを特徴とする付記５から付記７の何れか１項に記載のテンプレート生成方法。
【００９０】
（付記９）
ブラウザからのデスクトップ・アプリケーションに対する要求を解析し、動作記述データを取得する要求解析ユニットと、
前記動作記述データに基づいて、前記デスクトップ・アプリケーションの操作を再現する動作再現ユニットと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、インタフェース情報をインタフェース記述データにまとめるインタフェース情報抽出ユニットと、
前記ブラウザにインタフェース記述データを送信する送信ユニットと
を備えることを特徴とするサーバ。
【００９１】
（付記１０）
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記９に記載のサーバ。
【００９２】
（付記１１）
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットをさらに備えることを特徴とする付記１０に記載のサーバ。
【００９３】
（付記１２）
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定する新ウィンドウ判定ユニットと、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索するテンプレートアクセスユニットとをさらに備え、
前記送信ユニットは、検索されたテンプレートをブラウザに送信することを特徴とする付記９に記載のサーバ。
【００９４】
（付記１３）
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納するテンプレート生成ユニットと、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納するインタフェースジャンプ関係抽出ユニットとをさらに備えることを特徴とする付記１２に記載のサーバ。
【００９５】
（付記１４）
テンプレートに基づいたデスクトップ・アプリケーション移行方法であって、
サーバが、
ブラウザからのデスクトップ・アプリケーションに対する要求を解析して動作記述データを取得するステップと、
前記動作記述データに基づいてデスクトップ・アプリケーションの操作を再現するステップと、
前記デスクトップ・アプリケーションの現在のウィンドウのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述データにまとめるステップと、
前記インタフェース記述データをブラウザに送信するステップを有し、
前記ブラウザが、
前記インタフェース記述データを解析して対応するインタフェース情報を抽出するステップと、
インタフェース情報に従ってテンプレートにデータ型要素に充填するステップを有する
ことを特徴とするテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【００９６】
（付記１５）
前記サーバが、
前記インタフェース記述データに基づいて、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記１４に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【００９７】
（付記１６）
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記１５に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【００９８】
（付記１７）
前記サーバが、
動作記述データに基づいてインタフェース関係データベースを検索することにより、ポップアップする新たなウィンドウを判定し、
テンプレートデータベースから新たなウィンドウに対応するテンプレートを検索し、
検索されたテンプレートをブラウザに送信し、
前記ブラウザが、
前記インタフェース情報に従って受信したテンプレートにデータ型要素を充填する
ことを特徴とする付記１４に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【００９９】
（付記１８）
前記サーバが、
所望のテンプレートが見つからない場合に、前記インタフェース記述データに基づいて最初のテンプレートを生成し、
最初のテンプレート内のデータ型要素を指定し、各データ型要素に処理スクリプトを追加して最終的なテンプレートを生成し、最終的なテンプレートをテンプレートデータベースに格納し、
最終的なテンプレートに関連する各ウィンドウ間のジャンプ関係を記録し、ジャンプ関係をインタフェース関係データベースに格納し、
前記最終的なテンプレートを前記ブラウザに送信する
ことを特徴とする付記１７に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【０１００】
（付記１９）
前記データ型要素を充填するステップが、
インタフェース情報内のデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素を位置決めするステップと、
テンプレート内の対応するデータ型要素の値を、インタフェース情報内のデータ型要素の値で置き換えるステップとを含むことを特徴とする付記１４から付記１８の何れか１項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【０１０１】
（付記２０）
前記データ型要素を充填するステップが、
テンプレート内のデータ型要素を位置決めするステップと、
インタフェース情報内の対応するデータ型要素を位置決めするステップと、
テンプレート内のデータ型要素の値を、インタフェース情報内の対応するデータ型要素の値で置き換えるステップとを含むことを特徴とする付記１４から付記１８の何れか１項に記載のテンプレートに基づいたデスクトップ・アプリケーション移行方法。
【符号の説明】
【０１０２】
１００：サーバ
１１０：要求解析ユニット
１２０：データ検索ユニット
１３０：モジュールアクセスユニット
１４０：変数割当ユニット
１５０：送信ユニット
１６０：テンプレートデータベース
１７０：データベース
２００：ブラウザ
２１０：レンダリングユニット
３００：サーバ
３６０：テンプレートデータベース
５１０：ウィンドウ走査ユニット
５２０：インタフェース情報抽出ユニット
５３０：テンプレート生成ユニット
５３１０：インタフェース（ＵＩ）生成ユニット
５３２０：応答関数生成ユニット
５３３０：データ型要素定義ユニット
６００：デスクトップ・アプリケーション
３１０：要求解析ユニット
３３０：テンプレートアクセスユニット
３５０：送信ユニット
３６０：テンプレートデータベース
３８０：動作再現ユニット
３９０：新ウィンドウ判定ユニット
４００：ブラウザ
４１０：動的レンダリングユニット
７００：アプリケーション・コンテナ
５００：サーバ
５４０：インタフェースジャンプ関係抽出ユニット
５６０：インタフェース関係データベース
８１０：要求解析ユニット
８９０：新ウィンドウ判定ユニット
９００：インタフェース情報比較ユニット
【図１】
2011198354.tif 000005
【図２】
2011198354.tif 000006
【図３】
2011198354.tif 000007
【図４】
2011198354.tif 000008
【図５】
2011198354.tif 000009
【図６】
2011198354.tif 000010
【図７】
2011198354.tif 000011
【図８】
2011198354.tif 000012
【図９】
2011198354.tif 000013
【図１０】
2011198354.tif 000014
【外国語明細書】
2011198354000001.pdf