JP2011022856A - Webアプリケーションの連携方法、連携装置、および連携プログラム - Google Patents

Webアプリケーションの連携方法、連携装置、および連携プログラム Download PDF

Info

Publication number
JP2011022856A
JP2011022856A JP2009168062A JP2009168062A JP2011022856A JP 2011022856 A JP2011022856 A JP 2011022856A JP 2009168062 A JP2009168062 A JP 2009168062A JP 2009168062 A JP2009168062 A JP 2009168062A JP 2011022856 A JP2011022856 A JP 2011022856A
Authority
JP
Japan
Prior art keywords
copy
cooperation
web application
paste
relay server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009168062A
Other languages
English (en)
Other versions
JP5685804B2 (ja
Inventor
Tomohiro Otake
智裕 大嶽
Akihiko Matsuo
昭彦 松尾
Akio Shimono
暁生 下野
Kenji Oki
憲二 大木
Toshihiro Odaka
敏裕 小高
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009168062A priority Critical patent/JP5685804B2/ja
Publication of JP2011022856A publication Critical patent/JP2011022856A/ja
Application granted granted Critical
Publication of JP5685804B2 publication Critical patent/JP5685804B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】Webアプリケーション間でのデータの受け渡しを容易にする。
【解決手段】中継サーバは、各Webアプリケーションに第1および第2のスクリプトを注入する。第1のスクリプトは、第1のWebアプリケーションからのコピー操作のコピー元情報およびコピーデータを中継サーバに送信すると共に、第2のWebアプリケーションへのペースト操作のペースト先情報およびペーストデータを中継サーバに送信する。第2のスクリプトは、第1のWebアプリケーションの連携元識別情報および連携対象データを中継サーバに送信すると共に、中継サーバから受信する転送先情報に基づいて連携対象データを第2のWebアプリケーションに渡す。中継サーバは、連携元識別情報がコピー元情報に一致すると、連携対象データおよびコピー元情報に対応するペースト先情報である転送先情報をWebブラウザに送信する。
【選択図】図4

Description

本発明は、Webブラウザ内で実行される複数のWebアプリケーションの連携方法に係わる。
複数のWebアプリケーションを並べて利用するコンポジットアプリケーションと呼ばれる利用形態が普及してきている。コンポジットアプリケーションでは、複数のアプリケーションを並べるだけでなく、並べられたアプリケーション間でデータを受け渡すことにより、利便性が向上する。
コンポジットアプリケーションにおけるマッシュアップでは、アプリケーション間でデータを受け渡すことにより、それらのアプリケーションが連携できることが多い。ところが、従来の技術では、通常、連携させたいアプリケーションに対してデータ受渡しのための関数が予め作成されている必要があり、一般的なWebアプリケーションに手を加えずにそれらを連携させることはできなかった。
Webブラウザを利用してWebアプリケーション間でデータを受け渡す方法は、例えば、Webページ中のJavaScriptが、他のWebアプリケーション上で行われるコピー操作によるクリップボードの変化を監視することで実現することができる。しかし、多くのWebブラウザでは、セキュリティ上の理由により、スクリプトがクリップボードへアクセスすることが禁止または制限されている。したがって、多くのWebブラウザは、クリップボードの監視によりWebアプリケーション間でのデータ受渡しの自動化を図ることができない。
なお、関連する技術として、クリップボードのデータを管理し、ダウンロード側のコンピュータの要求に応じてそのデータを提供する方法が提案されている。(例えば、特許文献1および特許文献2)
また、他の関連する技術として、クリップボードを利用する電子文書の一部または全部のコピーを制御する方法が提案されている。この方法では、文書判別モジュールは、コピー元文書およびコピー先文書がそれぞれ重要文書であるか否かを判別する。コピー元文書が一般文書であれば、指定されたコピーデータは、OSにより提供されるクリップボードに書き込まれる。コピー元文書が重要文書であれば、指定されたコピーデータは、クリップボード抑止モジュールにより重要文書クリップボードに書き込まれる。コピー先文書が一般文書であれば、クリップボードからコピーデータが読み出される。コピー先文書が重要文書であれば、クリップボード抑止モジュールにより重要文書クリップボードからコピーデータが読み出される。(例えば、特許文献3)
特開2002−288124 特開2002−288162 国際公開WO2006/103752
本発明の課題は、Webアプリケーション間でのデータの受け渡しを容易にすることである。
本発明の1つの態様のWebアプリケーション連携方法は、Webサーバから中継サーバを介してWebブラウザに提供される第1および第2のWebアプリケーションを連携させる方法であって、前記中継サーバにおいて、各Webアプリケーションに第1および第2のスクリプトを注入することにより、前記第1および第2のスクリプトを前記Webブラウザに送信するステップと、前記中継サーバにおいて、前記第1および第2のスクリプトからの要求に応じて、前記第1のWebアプリケーションから前記第2のWebアプリケーションへデータを受け渡すステップ、を有する。
前記第1のスクリプトは、前記第1のWebアプリケーションから共通メモリ領域へのコピー操作を検出したときに、コピー元を識別するコピー元情報およびコピーデータを前記中継サーバに送信すると共に、前記共通メモリ領域から前記第2のWebアプリケーションへのペースト操作を検出したときに、ペースト先を識別するペースト先情報およびペーストデータを前記中継サーバに送信する手順を記述する。また、前記第2のスクリプトは、前記第1のWebアプリケーション内の連携元要素を識別する連携元識別情報およびその連携元要素に保持されている連携対象データを前記中継サーバに送信すると共に、前記中継サーバから送られてくる転送先情報に基づいて、前記中継サーバから送られてくる前記連携対象データを前記第2のWebアプリケーションに渡す手順を記述する。
さらに、前記中継サーバは、前記コピーデータおよびペーストデータが互いに一致したときに、前記コピー元情報および前記ペースト先情報を対応づけて保持する。また、前記中継サーバは、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致したときに、前記連携対象データを前記Webブラウザに送信すると共に、前記コピー元情報に対応づけて保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する。
本発明の1つの態様によれば、Webアプリケーション間でのデータの受け渡しを容易になる。
Webアプリケーション間でのデータの受け渡しの一例を示す図である。 連携検出の流れを示す図である。 連携実行の流れを示す図である。 中継サーバの構成を示す図である。 WebアプリケーションのHTMLドキュメントの一例を示す図である。 コピーアンドペースト操作検出スクリプトのコピー検出部の実施例である。 コピー操作検出のシーケンス図である。 コピーアンドペースト操作検出スクリプトのペースト検出部の実施例である。 ペースト操作検出のシーケンス図である。 ペースト操作検出の他のシーケンスを示す図である。 連携管理画面の表示例である。 連携実行ボタンの実施例である。 テキスト送受信スクリプトによるデータ送受信のシーケンス図である。 ブラウザにおけるキー入力判定を示すフローチャートである。 中継サーバからの指示に対応するブラウザ動作を示すフローチャートである。 URI/XPathの汎用化について説明する図である。 テキスト監視スクリプトを利用する手順を示す図である。 実施形態の中継サーバのハードウェア構成を示す図である。
実施形態のWebアプリケーション連携方法では、第1のWebアプリケーションから第2のWebアプリケーションへデータが受け渡される。以下、図1を参照しながら、Webアプリケーション間でのデータの受け渡しの一例を示す。
図1に示す例では、Webブラウザ上に2つのWebアプリケーション(アドレス帳1およびメーラ4)が表示されている。Webアプリケーションは、特に限定されるものではないが、Webサーバ上で実行され、Webブラウザは、データ入力および処理結果の表示を行う。アドレス帳1は、名前入力ボックス2およびアドレス表示ボックス3を備えている。また、メーラ4は、アドレス表示ボックス5および文書入力ボックス6を備えている。アドレス帳1およびメーラ4の動作は、例えば、以下の通りである。
(1)ユーザは、図1(a)に示すように、名前入力ボックス2に「山田」を入力し、検索を実行する。アドレス要求は、Webサーバへ送信される。
(2)アドレス帳アプリケーションは、Webサーバ上で実行され、アドレス要求に対する検索結果としてメールアドレスを返送する。この実施例では、返送されるメールアドレスは「yamada@example.com」である。メールアドレスは、図1(b)に示すように、アドレス帳1のアドレス表示ボックス3に表示される。
(3)ユーザは、図1(c)に示すように、アドレス帳1により得られたメールアドレスを、メーラ4のアドレス入力ボックス5にコピーする。このとき、メールアドレスは、アドレス帳1からクリップボードへコピーされ、クリップボードからメーラ4へペーストされる。
(4)ユーザは、図1(d)に示すように、文書入力ボックス6に文書を入力し、メールを送信する。このメールは、Webサーバ上で動作するメーラアプリケーションによって宛て先へ転送される。
(5)この後ユーザは、図1(e)に示すように、「田中」へもメールを送るものとする。この場合、ユーザは、名前入力ボックス2に「田中」を入力して検索を実行する。この結果、対応するメールアドレス(tanaka@example.com)が得られ、アドレス表示ボックス3に表示される。このとき、実施形態のWebアプリケーション連携方法においては、図1(c)に示すコピーアンドペースト操作を行うことなく、自動的あるいは半自動的に、アドレス帳1のアドレス表示ボックス3からメーラ4のアドレス表示ボックス5へメールアドレスが受け渡される。
なお、実施形態のWebアプリケーション連携方法は、上述のアドレス帳1とメーラ4との連携に限定されるものではなく、任意のWebアプリケーション間でデータを受け渡す手順に適用可能である。また、クリップボードを介して行われるコピーアンドペーストは、1つの実施例であり、実施形態のWebアプリケーションの連携方法は、第1および第2のWebアプリケーション間で共通メモリ領域を利用してデータを転送する手順に適用可能である。
次に、実施形態の連携方法の流れを簡単に説明する。実施形態の連携方法は、連携を検出する手順、および連携を実行する手順を含む。
図2は、実施形態の連携方法において連携を検出する手順の流れを示す図である。ここでは、Webサーバ(address.example.com)11がアドレス帳アプリケーションを提供し、Webサーバ(mailer.example.com)12がメーラアプリケーションを提供しているものとする。また、クライアント20は、Webブラウザを備え、中継サーバ30を介してアドレス帳アプリケーションおよびメーラアプリケーションを読み込むものとする。さらに、クライアント20は、後述する連携管理画面21を備える。以下、クライアント20が、Webサーバ11、12に対してアドレス帳アプリケーションおよびメーラアプリケーションを要求した後の手順を説明する。
(1)中継サーバ30は、Webサーバ11、12から、アドレス帳アプリケーションおよびメーラアプリケーションのHTMLおよびスクリプトを読み込み、中継のためのアドレス置換処理を行う。このとき、中継サーバ30は、各Webアプリケーション(ここでは、アドレス帳アプリケーション、メーラアプリケーション)に、それぞれ、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトを注入する。したがって、クライアント20がWebアプリケーションを使用すると、そのWebアプリケーションに埋め込まれた上記3つのスクリプトが必要に応じて呼び出される。図1に示す例では、クライアント20がアドレス帳1またはメーラ4を使用する際に、ユーザ操作または中継サーバ30からの指示等に応じて、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトが呼び出されて実行される。
(2)ユーザは、クライアント20のブラウザ上に表示されたアドレス帳1を利用してアドレス検索を行う。この検索要求は、中継サーバ30を経由してWebサーバ11に転送される。そして、Webサーバ11による検索結果は、中継サーバ30を介してクライアント20のアドレス帳1に返送される。
(3)ユーザがアドレス帳1においてメールアドレスのコピー操作を行うと、アドレス帳1に埋め込まれているコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、アドレス帳1においてコピー操作が行われたことを検出すると、そのコピー操作を中継サーバ30に通知する。中継サーバ30は、この通知に応じて、最終コピー操作記録部31にコピー操作に係わる情報を記録する。このとき、アドレス帳1からコピーされたデータは、いったんクリップボードに保存される。なお、最終コピー操作記録部31には、中継サーバ30に最後に通知されたコピー操作(すなわち、最新のコピー操作)に係わる情報が記録される。
(4)ユーザがアドレス帳1から取り出したメールアドレスをメーラ4にペーストすると、メーラ4に埋め込まれているコピーアンドペースト操作検出スクリプトは、メーラ4に対してペースト操作が行われたことを検出し、そのペースト操作を中継サーバ30に通知する。中継サーバ30は、通知されたペースト操作が、最終コピー操作記録部31に記録されているコピー操作に対応するか否かをチェックする。そして、このペースト操作が上記コピー操作に対応していたときは、中継サーバ30は、一連のコピーアンドペースト操作に係わる1組のコピー操作情報およびペースト操作情報を履歴DB32に記録する。なお、履歴DB32に記録される1組のコピー操作情報およびペースト操作情報は、例えば、コピーアンドペースト操作のコピー元を識別するコピー元情報およびペースト先を識別するペースト先情報を含む。
(5)ユーザは、ブラウザ上でメール本文を作成し、そのメールの送信を要求する。この要求は、中継サーバ30を介してWebサーバ12に転送され、あて先へメールが送信される。
このように、実施形態の連携方法では、クライアント20においてWebアプリケーション間でコピーアンドペースト操作が行われると、コピーアンドペースト操作検出スクリプトにより、その操作が中継サーバ30に通知される。そして、通知されたコピーアンドペースト操作は、履歴DB32に記録される。
図3は、実施形態の連携方法において連携を実行する手順の流れを示す図である。ここでは、図2に示す手順により、履歴DB32にコピーアンドペースト操作が記録されているものとする。
(1)履歴DB32に新たなコピーアンドペースト操作が記録されると、中継サーバ30は、クライアント20の連携管理画面21を利用して、そのコピーアンドペースト操作に係わる連携処理を許可するか否かをユーザに問い合わせる。図1に示す例では、アドレス帳1からメーラ4へのコピーアンドペースト操作に係わる連携を許可するか否かの問合せが行われる。
(2)ユーザが連携を許可すると、中継サーバ30の連携定義DB33に、許可されたアドレス帳1からメーラ4へのコピーアンドペースト操作が登録される。
(3)中継サーバ30は、連携実行ボタンを表示するための指示をクライアント20に送信する。そうすると、クライアント20において連携ボタン表示スクリプトが呼び出される。このとき、例えば、連携元のWebアプリケーション(ここでは、コピーアンドペースト操作のコピー元であるアドレス帳1)に埋め込まれている連携ボタン表示スクリプトが呼び出される。連携ボタン表示スクリプトは、中継サーバ30から受信した指示に応じて、ユーザにより許可されたコピーアンドペースト操作を自動化(または、半自動化)するためのインタフェースを提供する。例えば、アドレス帳1のアドレス表示ボックス3の近くに連携実行ボタンが表示される。
(4)ユーザは、図1(e)に示すように、アドレス帳1を利用して別の「名前」を入力して新たなアドレス検索を実行する。この検索要求に対して、Webサーバ11は、対応するメールアドレスを返送する。この結果、アドレス帳1のアドレス表示ボックス3には、新たな「名前」に対応するメールアドレスが表示される。
(5)ユーザがアドレス帳1に表示されている連携実行ボタンを押下すると、そのアドレス帳1に埋め込まれているテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携元Webアプリケーション上の指定された領域に書き込まれているテキスト(連携対象データ)とコピー元を特定するための情報を中継サーバ30へ送信する。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが連携対象データとして中継サーバ30へ送信される。
(6)中継サーバ30は、連携定義DB33を参照し、連携元Webアプリケーションから取得したテキストの転送先を決定する。例えば、上記(5)の連携元と、連携定義DB33に登録されているコピーアンドペースト操作のコピー元とが一致した場合には、そのコピーアンドペースト操作のペースト先がテキストの転送先として指定される。ここでは、連携元およびコピー元がいずれもアドレス帳1のアドレス表示ボックス3であり、テキストの転送先としてメーラ4のアドレス表示ボックス5が指定される。
(7)中継サーバ30は、上記(5)で連携元Webアプリケーションから取得したテキストとペースト先を特定するための情報をメーラ4に送信する。そうすると、メーラ4に埋め込まれているテキスト送受信スクリプトは、中継サーバ30から受信したテキストをメーラ4のアドレス表示ボックス5に表示する。
このように、実施形態の連携方法では、クライアント20においてWebアプリケーション間での連携実行が要求されると、テキスト送受信スクリプトによりWebアプリケーション間で受け渡すべきデータが中継サーバ30に送信される。そうすると、中継サーバ30は、連携定義DB33を参照し、連携先のWebアプリケーションに対してそのデータを転送する。すなわち、ユーザは、コピーアンドペースト操作を行うことなく、単に連携実行ボタンを押下するだけで、Webアプリケーション間のデータの受け渡しが中継サーバ30を介して実現される。
図4は、中継サーバ30の構成を示す図である。中継サーバ30は、クライアントとWebサーバ11、12との間を中継する。クライアントは、例えば図2および図3に示すクライアント20(window/(i)frame)に相当し、Webブラウザを備える。Webサーバ11、12が提供するアプリケーションは、例えば、図2および図3に示すアドレス帳アプリケーションおよびメーラアプリケーションである。この場合、Webブラウザには、アドレス帳1およびメーラ4が表示される。
中継サーバ30は、プロキシ部41、コピーアンドペースト履歴収集部44、連携管理部45、連携ボタン表示指示部46、コピーアンドペースト実行指示部47、リクエスト振り分け部48、最終コピー操作記録部31、履歴DB32、連携定義DB33を備えている。なお、図4では、実施形態の連携方法に直接的に係わりのない要素は、省略されている。
プロキシ部41は、URI置換部42およびスクリプト注入部43を備える。URI置換部42は、Webサーバ11、12とクライアントとの間でURIを置換する。スクリプト部43は、上述したように、Webサーバ11、12からクライアントへWebアプリケーションが提供される際に、予め用意してあるスクリプトを各Webアプリケーションに注入する。各Webアプリケーションには、上述したように、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、およびテキスト送受信スクリプトが注入される。したがって、クライアントが受け取る各Webアプリケーションには、それぞれ上記3つのスクリプトが埋め込まれている。
図5は、WebアプリケーションのHTMLドキュメントの一例を示す図である。スクリプト注入部43は、WebアプリケーションのHTMLドキュメントをクライアントに提供する際に、例えば、body部の末尾に上記3つのスクリプトを注入する。ただし、スクリプトを注入する位置は、body部の末尾に限定されるものではなく、例えば、body部の先頭にスクリプトが注入されてもよい。
コピーアンドペースト履歴収集部44は、コピー元のコピーアンドペースト操作検出スクリプトからコピー操作情報(コピー元を識別する情報およびコピーデータ)を受信すると、それを最終コピー操作記録部31に記録する。また、コピーアンドペースト履歴収集部44は、ペースト先のコピーアンドペースト操作検出スクリプトからペースト操作情報(ペースト先を識別する情報およびペーストデータ)を受信すると、コピー操作情報と対応づけて履歴DB32に記録する。
連携管理部45は、Webブラウザの連携管理画面21を利用して、履歴DB32に記録されているWebアプリケーション間の連携動作(コピーアンドペースト処理)を許可するか否かをユーザに問い合わせる。そして、連携管理部45は、許可された連携動作を連携定義DB33に記録する。
連携ボタン表示指示部46は、連携定義33に新たな連携動作が記録されると、連携実行ボタンを表示するための指示を、連携元の連携ボタン表示スクリプトへ送信する。これにより、連携ボタン表示スクリプトは、連携実行ボタンを表示する。
コピーアンドペースト実行指示部47は、連携元のテキスト送受信スクリプトからコピー操作情報(コピー元を識別する情報およびコピーデータ)を受信すると、連携定義DB33を参照して連携先を決定する。そして、コピーアンドペースト実行指示部47は、受信したデータを決定した連携先のテキスト送受信スクリプトへ送信する。これにより、連携元から中継サーバ30を介して連携先へデータが受け渡される。
リクエスト振り分け部48は、クライアントから受信するリクエストを対応するあて先に振り分ける。例えば、Webサーバへのアクセスは、プロキシ部41へ転送される。また、コピーアンドペースト操作検出スクリプトからのリクエストは、コピーアンドペースト履歴収集部44へ転送される。
最終コピー操作記録部31は、最後に通知されたコピー操作情報を記録する。具体的には、最終コピー操作記録部31には、例えば、最後に行われたコピー操作に係わるユーザID、そのコピー操作が実行された日時、コピー元URI、コピー元XPath、コピーデータが記録される。過去のコピー操作情報は、廃棄されてもよいし、他の記憶領域に保存されてもよい。履歴DB32は、コピー操作情報およびペースト操作情報を互いに対応づけて記録する。具体的には、履歴DB32には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。連携定義DB33は、ユーザにより許可された連携動作を記録する。具体的には、連携定義DB33には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。
なお、中継サーバ30は、Webアプリケーション連携装置として動作することができる。また、履歴DB32および/または連携定義DB33は、コピー元情報およびペースト先情報を対応づけて保持する保持部として機能することができる。さらに、コピーアンドペースト履歴収集部44および/または連携ボタン表示指示部46および/またはコピーアンドペースト実行指示部47は、第1のWebアプリケーションから第2のWebアプリケーションへデータを中継する中継制御部として動作することができる。
以下、実施形態の連携方法を詳しく説明する。
<コピー操作の検出>
コピーアンドペースト操作検出スクリプトは、ユーザのキー入力を監視する。この実施例では、コピーアンドペースト操作検出スクリプトは、「Ctrl+C」の入力を検知することにより、コピー操作が行われたことを検出する。この方法によれば、Webブラウザ上でスクリプトがクリップボードへアクセスすることが禁止されている場合であっても、コピー操作を検出することができる。なお、「Ctrl+C」は、指定されたデータをコピーする命令に相当する。なお、この実施例では、「Ctrl+C」の入力をモニタすることによりコピー操作が検出されるが、他の方法でコピー操作が検出されてもよい。
図6は、コピーアンドペースト操作検出スクリプトのコピー検出部の実施例である。このコピー部は、ユーザにより「Ctrl+C」が入力されたことにより実行される。即ち、ユーザにより何らかのキーが入力されると、copyPasteMashup_onKeyDown関数が呼び出される。この関数は、入力キーが「Ctrl+C」であるか否かをチェックする。そして、入力キーが「Ctrl+C」であれば、記述101、102が実行される。記述101は、コピー操作において選択された範囲のテキストを取得する。また、記述102は、コピー操作において選択された範囲のXPathを取得する。記述103は、実施形態の連携方法のために予め中継サーバ30において予約されているパス/CopyPasteMashup/Copyを指定する。記述104は、記述103で指定されたパスに対してURI、XPath、テキストを送信する。
図7は、コピーアンドペースト操作検出スクリプトによるコピー操作検出のシーケンス図である。ここでは、ユーザにより「Ctrl+C」が入力されたものとする。そして、この入力により、copyPasteMashup_onKeyDown関数が呼び出される。
コピーアンドペースト操作検出スクリプトは、入力キーが「Ctrl+C」であるか否かをチェックする。続いて、このスクリプトは、ユーザにより指定されているコピー対象範囲内のテキストを取得する。図1に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが取得される。さらに、このスクリプトは、ユーザにより指定されているコピー対象範囲のXPathを取得する。図1に示す例では、アドレス帳1のアドレス表示ボックス3を指示するXPathが取得される。
この後、コピーアンドペースト操作検出スクリプトは、コピーイベント(取得したテキスト、コピー元のWebアプリケーションのURI、取得したXPath)を、集計サーバ30のコピーアンドペースト履歴収集部44へ送信する。そうすると、コピーアンドペースト履歴収集部44は、受信情報を最終コピー操作記録部31に記録する。また、ブラウザ側では、copyPasteMashup_onKeyDown関数の呼び出しが終了した後に、コピー処理が実行され、ユーザにより指定された範囲内のデータがクリップボードに格納される。
<ペースト操作の検出>
コピーアンドペースト操作検出スクリプトは、この実施例では、「Ctrl+V」の入力を検知することにより、ペースト操作が行われたことを検出する。この方法によれば、Webブラウザ上でスクリプトがクリップボードへアクセスすることが禁止されている場合であっても、ペースト操作を検出することができる。なお、「Ctrl+V」は、クリップボードに格納されているデータを指定された領域にペーストする命令に相当する。なお、この実施例では、「Ctrl+V」の入力をモニタすることによりペースト操作が検出されるが、他の方法でペースト操作が検出されてもよい。
図8は、コピーアンドペースト操作検出スクリプトのペースト検出部の実施例である。このペースト部は、ユーザにより「Ctrl+V」が入力されたことにより実行される。すなわち、ユーザにより何らかのキーが押下された後にその「Ctrl+V」キーが開放されると、copyPasteMashup_onKeyUp関数が呼び出される。この関数は、開放されたキーが「Ctrl+V」であるか否かをチェックする。そして、開放されたキーが「Ctrl+V」であれば、記述111〜113が実行される。記述111は、ペースト操作においてフォーカスされている要素を取得する。記述112は、フォーカスされている入力要素のテキストを取得する。記述113は、フォーカスされている要素のXPathを取得する。さらに、記述114は、実施形態の連携方法のために予め中継サーバ30において予約されているパス/CopyPasteMashup/Pasteを指定する。記述115は、記述114で指定されたパスに対してURI、XPath、テキストを送信する。
図9は、コピーアンドペースト操作検出スクリプトによるペースト操作検出のシーケンス図である。ここでは、ユーザにより「Ctrl+V」キーが押下された後に開放されたものとする。このキー操作における押下により、ブラウザ上でペースト処理が実行される。すなわち、クリップボードから、ユーザにより指定されている要素(フォーカスされている要素)にデータがペーストされる。また、このキー操作における解放により、copyPasteMashup_onKeyUp関数が呼び出される。
コピーアンドペースト操作検出スクリプトは、開放されたキーが「Ctrl+V」であるか否かをチェックする。続いて、このスクリプトは、フォーカスされている要素のテキストがクリップボードに格納されていたテキストであると推定し、そのフォーカスされている要素のテキストを取得する。図1(c)に示す例では、メーラ4のアドレス表示ボックス5からメールアドレスが取得される。さらに、このスクリプトは、フォーカスされている要素のXPathを取得する。図1(c)に示す例では、メーラ4のアドレス表示ボックス5を指示するXPathが取得される。
この後、コピーアンドペースト操作検出スクリプトは、ペーストイベント(取得したテキスト、ペースト先のWebアプリケーションのURI、取得したXPath)を、中継サーバ30のコピーアンドペースト履歴収集部44へ送信する。そうすると、コピーアンドペースト履歴収集部44は、新たに受信したペーストイベントが、最終コピー操作記録部31に記録されている最新のコピー操作に対応するペースト操作であるかをチェックする。そして、これらのコピー操作およびペースト操作が互いに対応する場合は、一連のコピーアンドペースト操作に属するコピー操作およびペースト操作として履歴DB32に記録される。
図10は、ペースト操作検出の他のシーケンスを示す図である。このシーケンスでは、ペースト処理が実行される前(すなわち、「Ctrl+V」キーが押下された後であって、その「Ctrl+V」キーが開放される前)に、テキストボックスのキャレット位置および選択範囲の位置が記憶される。そして、ペースト処理の実行後に、先に記憶されている位置からテキストが取得される。このシーケンスによれば、ペーストテキストを精度よく推定することができる。
<1組のコピー操作およびペースト操作の検出>
上述したように、コピーアンドペースト操作検出スクリプトは、コピー操作を検出すると、コピー元のWebアプリケーションのURI、コピー元XPath、コピーテキストを中継サーバ30へ送信する。そして、中継サーバ30のコピーアンドペースト履歴収集部44は、ユーザIDと共に、これらのコピー元URI、コピー元XPath、コピーテコピキストを最終コピー操作記録部31に記録する。ここで、最終コピー操作記録部31には、最新のコピー操作情報が記録される。
また、コピーアンドペースト操作検出スクリプトは、ペースト操作を検出すると、ペースト先のWebアプリケーションのURI、ペースト先XPath、ペーストテキストを中継サーバ30へ送信する。そうすると、コピーアンドペースト履歴収集部44は、最終コピー操作記録部31に記録されている最新のコピー操作のコピーテキストと、新たに受信したペーストテキストとを比較する。そして、これらのコピーテキストとペーストテキストが互いに一致していれば、一連のコピーアンドペースト操作に属するコピー操作およびペースト操作が検出されたと判断する。この場合、履歴DB32に、ユーザID、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。
なお、監視対象のコピーアンドペースト操作以外のアプリケーション(例えば、中継サーバ30を経由しないWebアプリケーションまたはデスクトップのアプリケーションなど)においてコピー操作が行われた場合には、クリップボードに格納されているデータが変更される。この場合、コピーアンドペースト操作検出スクリプトにより検出されるペーストテキストは、最終コピー操作記録部31に記録されているコピーテキストとは異なっている。したがって、コピーアンドペースト履歴収集部44は、コピーテキストとペーストテキストとを比較することにより、同じコピーアンドペースト操作に属さないコピー操作とペースト操作とを連携させてしまうことを回避している。
<連携の管理>
中継サーバ30の連携管理部45は、コピーアンドペースト履歴収集部44により検出された1組のコピー操作およびペースト操作を、Webブラウザのユーザに提示する。この場合、連携管理部45は、例えば図11(a)に示すコピーアンドペースト履歴をブラウザへ送信する。ここで、コピーアンドペースト履歴は、ユーザIDを利用して履歴DB32から抽出される。そして、ブラウザは、中継サーバ30から受信したコピーアンドペースト履歴を連携管理画面21に表示する。コピーアンドペースト履歴は、コピーアンドペースト操作が行われた日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathを含む。さらに、連携管理画面21には、コピーアンドペースト操作を自動化するか否かをユーザに問い合わせるために「アクション(連携許可/履歴から削除)」が表示される。
ユーザは、提示されたコピーアンドペーストを自動化する場合には、「連携許可」を選択する。連携管理部45は、「連携許可」が選択されたことを検出すると、選択されたコピーアンドペースト操作を連携定義DB33に追加する。一方、連携管理部45は、「履歴から削除」が選択されたことを検出すると、選択されたコピーアンドペースト操作を履歴DB32から削除する。
なお、連携管理画面21には、ユーザからの指示等に応じて、図11(b)に示すように、連携が有効化されているコピーアンドペースト操作の一覧が表示される。そして、ユーザは、表示された連携を解除したい場合には、「連携定義から削除」を指定する。そうすると、連携管理部45は、指定されたコピーアンドペースト操作を連携定義DB33から削除する。
<連携ボタン表示スクリプト>
連携定義DB33に新たなコピーアンドペースト操作が記録されると、中継サーバ30の連携ボタン表示指示部46は、連携実行ボタンの表示指示をクライアントにプッシュする。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。この表示指示は、例えば、連携元URIおよび連携元XPathを含むようにしてもよい。
上記表示指示を受信すると、連携ボタン表示スクリプトは、連携定義に記録されているコピー元URI/コピー元XPathが指し示す要素の近くに連携実行ボタンを表示する。例えば、図1に示す例では、コピー元URIはアドレス帳1であり、コピー元XPathはアドレス表示ボックス3である。この場合、連携ボタン表示スクリプトは、図12に示すように、アドレス帳1のアドレス表示ボックス3の隣に連携実行ボタン7を表示する。連携実行ボタン7は、対応する要素のXPathを保持している。
なお、連携定義DB33からコピーアンドペースト操作が削除されたときは、対応する連携実行ボタン7も削除される。この削除処理も、連携ボタン表示スクリプトにより実行される。
<テキスト送受信スクリプト>
図13は、テキスト送受信スクリプトによるデータ送受信のシーケンス図である。ここでは、Webアプリケーション間でのコピーアンドペースト操作がユーザにより許可されており、コピー元Webアプリケーションに連携実行ボタン7が表示されているものとする。また、図13では、ブラウザ1に連携元Webアプリケーションが表示され、ブラウザ2に連携先Webアプリケーションが表示されている。
連携元Webアプリケーションにおいて連携実行ボタンが押下されると、テキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携実行ボタンが保持しているコピー元XPathが指示する要素のテキストを取得する。そしてテキスト送受信スクリプトは、XMLHttpRequestで、中継サーバ30上に予め予約されているパス(例えば、/CopyPasteMashup/Send)へ連携元情報(連携元URI、連携元XPath、取得したテキスト)を送信する。例えば、図1(e)に示す例では、アドレス帳1のURI、アドレス表示ボックス3のXPath、アドレス表示ボックス3に表示されているメールアドレスが中継サーバ30へ送信される。
中継サーバ30において、コピーアンドペースト実行指示部47は、受信した連携元URI、連携元XPathに対応する送信先をサーチするために、連携定義DB33を参照する。このとき、連携定義DB33において、連携元URI/XPathに一致するコピー元URI/XPathがサーチされる。そして、ヒットしたコピー元URI/XPathに対応するペースト先URI/XPathが抽出される。例えば、連携定義DB33に図11(b)に示す連携定義情報が記録されているものとする。そして、テキスト送受信スクリプトから「連携元URI:http://a.test/index.html」「連携元XPath://div[@id=‘mail’]」を受信したときは、送信先として、「ペースト先URI:http://b.test/1.html」「ペースト先XPath://input[@id=‘to’]」が抽出される。
コピーアンドペースト実行指示部47は、ペースト先URI、ペースト先XPath、連携元から受信したテキスト、を連携先のブラウザ2に送信する。そうすると、ブラウザ2は、受信したペースト先URI/XPathに従って、受信したテキストを設定する。これにより、連携元Webアプリケーションにおいて連携実行ボタンにより指示されたテキストは、中継サーバ30により中継され、連携先Webアプリケーションの連携先XPathが指示する要素にペーストされる。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが、中継サーバ30を介して、メーラ4のアドレス表示ボックス5に転送されることになる。
なお、ペースト先URI、ペースト先XPath、テキストは、中継サーバ30からクライアントにプッシュされる。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。
このように、実施形態の連携方法によれば、一般的なコピーアンドペースト操作よりも簡単な操作で、Webアプリケーション間のデータ転送が実現される。ここで、このデータ転送を実現するためのスクリプトは、クリップボードにアクセスすることはない。すなわち、クリップボードへのアクセスが禁止または制限されているシステムであっても、実施形態の連携方法は実現可能である。したがって、実施形態の連携方法によれば、セキュリティを確保しながら、ユーザの操作性を向上させることができる。
<フローチャート>
図14は、ブラウザにおけるキー入力判定を示すフローチャートである。なお、このブラウザには、中継サーバ30により注入されたコピーアンドペースト操作検出スクリプトが設定されている。
ブラウザは、常時、ユーザによるキー入力をモニタしている、そして、「Ctrl+C」が入力されると、ステップS1において、コピー元のWebアプリケーションにおいてコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、図6〜図7を参照しながら説明したように、コピー元URI、コピー元XPath、コピーテキストを中継サーバ30へ送信する。ステップS2では、コピー処理が実行される。なお、コピー処理は、ブラウザにより実行される。
「Ctrl+V」が入力されると、ステップS3において、ペースト処理が実行される。ペースト処理は、ブラウザにより実行される。続いて、ステップS4において、ペースト先のWebアプリケーションにおいてコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、図8〜図10を参照しながら説明したように、ペースト先URI、ペースト先XPath、ペーストテキストを中継サーバ30へ送信する。なお、他のキーが入力された場合は、ブラウザは、ステップS5において、そのキーに対応する処理を実行する。
図15は、中継サーバ30からの指示に対応するブラウザ動作を示すフローチャートである。中継サーバ30は、例えばComet等のプッシュ通信により、ブラウザに指示を送信する。
ステップS11では、中継サーバ30から受信した指示の内容を判定する。連携ボタン表示指示部46から連携実行ボタンの表示指示を受信した場合は、ステップS12において、連携元Webアプリケーションの連携ボタン表示スクリプトが呼び出される。連携ボタン表示スクリプトは、表示指示に含まれている連携元URI/XPathに基づいて、連携元を表す要素を特定する。ステップS13では、連携ボタン表示スクリプトは、特定した要素の近くに連携実行ボタン7を表示する。
一方、コピーアンドペースト実行指示部47から連携実行指示を受信した場合は、ステップS14において、連携先Webアプリケーションのテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携実行指示に含まれている連携先URI/XPathに基づいて、連携先を表す要素を特定する。ステップS15では、テキスト送受信スクリプトは、連携実行指示と共に受信したテキストを、特定した要素に設定する。
<バリエーション1>
中継サーバ30は、コピーアンドペースト操作のURIおよびXPathを汎用化するようにしてもよい。すなわち、中継サーバ30は、連携定義DB33に互いに類似する複数のコピー元URI/XPathが登録されている場合には、それらを汎用化してもよい。例えば、図16(a)に示すように、連携定義DB33に下記の2つのコピーアンドペースト操作が登録されているものとする。ここでは、送信元XPathのみを示す。
A://tbody[@id='t']/tr[1]/td[2]
B://tbody[@id='t']/tr[2]/td[2]
これら2つのXPathは、「tr[1]」および「tr[2]」が互いに異なっているが、他の文字列は互いに同じである。すなわち、これら2つのXPathは互いに類似している。この場合、中継サーバ30は、下記の汎用化コピー元XPathを生成し、ユーザに提示する。
汎用://tbody[@id='t']/tr/td[2]
ユーザが汎用化コピー元XPathを含むコピーアンドペースト操作についての連携を許可した場合、中継サーバ30は、その汎用化コピー元XPathを含むコピーアンドペースト操作が連携定義DB33に登録される。また、Webブラウザ側では、図16(b)に示すように、汎用化コピー元XPathを含む1または複数の要素に対して連携実行ボタンが表示される。この場合、少なくとも、図16(a)に示す要素A、Bに対して連携実行ボタンが表示される。さらに図16(b)に示す例では、要素Cに対しても連携実行ボタンが表示されている。要素CのXPathは、例えば//tbody[@id='t']/tr[3]/td[2]である。なお、図16に示す実施例は、XPathが汎用化されているが、URIが汎用化されてもよい。
この連携方法によれば、将来行われる可能性のあるコピーアンドペースト操作が類推され、予め登録される。すなわち、類似のWebアプリケーション間でコピーアンドペースト操作が行われていた場合には、過去に行われていないコピーアンドペースト操作であっても登録され得る。したがって、ユーザの利便性がさらに向上する。
<バリエーション2>
上述の実施例では、中継サーバ30は、Webアプリケーションに3つのスクリプトを注入しているが、さらにテキスト監視スクリプトを注入するようにしてもよい。テキスト監視スクリプトは、ユーザにより連携が許可されているコピーアンドペースト操作のコピー元XPathが指示する要素を監視する。例えば、図17に示す実施例では、アドレス帳1のアドレス表示ボックス3が監視される。以下、テキスト監視スクリプトにより監視される要素がアドレス帳1のアドレス表示ボックス3であるものとする。
テキスト監視スクリプトは、アドレス表示ボックス3に表示されているテキストを定期的に取得し、一次記憶領域に記憶する。そして、新たに取得したテキストが一次記憶領域に記憶されているテキストを異なっていた場合に、テキスト監視スクリプトは、アドレス表示ボックス3が更新されたと判定する。すなわち、アドレス帳1を利用して新たなアドレス検索が実行されたと判定される。そうすると、テキスト監視スクリプトは、テキスト送受信スクリプトを呼び出す。以降の処理は、テキスト送受信スクリプトにより実行される。なお、テキスト送受信スクリプトの処理は、上述した通りである。
図17に示す実施例は、図1(a)〜図1(d)に示す手順で「山田」のメールアドレスが検索され、「山田」宛てにメールが送信された後に、新たに「田中」のメールアドレスが検索される場合を示している。この場合、一次記憶領域には、「山田」のメールアドレスyamada@example.comが記憶されている。そして、「田中」のメールアドレスが検索されると、アドレス表示ボックス3にはメールアドレスtanaka@example.comが設定される。したがって、テキスト監視スクリプトは、アドレス表示ボックス3のテキストが変更されたことを認識し、テキスト送受信スクリプトを呼び出す。そして、テキスト送受信スクリプトは、アドレス表示ボックス3に表示されているメールアドレス(および、コピー元URI、コピー元XPath)を中継サーバ30へ送信する。以降、上述した手順が実行され、メーラ4にメールアドレスtanaka@example.comが設定される。
この連携方法によれば、ユーザは、アドレス帳1を利用してメールアドレスを検索するだけで、その検索結果がメーラ4に設定される。すなわち、Webアプリケーション間でのデータバインディングと同等の処理が自動的に実現される。したがって、ユーザの利便性がさらに向上する。
<中継サーバ30のハードウェア構成>
図18は、実施形態の中継サーバ30のハードウェア構成を示す図である。図18において、CPU101は、メモリ103を利用してWebアプリケーション連携プログラムを実行することにより中継サーバに各処理手順を実行させる。記憶装置102は、例えばハードディスクであり、Webアプリケーション連携プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。
実施形態に係わるWebアプリケーション連携プログラムは、例えば、下記の形態で提供される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
そして、上記構成のコンピュータでWebアプリケーション連携プログラムを実行することにより、実施形態に係わる中継サーバが実現される。
1 アドレス帳
3 アドレス表示ボックス
4 メーラ
5 アドレス表示ボックス
11、12 Webサーバ
20 クライアント
21 連携管理画面
30 中継サーバ
31 最終コピー操作記録部
32 履歴DB
33 連携定義DB
41 プロキシ部
42 URI置換部
43 スクリプト注入部
44 コピーアンドペースト履歴収集部
45 連携管理部
46 連携ボタン表示指示部
47 コピーアンドペースト実行指示部
48 リクエスト振り分け部

Claims (6)

  1. Webサーバから中継サーバを介してWebブラウザに提供される第1および第2のWebアプリケーションの連携方法であって、
    前記中継サーバにおいて、各Webアプリケーションに第1および第2のスクリプトを注入することにより、前記第1および第2のスクリプトを前記Webブラウザに送信するステップと、
    前記中継サーバにおいて、前記第1および第2のスクリプトからの要求に応じて、前記第1のWebアプリケーションから前記第2のWebアプリケーションへデータを受け渡すステップ、を有し、
    前記第1のスクリプトは、前記第1のWebアプリケーションから共通メモリ領域へのコピー操作を検出したときに、コピー元を識別するコピー元情報およびコピーデータを前記中継サーバに送信すると共に、前記共通メモリ領域から前記第2のWebアプリケーションへのペースト操作を検出したときに、ペースト先を識別するペースト先情報およびペーストデータを前記中継サーバに送信する手順を記述し、
    前記第2のスクリプトは、前記第1のWebアプリケーション内の連携元要素を識別する連携元識別情報およびその連携元要素に保持されている連携対象データを前記中継サーバに送信すると共に、前記中継サーバから送られてくる転送先情報に基づいて、前記中継サーバから送られてくる前記連携対象データを前記第2のWebアプリケーションに渡す手順を記述し、
    前記中継サーバは、前記コピーデータおよびペーストデータが互いに一致したときに、前記コピー元情報および前記ペースト先情報を対応づけて保持し、
    前記中継サーバは、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致したときに、前記連携対象データを前記Webブラウザに送信すると共に、前記コピー元情報に対応づけて保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する
    ことを特徴とするWebアプリケーション連携方法。
  2. 請求項1に記載のWebアプリケーション連携方法であって、
    前記コピー元から前記ペースト先へデータを転送する連携動作を実行するか否かをユーザに問い合わせ、前記連携動作の実行が指示されたときに前記第2のスクリプトを呼び出す第3のスクリプトを、前記中継サーバにおいて、前記第1のWebアプリケーションに注入するステップをさらに有する
    ことを特徴とするWebアプリケーション連携方法。
  3. 請求項1に記載のWebアプリケーション連携方法であって、
    前記連携元要素のデータが変化したときに前記第2のスクリプトを呼び出す第4のスクリプトを、前記中継サーバにおいて、前記第1のWebアプリケーションに注入するステップをさらに有する
    ことを特徴とするWebアプリケーション連携方法。
  4. 請求項1〜3のいずれか1つに記載のWebアプリケーション連携方法であって、
    前記中継サーバは、最新のコピー元情報およびコピーデータを保持し、前記最新のコピーデータおよび前記ペーストデータが互いに一致したときに、前記最新のコピー元情報および前記ペースト先情報を対応づけて保持する
    ことを特徴とするWebアプリケーション連携方法。
  5. WebサーバからWebブラウザに提供される第1および第2のWebアプリケーションを連携させるWebアプリケーション連携装置であって、
    各Webアプリケーションに第1および第2のスクリプトを注入することにより、前記第1および第2のスクリプトを前記Webブラウザに送信するスクリプト注入部と、
    前記第1および第2のスクリプトからの要求に応じて、前記第1のWebアプリケーションから前記第2のWebアプリケーションへデータを中継する中継制御部、を有し、
    前記第1のスクリプトは、前記第1のWebアプリケーションから共通メモリ領域へのコピー操作を検出したときに、コピー元を識別するコピー元情報およびコピーデータを前記Webアプリケーション連携装置に送信すると共に、前記共通メモリ領域から前記第2のWebアプリケーションへのペースト操作を検出したときに、ペースト先を識別するペースト先情報およびペーストデータを前記Webアプリケーション連携装置に送信する手順を記述し、
    前記第2のスクリプトは、前記第1のWebアプリケーション内の連携元要素を識別する連携元識別情報およびその連携元要素に保持されている連携対象データを前記Webアプリケーション連携装置に送信すると共に、前記Webアプリケーション連携装置から送られてくる転送先情報に基づいて、前記Webアプリケーション連携装置から送られてくる前記連携対象データを前記第2のWebアプリケーションに渡す手順を記述し、
    前記Webアプリケーション連携装置は、前記コピーデータおよびペーストデータが互いに一致したときに、前記コピー元情報および前記ペースト先情報を対応づけて保持する保持部をさらに備え、
    前記中継制御部は、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致したときに、前記連携対象データを前記Webブラウザに送信すると共に、前記保持部において前記コピー元情報に対応づけて保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する
    ことを特徴とするWebアプリケーション連携装置。
  6. Webサーバから中継サーバを介してWebブラウザに提供される第1および第2のWebアプリケーションを連携させるWebアプリケーション連携プログラムであって、
    前記中継サーバに、
    各Webアプリケーションに第1および第2のスクリプトを注入することにより、前記第1および第2のスクリプトを前記Webブラウザに送信するステップと、
    前記第1および第2のスクリプトからの要求に応じて、前記第1のWebアプリケーションから前記第2のWebアプリケーションへデータを受け渡すステップ、を実行させ、
    前記第1のスクリプトは、前記第1のWebアプリケーションから共通メモリ領域へのコピー操作を検出したときに、コピー元を識別するコピー元情報およびコピーデータを前記中継サーバに送信すると共に、前記共通メモリ領域から前記第2のWebアプリケーションへのペースト操作を検出したときに、ペースト先を識別するペースト先情報およびペーストデータを前記中継サーバに送信する手順を記述し、
    前記第2のスクリプトは、前記第1のWebアプリケーション内の連携元要素を識別する連携元識別情報およびその連携元要素に保持されている連携対象データを前記中継サーバに送信すると共に、前記中継サーバから送られてくる転送先情報に基づいて、前記中継サーバから送られてくる前記連携対象データを前記第2のWebアプリケーションに渡す手順を記述し、
    前記中継サーバに、さらに、
    前記コピーデータおよびペーストデータが互いに一致したときに、前記コピー元情報および前記ペースト先情報を対応づけて保持するステップと、
    前記連携元識別情報の少なくとも一部が前記コピー元情報に一致したときに、前記連携対象データを前記Webブラウザに送信すると共に、前記コピー元情報に対応づけて保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信するステップ、を実行させる
    ことを特徴とするWebアプリケーション連携プログラム。
JP2009168062A 2009-07-16 2009-07-16 Webアプリケーションの連携方法、連携装置、および連携プログラム Expired - Fee Related JP5685804B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009168062A JP5685804B2 (ja) 2009-07-16 2009-07-16 Webアプリケーションの連携方法、連携装置、および連携プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009168062A JP5685804B2 (ja) 2009-07-16 2009-07-16 Webアプリケーションの連携方法、連携装置、および連携プログラム

Publications (2)

Publication Number Publication Date
JP2011022856A true JP2011022856A (ja) 2011-02-03
JP5685804B2 JP5685804B2 (ja) 2015-03-18

Family

ID=43632868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009168062A Expired - Fee Related JP5685804B2 (ja) 2009-07-16 2009-07-16 Webアプリケーションの連携方法、連携装置、および連携プログラム

Country Status (1)

Country Link
JP (1) JP5685804B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014006628A (ja) * 2012-06-22 2014-01-16 Nec Engineering Ltd クライアント装置、クライアント制御方法、及びプログラム
JP2014518411A (ja) * 2012-01-13 2014-07-28 テンセント テクノロジー(シェンツェン) カンパニー リミテッド ネットワークアプリケーション間の切り替え方法、システム、装置、及びコンピュータ記憶媒体
WO2017002498A1 (ja) * 2015-07-01 2017-01-05 e-Janネットワークス株式会社 通信システム及びプログラム
CN110209504A (zh) * 2018-04-10 2019-09-06 腾讯科技(深圳)有限公司 数据复制方法、数据粘贴方法、数据处理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243154A (ja) * 2000-03-02 2001-09-07 Fujitsu Ltd 共有情報利用システム、方法及び記憶媒体
JP2005250781A (ja) * 2004-03-03 2005-09-15 Fujitsu Ltd データ中継プログラム
JP2006178887A (ja) * 2004-12-24 2006-07-06 Nomura Research Institute Ltd ユーザ端末装置及びWebアプリケーション間でデータを継承する方法
JP2006190008A (ja) * 2005-01-04 2006-07-20 Nippon Telegr & Teleph Corp <Ntt> データ連携装置及びデータ連携方法
JP2010160592A (ja) * 2009-01-07 2010-07-22 Hitachi Ltd サービス中継装置、サービス中継方法、この方法を実行するためのプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243154A (ja) * 2000-03-02 2001-09-07 Fujitsu Ltd 共有情報利用システム、方法及び記憶媒体
JP2005250781A (ja) * 2004-03-03 2005-09-15 Fujitsu Ltd データ中継プログラム
JP2006178887A (ja) * 2004-12-24 2006-07-06 Nomura Research Institute Ltd ユーザ端末装置及びWebアプリケーション間でデータを継承する方法
JP2006190008A (ja) * 2005-01-04 2006-07-20 Nippon Telegr & Teleph Corp <Ntt> データ連携装置及びデータ連携方法
JP2010160592A (ja) * 2009-01-07 2010-07-22 Hitachi Ltd サービス中継装置、サービス中継方法、この方法を実行するためのプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200800439004; '特集1・モバイル・マッシュアップ革命 ネットを取り込み"携帯"の殻を破る' 日経コミュニケーション 第514号, 20080715, P.36〜40, 日経BP社 *
CSNG200600719045; 宮嶋 史尋 外1名: 'クライアントプログラムによるユーザ志向のWebアプリケーション連携処理支援法の提案' 情報処理学会研究報告 第2006巻第26号, 20060317, P.293〜298, 社団法人情報処理学会 *
JPN6013021605; 宮嶋 史尋 外1名: 'クライアントプログラムによるユーザ志向のWebアプリケーション連携処理支援法の提案' 情報処理学会研究報告 第2006巻第26号, 20060317, P.293〜298, 社団法人情報処理学会 *
JPN6013021607; '特集1・モバイル・マッシュアップ革命 ネットを取り込み"携帯"の殻を破る' 日経コミュニケーション 第514号, 20080715, P.36〜40, 日経BP社 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014518411A (ja) * 2012-01-13 2014-07-28 テンセント テクノロジー(シェンツェン) カンパニー リミテッド ネットワークアプリケーション間の切り替え方法、システム、装置、及びコンピュータ記憶媒体
JP2014006628A (ja) * 2012-06-22 2014-01-16 Nec Engineering Ltd クライアント装置、クライアント制御方法、及びプログラム
WO2017002498A1 (ja) * 2015-07-01 2017-01-05 e-Janネットワークス株式会社 通信システム及びプログラム
JP2017016429A (ja) * 2015-07-01 2017-01-19 e−Janネットワークス株式会社 通信システム及びプログラム
CN110209504A (zh) * 2018-04-10 2019-09-06 腾讯科技(深圳)有限公司 数据复制方法、数据粘贴方法、数据处理方法和系统
CN110209504B (zh) * 2018-04-10 2023-05-12 腾讯科技(深圳)有限公司 数据复制方法、数据粘贴方法、数据处理方法和系统

Also Published As

Publication number Publication date
JP5685804B2 (ja) 2015-03-18

Similar Documents

Publication Publication Date Title
US10289275B2 (en) Standard commands for native commands
JP5933660B2 (ja) イベントトリガされたサーバサイドマクロ
JP6797290B2 (ja) メッセージングサービス向けのコンテンツ管理機能
US9489356B2 (en) Enhanced document and event mirroring for accessing internet content
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
US8533238B2 (en) Sharing information about a document across a private computer network
US9516185B2 (en) Information processing apparatus enabling cooperation with a network service and control method therefor
US20140101310A1 (en) Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform
JP4935413B2 (ja) アップロード用アドインプログラム、アップロード用補助プログラム及びアップロード方法
US8706778B2 (en) Methods and systems for an action-based interface for files and other assets
US20130198333A1 (en) Method and device for recording and reproducing web operation
JP2007181031A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
KR20180040099A (ko) 정보 처리 장치, 문서 표시 방법, 문서 표시 시스템, 및 기록 매체
JP5685804B2 (ja) Webアプリケーションの連携方法、連携装置、および連携プログラム
JP5286946B2 (ja) 情報処理装置、その入力情報の復元方法及び復元プログラム
JP2008158695A (ja) オンラインサービスを提供する情報処理システム及びプログラム
US20230195999A1 (en) Cross-domain storage for browsers
CN101573696A (zh) 信息处理设备及其控制方法、该控制方法的程序和该程序的记录介质
JP2007272443A (ja) 開発支援装置、開発支援方法および開発支援プログラム
JP5026130B2 (ja) メール管理方法およびメール管理システム並びにメール管理プログラム
JP6683042B2 (ja) データ処理装置、システムおよびプログラム
JP2012181622A (ja) 情報処理サーバ、情報処理方法、情報処理システム、プログラム、記録媒体
US8370308B2 (en) Document management system, document management method, and computer program for forming proxy data for deleted documents
JP5152924B2 (ja) コメント共有方法及びその装置、端末装置、並びにそのプログラム
JP5948930B2 (ja) 中継装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150106

R150 Certificate of patent or registration of utility model

Ref document number: 5685804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees