JP2011070640A - デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム - Google Patents
デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム Download PDFInfo
- Publication number
- JP2011070640A JP2011070640A JP2010127641A JP2010127641A JP2011070640A JP 2011070640 A JP2011070640 A JP 2011070640A JP 2010127641 A JP2010127641 A JP 2010127641A JP 2010127641 A JP2010127641 A JP 2010127641A JP 2011070640 A JP2011070640 A JP 2011070640A
- Authority
- JP
- Japan
- Prior art keywords
- client
- interface
- application
- server
- desktop application
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Stored Programmes (AREA)
Abstract
【課題】 デスクトップ・アプリケーションをウェブ・アプリケーションに変換するための方法とシステムを提供する。
【解決手段】 この方法は、クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマット(例えば、XMLデータ)でデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したXMLデータを解析し、関連するウェブページ要素(例えば、HTMLデータ)を生成する。他の例では、サーバが、XMLデータからHTMLウェブページ要素へのコード変換を実施するコード変換ツールを直接実行する。
【選択図】 図1
【解決手段】 この方法は、クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマット(例えば、XMLデータ)でデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したXMLデータを解析し、関連するウェブページ要素(例えば、HTMLデータ)を生成する。他の例では、サーバが、XMLデータからHTMLウェブページ要素へのコード変換を実施するコード変換ツールを直接実行する。
【選択図】 図1
Description
本発明は、一般に計算機ネットワーク技術に関し、特に、デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステムに関する。
クラウドコンピューティングとインターネットの発達に伴い、様々なサービスをいつでもどんな場所でも享受することへの人々の要求が高まっている。しかしながら、既存のデスクトップ・アプリケーション(スタンドアロン版或いはクライアントサーバ版)の多くは、対応する操作を実行する前にクライアントを設置することをユーザに要求する。したがって、いつでもどんな場所でもサービスを提供することができない。既存のシステムが全く同じ機能を有するシステムの新たなブラウザ・サーバ・バージョンを最初から最後まで開発するために廃棄されれば、開発費が非常に高くなり、また、それは元のシステムの消耗である。従って、効率的なシステム移行方法を提供することが強い望まれている。
より重要なことは、マッシュアップ(mashup)は、クラウドコンピューティングにおいて重要な一部分であり、これが、人々がより簡単な方法で統合した複数のサービスを使用することを可能にする。従って、移行によって生成されたウェブ・アプリケーションは、元のシステムの全ての機能を実現するだけでなく、二次利用(例えば、配置スタイルを変更すること、他のネットワーク資源を集めること)を可能としなければならない。これにより、元のアプリケーションの非常に効率的な使用法を実現することが可能となる。
既存のアプリケーション移行システムは主に2つの状況を含んでいる。
1つは、デスクトップ・アプリケーションのソース・コードが利用可能な状況である。
この場合、ソース・コードが簡単なプログラミング言語(例えば、PowerBuilder)を使用して記述されていれば、開発者にとって新たなウェブ・アプリケーションを半自動的に作成することが可能である。
そうでなければ、それらは、ソース・コードを読み取り、コード論理をすべて分析した後に手作業で開発しなければならない。すなわち、開発者は、元のアプリケーションの機能をすべて理解し、ネットワーク・プログラミングに十分に精通していなければならない。しかしながら、それでも、開発者が全ての機能の変換を実施することは、多大な時間を消費し、多くのコストがかかる。
他の状況は、ソース・コードが利用不可能である場合である。システム開発者にとって、大多数の既存のアプリケーションのソース・コードは利用不可能である。
従って、ただ1つの方法でのみ自動変換を実現するができる。それは、ウェブページ上のデスクトップ・アプリケーションのグラフィックユーザインタフェース(GUI)を再描画し、元のシステムにユーザがウェブページ上で行う操作へ応答させることである。これはリモートデスクトップ技術にやや類似している。本発明によって提供する技術は、主に後者のケースに関連している。
1つは、デスクトップ・アプリケーションのソース・コードが利用可能な状況である。
この場合、ソース・コードが簡単なプログラミング言語(例えば、PowerBuilder)を使用して記述されていれば、開発者にとって新たなウェブ・アプリケーションを半自動的に作成することが可能である。
そうでなければ、それらは、ソース・コードを読み取り、コード論理をすべて分析した後に手作業で開発しなければならない。すなわち、開発者は、元のアプリケーションの機能をすべて理解し、ネットワーク・プログラミングに十分に精通していなければならない。しかしながら、それでも、開発者が全ての機能の変換を実施することは、多大な時間を消費し、多くのコストがかかる。
他の状況は、ソース・コードが利用不可能である場合である。システム開発者にとって、大多数の既存のアプリケーションのソース・コードは利用不可能である。
従って、ただ1つの方法でのみ自動変換を実現するができる。それは、ウェブページ上のデスクトップ・アプリケーションのグラフィックユーザインタフェース(GUI)を再描画し、元のシステムにユーザがウェブページ上で行う操作へ応答させることである。これはリモートデスクトップ技術にやや類似している。本発明によって提供する技術は、主に後者のケースに関連している。
利用可能なソース・コードが存在しない場合における関連技術が、2002年2月6日出願の米国特許出願US6950991B2,「Interacting with
Software Applications Displayed in a Web Page」(特許文献1)に記載されている。この特許文献1は、利用可能なソース・コードが存在しない場合におけるアプリケーション変換方法を提案している。
この方法は、既存のデスクトップ・アプリケーションのGUIの画像をリモートデスクトップ方式でクライアント・ウェブページのある位置に表示する。図8と図9は、それぞれ、上記関連技術によるシステムの構造上のブロック図および動作フローチャートを示している。
Software Applications Displayed in a Web Page」(特許文献1)に記載されている。この特許文献1は、利用可能なソース・コードが存在しない場合におけるアプリケーション変換方法を提案している。
この方法は、既存のデスクトップ・アプリケーションのGUIの画像をリモートデスクトップ方式でクライアント・ウェブページのある位置に表示する。図8と図9は、それぞれ、上記関連技術によるシステムの構造上のブロック図および動作フローチャートを示している。
図8に示すように、このシステムにおいて、クライアント80は、ブラウザに加えて、クライアントエージェント810を備えている。このクライアントエージェント810は、プラグインの形式でクライアント80にインストールされる。
クライアントエージェント810は、監視ユニット801と、命令ユニット802と、メッセージ送信ユニット803およびメッセージ受信ユニット804を備えている。
クライアントエージェント810は、ウェブ・ブラウザ・ウィンドウ内の1つ以上のアプリケーション出力ウィンドウに関連するイベントを監視して応答する。例えば、クライアントエージェント810は、ウィンドウのサイズを調整するためにブラウザへのユーザ入力のイベントを検出し、これに応答して、関連するアプリケーション出力ウィンドウのサイズを調整する。
例えば、クライアントエージェント810は、実行された/実例化されたアプリケーション・オブジェクト820に応答し、単独で様々な機能をブラウザに対して実行する。
アプリケーション・オブジェクト820は、例えば、ウェブ・ブラウザ・ウィンドウに表示されたウェブページに埋め込まれたActiveXコントロールであり、アプリケーション出力ウィンドウの属性(例えば、位置、高さ、幅、境界スタイルなど)、アプリケーションプログラムの名前およびアプリケーション実行サーバのアドレスを含んでいる。
監視ユニット801は、クライアント・デスクトップを監視し(1)、アプリケーション出力ウィンドウに影響を与える変化(イベント:例えば、画面上あるいは画面外における、キーストローク、マウスクリック、サイズ変更イベント等)を検出する(2)。
命令ユニット802は、命令によって監視ユニット801、メッセージ送信ユニット803およびメッセージ受信ユニット804を制御し、メッセージ送信ユニット803を介して、監視ユニット801によって検出したイベントをサーバ90に対して送信する(3、4)。
例えば、監視ユニット801は、デスクトップ上の座標(354, 560)の位置で発生したクリック・オン動作を命令ユニット802に通知する。
命令ユニット802は、メッセージ送信ユニット803によってその動作(イベント)をメッセージ形式でサーバ側に送信する(5)。
さらに、命令ユニット802は、サーバからの受信したウィンドウ属性情報、グラフィックのデータおよびコマンド(10、11)に基づいてアプリケーションオブジェクト820の属性を修正することを担当する(12)。
例えば、命令ユニット802は、アプリケーションオブジェクトの属性に基づいてウェブページ上の特定の位置にアプリケーション出力ウィンドウを表示することをブラウザに指示する。
クライアントエージェント810は、監視ユニット801と、命令ユニット802と、メッセージ送信ユニット803およびメッセージ受信ユニット804を備えている。
クライアントエージェント810は、ウェブ・ブラウザ・ウィンドウ内の1つ以上のアプリケーション出力ウィンドウに関連するイベントを監視して応答する。例えば、クライアントエージェント810は、ウィンドウのサイズを調整するためにブラウザへのユーザ入力のイベントを検出し、これに応答して、関連するアプリケーション出力ウィンドウのサイズを調整する。
例えば、クライアントエージェント810は、実行された/実例化されたアプリケーション・オブジェクト820に応答し、単独で様々な機能をブラウザに対して実行する。
アプリケーション・オブジェクト820は、例えば、ウェブ・ブラウザ・ウィンドウに表示されたウェブページに埋め込まれたActiveXコントロールであり、アプリケーション出力ウィンドウの属性(例えば、位置、高さ、幅、境界スタイルなど)、アプリケーションプログラムの名前およびアプリケーション実行サーバのアドレスを含んでいる。
監視ユニット801は、クライアント・デスクトップを監視し(1)、アプリケーション出力ウィンドウに影響を与える変化(イベント:例えば、画面上あるいは画面外における、キーストローク、マウスクリック、サイズ変更イベント等)を検出する(2)。
命令ユニット802は、命令によって監視ユニット801、メッセージ送信ユニット803およびメッセージ受信ユニット804を制御し、メッセージ送信ユニット803を介して、監視ユニット801によって検出したイベントをサーバ90に対して送信する(3、4)。
例えば、監視ユニット801は、デスクトップ上の座標(354, 560)の位置で発生したクリック・オン動作を命令ユニット802に通知する。
命令ユニット802は、メッセージ送信ユニット803によってその動作(イベント)をメッセージ形式でサーバ側に送信する(5)。
さらに、命令ユニット802は、サーバからの受信したウィンドウ属性情報、グラフィックのデータおよびコマンド(10、11)に基づいてアプリケーションオブジェクト820の属性を修正することを担当する(12)。
例えば、命令ユニット802は、アプリケーションオブジェクトの属性に基づいてウェブページ上の特定の位置にアプリケーション出力ウィンドウを表示することをブラウザに指示する。
サーバ側において、サーバ90はリクエスト受信ユニット901、アプリケーション実行ユニット902、GUIスクリーン表示ユニット904、応答送信ユニット905および1以上の既存のデスクトップ・アプリケーション903を有している。
リクエスト受信ユニット901は、クライアントエージェント810のメッセージ送信ユニット803から送信されたイベントを受信し(5)、アプリケーション実行ユニット902に解析したリクエストを送信する(6)。
アプリケーション実行ユニット902は、受信したイベントに従って対応するアプリケーションを開始しあるいは操作する(7)。
GUIスクリーン表示ユニット904は、サーバからアプリケーション・ウィンドウのグラフィックのデータ(すなわち、GUI)を取得し(8)、そのデータを応答送信ユニット905に送信する(9)。
応答送信ユニット905は、クライアントエージェント810に応答を送信する(10)。
この応答は、アプリケーション・ウィンドウのグラフィックのデータおよびウィンドウ特性情報およびコマンドを含んでいる。
リクエスト受信ユニット901は、クライアントエージェント810のメッセージ送信ユニット803から送信されたイベントを受信し(5)、アプリケーション実行ユニット902に解析したリクエストを送信する(6)。
アプリケーション実行ユニット902は、受信したイベントに従って対応するアプリケーションを開始しあるいは操作する(7)。
GUIスクリーン表示ユニット904は、サーバからアプリケーション・ウィンドウのグラフィックのデータ(すなわち、GUI)を取得し(8)、そのデータを応答送信ユニット905に送信する(9)。
応答送信ユニット905は、クライアントエージェント810に応答を送信する(10)。
この応答は、アプリケーション・ウィンドウのグラフィックのデータおよびウィンドウ特性情報およびコマンドを含んでいる。
図9は、図8において示す既存のシステムの動作フローを示している。ステップS1およびS2は前処理ステップであり、上述した図8の構成ブロック図において説明した通りであるので、ここでは説明を省略する。
上述した関連技術による解決方法は、スクリーンコピー/スナップショット(screen copy/snapshot)の方式で、サーバ側デスクトップシステムのGUIをブラウザ側に送信し、ブラウザウェブページ上のユーザの操作情報(動作/イベント)を相対的な座標情報としてサーバへ返信する。
このようにして、元のシステムの対話型インタフェースを完全に再現することができるけれども、画像からそこに含まれている内容情報を取得することは困難であるので、ユーザがそのようなウェブ・アプリケーションを統合することは困難である。さらに、既存のシステムでは、生成したウェブ・アプリケーションのインタフェースを最適化しあるいは更新することができない。
このようにして、元のシステムの対話型インタフェースを完全に再現することができるけれども、画像からそこに含まれている内容情報を取得することは困難であるので、ユーザがそのようなウェブ・アプリケーションを統合することは困難である。さらに、既存のシステムでは、生成したウェブ・アプリケーションのインタフェースを最適化しあるいは更新することができない。
本発明は、デスクトップ・アプリケーションの内容情報を効率よく取得し、生成したウェブ・アプリケーションのインタフェース(GUI)を最適化し或いは変更することができる、デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法およびシステムを提供することを目的とする。
本発明による変換方法は、既存のデスクトップ・アプリケーションのグラフィックインターフェース情報を、GUI上のすべての要素の情報(要素の識別子、構造、内容、レイアウト情報を含む)を記述するために、インタフェース記述型言語フォーマットのデータ(例えば、エクステンシブル・マークアップ・ランゲージ(XML)GUIのデータ)に自動的に変換する。その後、ブラウザ上で、受信したXML GUIデータを解析し、ウェブページに変換する。
ユーザがウェブページ上である制御を操作すると、対応する応答関数がトリガされる。応答関数は、リクエスト内の動作情報(どの制御がトリガされたか、どのような動作か、対応するパラメータ情報等)をサーバ側のデスクトップ・アプリケーションへ返信し、デスクトップ・アプリケーション上で、この動作が再現される。デスクトップ・アプリケーションのGUIが更新された後、同様に、その変更は、GUIを更新するためにXML GUIフォーマットデータでブラウザに報告される。
本発明の第1の態様によれば、デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法は、クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマット(例えば、XML GUIデータ)でデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したインタフェース記述型言語データを解析し、関連するウェブページ要素を生成する。
さらに、クライアントで、表示されたデスクトップ・アプリケーション上で動作を実行すると、動作に対応するリクエストをサーバへ送信し、サーバで、ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素(例えば、HTMLコード)を生成し、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新する。
さらに、クライアントで、表示されたデスクトップ・アプリケーション上で動作を実行すると、動作に対応するリクエストをサーバへ送信し、サーバで、ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素(例えば、HTMLコード)を生成し、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新する。
本発明の第2の態様によれば、デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法は、クライアント側で、所望のデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマット(例えば、XML GUIデータ)でデータにラッピングし、コード変換ツールを用いてラッピングしたインタフェース記述型言語データを解析して関連するウェブページ要素(例えば、HTMLコード)を生成し、当該ウェブページ要素をクライアントへ送信し、クライアントで、受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
さらに、クライアントで、表示されたデスクトップ・アプリケーション上で動作を実行すると、動作に対応するリクエストをサーバへ送信し、サーバで、ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、コード変換ツールを用いてインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、クライアントで、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示する。
さらに、クライアントで、表示されたデスクトップ・アプリケーション上で動作を実行すると、動作に対応するリクエストをサーバへ送信し、サーバで、ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、コード変換ツールを用いてインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、クライアントで、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示する。
本発明の第3の態様によれば、デスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステムは、クライアントと、サーバを含み、クライアントが、所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、サーバからデータを受信するデータ受信ユニットとを備え、サーバが、URLを受信するリクエスト受信ユニットと、クライアントにコード変換ツールを提供するツール提供ユニットと、デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマット(例えば、XML GUIデータ)でデータにラッピングするインタフェース抽出ユニットと、インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データをクライアントへ送信するデータ送信ユニットとを備え、クライアントが、データ受信ユニットによって受信したインタフェース記述型言語データを、コード変換ツールを用いて解析し、関連するウェブページ要素(例えば、HTMLコード)を生成し、クライアントのブラウザが生成したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
さらに、ユーザがクライアントに表示されたデスクトップ・アプリケーション上で動作を実行すると、リクエスト送信ユニットが、動作に対応するリクエストをサーバに送信し、サーバにおいて、リクエスト受信ユニットがリクエストを受信し、アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、データ送信ユニットが、ラッピングしたデータをクライアントへ送信し、クライアントにおいて、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、クライアントのブラウザが、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新する。
さらに、ユーザがクライアントに表示されたデスクトップ・アプリケーション上で動作を実行すると、リクエスト送信ユニットが、動作に対応するリクエストをサーバに送信し、サーバにおいて、リクエスト受信ユニットがリクエストを受信し、アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、データ送信ユニットが、ラッピングしたデータをクライアントへ送信し、クライアントにおいて、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、クライアントのブラウザが、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新する。
本発明の第4の態様によれば、デスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステムは、クライアントと、サーバを含み、クライアントが、所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、サーバからデータを受信するデータ受信ユニットとを備え、サーバが、URLを受信するリクエスト受信ユニットと、デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマット(例えば、XML GUIデータ)でデータにラッピングするインタフェース抽出ユニットと、インタフェース抽出ユニットによってラッピングしたインタフェース記述型言語データを解析し、関連するウェブページ要素(例えば、HTMLコード)を生成するコード変換ユニットと、ウェブページ要素をクライアントへ送信するデータ送信ユニットとを備え、クライアントのブラウザが受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
さらに、ユーザがクライアント上で表示されたデスクトップ・アプリケーション上で動作を行うと、リクエスト送信ユニットが、動作に対応するリクエストをサーバへ送信し、サーバにおいて、リクエスト受信ユニットがリクエストを受信し、アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、コード変換ユニットが、インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、データ送信ユニットが、当該ウェブページ要素をクライアントへ送信し、クライアントにおいて、クライアントのブラウザが、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示する。
さらに、ユーザがクライアント上で表示されたデスクトップ・アプリケーション上で動作を行うと、リクエスト送信ユニットが、動作に対応するリクエストをサーバへ送信し、サーバにおいて、リクエスト受信ユニットがリクエストを受信し、アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、コード変換ユニットが、インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、データ送信ユニットが、当該ウェブページ要素をクライアントへ送信し、クライアントにおいて、クライアントのブラウザが、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示する。
本発明によれば、XMLデータからGUIに含まれるデータ情報を簡単に取得することができ、これにより、ウェブ・アプリケーションを統合することができる。例えば、ウェブページ上の一連の操作を処理し、他のネットワークサービスに対して結果として得られた情報を出力することができる。さらに、対話型のインタフェースを最適化するか変更するGUIを処理することは可能である。
本発明の第1のデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法は、クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、ラッピングしたデータをクライアントへ送信し、クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したインタフェース記述型言語データを解析し、関連するウェブページ要素を生成する。
本発明の第2のデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法は、クライアント側で、所望のデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、サーバで、デスクトップ・アプリケーションをロードし、サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、コード変換ツールを用いてラッピングしたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、クライアントで、受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
本発明の第1のデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステムは、クライアントと、サーバを含み、クライアントが、所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、サーバからデータを受信するデータ受信ユニットとを備え、サーバが、URLを受信するリクエスト受信ユニットと、クライアントにコード変換ツールを提供するツール提供ユニットと、デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データをクライアントへ送信するデータ送信ユニットとを備え、クライアントが、データ受信ユニットによって受信したインタフェース記述型言語データを、コード変換ツールを用いて解析し、関連するウェブページ要素を生成し、クライアントのブラウザが生成したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
本発明の第2のデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステムは、クライアントと、サーバを含み、クライアントが、所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、サーバからデータを受信するデータ受信ユニットとを備え、サーバが、URLを受信するリクエスト受信ユニットと、デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、インタフェース抽出ユニットによってラッピングしたインタフェース記述型言語データを解析し、関連するウェブページ要素を生成するコード変換ユニットと、ウェブページ要素をクライアントへ送信するデータ送信ユニットとを備え、クライアントのブラウザが受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示する。
本発明によれば、デスクトップ・アプリケーションの内容情報を効率よく取得し、生成したウェブ・アプリケーションのインタフェース(GUI)を最適化し或いは変更することができる。
本発明の上記および他の特徴は、以下の図面を参照して下記の詳細な説明を読むことにより、より明確に理解されるであろう。
本発明の第1の実施の形態によるデスクトップ・アプリケーション変換システム100の内部構造を示すブロック図である。
図1Aは、図1に示すシステム100の他の変形例100Aの内部構造を示すブロック図であり、サーバ20が複数のクライアント10と相互に通信する場合を考慮している。
図1に示すシステム100のデスクトップ・アプリケーション表示処理を説明するフローチャートである。
図1に示すシステム100のデスクトップ・アプリケーション更新処理を説明するフローチャートである。
本発明の第2の実施の形態によるデスクトップ・アプリケーション変換システム400の内部構造を示すブロック図である。
図4に示すシステム400のデスクトップ・アプリケーション表示処理を説明するフローチャートである。
図4に示すシステム400のデスクトップ・アプリケーション更新処理を説明するフローチャートである。
本発明の第1と第2の実施の形態によるデスクトップ・アプリケーション変換システムの動作処理を説明するための概略図である。
関連技術によるシステムの内部構造を示すのためのブロック図である。
図9は、図8に示す関連技術のシステムの動作処理を示すのためのフローチャートである。
以下、本発明によるデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法およびシステムについて、添付図面を参照して詳細に説明する。本発明の原理を説明するため、例としてエクステンシブル・マークアップ・ランゲージ(XML)を示しているが、本発明に対して他の周知の記述型言語を適用することができることは当業者によって容易に理解できるであろう。
(第1の実施の形態)
図1は、本発明の第1の実施の形態によるデスクトップ・アプリケーション変換システム100の内部構造を示すブロック図である。
図8に示す関連技術のシステムと比較して、本発明によるデスクトップ・アプリケーション変換システム100においては、クライアントの構造が非常に簡素化していることが分かるであろう。
クライアントはいかなる形式においてもクライアントエージェントを含む必要がない。図1に示すように、クライアント10は、リクエスト送信ユニット101およびデータ受信ユニット102を備えている。リクエスト送信ユニット101は、例えば、ユーザが呼び出しを希望するアプリケーションのURLを送信し、あるいは、GUI更新処理中に、ユーザがGUI上で行うイベント(例えば、動作)に対応するリクエスト(例えば、httpリクエスト)を送信する。データ受信ユニット102は、サーバからのデータを受信するために用いられる。
図1は、本発明の第1の実施の形態によるデスクトップ・アプリケーション変換システム100の内部構造を示すブロック図である。
図8に示す関連技術のシステムと比較して、本発明によるデスクトップ・アプリケーション変換システム100においては、クライアントの構造が非常に簡素化していることが分かるであろう。
クライアントはいかなる形式においてもクライアントエージェントを含む必要がない。図1に示すように、クライアント10は、リクエスト送信ユニット101およびデータ受信ユニット102を備えている。リクエスト送信ユニット101は、例えば、ユーザが呼び出しを希望するアプリケーションのURLを送信し、あるいは、GUI更新処理中に、ユーザがGUI上で行うイベント(例えば、動作)に対応するリクエスト(例えば、httpリクエスト)を送信する。データ受信ユニット102は、サーバからのデータを受信するために用いられる。
図1において、サーバ20は、アプリケーション作動ユニット201と、リクエスト受信ユニット202と、ツール提供ユニット203と、データ送信ユニット204と、インタフェース(GUI)抽出装置205およびインタフェース修正ユニット206(任意)を備えている。また、サーバ20は、既存のデスクトップ・アプリケーションの集合を含んでもよい。
図1Aは、図1のシステム100の別の変形例100Aを示している。ここでは、サーバ20が、複数のクライアント10と相互に通信する形態を考慮している。種々のクライアントによって呼び出されたアプリケーションを区別するため、図1に示すシステム100の構成要素に加えて、サーバ20は、さらに、アプリケーション対応テーブル208を格納するメモリ、テーブル操作ユニット207およびセッションID(識別子)割り当てユニット209を備えている。これに対応して、クライアント10は、さらに、セッションID受信ユニット103およびセッションID挿入ユニット104を備えている。
説明を分かり易くするために、新しく追加した構成要素と相互に情報通信を行う構成要素あるいは部分だけを図1Aに示し、図1と同じ他の構成要素については省略している。
説明を分かり易くするために、新しく追加した構成要素と相互に情報通信を行う構成要素あるいは部分だけを図1Aに示し、図1と同じ他の構成要素については省略している。
以下に本発明の第1の実施の形態によるデスクトップ・アプリケーション変換システム100(100A)の具体的な動作処理について、図2および図3を参照して説明する。さらに本発明の動作処理の具体例を図7に示している。
まず、ユーザは、ブラウザのアドレス欄に呼び出しを希望するデスクトップ・アプリケーションのURLを、例えば、URL:http://www.nec.com/App5のように入力する。
図2を参照すると、その後、ステップ201において、クライアント10が、ユーザが入力したデスクトップ・アプリケーションのURLをリクエスト送信ユニット101を介してサーバ20に送信する。
サーバ20において、そのURLはリクエスト受信ユニット202によって受信される。そのURLは、希望するデスクトップ・アプリケーションを識別するためのアプリケーションIDを含んでいる。例えば、図7に示す例において、ユーザがURL:http://www.nec.com/App5を入力した場合、対応するアプリケーションIDは「5」である。
次に、図1Aの場合、異なるクライアントによって呼び出されたアプリケーションを区別するために、サーバ20はアプリケーション対応テーブル208を保持する。
このため、ステップ202において、サーバ20のセッションID割り当てユニット209は、上記クライアント10に対して、当該サーバ20とこのクライアント間に確立されたセッションを識別するためのセッションIDを割り当てる。
次に、テーブル操作ユニット207は、アプリケーション対応テーブル208に、アプリケーションIDとセッションID間の対応関係を記録する新たなエントリを追加することにより、アプリケーション対応テーブル208を更新する。
ステップ203において、クライアント10に対して割り当てられたセッションIDは対応するクライアントへ送信される。
クライアントからアプリケーションURLを受信すると、サーバは以下の2つの処理を実行する。
(1)ステップ204において、ツール提供ユニット203がクライアント10に対してコード変換ツールを提供する。
このコード変換ツールは、ブランクのウェブページ内に含まれるJavaScriptコード或いは対応するプラグイン(例えば、ActiveX、Flash、Sliverlight、Applet等)を含む。コード変換ツールの機能および作用については後述する。
(2)ステップ205において、アプリケーション作動ユニット201が、受信したURLから解析されたアプリケーションIDに従って、デスクトップ・アプリケーション集合から対応デスクトップ・アプリケーションを選択してロードする。
図2を参照すると、その後、ステップ201において、クライアント10が、ユーザが入力したデスクトップ・アプリケーションのURLをリクエスト送信ユニット101を介してサーバ20に送信する。
サーバ20において、そのURLはリクエスト受信ユニット202によって受信される。そのURLは、希望するデスクトップ・アプリケーションを識別するためのアプリケーションIDを含んでいる。例えば、図7に示す例において、ユーザがURL:http://www.nec.com/App5を入力した場合、対応するアプリケーションIDは「5」である。
次に、図1Aの場合、異なるクライアントによって呼び出されたアプリケーションを区別するために、サーバ20はアプリケーション対応テーブル208を保持する。
このため、ステップ202において、サーバ20のセッションID割り当てユニット209は、上記クライアント10に対して、当該サーバ20とこのクライアント間に確立されたセッションを識別するためのセッションIDを割り当てる。
次に、テーブル操作ユニット207は、アプリケーション対応テーブル208に、アプリケーションIDとセッションID間の対応関係を記録する新たなエントリを追加することにより、アプリケーション対応テーブル208を更新する。
ステップ203において、クライアント10に対して割り当てられたセッションIDは対応するクライアントへ送信される。
クライアントからアプリケーションURLを受信すると、サーバは以下の2つの処理を実行する。
(1)ステップ204において、ツール提供ユニット203がクライアント10に対してコード変換ツールを提供する。
このコード変換ツールは、ブランクのウェブページ内に含まれるJavaScriptコード或いは対応するプラグイン(例えば、ActiveX、Flash、Sliverlight、Applet等)を含む。コード変換ツールの機能および作用については後述する。
(2)ステップ205において、アプリケーション作動ユニット201が、受信したURLから解析されたアプリケーションIDに従って、デスクトップ・アプリケーション集合から対応デスクトップ・アプリケーションを選択してロードする。
対応デスクトップ・アプリケーション(例えば、アプリケーションID=5)をロードした後、ステップ206において、インタフェース抽出ユニット205が、デスクトップ・アプリケーションのGUI情報を抽出し、例えばXML(エクステンシブル・マークアップ・ランゲージ)フォーマット・データにそれをラッピングする。
XMLデータは、GUIにおける全ての要素の情報(ユニークな標識、属性(例えば、種類、サイズ、位置、内容等)、操作タイプ(例えば、追加、削除、更新等)を含む)を記述することができる。
オプション機能として、ステップ207において、インタフェース修正ユニット206が、デスクトップ・アプリケーションのGUIを再カスタマイズするためにラッピングされたXMLデータを修正することが可能である。
例えば、GUIのレイアウトを変更したり、或いは、XMLデータの修正により機能を追加する/削除することが可能である。
次に、ステップ208において、ラッピングされた(あるいは、修正された)XMLデータが、データ送信ユニット204を通してクライアントへ送信される。
クライアントにおいて、XMLデータはデータ受信ユニット102によって受信され、コード変換を行うため先に受信したコード変換ツールに提供される(ステップ209)。
コード変換ツールは、受信したXMLデータを解析し、対応するGUI要素情報を生成する。これにより、対応するウェブページ(例えば、HTMLデータ)を自動的に生成し、ウェブページの制御タイプに基づいてそれらの応答関数としてJavaScriptコードを追加する。
上述したように、コード変換ツールは、ウェブページを含まれるJavaScriptコード、或いはプラグイン(例えば、ActiveX、Flash、Sliverlight、Applet等)を含む。
プラグインを使用する場合、サーバは、このプラグインを含むブランクのウェブページをクライアントに対して返却する。
クライアントがブランクのウェブページを受信すると、このプラグインが以前すでにインストールされているかどうかをまず判定する。
プラグインが既にインストールされているとクライアントが判定すれば、それを直接呼び出すことが可能である。
クライアントがプラグインをまだインストールしていなければ、ユーザに対して、ダイアログ・ボックス等を用いてプラグインをインストールするかどうかを問い合わせる。ユーザが許可すれば、プラグインがブラウザにインストールされる。
本実施の形態において、XMLデータの解析は、JavaScriptのDOM技術によって実現することが可能である。
例えば、JavaScriptは、XML GUIデータの各GUI要素の情報(ユニークな標識、属性、操作タイプ等を含む)を1つ1つ順番に処理する。
操作タイプが「追加」であれば、インタフェース要素タイプ(例えば、Button/TextBox/List…等)を通して、対応するウェブページ要素(例えば、必要な属性含むボタンを記述するHTMLコード)が構築される。
次に、インタフェース要素(GUI要素)と生成されたウェブページ要素間のマッピング関係が記録される。
操作タイプが「削除」ならば、GUI要素に対応するウェブページ要素が見つけ出され、ウェブページから削除される。また、対応するマッピング関係が削除される。
操作タイプが「更新」ならば、GUI要素に対応するウェブページ要素が見つけ出され、そのウェブページ要素が受信した新たな要素属性を用いて更新される。
さらに、GUI要素はそれぞれ応答イベントにバインドされる(結び付けられる)。
異なるGUI要素のタイプに基づいて、異なるイベントがGUI要素にバインドされる。
例えば、Buttonは、OnClickイベントにバインドされる。
応答イベントがトリガされると、動作記述リクエストがサーバへ送信される。
このリクエストは、操作されているGUI要素のユニークな識別子、動作タイプおよび関連するパラメータを含む。
図2に戻り、ステップ210において、ブラウザは、自身に含まれるモジュール(例えば、レンダリングモジュール)を使用し、コード変換ツールによって生成されたウェブページ要素に基づいて使用したいデスクトップ・アプリケーションをレンダリングして表示する。
XMLデータは、GUIにおける全ての要素の情報(ユニークな標識、属性(例えば、種類、サイズ、位置、内容等)、操作タイプ(例えば、追加、削除、更新等)を含む)を記述することができる。
オプション機能として、ステップ207において、インタフェース修正ユニット206が、デスクトップ・アプリケーションのGUIを再カスタマイズするためにラッピングされたXMLデータを修正することが可能である。
例えば、GUIのレイアウトを変更したり、或いは、XMLデータの修正により機能を追加する/削除することが可能である。
次に、ステップ208において、ラッピングされた(あるいは、修正された)XMLデータが、データ送信ユニット204を通してクライアントへ送信される。
クライアントにおいて、XMLデータはデータ受信ユニット102によって受信され、コード変換を行うため先に受信したコード変換ツールに提供される(ステップ209)。
コード変換ツールは、受信したXMLデータを解析し、対応するGUI要素情報を生成する。これにより、対応するウェブページ(例えば、HTMLデータ)を自動的に生成し、ウェブページの制御タイプに基づいてそれらの応答関数としてJavaScriptコードを追加する。
上述したように、コード変換ツールは、ウェブページを含まれるJavaScriptコード、或いはプラグイン(例えば、ActiveX、Flash、Sliverlight、Applet等)を含む。
プラグインを使用する場合、サーバは、このプラグインを含むブランクのウェブページをクライアントに対して返却する。
クライアントがブランクのウェブページを受信すると、このプラグインが以前すでにインストールされているかどうかをまず判定する。
プラグインが既にインストールされているとクライアントが判定すれば、それを直接呼び出すことが可能である。
クライアントがプラグインをまだインストールしていなければ、ユーザに対して、ダイアログ・ボックス等を用いてプラグインをインストールするかどうかを問い合わせる。ユーザが許可すれば、プラグインがブラウザにインストールされる。
本実施の形態において、XMLデータの解析は、JavaScriptのDOM技術によって実現することが可能である。
例えば、JavaScriptは、XML GUIデータの各GUI要素の情報(ユニークな標識、属性、操作タイプ等を含む)を1つ1つ順番に処理する。
操作タイプが「追加」であれば、インタフェース要素タイプ(例えば、Button/TextBox/List…等)を通して、対応するウェブページ要素(例えば、必要な属性含むボタンを記述するHTMLコード)が構築される。
次に、インタフェース要素(GUI要素)と生成されたウェブページ要素間のマッピング関係が記録される。
操作タイプが「削除」ならば、GUI要素に対応するウェブページ要素が見つけ出され、ウェブページから削除される。また、対応するマッピング関係が削除される。
操作タイプが「更新」ならば、GUI要素に対応するウェブページ要素が見つけ出され、そのウェブページ要素が受信した新たな要素属性を用いて更新される。
さらに、GUI要素はそれぞれ応答イベントにバインドされる(結び付けられる)。
異なるGUI要素のタイプに基づいて、異なるイベントがGUI要素にバインドされる。
例えば、Buttonは、OnClickイベントにバインドされる。
応答イベントがトリガされると、動作記述リクエストがサーバへ送信される。
このリクエストは、操作されているGUI要素のユニークな識別子、動作タイプおよび関連するパラメータを含む。
図2に戻り、ステップ210において、ブラウザは、自身に含まれるモジュール(例えば、レンダリングモジュール)を使用し、コード変換ツールによって生成されたウェブページ要素に基づいて使用したいデスクトップ・アプリケーションをレンダリングして表示する。
図3は、デスクトップ・アプリケーション更新処理を説明するフローチャートである。
ステップ301において、クライアントのユーザは、アプリケーションGUI上である動作を実行する。
例えば、図7に示すように、ユーザが、ウェブページ上で左のツリーリスト中のファイルフォルダのアイコンをクリックする。
このHTML要素に対応するJavaScriptコードのセクションがトリガーされ、特定のhttpリクエストを生成する。
例えば、ウェブページ上のボタンがクリックされると、以下のようなhttpリクエストが生成される。
http://www.nec.com/App5/Control=button&ID=1
図1Aの具体例においては、サーバに対して同一性を示すために、ステップ302で、クライアント10のセッションID挿入ユニット104が、以前の通信でサーバが提供したセッションIDをそのhttpリクエストに挿入する。
次に、ステップ303において、セッションIDを含むhttpリクエストが、サーバに送信され、サーバのリクエスト受信ユニット202によって受信される。
httpリクエストを受信すると、テーブル操作ユニット207は、当該リクエストからセッションIDを抽出し、アプリケーション対応テーブル208を検索することにより対応するアプリケーションIDを判定する(ステップ304)。
ステップ305において、アプリケーション作動ユニット201は、テーブル操作ユニット207によって判定されたアプリケーションIDに従って対応するアプリケーションを操作し、アプリケーションのGUI上でのユーザの動作(例えば、ウェブページ上の左のツリーリスト中のファイルフォルダのアイコンをクリックする動作)を再現する。
これにより、図7を参照すると、サーバ側において、ファイルフォルダに含まれるファイルのリストが現われる。
次に、ステップ306において、インタフェース抽出ユニット205は、アプリケーションのGUIの変化を検出し、GUI変化情報を抽出し、そのGUI変化情報をXMLフォーマットデータにラッピングする。
ステップ307において、ラッピングされたXMLデータ(それらはアプリケーションのGUIの変化を反映している)は、データ送信ユニット204を通してクライアントへ送信される。
ステップ308において、コード変換ツールは、受信したXMLデータを解析しそれをウェブページ要素(例えば、HTML)に翻訳する。また、ブラウザは、デスクトップ・アプリケーションGUI上の対応する部分の表示を動的に更新する(ステップ309)。
ステップ301において、クライアントのユーザは、アプリケーションGUI上である動作を実行する。
例えば、図7に示すように、ユーザが、ウェブページ上で左のツリーリスト中のファイルフォルダのアイコンをクリックする。
このHTML要素に対応するJavaScriptコードのセクションがトリガーされ、特定のhttpリクエストを生成する。
例えば、ウェブページ上のボタンがクリックされると、以下のようなhttpリクエストが生成される。
http://www.nec.com/App5/Control=button&ID=1
図1Aの具体例においては、サーバに対して同一性を示すために、ステップ302で、クライアント10のセッションID挿入ユニット104が、以前の通信でサーバが提供したセッションIDをそのhttpリクエストに挿入する。
次に、ステップ303において、セッションIDを含むhttpリクエストが、サーバに送信され、サーバのリクエスト受信ユニット202によって受信される。
httpリクエストを受信すると、テーブル操作ユニット207は、当該リクエストからセッションIDを抽出し、アプリケーション対応テーブル208を検索することにより対応するアプリケーションIDを判定する(ステップ304)。
ステップ305において、アプリケーション作動ユニット201は、テーブル操作ユニット207によって判定されたアプリケーションIDに従って対応するアプリケーションを操作し、アプリケーションのGUI上でのユーザの動作(例えば、ウェブページ上の左のツリーリスト中のファイルフォルダのアイコンをクリックする動作)を再現する。
これにより、図7を参照すると、サーバ側において、ファイルフォルダに含まれるファイルのリストが現われる。
次に、ステップ306において、インタフェース抽出ユニット205は、アプリケーションのGUIの変化を検出し、GUI変化情報を抽出し、そのGUI変化情報をXMLフォーマットデータにラッピングする。
ステップ307において、ラッピングされたXMLデータ(それらはアプリケーションのGUIの変化を反映している)は、データ送信ユニット204を通してクライアントへ送信される。
ステップ308において、コード変換ツールは、受信したXMLデータを解析しそれをウェブページ要素(例えば、HTML)に翻訳する。また、ブラウザは、デスクトップ・アプリケーションGUI上の対応する部分の表示を動的に更新する(ステップ309)。
(第2の実施の形態)
本発明の第2の実施の形態について、図4〜図7を参照して説明する。
図4は、本発明の第2の実施の形態によるデスクトップ・アプリケーション変換システム400の内部構造を示すブロック図である。図5は、図4に示すシステム400のデスクトップ・アプリケーション表示処理を説明するフローチャートである。図6は、図4に示すシステム400のデスクトップ・アプリケーション更新処理を説明するフローチャートである。
本発明の第2の実施の形態について、図4〜図7を参照して説明する。
図4は、本発明の第2の実施の形態によるデスクトップ・アプリケーション変換システム400の内部構造を示すブロック図である。図5は、図4に示すシステム400のデスクトップ・アプリケーション表示処理を説明するフローチャートである。図6は、図4に示すシステム400のデスクトップ・アプリケーション更新処理を説明するフローチャートである。
第1と第2実施の形態の間の相違は、アプリケーションGUIについてのコード変換機能(XMLデータからHTML要素への)が、クライアントによって実行されず、サーバによって実行される点である。
従って、図1に示すシステム100と比較すると、システム400においては、サーバ20がコード変換ツールを提供するためのツール提供ユニット203を備えていない。その代わりに、サーバ20はそれ自体にコード変換ユニット401を備えている。
コード変換ユニット401が任意のウェブページに含まれるJavaScriptコードである点は、第1の実施の形態と同様である。
図4において、第1の実施の形態と類似の構成要素については同じ参照番号で示し、それらの詳細な説明はここでは省略する。
従って、図1に示すシステム100と比較すると、システム400においては、サーバ20がコード変換ツールを提供するためのツール提供ユニット203を備えていない。その代わりに、サーバ20はそれ自体にコード変換ユニット401を備えている。
コード変換ユニット401が任意のウェブページに含まれるJavaScriptコードである点は、第1の実施の形態と同様である。
図4において、第1の実施の形態と類似の構成要素については同じ参照番号で示し、それらの詳細な説明はここでは省略する。
サーバが複数のクライアントと相互に通信する形態に第2の実施の形態が適用されることに留意するべきである。従って、図1Aの変形例は、同様に第2の実施の形態によるシステム400に適用することができる。
図5および図6のフローチャートを参照すると、第1の実施の形態と同様、ステップ501において、クライアントが、ブラウザを通して希望するデスクトップ・アプリケーションのURLを入力する。
そのURLはデスクトップ・アプリケーションを識別するためのアプリケーションIDを含んでいる。
ステップ502において、サーバはクライアントにセッションIDを割り当て、新たなエントリの追加することによりアプリケーション対応テーブル208を更新する。
次に、ステップ503において、割り当てられたセッションIDが、クライアントへ送信される。
ステップ504において、サーバのアプリケーション作動ユニット201がデスクトップ・アプリケーションをロードする。
ステップ505において、インタフェース抽出ユニット205は、デスクトップ・アプリケーションのGUI情報を抽出し、XMLデータ中にGUI情報をラッピングする。
第1の実施の形態と同様に、オプションのステップ506が実行され、インタフェース修正ユニット206が、アプリケーションGUIを再カスタマイズするためにラッピングされたXMLデータを修正することが可能である。
ここで、第1の実施の形態と異なり、ラッピングされた(あるいは修正された)XMLデータは、クライアントへ送信されず、サーバ側上で直接処理される。
ステップ507において、コード変換ユニット401は、XMLデータを解析するコード変換ツール(例えば、JavaScriptコード)を使用し、それを対応するウェブページ要素(例えば、HTMLデータ)に翻訳する。
ステップ508において、データ送信ユニット204が、クライアントへ生成したウェブページ要素(HTMLデータ)を送信する。
次に、クライアントにおいて、ブラウザが、受信したウェブページ要素からデスクトップ・アプリケーションを直接表示する(ステップ509)。
そのURLはデスクトップ・アプリケーションを識別するためのアプリケーションIDを含んでいる。
ステップ502において、サーバはクライアントにセッションIDを割り当て、新たなエントリの追加することによりアプリケーション対応テーブル208を更新する。
次に、ステップ503において、割り当てられたセッションIDが、クライアントへ送信される。
ステップ504において、サーバのアプリケーション作動ユニット201がデスクトップ・アプリケーションをロードする。
ステップ505において、インタフェース抽出ユニット205は、デスクトップ・アプリケーションのGUI情報を抽出し、XMLデータ中にGUI情報をラッピングする。
第1の実施の形態と同様に、オプションのステップ506が実行され、インタフェース修正ユニット206が、アプリケーションGUIを再カスタマイズするためにラッピングされたXMLデータを修正することが可能である。
ここで、第1の実施の形態と異なり、ラッピングされた(あるいは修正された)XMLデータは、クライアントへ送信されず、サーバ側上で直接処理される。
ステップ507において、コード変換ユニット401は、XMLデータを解析するコード変換ツール(例えば、JavaScriptコード)を使用し、それを対応するウェブページ要素(例えば、HTMLデータ)に翻訳する。
ステップ508において、データ送信ユニット204が、クライアントへ生成したウェブページ要素(HTMLデータ)を送信する。
次に、クライアントにおいて、ブラウザが、受信したウェブページ要素からデスクトップ・アプリケーションを直接表示する(ステップ509)。
図6を参照すると、ユーザがデスクトップ・アプリケーションGUI上で動作を実行すると、第1の実施の形態と同様、クライアントが対応するhttpリクエスト(ステップ601)を生成する。
ステップ602において、異なるクライアントを区別するために、サーバによって以前に割り当てられたセッションIDをhttpリクエストに挿入する。
次に、ステップ603において、httpリクエストをサーバへ送信する。
ステップ604において、テーブル操作ユニット207が上記リクエストからセッションIDを抽出し、セッションIDに対応するアプリケーションIDを判定するためにアプリケーション対応テーブル208を検索する。
ステップ605において、ユーザの動作が、アプリケーションIDに対応するアプリケーションGUI上で再現される。
ステップ606において、インタフェース抽出ユニット205は、GUI変化を検出し、変化したGUIの全GUI情報を抽出し、XMLデータ中にそれをラッピングする。
次に、ステップ607において、コード変換ユニット401は、変化したGUIのXMLデータをウェブページ要素HTMLに翻訳する。
ステップ608において、生成したウェブページ要素を、クライアントへ送信する。
次に、ステップ609において、ブラウザは、受信したウェブページ要素に基づいてデスクトップ・アプリケーションの変化したGUIを表示する。
ステップ602において、異なるクライアントを区別するために、サーバによって以前に割り当てられたセッションIDをhttpリクエストに挿入する。
次に、ステップ603において、httpリクエストをサーバへ送信する。
ステップ604において、テーブル操作ユニット207が上記リクエストからセッションIDを抽出し、セッションIDに対応するアプリケーションIDを判定するためにアプリケーション対応テーブル208を検索する。
ステップ605において、ユーザの動作が、アプリケーションIDに対応するアプリケーションGUI上で再現される。
ステップ606において、インタフェース抽出ユニット205は、GUI変化を検出し、変化したGUIの全GUI情報を抽出し、XMLデータ中にそれをラッピングする。
次に、ステップ607において、コード変換ユニット401は、変化したGUIのXMLデータをウェブページ要素HTMLに翻訳する。
ステップ608において、生成したウェブページ要素を、クライアントへ送信する。
次に、ステップ609において、ブラウザは、受信したウェブページ要素に基づいてデスクトップ・アプリケーションの変化したGUIを表示する。
以上、本発明の第1と第2実施の形態について、添付図面を参照して説明した。
上述したように、本発明によれば、XMLデータからGUIに含まれるデータ情報を簡単に取得することができ、これにより、ウェブ・アプリケーションを統合することができる。例えば、ウェブページ上の一連の操作を処理し、他のネットワークサービスに対して結果として得られた情報を出力することができる。さらに、対話型のインタフェースを最適化するか変更するGUIを処理することは可能である。
上述したように、本発明によれば、XMLデータからGUIに含まれるデータ情報を簡単に取得することができ、これにより、ウェブ・アプリケーションを統合することができる。例えば、ウェブページ上の一連の操作を処理し、他のネットワークサービスに対して結果として得られた情報を出力することができる。さらに、対話型のインタフェースを最適化するか変更するGUIを処理することは可能である。
しかしながら、本発明は、添付図面において示される特定の構成および処理に限定されない。上記の実施の形態において、いくつかの具体的なステップが例として示され説明されている。しかしながら、本発明の方法はこれらの特定のステップに限定されない。当業者であれば、本発明の精神および本質的な機能から外れずることなく、これらのステップに変更、修正、補足を加えることができ、あるいはステップ間の順番を変更できることを容易に理解するであろう。
本発明に要素は、ハードウェア、ソフトウェア、ファームウェアあるいはそれの組み合わせにおいて実現され、それのシステム、サブシステム、構成部品あるいはサブコンポーネントにおいて利用することができる。ソフトウェア中で実現された時、本発明に要素は、必要なタスクを実行するためのプログラム、あるいはコードセグメントである。プログラムまたはコードセグメントは、コンピュータ読み取り可能な媒体に格納するか、あるいは伝送ケーブルか通信リンク上の搬送波に包含されたデータ信号によって送信することが可能である。コンピュータ読み取り可能な媒体には、情報を格納するか転送することが可能であるすべての媒体を含む。コンピュータ読み取り可能な媒の具体例は、電子回路、半導体記憶装置、ROM、フラッシュ・メモリー、消去可能ROM(EROM)、フロッピー・ディスク、CD−ROM光ディスク、ハードディスク、光ファイバー媒体、無線周波数(RF)リンクなどを含む。コードセグメントは、インターネット、イントラネットなどのようなコンピュータネットワークを経由してダウンロードすることも可能である。
以上、特定の実施の形態を参照して本発明を説明したが、本発明は、図面中で示される上記の特定の実施の形態および特定の構成に限定されない。例えば、示されたいくつかの構成要素は、1つの構成要素として互いに組み合わせることも可能である。あるいは、1つの構成要素をいくつかのサブコンポーネントに分割することも可能であるし、他の既知の構成要素を加えることも可能である。動作処理も実施例において示されるものに限定されない。当業者は、本発明が、本発明の精神および本質的な機能から外れずに、他の特定の形態に実装可能であることを理解するだろう。従って、上記の実施の形態は、全ての点において例示でありかつ限定的でないと考慮すべきである。本発明の範囲は、前述の説明によってではなく添付された請求項によって示される。したがって、請求項と同等の意味と範囲の内で生ずる変更は全て本発明の範囲に包含される。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、
サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したインタフェース記述型言語データを解析し、関連するウェブページ要素を生成すること
を特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。
デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、
サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したインタフェース記述型言語データを解析し、関連するウェブページ要素を生成すること
を特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。
(付記2)
前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、
コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、
ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする付記1に記載の方法。
前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、
コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、
ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする付記1に記載の方法。
(付記3)
前記サーバで、
ラッピングしたインタフェース記述型言語データを修正し、修正済のインタフェース記述型言語データを前記クライアントへ送信することを特徴とする付記1に記載の方法。
前記サーバで、
ラッピングしたインタフェース記述型言語データを修正し、修正済のインタフェース記述型言語データを前記クライアントへ送信することを特徴とする付記1に記載の方法。
(付記4)
前記コード変換ツールが、ウェブページに含まれるJavaScriptコードであり、
前記コード変換ツールを提供するステップが、
前記サーバから前記クライアントへJavaScriptコードを含むブランクのウェブページを返却することを特徴とする付記1に記載の方法。
前記コード変換ツールが、ウェブページに含まれるJavaScriptコードであり、
前記コード変換ツールを提供するステップが、
前記サーバから前記クライアントへJavaScriptコードを含むブランクのウェブページを返却することを特徴とする付記1に記載の方法。
(付記5)
前記コード変換ツールが、前記ウェブページに含まれるプラグであり、
前記コード変換ツールを提供するステップが、
前記サーバから前記クライアントへ前記プラグを含むブランクのウェブページを返却し、
前記クライアントが、前記プラグが既にインストールされているかどうかを判定し、
前記クライアントが、前記プラグが既にインストールされていると判定すると、プラグを直接呼び出し、
前記クライアントが、前記プラグがインストールされていないと判定すると、前記プラグをインストールするかどうかをユーザに問い合せし、
ユーザが前記プラグのインストールを許可すると、クライアントのブラウザに前記プラグをインストールすることを特徴とする付記1に記載の方法。
前記コード変換ツールが、前記ウェブページに含まれるプラグであり、
前記コード変換ツールを提供するステップが、
前記サーバから前記クライアントへ前記プラグを含むブランクのウェブページを返却し、
前記クライアントが、前記プラグが既にインストールされているかどうかを判定し、
前記クライアントが、前記プラグが既にインストールされていると判定すると、プラグを直接呼び出し、
前記クライアントが、前記プラグがインストールされていないと判定すると、前記プラグをインストールするかどうかをユーザに問い合せし、
ユーザが前記プラグのインストールを許可すると、クライアントのブラウザに前記プラグをインストールすることを特徴とする付記1に記載の方法。
(付記6)
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記2に記載の方法。
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記2に記載の方法。
(付記7)
前記インタフェース記述型言語が、エクステンシブル・マークアップ・ランゲージ(XML)であることを特徴とする付記1又は付記2に記載の方法。
前記インタフェース記述型言語が、エクステンシブル・マークアップ・ランゲージ(XML)であることを特徴とする付記1又は付記2に記載の方法。
(付記8)
前記ウェブページ要素が、ハイパーテキスト・マークアップ・ランゲージ(HTML)コードであることを特徴とする付記1又は付記2に記載の方法。
前記ウェブページ要素が、ハイパーテキスト・マークアップ・ランゲージ(HTML)コードであることを特徴とする付記1又は付記2に記載の方法。
(付記9)
前記リクエストが、ハイパーテキスト転送プロトコル(HTTP)リクエストであることを特徴とする付記2に記載の方法。
前記リクエストが、ハイパーテキスト転送プロトコル(HTTP)リクエストであることを特徴とする付記2に記載の方法。
(付記10)
デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアント側で、所望のデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、前記デスクトップ・アプリケーションをロードし、
前記サーバで、
ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、
前記インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、
前記コード変換ツールを用いてラッピングした前記インタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素を前記クライアントへ送信し、
前記クライアントで、
受信した前記ウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。
デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアント側で、所望のデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、前記デスクトップ・アプリケーションをロードし、
前記サーバで、
ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、
前記インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、
前記コード変換ツールを用いてラッピングした前記インタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素を前記クライアントへ送信し、
前記クライアントで、
受信した前記ウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。
(付記11)
前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ツールを用いてインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、
前記クライアントで、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする付記10に記載の方法。
前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ツールを用いてインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、
前記クライアントで、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする付記10に記載の方法。
(付記12)
前記サーバで、
ラッピングしたインタフェース記述型言語データを修正し、修正済のインタフェース記述型言語データを解析のために前記コード変換ツールに提供することを特徴とする付記10に記載の方法。
前記サーバで、
ラッピングしたインタフェース記述型言語データを修正し、修正済のインタフェース記述型言語データを解析のために前記コード変換ツールに提供することを特徴とする付記10に記載の方法。
(付記13)
前記コード変換ツールが、ウェブページに含まれるJavaScriptコードであることを特徴とする付記10に記載の方法。
前記コード変換ツールが、ウェブページに含まれるJavaScriptコードであることを特徴とする付記10に記載の方法。
(付記14)
前記インタフェース記述型言語が、エクステンシブル・マークアップ・ランゲージ(XML)であることを特徴とする付記10又は付記11に記載の方法。
前記インタフェース記述型言語が、エクステンシブル・マークアップ・ランゲージ(XML)であることを特徴とする付記10又は付記11に記載の方法。
(付記15)
前記ウェブページ要素が、ハイパーテキスト・マークアップ・ランゲージ(HTML)コードであることを特徴とする付記10又は付記11に記載の方法。
前記ウェブページ要素が、ハイパーテキスト・マークアップ・ランゲージ(HTML)コードであることを特徴とする付記10又は付記11に記載の方法。
(付記16)
前記リクエストが、ハイパーテキスト転送プロトコル(HTTP)リクエストであることを特徴とする付記112に記載の方法。
前記リクエストが、ハイパーテキスト転送プロトコル(HTTP)リクエストであることを特徴とする付記112に記載の方法。
(付記17)
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記11に記載の方法。
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記11に記載の方法。
(付記18)
クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記クライアントにコード変換ツールを提供するツール提供ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントが、前記データ受信ユニットによって受信した前記インタフェース記述型言語データを、前記コード変換ツールを用いて解析し、関連するウェブページ要素を生成し、前記クライアントのブラウザが生成したウェブページ要素に基づいて前記デスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。
クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記クライアントにコード変換ツールを提供するツール提供ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントが、前記データ受信ユニットによって受信した前記インタフェース記述型言語データを、前記コード変換ツールを用いて解析し、関連するウェブページ要素を生成し、前記クライアントのブラウザが生成したウェブページ要素に基づいて前記デスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。
(付記19)
ユーザが前記クライアントに表示されたデスクトップ・アプリケーション上で動作を実行すると、前記リクエスト送信ユニットが、動作に対応するリクエストをサーバに送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、
前記アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
前記データ送信ユニットが、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントにおいて、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記クライアントのブラウザが、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする付記18に記載のシステム。
ユーザが前記クライアントに表示されたデスクトップ・アプリケーション上で動作を実行すると、前記リクエスト送信ユニットが、動作に対応するリクエストをサーバに送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、
前記アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
前記データ送信ユニットが、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントにおいて、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記クライアントのブラウザが、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする付記18に記載のシステム。
(付記20)
前記サーバが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを修正するためのインタフェース修正ユニットを備えることを特徴とする付記18に記載のシステム。
前記サーバが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを修正するためのインタフェース修正ユニットを備えることを特徴とする付記18に記載のシステム。
(付記21)
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、
前記サーバが、
アプリケーション対応テーブルを格納するメモリと、
サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当てるセッションID割り当てユニットと、
テーブル操作ユニットとを備え、
前記クライアントが、
前記セッションIDを受信するセッションID受信ユニットと、
後続するリクエストに前記セッションIDを挿入するセッションID挿入ユニットとを備え、
前記サーバが前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記セッションID割り当てユニットが、前記クライアントに対してセッションIDを割り当てて提供し、前記テーブル操作ユニットが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが動作に対応するリクエストを送信する前に、前記セッションID挿入ユニットが、前記リクエストに前記セッションIDを挿入し、
前記サーバがリクエストを受信すると、前記テーブル操作ユニットが、前記リクエストから前記セッションIDを抽出し、前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、前記アプリケーション作動ユニットが、取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記19に記載のシステム。
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、
前記サーバが、
アプリケーション対応テーブルを格納するメモリと、
サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当てるセッションID割り当てユニットと、
テーブル操作ユニットとを備え、
前記クライアントが、
前記セッションIDを受信するセッションID受信ユニットと、
後続するリクエストに前記セッションIDを挿入するセッションID挿入ユニットとを備え、
前記サーバが前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記セッションID割り当てユニットが、前記クライアントに対してセッションIDを割り当てて提供し、前記テーブル操作ユニットが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが動作に対応するリクエストを送信する前に、前記セッションID挿入ユニットが、前記リクエストに前記セッションIDを挿入し、
前記サーバがリクエストを受信すると、前記テーブル操作ユニットが、前記リクエストから前記セッションIDを抽出し、前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、前記アプリケーション作動ユニットが、取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記19に記載のシステム。
(付記22)
クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングしたインタフェース記述型言語データを解析し、関連するウェブページ要素を生成するコード変換ユニットと、
前記ウェブページ要素を前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントのブラウザが受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。
クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングしたインタフェース記述型言語データを解析し、関連するウェブページ要素を生成するコード変換ユニットと、
前記ウェブページ要素を前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントのブラウザが受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。
(付記23)
ユーザがクライアント上で表示されたデスクトップ・アプリケーション上で動作を行うと、前記リクエスト送信ユニットが、動作に対応するリクエストを前記サーバへ送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、前記アプリケーション作動ユニットが、前記デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ユニットが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記データ送信ユニットが、当該ウェブページ要素をクライアントへ送信し、
前記クライアントにおいて、前記クライアントのブラウザが、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする付記22に記載のシステム。
ユーザがクライアント上で表示されたデスクトップ・アプリケーション上で動作を行うと、前記リクエスト送信ユニットが、動作に対応するリクエストを前記サーバへ送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、前記アプリケーション作動ユニットが、前記デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ユニットが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記データ送信ユニットが、当該ウェブページ要素をクライアントへ送信し、
前記クライアントにおいて、前記クライアントのブラウザが、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする付記22に記載のシステム。
(付記24)
前記サーバが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを修正のためのインタフェース修正ユニットを備えることを特徴とする付記22に記載のシステム。
前記サーバが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを修正のためのインタフェース修正ユニットを備えることを特徴とする付記22に記載のシステム。
(付記25)
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、
前記サーバが、
アプリケーション対応テーブルを格納するメモリと、
サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当てるセッションID割り当てユニットと、
テーブル操作ユニットとを備え、
前記クライアントが、
前記セッションIDを受信するセッションID受信ユニットと、
後続するリクエストに前記セッションIDを挿入するセッションID挿入ユニットとを備え、
前記サーバが前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記セッションID割り当てユニットが、前記クライアントに対してセッションIDを割り当てて提供し、前記テーブル操作ユニットが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが動作に対応するリクエストを送信する前に、前記セッションID挿入ユニットが、前記リクエストに前記セッションIDを挿入し、
前記サーバがリクエストを受信すると、前記テーブル操作ユニットが、前記リクエストから前記セッションIDを抽出し、前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、前記アプリケーション作動ユニットが、取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記23に記載のシステム。
前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、
前記サーバが、
アプリケーション対応テーブルを格納するメモリと、
サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当てるセッションID割り当てユニットと、
テーブル操作ユニットとを備え、
前記クライアントが、
前記セッションIDを受信するセッションID受信ユニットと、
後続するリクエストに前記セッションIDを挿入するセッションID挿入ユニットとを備え、
前記サーバが前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記セッションID割り当てユニットが、前記クライアントに対してセッションIDを割り当てて提供し、前記テーブル操作ユニットが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが動作に対応するリクエストを送信する前に、前記セッションID挿入ユニットが、前記リクエストに前記セッションIDを挿入し、
前記サーバがリクエストを受信すると、前記テーブル操作ユニットが、前記リクエストから前記セッションIDを抽出し、前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、前記アプリケーション作動ユニットが、取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする付記23に記載のシステム。
100:デスクトップ・アプリケーション変換システム
10:クライアント
101:リクエスト送信ユニット
102:データ受信ユニット
103:セッションID受信ユニット
104:セッションID挿入ユニット
20:サーバ
201:アプリケーション作動ユニット
202:リクエスト受信ユニット
203:ツール提供ユニット
204:データ送信ユニット
205:インタフェース抽出ユニット
206:インタフェース修正ユニット
207:テーブル操作ユニット
208:アプリケーション対応テーブル
209:セッションID割り当てユニット
400:デスクトップ・アプリケーション変換システム
401:コード変換ユニット
80:クライアント
801:監視ユニット
802:命令ユニット
803:メッセージ送信ユニット
804:メッセージ受信ユニット
810:クライアントエージェント
820:アプリケーション・オブジェクト
90:サーバ
901:リクエスト受信ユニット
902:アプリケーション実行ユニット
903:デスクトップ・アプリケーション
904:GUIスクリーン表示ユニット
905:応答送信ユニット
10:クライアント
101:リクエスト送信ユニット
102:データ受信ユニット
103:セッションID受信ユニット
104:セッションID挿入ユニット
20:サーバ
201:アプリケーション作動ユニット
202:リクエスト受信ユニット
203:ツール提供ユニット
204:データ送信ユニット
205:インタフェース抽出ユニット
206:インタフェース修正ユニット
207:テーブル操作ユニット
208:アプリケーション対応テーブル
209:セッションID割り当てユニット
400:デスクトップ・アプリケーション変換システム
401:コード変換ユニット
80:クライアント
801:監視ユニット
802:命令ユニット
803:メッセージ送信ユニット
804:メッセージ受信ユニット
810:クライアントエージェント
820:アプリケーション・オブジェクト
90:サーバ
901:リクエスト受信ユニット
902:アプリケーション実行ユニット
903:デスクトップ・アプリケーション
904:GUIスクリーン表示ユニット
905:応答送信ユニット
Claims (10)
- デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアントで、希望するデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、クライアントにコード変換ツールを提供し、デスクトップ・アプリケーションをロードし、
サーバで、ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、当該インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、デスクトップ・アプリケーションを表示するために、コード変換ツールを用いて受信したインタフェース記述型言語データを解析し、関連するウェブページ要素を生成すること
を特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。 - 前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントで、
コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、
ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする請求項1に記載の方法。 - 前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
前記アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする請求項2に記載の方法。 - デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法であって、
クライアント側で、所望のデスクトップ・アプリケーションのURLを入力し、それをサーバに対して送信し、
サーバで、前記デスクトップ・アプリケーションをロードし、
前記サーバで、
ロードしたデスクトップ・アプリケーションのインタフェース情報を抽出し、
前記インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングし、
前記コード変換ツールを用いてラッピングした前記インタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素を前記クライアントへ送信し、
前記クライアントで、
受信した前記ウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法。 - 前記クライアントで、
表示されたデスクトップ・アプリケーション上で動作を実行し、
動作に対応するリクエストを前記サーバへ送信し、
前記サーバで、
ロードしたデスクトップ・アプリケーション上で動作を実行し、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ツールを用いてインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、当該ウェブページ要素をクライアントへ送信し、
前記クライアントで、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする請求項4に記載の方法。 - 前記デスクトップ・アプリケーションのURLが、デスクトップ・アプリケーションを識別するためのアプリケーションIDを含み、前記サーバがアプリケーション対応テーブルを含み、
前記クライアントからデスクトップ・アプリケーションのURLを受信すると、前記サーバが、前記URLにおいて含まれるアプリケーションIDを抽出し、サーバとクライアント間のセッションを識別するためのセッションIDをクライアントに割り当て、
前記サーバが、割り当てたセッションIDを前記クライアントへ送信し、
前記サーバが、アプリケーションIDとセッションIDの対応を記録するエントリを追加することにより前記アプリケーション対応テーブルを更新し、
前記クライアントが、動作に対応するリクエストを送信する前に、リクエストに前記セッションIDを挿入し、
前記サーバが、前記リクエストを受信すると、前記リクエストから前記セッションIDを抽出し、
アプリケーション対応テーブルを検索することにより前記セッションIDに対応するアプリケーションIDを決定し、
取得したアプリケーションIDを有するデスクトップ・アプリケーションのインタフェース上で前記動作を実行することを特徴とする請求項5に記載の方法。 - クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記クライアントにコード変換ツールを提供するツール提供ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントが、前記データ受信ユニットによって受信した前記インタフェース記述型言語データを、前記コード変換ツールを用いて解析し、関連するウェブページ要素を生成し、前記クライアントのブラウザが生成したウェブページ要素に基づいて前記デスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。 - ユーザが前記クライアントに表示されたデスクトップ・アプリケーション上で動作を実行すると、前記リクエスト送信ユニットが、動作に対応するリクエストをサーバに送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、
前記アプリケーション作動ユニットが、デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
前記データ送信ユニットが、ラッピングしたデータを前記クライアントへ送信し、
前記クライアントにおいて、コード変換ツールを用いて受信したインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記クライアントのブラウザが、ウェブページ要素に従って表示されたデスクトップ・アプリケーションの対応する部分を更新することを特徴とする請求項7に記載のシステム。 - クライアントと、サーバを含み、
前記クライアントが、
所望のデスクトップ・アプリケーションのURLを送信するリクエスト送信ユニットと、
前記サーバからデータを受信するデータ受信ユニットとを備え、
前記サーバが、
前記URLを受信するリクエスト受信ユニットと、
前記デスクトップ・アプリケーションをロードするためのアプリケーション作動ユニットと、
ロードした前記デスクトップ・アプリケーションのインタフェース情報を抽出し、インタフェース情報をインタフェース記述型言語フォーマットでデータにラッピングするインタフェース抽出ユニットと、
前記インタフェース抽出ユニットによってラッピングしたインタフェース記述型言語データを解析し、関連するウェブページ要素を生成するコード変換ユニットと、
前記ウェブページ要素を前記クライアントへ送信するデータ送信ユニットとを備え、
前記クライアントのブラウザが受信したウェブページ要素に基づいてデスクトップ・アプリケーションを表示することを特徴とするデスクトップ・アプリケーションをウェブ・アプリケーションに変換するシステム。 - ユーザがクライアント上で表示されたデスクトップ・アプリケーション上で動作を行うと、前記リクエスト送信ユニットが、動作に対応するリクエストを前記サーバへ送信し、
前記サーバにおいて、前記リクエスト受信ユニットが前記リクエストを受信し、前記アプリケーション作動ユニットが、前記デスクトップ・アプリケーションのインタフェース上でリクエストに対応する動作を実行し、
前記インタフェース抽出ユニットが、動作によって引き起こされたインタフェース上の変化を検出し、インタフェース変化に対応するインタフェース変換情報を抽出し、インタフェース記述型言語フォーマットでインタフェース変換情報をデータにラッピングし、
コード変換ユニットが、前記インタフェース抽出ユニットによってラッピングされたインタフェース記述型言語データを解析して関連するウェブページ要素を生成し、前記データ送信ユニットが、当該ウェブページ要素をクライアントへ送信し、
前記クライアントにおいて、前記クライアントのブラウザが、受信したウェブページ要素に従ってデスクトップ・アプリケーションの変化したインタフェースを表示することを特徴とする請求項9に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910159265.5A CN101996093A (zh) | 2009-08-10 | 2009-08-10 | 将桌面应用转换为网络应用的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011070640A true JP2011070640A (ja) | 2011-04-07 |
Family
ID=43535613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010127641A Pending JP2011070640A (ja) | 2009-08-10 | 2010-06-03 | デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110035435A1 (ja) |
JP (1) | JP2011070640A (ja) |
CN (1) | CN101996093A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101341598B1 (ko) * | 2013-05-16 | 2013-12-13 | (주)소만사 | 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 |
KR20150111134A (ko) * | 2014-03-25 | 2015-10-05 | 한국전자통신연구원 | 코드 추천 및 공유 시스템 및 방법 |
JP2016528850A (ja) * | 2013-08-19 | 2016-09-15 | マイクロソフト テクノロジー ライセンシング,エルエルシー | シームレスな通話移行 |
US9451016B2 (en) | 2013-06-20 | 2016-09-20 | Fuji Xerox Co., Ltd. | Information processing system, client apparatus, server apparatus, and non-transitory computer readable medium |
JP2017526091A (ja) * | 2014-06-27 | 2017-09-07 | ゼットティーイー コーポレーションZte Corporation | アプリケーションのインタフェースを動的に更新する方法、端末及びシステム |
US10091457B2 (en) | 2013-08-19 | 2018-10-02 | Microsoft Technology Licensing, Llc | Seamless call transitions with pre-escalation participation confirmation |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163233A (zh) * | 2011-04-18 | 2011-08-24 | 北京神州数码思特奇信息技术股份有限公司 | 一种网页标记语言格式转换方法及系统 |
CN102271164A (zh) * | 2011-08-26 | 2011-12-07 | 深圳市天和荣视频技术有限公司 | 一种基于web应用的网络通讯方法 |
US10210026B2 (en) | 2011-09-30 | 2019-02-19 | Oracle International Corporation | Enterprise tools enhancements |
CN102521027B (zh) * | 2011-12-02 | 2013-10-30 | 华中科技大学 | 虚拟桌面系统中的窗口界面传输方法 |
US8935755B1 (en) * | 2012-02-06 | 2015-01-13 | Google Inc. | Managing permissions and capabilities of web applications and browser extensions based on install location |
CN102929610B (zh) * | 2012-10-12 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种基于vnc和jnlp协议实现远程桌面的方法 |
CN103902271B (zh) * | 2012-12-27 | 2017-10-17 | 航天信息股份有限公司 | 在客户端和浏览器中统一显示窗体界面的方法 |
US9367289B2 (en) | 2013-03-15 | 2016-06-14 | International Business Machines Corporation | Method and apparatus for enabling agile development of services in cloud computing and traditional environments |
CN103713808A (zh) * | 2014-01-21 | 2014-04-09 | 北京网秦天下科技有限公司 | 在移动终端上通过浏览器使用应用的方法和设备 |
US9753703B2 (en) * | 2014-02-04 | 2017-09-05 | Salesforce.Com, Inc. | Generating identifiers for user interface elements of a web page of a web application |
CN104063250B (zh) * | 2014-07-02 | 2016-08-24 | 努比亚技术有限公司 | 迁移终端应用的方法和系统及终端设备 |
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 |
CN104598223B (zh) * | 2014-12-30 | 2018-10-30 | 北京华为数字技术有限公司 | 一种网络建模语言解析方法及装置 |
US10409792B1 (en) * | 2015-09-30 | 2019-09-10 | Groupon, Inc. | Apparatus and method for data object generation and control |
US11677809B2 (en) * | 2015-10-15 | 2023-06-13 | Usablenet Inc. | Methods for transforming a server side template into a client side template and devices thereof |
CN105630753B (zh) * | 2015-12-28 | 2018-09-25 | 中广核核电运营有限公司 | 一种核电站数字化规程的升级转换方法及系统 |
CN107168960B (zh) * | 2016-03-07 | 2021-06-25 | 创新先进技术有限公司 | 一种业务执行方法及装置 |
US10419568B2 (en) * | 2016-04-01 | 2019-09-17 | Microsoft Technology Licensing, Llc | Manipulation of browser DOM on server |
US11086498B2 (en) | 2016-12-30 | 2021-08-10 | Microsoft Technology Licensing, Llc. | Server-side chart layout for interactive web application charts |
US10395412B2 (en) | 2016-12-30 | 2019-08-27 | Microsoft Technology Licensing, Llc | Morphing chart animations in a browser |
US10304225B2 (en) | 2016-12-30 | 2019-05-28 | Microsoft Technology Licensing, Llc | Chart-type agnostic scene graph for defining a chart |
CN107239318B (zh) * | 2017-06-13 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 应用转换方法、装置及设备 |
US11061699B2 (en) * | 2017-11-15 | 2021-07-13 | Zive, Inc. | Desktop enabling of web documents |
WO2019157478A1 (en) * | 2018-02-12 | 2019-08-15 | Georgia Tech Research Corporation | Methods and device for task mobilization |
US10769738B2 (en) * | 2018-03-19 | 2020-09-08 | Adobe Inc. | Interactive tutorial integration |
US11281744B2 (en) * | 2018-09-12 | 2022-03-22 | Citrix Systems, Inc | Systems and methods for improved remote display protocol for HTML applications |
CN111522536A (zh) * | 2020-04-21 | 2020-08-11 | 艾普阳科技(深圳)有限公司 | 一种编程语言调用的方法及其相关设备 |
CN113641580B (zh) * | 2021-08-11 | 2023-10-20 | 上海哔哩哔哩科技有限公司 | 混合模式移动应用调试方法及系统 |
CN114374726A (zh) * | 2022-01-07 | 2022-04-19 | 阿里巴巴(中国)有限公司 | 一种云桌面处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222274A (ja) * | 1999-01-26 | 2000-08-11 | Internatl Business Mach Corp <Ibm> | ウェブ内容適合化の動的割当てのためのシステム、方法及びコンピュ―タ・プログラム製品 |
JP2001109742A (ja) * | 1999-08-05 | 2001-04-20 | Toshiba Corp | ウェブページ部品統合処理方法及びクライアント装置 |
JP2002006970A (ja) * | 2000-06-19 | 2002-01-11 | Takasaki Kyodo Keisan Center:Kk | アプリケーションソフトウェア試用システム |
US6950991B2 (en) * | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
JP2006018508A (ja) * | 2004-06-30 | 2006-01-19 | Takara Printing Co Ltd | 文書編集方法、文書編集プログラム及び文書編集入力プログラム |
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070022155A1 (en) * | 2002-08-22 | 2007-01-25 | Owens David H | Method and system for integrating enterprise software applications with desktop software applications |
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
-
2009
- 2009-08-10 CN CN200910159265.5A patent/CN101996093A/zh active Pending
-
2010
- 2010-06-03 JP JP2010127641A patent/JP2011070640A/ja active Pending
- 2010-06-18 US US12/818,438 patent/US20110035435A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950991B2 (en) * | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
JP2000222274A (ja) * | 1999-01-26 | 2000-08-11 | Internatl Business Mach Corp <Ibm> | ウェブ内容適合化の動的割当てのためのシステム、方法及びコンピュ―タ・プログラム製品 |
JP2001109742A (ja) * | 1999-08-05 | 2001-04-20 | Toshiba Corp | ウェブページ部品統合処理方法及びクライアント装置 |
JP2002006970A (ja) * | 2000-06-19 | 2002-01-11 | Takasaki Kyodo Keisan Center:Kk | アプリケーションソフトウェア試用システム |
JP2006018508A (ja) * | 2004-06-30 | 2006-01-19 | Takara Printing Co Ltd | 文書編集方法、文書編集プログラム及び文書編集入力プログラム |
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
Non-Patent Citations (4)
Title |
---|
CSND200301302009; 相馬 隆宏著: 'ソリューションの軌跡:東急観光のインターネットを使った旅行予約システム「トップWEB」 不正侵入対策' 日経オープンシステム 第105号, 20011215, p.160-163., 日経BP社 * |
CSND200700354002; 福岡 大輔著: '実践デモで学ぶWeb 2.0アプリケーション:DojoによるリッチなWeb UIの実装' オープンソースマガジン 第16巻,第1号, 20070101, p.47-51., ソフトバンククリエイティブ株式会社 * |
JPN6012043668; 相馬 隆宏著: 'ソリューションの軌跡:東急観光のインターネットを使った旅行予約システム「トップWEB」 不正侵入対策' 日経オープンシステム 第105号, 20011215, p.160-163., 日経BP社 * |
JPN6012043671; 福岡 大輔著: '実践デモで学ぶWeb 2.0アプリケーション:DojoによるリッチなWeb UIの実装' オープンソースマガジン 第16巻,第1号, 20070101, p.47-51., ソフトバンククリエイティブ株式会社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101341598B1 (ko) * | 2013-05-16 | 2013-12-13 | (주)소만사 | 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 |
US9451016B2 (en) | 2013-06-20 | 2016-09-20 | Fuji Xerox Co., Ltd. | Information processing system, client apparatus, server apparatus, and non-transitory computer readable medium |
JP2016528850A (ja) * | 2013-08-19 | 2016-09-15 | マイクロソフト テクノロジー ライセンシング,エルエルシー | シームレスな通話移行 |
US10091457B2 (en) | 2013-08-19 | 2018-10-02 | Microsoft Technology Licensing, Llc | Seamless call transitions with pre-escalation participation confirmation |
KR20150111134A (ko) * | 2014-03-25 | 2015-10-05 | 한국전자통신연구원 | 코드 추천 및 공유 시스템 및 방법 |
KR102190813B1 (ko) | 2014-03-25 | 2020-12-14 | 한국전자통신연구원 | 코드 추천 및 공유 시스템 및 방법 |
JP2017526091A (ja) * | 2014-06-27 | 2017-09-07 | ゼットティーイー コーポレーションZte Corporation | アプリケーションのインタフェースを動的に更新する方法、端末及びシステム |
Also Published As
Publication number | Publication date |
---|---|
US20110035435A1 (en) | 2011-02-10 |
CN101996093A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011070640A (ja) | デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム | |
KR101505234B1 (ko) | 원격 리소스들의 웹 액세스를 위한 xml-기반 웹 피드 | |
JP5225399B2 (ja) | デスクトップ・アプリケーション移行のためのシステムと方法 | |
US8924943B2 (en) | Browser emulator system | |
US8312450B2 (en) | Widgetizing a web-based application | |
US9384005B2 (en) | Systems and methods for dynamic configuration of client-side development environments through use of application servers | |
AU2017210597A1 (en) | System and method for the online editing of pdf documents | |
JP2004510254A (ja) | ネットワークサーバ | |
US9122762B2 (en) | Method and system to maintain a web page | |
CN109144567B (zh) | 跨平台的网页渲染方法、装置、服务器及存储介质 | |
JP2008117093A (ja) | ユーザ操作記録・再現方法及び装置 | |
US20130191814A1 (en) | Test scenario generation method, test scenario generation system, and test scenario generation program | |
US20190317982A1 (en) | System, method and computer program product to generate a web application using reusable themes | |
US20080222237A1 (en) | Web services mashup component wrappers | |
WO2013175560A1 (ja) | 情報通信システム及び情報変換方法 | |
US9934029B2 (en) | Annotation driven representational state transfer (REST) web services | |
JP4846832B2 (ja) | Webページの表示方法、計算機システム及びプログラム | |
JP5151696B2 (ja) | ユニフォームリソースロケータ情報を書き換えるプログラム | |
JP2010170453A (ja) | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム | |
JP5267342B2 (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
CN101876998A (zh) | 一种实现数据编辑的方法和系统 | |
US20220043546A1 (en) | Selective server-side rendering of scripted web page interactivity elements | |
US9727397B2 (en) | Container-less JSP template | |
US11822872B2 (en) | Rendering based on a document object model | |
CN114860240A (zh) | 一种低代码页面创建方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110329 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130227 |