JP5685804B2 - Web application linkage method, linkage apparatus, and linkage program - Google Patents

Web application linkage method, linkage apparatus, and linkage program Download PDF

Info

Publication number
JP5685804B2
JP5685804B2 JP2009168062A JP2009168062A JP5685804B2 JP 5685804 B2 JP5685804 B2 JP 5685804B2 JP 2009168062 A JP2009168062 A JP 2009168062A JP 2009168062 A JP2009168062 A JP 2009168062A JP 5685804 B2 JP5685804 B2 JP 5685804B2
Authority
JP
Japan
Prior art keywords
copy
cooperation
web application
paste
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009168062A
Other languages
Japanese (ja)
Other versions
JP2011022856A (en
Inventor
智裕 大嶽
智裕 大嶽
昭彦 松尾
昭彦 松尾
暁生 下野
暁生 下野
憲二 大木
憲二 大木
小高 敏裕
敏裕 小高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/en
Publication of JP2011022856A publication Critical patent/JP2011022856A/en
Application granted granted Critical
Publication of JP5685804B2 publication Critical patent/JP5685804B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Webブラウザ内で実行される複数のWebアプリケーションの連携方法に係わる。   The present invention relates to a method for linking a plurality of Web applications executed within a Web browser.

複数のWebアプリケーションを並べて利用するコンポジットアプリケーションと呼ばれる利用形態が普及してきている。コンポジットアプリケーションでは、複数のアプリケーションを並べるだけでなく、並べられたアプリケーション間でデータを受け渡すことにより、利便性が向上する。   A usage form called a composite application that uses a plurality of Web applications side by side has become widespread. In the composite application, convenience is improved by not only arranging a plurality of applications but also transferring data between the arranged applications.

コンポジットアプリケーションにおけるマッシュアップでは、アプリケーション間でデータを受け渡すことにより、それらのアプリケーションが連携できることが多い。ところが、従来の技術では、通常、連携させたいアプリケーションに対してデータ受渡しのための関数が予め作成されている必要があり、一般的なWebアプリケーションに手を加えずにそれらを連携させることはできなかった。   In mashups in composite applications, these applications can often be linked by passing data between the applications. However, in the conventional technology, it is usually necessary to create a function for data transfer in advance for an application to be linked, and it is possible to link them without modifying a general Web application. There wasn't.

Webブラウザを利用してWebアプリケーション間でデータを受け渡す方法は、例えば、Webページ中のJavaScriptが、他のWebアプリケーション上で行われるコピー操作によるクリップボードの変化を監視することで実現することができる。しかし、多くのWebブラウザでは、セキュリティ上の理由により、スクリプトがクリップボードへアクセスすることが禁止または制限されている。したがって、多くのWebブラウザは、クリップボードの監視によりWebアプリケーション間でのデータ受渡しの自動化を図ることができない。   A method of transferring data between Web applications using a Web browser can be realized, for example, by monitoring a clipboard change caused by a copy operation performed on another Web application by JavaScript in the Web page. . However, many Web browsers prohibit or restrict the script from accessing the clipboard for security reasons. Therefore, many Web browsers cannot automate data transfer between Web applications by monitoring the clipboard.

なお、関連する技術として、クリップボードのデータを管理し、ダウンロード側のコンピュータの要求に応じてそのデータを提供する方法が提案されている。(例えば、特許文献1および特許文献2)
また、他の関連する技術として、クリップボードを利用する電子文書の一部または全部のコピーを制御する方法が提案されている。この方法では、文書判別モジュールは、コピー元文書およびコピー先文書がそれぞれ重要文書であるか否かを判別する。コピー元文書が一般文書であれば、指定されたコピーデータは、OSにより提供されるクリップボードに書き込まれる。コピー元文書が重要文書であれば、指定されたコピーデータは、クリップボード抑止モジュールにより重要文書クリップボードに書き込まれる。コピー先文書が一般文書であれば、クリップボードからコピーデータが読み出される。コピー先文書が重要文書であれば、クリップボード抑止モジュールにより重要文書クリップボードからコピーデータが読み出される。(例えば、特許文献3)
As a related technique, a method of managing clipboard data and providing the data in response to a request from a computer on the download side has been proposed. (For example, Patent Document 1 and Patent Document 2)
As another related technique, a method of controlling copying of a part or all of an electronic document using a clipboard has been proposed. In this method, the document determination module determines whether or not each of the copy source document and the copy destination document is an important document. If the copy source document is a general document, the designated copy data is written to the clipboard provided by the OS. If the copy source document is an important document, the designated copy data is written to the important document clipboard by the clipboard suppression module. If the copy destination document is a general document, copy data is read from the clipboard. If the copy destination document is an important document, copy data is read from the important document clipboard by the clipboard suppression module. (For example, Patent Document 3)

特開2002−288124JP 2002-288124 A 特開2002−288162JP 2002-288162 A 国際公開WO2006/103752International Publication WO2006 / 103752

本発明の課題は、Webアプリケーション間でのデータの受け渡しを容易にすることである。   An object of the present invention is to facilitate data exchange between Web applications.

本発明の1つの態様のWebアプリケーション連携方法は、Webサーバから中継サーバを介してWebブラウザに提供される第1および第2のWebアプリケーションを連携させる方法であって、前記中継サーバにおいて、各Webアプリケーションに第1および第2のスクリプトを注入することにより、前記第1および第2のスクリプトを前記Webブラウザに送信するステップと、前記中継サーバにおいて、前記第1および第2のスクリプトからの要求に応じて、前記第1のWebアプリケーションから前記第2のWebアプリケーションへデータを受け渡すステップ、を有する。   A web application linkage method according to one aspect of the present invention is a method for linking first and second web applications provided from a web server to a web browser via a relay server. Injecting the first and second scripts into the application to send the first and second scripts to the Web browser; and in the relay server, in response to requests from the first and second scripts And a step of transferring data from the first Web application to the second Web application.

前記第1のスクリプトは、前記第1のWebアプリケーションから共通メモリ領域へのコピー操作を検出したときに、コピー元を識別するコピー元情報およびコピーデータを前記中継サーバに送信すると共に、前記共通メモリ領域から前記第2のWebアプリケーションへのペースト操作を検出したときに、ペースト先を識別するペースト先情報およびペーストデータを前記中継サーバに送信する手順を記述する。また、前記第2のスクリプトは、前記第1のWebアプリケーション内の連携元要素を識別する連携元識別情報およびその連携元要素に保持されている連携対象データを前記中継サーバに送信すると共に、前記中継サーバから送られてくる転送先情報に基づいて、前記中継サーバから送られてくる前記連携対象データを前記第2のWebアプリケーションに渡す手順を記述する。   When the first script detects a copy operation from the first Web application to the common memory area, the first script transmits copy source information for identifying a copy source and copy data to the relay server, and the common memory A procedure for transmitting paste destination information for identifying a paste destination and paste data to the relay server when a paste operation from the area to the second Web application is detected will be described. The second script transmits cooperation source identification information for identifying a cooperation source element in the first Web application and cooperation target data held in the cooperation source element to the relay server, and A procedure for passing the cooperation target data sent from the relay server to the second Web application based on transfer destination information sent from the relay server is described.

さらに、前記中継サーバは、前記コピーデータおよびペーストデータが互いに一致したときに、前記コピー元情報および前記ペースト先情報を対応づけて保持する。また、前記中継サーバは、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致したときに、前記連携対象データを前記Webブラウザに送信すると共に、前記コピー元情報に対応づけて保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する。   Further, the relay server holds the copy source information and the paste destination information in association with each other when the copy data and the paste data match each other. In addition, the relay server transmits the cooperation target data to the Web browser when at least part of the cooperation source identification information matches the copy source information, and is held in association with the copy source information. The paste destination information is transmitted to the Web browser as the transfer destination information.

本発明の1つの態様によれば、Webアプリケーション間でのデータの受け渡しを容易になる。   According to one aspect of the present invention, data can be easily transferred between Web applications.

Webアプリケーション間でのデータの受け渡しの一例を示す図である。It is a figure which shows an example of the delivery of the data between Web applications. 連携検出の流れを示す図である。It is a figure which shows the flow of a cooperation detection. 連携実行の流れを示す図である。It is a figure which shows the flow of cooperation execution. 中継サーバの構成を示す図である。It is a figure which shows the structure of a relay server. WebアプリケーションのHTMLドキュメントの一例を示す図である。It is a figure which shows an example of the HTML document of a Web application. コピーアンドペースト操作検出スクリプトのコピー検出部の実施例である。It is an Example of the copy detection part of a copy and paste operation detection script. コピー操作検出のシーケンス図である。It is a sequence diagram of a copy operation detection. コピーアンドペースト操作検出スクリプトのペースト検出部の実施例である。It is an Example of the paste detection part of a copy and paste operation detection script. ペースト操作検出のシーケンス図である。It is a sequence diagram of paste operation detection. ペースト操作検出の他のシーケンスを示す図である。It is a figure which shows the other sequence of paste operation detection. 連携管理画面の表示例である。It is a display example of a cooperation management screen. 連携実行ボタンの実施例である。It is an Example of a cooperation execution button. テキスト送受信スクリプトによるデータ送受信のシーケンス図である。It is a sequence diagram of data transmission / reception by a text transmission / reception script. ブラウザにおけるキー入力判定を示すフローチャートである。It is a flowchart which shows the key input determination in a browser. 中継サーバからの指示に対応するブラウザ動作を示すフローチャートである。It is a flowchart which shows the browser operation | movement corresponding to the instruction | indication from a relay server. URI/XPathの汎用化について説明する図である。It is a figure explaining generalization of URI / XPath. テキスト監視スクリプトを利用する手順を示す図である。It is a figure which shows the procedure which utilizes a text monitoring script. 実施形態の中継サーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the relay server of embodiment.

実施形態のWebアプリケーション連携方法では、第1のWebアプリケーションから第2のWebアプリケーションへデータが受け渡される。以下、図1を参照しながら、Webアプリケーション間でのデータの受け渡しの一例を示す。   In the web application linkage method of the embodiment, data is transferred from the first web application to the second web application. Hereinafter, an example of data transfer between Web applications will be described with reference to FIG.

図1に示す例では、Webブラウザ上に2つのWebアプリケーション(アドレス帳1およびメーラ4)が表示されている。Webアプリケーションは、特に限定されるものではないが、Webサーバ上で実行され、Webブラウザは、データ入力および処理結果の表示を行う。アドレス帳1は、名前入力ボックス2およびアドレス表示ボックス3を備えている。また、メーラ4は、アドレス表示ボックス5および文書入力ボックス6を備えている。アドレス帳1およびメーラ4の動作は、例えば、以下の通りである。   In the example shown in FIG. 1, two Web applications (address book 1 and mailer 4) are displayed on the Web browser. The Web application is not particularly limited, but is executed on a Web server, and the Web browser performs data input and processing result display. The address book 1 includes a name input box 2 and an address display box 3. The mailer 4 also includes an address display box 5 and a document input box 6. The operations of the address book 1 and the mailer 4 are as follows, for example.

(1)ユーザは、図1(a)に示すように、名前入力ボックス2に「山田」を入力し、検索を実行する。アドレス要求は、Webサーバへ送信される。
(2)アドレス帳アプリケーションは、Webサーバ上で実行され、アドレス要求に対する検索結果としてメールアドレスを返送する。この実施例では、返送されるメールアドレスは「yamada@example.com」である。メールアドレスは、図1(b)に示すように、アドレス帳1のアドレス表示ボックス3に表示される。
(1) As shown in FIG. 1A, the user inputs “Yamada” in the name input box 2 and executes a search. The address request is transmitted to the web server.
(2) The address book application is executed on the Web server and returns a mail address as a search result for the address request. In this embodiment, the returned mail address is “yamada@example.com”. The mail address is displayed in the address display box 3 of the address book 1 as shown in FIG.

(3)ユーザは、図1(c)に示すように、アドレス帳1により得られたメールアドレスを、メーラ4のアドレス入力ボックス5にコピーする。このとき、メールアドレスは、アドレス帳1からクリップボードへコピーされ、クリップボードからメーラ4へペーストされる。   (3) The user copies the mail address obtained from the address book 1 to the address input box 5 of the mailer 4 as shown in FIG. At this time, the mail address is copied from the address book 1 to the clipboard and pasted from the clipboard to the mailer 4.

(4)ユーザは、図1(d)に示すように、文書入力ボックス6に文書を入力し、メールを送信する。このメールは、Webサーバ上で動作するメーラアプリケーションによって宛て先へ転送される。   (4) As shown in FIG. 1D, the user inputs a document in the document input box 6 and transmits an email. This mail is transferred to the destination by a mailer application operating on the Web server.

(5)この後ユーザは、図1(e)に示すように、「田中」へもメールを送るものとする。この場合、ユーザは、名前入力ボックス2に「田中」を入力して検索を実行する。この結果、対応するメールアドレス(tanaka@example.com)が得られ、アドレス表示ボックス3に表示される。このとき、実施形態のWebアプリケーション連携方法においては、図1(c)に示すコピーアンドペースト操作を行うことなく、自動的あるいは半自動的に、アドレス帳1のアドレス表示ボックス3からメーラ4のアドレス表示ボックス5へメールアドレスが受け渡される。   (5) Thereafter, as shown in FIG. 1E, the user also sends mail to “Tanaka”. In this case, the user inputs “Tanaka” in the name input box 2 and executes a search. As a result, a corresponding mail address (tanaka@example.com) is obtained and displayed in the address display box 3. At this time, in the Web application linkage method of the embodiment, the address display of the address book 1 from the address display box 3 of the address book 1 is automatically or semi-automatically performed without performing the copy and paste operation shown in FIG. The e-mail address is delivered to box 5.

なお、実施形態のWebアプリケーション連携方法は、上述のアドレス帳1とメーラ4との連携に限定されるものではなく、任意のWebアプリケーション間でデータを受け渡す手順に適用可能である。また、クリップボードを介して行われるコピーアンドペーストは、1つの実施例であり、実施形態のWebアプリケーションの連携方法は、第1および第2のWebアプリケーション間で共通メモリ領域を利用してデータを転送する手順に適用可能である。   Note that the Web application linkage method of the embodiment is not limited to the linkage between the address book 1 and the mailer 4 described above, and can be applied to a procedure for transferring data between arbitrary Web applications. Copy and paste performed via the clipboard is one example, and the Web application linkage method of the embodiment transfers data using a common memory area between the first and second Web applications. It is applicable to the procedure to do.

次に、実施形態の連携方法の流れを簡単に説明する。実施形態の連携方法は、連携を検出する手順、および連携を実行する手順を含む。
図2は、実施形態の連携方法において連携を検出する手順の流れを示す図である。ここでは、Webサーバ(address.example.com)11がアドレス帳アプリケーションを提供し、Webサーバ(mailer.example.com)12がメーラアプリケーションを提供しているものとする。また、クライアント20は、Webブラウザを備え、中継サーバ30を介してアドレス帳アプリケーションおよびメーラアプリケーションを読み込むものとする。さらに、クライアント20は、後述する連携管理画面21を備える。以下、クライアント20が、Webサーバ11、12に対してアドレス帳アプリケーションおよびメーラアプリケーションを要求した後の手順を説明する。
Next, the flow of the cooperation method of the embodiment will be briefly described. The cooperation method of the embodiment includes a procedure for detecting cooperation and a procedure for executing cooperation.
FIG. 2 is a diagram illustrating a flow of a procedure for detecting cooperation in the cooperation method of the embodiment. Here, it is assumed that the Web server (address.example.com) 11 provides an address book application, and the Web server (mailer.example.com) 12 provides a mailer application. The client 20 includes a web browser and reads an address book application and a mailer application via the relay server 30. Furthermore, the client 20 includes a cooperation management screen 21 described later. Hereinafter, a procedure after the client 20 requests the address book application and the mailer application from the Web servers 11 and 12 will be described.

(1)中継サーバ30は、Webサーバ11、12から、アドレス帳アプリケーションおよびメーラアプリケーションのHTMLおよびスクリプトを読み込み、中継のためのアドレス置換処理を行う。このとき、中継サーバ30は、各Webアプリケーション(ここでは、アドレス帳アプリケーション、メーラアプリケーション)に、それぞれ、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトを注入する。したがって、クライアント20がWebアプリケーションを使用すると、そのWebアプリケーションに埋め込まれた上記3つのスクリプトが必要に応じて呼び出される。図1に示す例では、クライアント20がアドレス帳1またはメーラ4を使用する際に、ユーザ操作または中継サーバ30からの指示等に応じて、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトが呼び出されて実行される。   (1) The relay server 30 reads the HTML and script of the address book application and mailer application from the Web servers 11 and 12, and performs address replacement processing for relay. At this time, the relay server 30 injects a copy and paste operation detection script, a link button display script, and a text transmission / reception script into each Web application (here, the address book application and the mailer application). Therefore, when the client 20 uses a Web application, the three scripts embedded in the Web application are called as necessary. In the example illustrated in FIG. 1, when the client 20 uses the address book 1 or the mailer 4, a copy and paste operation detection script, a link button display script, text transmission / reception is performed according to a user operation or an instruction from the relay server 30. The script is called and executed.

(2)ユーザは、クライアント20のブラウザ上に表示されたアドレス帳1を利用してアドレス検索を行う。この検索要求は、中継サーバ30を経由してWebサーバ11に転送される。そして、Webサーバ11による検索結果は、中継サーバ30を介してクライアント20のアドレス帳1に返送される。   (2) The user performs an address search using the address book 1 displayed on the browser of the client 20. This search request is transferred to the Web server 11 via the relay server 30. Then, the search result by the Web server 11 is returned to the address book 1 of the client 20 via the relay server 30.

(3)ユーザがアドレス帳1においてメールアドレスのコピー操作を行うと、アドレス帳1に埋め込まれているコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、アドレス帳1においてコピー操作が行われたことを検出すると、そのコピー操作を中継サーバ30に通知する。中継サーバ30は、この通知に応じて、最終コピー操作記録部31にコピー操作に係わる情報を記録する。このとき、アドレス帳1からコピーされたデータは、いったんクリップボードに保存される。なお、最終コピー操作記録部31には、中継サーバ30に最後に通知されたコピー操作(すなわち、最新のコピー操作)に係わる情報が記録される。   (3) When the user performs a mail address copy operation in the address book 1, a copy and paste operation detection script embedded in the address book 1 is called. When the copy and paste operation detection script detects that a copy operation has been performed in the address book 1, the copy and paste operation detection script notifies the relay server 30 of the copy operation. In response to this notification, the relay server 30 records information related to the copy operation in the final copy operation recording unit 31. At this time, the data copied from the address book 1 is once saved in the clipboard. The last copy operation recording unit 31 records information related to the last copy operation notified to the relay server 30 (that is, the latest copy operation).

(4)ユーザがアドレス帳1から取り出したメールアドレスをメーラ4にペーストすると、メーラ4に埋め込まれているコピーアンドペースト操作検出スクリプトは、メーラ4に対してペースト操作が行われたことを検出し、そのペースト操作を中継サーバ30に通知する。中継サーバ30は、通知されたペースト操作が、最終コピー操作記録部31に記録されているコピー操作に対応するか否かをチェックする。そして、このペースト操作が上記コピー操作に対応していたときは、中継サーバ30は、一連のコピーアンドペースト操作に係わる1組のコピー操作情報およびペースト操作情報を履歴DB32に記録する。なお、履歴DB32に記録される1組のコピー操作情報およびペースト操作情報は、例えば、コピーアンドペースト操作のコピー元を識別するコピー元情報およびペースト先を識別するペースト先情報を含む。   (4) When the user pastes the mail address taken out from the address book 1 into the mailer 4, the copy and paste operation detection script embedded in the mailer 4 detects that the paste operation has been performed on the mailer 4. The paste operation is notified to the relay server 30. The relay server 30 checks whether the notified paste operation corresponds to the copy operation recorded in the final copy operation recording unit 31. When the paste operation corresponds to the copy operation, the relay server 30 records a set of copy operation information and paste operation information related to a series of copy and paste operations in the history DB 32. The set of copy operation information and paste operation information recorded in the history DB 32 includes, for example, copy source information for identifying the copy source of the copy and paste operation and paste destination information for identifying the paste destination.

(5)ユーザは、ブラウザ上でメール本文を作成し、そのメールの送信を要求する。この要求は、中継サーバ30を介してWebサーバ12に転送され、あて先へメールが送信される。   (5) The user creates a mail text on the browser and requests transmission of the mail. This request is transferred to the Web server 12 via the relay server 30, and mail is transmitted to the destination.

このように、実施形態の連携方法では、クライアント20においてWebアプリケーション間でコピーアンドペースト操作が行われると、コピーアンドペースト操作検出スクリプトにより、その操作が中継サーバ30に通知される。そして、通知されたコピーアンドペースト操作は、履歴DB32に記録される。   As described above, in the cooperation method of the embodiment, when a copy and paste operation is performed between Web applications in the client 20, the copy and paste operation detection script notifies the relay server 30 of the operation. The notified copy and paste operation is recorded in the history DB 32.

図3は、実施形態の連携方法において連携を実行する手順の流れを示す図である。ここでは、図2に示す手順により、履歴DB32にコピーアンドペースト操作が記録されているものとする。   FIG. 3 is a diagram illustrating a flow of a procedure for executing cooperation in the cooperation method of the embodiment. Here, it is assumed that the copy and paste operation is recorded in the history DB 32 by the procedure shown in FIG.

(1)履歴DB32に新たなコピーアンドペースト操作が記録されると、中継サーバ30は、クライアント20の連携管理画面21を利用して、そのコピーアンドペースト操作に係わる連携処理を許可するか否かをユーザに問い合わせる。図1に示す例では、アドレス帳1からメーラ4へのコピーアンドペースト操作に係わる連携を許可するか否かの問合せが行われる。   (1) When a new copy and paste operation is recorded in the history DB 32, the relay server 30 uses the cooperation management screen 21 of the client 20 to determine whether or not to permit a cooperation process related to the copy and paste operation. To the user. In the example shown in FIG. 1, an inquiry is made as to whether or not cooperation relating to a copy and paste operation from the address book 1 to the mailer 4 is permitted.

(2)ユーザが連携を許可すると、中継サーバ30の連携定義DB33に、許可されたアドレス帳1からメーラ4へのコピーアンドペースト操作が登録される。
(3)中継サーバ30は、連携実行ボタンを表示するための指示をクライアント20に送信する。そうすると、クライアント20において連携ボタン表示スクリプトが呼び出される。このとき、例えば、連携元のWebアプリケーション(ここでは、コピーアンドペースト操作のコピー元であるアドレス帳1)に埋め込まれている連携ボタン表示スクリプトが呼び出される。連携ボタン表示スクリプトは、中継サーバ30から受信した指示に応じて、ユーザにより許可されたコピーアンドペースト操作を自動化(または、半自動化)するためのインタフェースを提供する。例えば、アドレス帳1のアドレス表示ボックス3の近くに連携実行ボタンが表示される。
(2) When the user permits cooperation, a copy and paste operation from the permitted address book 1 to the mailer 4 is registered in the cooperation definition DB 33 of the relay server 30.
(3) The relay server 30 transmits an instruction for displaying the cooperation execution button to the client 20. Then, the cooperation button display script is called in the client 20. At this time, for example, a link button display script embedded in the link source Web application (here, the address book 1 that is the copy source of the copy and paste operation) is called. The cooperation button display script provides an interface for automating (or semi-automating) a copy and paste operation permitted by the user in accordance with an instruction received from the relay server 30. For example, a cooperation execution button is displayed near the address display box 3 of the address book 1.

(4)ユーザは、図1(e)に示すように、アドレス帳1を利用して別の「名前」を入力して新たなアドレス検索を実行する。この検索要求に対して、Webサーバ11は、対応するメールアドレスを返送する。この結果、アドレス帳1のアドレス表示ボックス3には、新たな「名前」に対応するメールアドレスが表示される。   (4) As shown in FIG. 1E, the user inputs another “name” using the address book 1 and executes a new address search. In response to this search request, the Web server 11 returns a corresponding mail address. As a result, the mail address corresponding to the new “name” is displayed in the address display box 3 of the address book 1.

(5)ユーザがアドレス帳1に表示されている連携実行ボタンを押下すると、そのアドレス帳1に埋め込まれているテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携元Webアプリケーション上の指定された領域に書き込まれているテキスト(連携対象データ)とコピー元を特定するための情報を中継サーバ30へ送信する。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが連携対象データとして中継サーバ30へ送信される。   (5) When the user presses the cooperation execution button displayed in the address book 1, the text transmission / reception script embedded in the address book 1 is called. The text transmission / reception script transmits the text (cooperation target data) written in the designated area on the cooperation source Web application and information for specifying the copy source to the relay server 30. In the example shown in FIG. 1 (e), the mail address displayed in the address display box 3 of the address book 1 is transmitted to the relay server 30 as cooperation target data.

(6)中継サーバ30は、連携定義DB33を参照し、連携元Webアプリケーションから取得したテキストの転送先を決定する。例えば、上記(5)の連携元と、連携定義DB33に登録されているコピーアンドペースト操作のコピー元とが一致した場合には、そのコピーアンドペースト操作のペースト先がテキストの転送先として指定される。ここでは、連携元およびコピー元がいずれもアドレス帳1のアドレス表示ボックス3であり、テキストの転送先としてメーラ4のアドレス表示ボックス5が指定される。   (6) The relay server 30 refers to the cooperation definition DB 33 and determines the transfer destination of the text acquired from the cooperation source Web application. For example, when the link source in (5) above matches the copy source of the copy and paste operation registered in the link definition DB 33, the paste destination of the copy and paste operation is designated as the text transfer destination. The Here, both the link source and the copy source are the address display box 3 of the address book 1, and the address display box 5 of the mailer 4 is designated as the text transfer destination.

(7)中継サーバ30は、上記(5)で連携元Webアプリケーションから取得したテキストとペースト先を特定するための情報をメーラ4に送信する。そうすると、メーラ4に埋め込まれているテキスト送受信スクリプトは、中継サーバ30から受信したテキストをメーラ4のアドレス表示ボックス5に表示する。   (7) The relay server 30 transmits to the mailer 4 information for specifying the text and the paste destination acquired from the cooperation source Web application in (5) above. Then, the text transmission / reception script embedded in the mailer 4 displays the text received from the relay server 30 in the address display box 5 of the mailer 4.

このように、実施形態の連携方法では、クライアント20においてWebアプリケーション間での連携実行が要求されると、テキスト送受信スクリプトによりWebアプリケーション間で受け渡すべきデータが中継サーバ30に送信される。そうすると、中継サーバ30は、連携定義DB33を参照し、連携先のWebアプリケーションに対してそのデータを転送する。すなわち、ユーザは、コピーアンドペースト操作を行うことなく、単に連携実行ボタンを押下するだけで、Webアプリケーション間のデータの受け渡しが中継サーバ30を介して実現される。   As described above, in the cooperation method of the embodiment, when the client 20 requests cooperation execution between Web applications, data to be transferred between Web applications is transmitted to the relay server 30 by the text transmission / reception script. Then, the relay server 30 refers to the cooperation definition DB 33 and transfers the data to the cooperation destination Web application. That is, the user can simply transfer the data between the Web applications via the relay server 30 by simply pressing the cooperation execution button without performing a copy and paste operation.

図4は、中継サーバ30の構成を示す図である。中継サーバ30は、クライアントとWebサーバ11、12との間を中継する。クライアントは、例えば図2および図3に示すクライアント20(window/(i)frame)に相当し、Webブラウザを備える。Webサーバ11、12が提供するアプリケーションは、例えば、図2および図3に示すアドレス帳アプリケーションおよびメーラアプリケーションである。この場合、Webブラウザには、アドレス帳1およびメーラ4が表示される。   FIG. 4 is a diagram illustrating the configuration of the relay server 30. The relay server 30 relays between the client and the Web servers 11 and 12. The client corresponds to, for example, the client 20 (window / (i) frame) shown in FIGS. 2 and 3 and includes a web browser. Applications provided by the Web servers 11 and 12 are, for example, an address book application and a mailer application shown in FIGS. 2 and 3. In this case, the address book 1 and the mailer 4 are displayed on the Web browser.

中継サーバ30は、プロキシ部41、コピーアンドペースト履歴収集部44、連携管理部45、連携ボタン表示指示部46、コピーアンドペースト実行指示部47、リクエスト振り分け部48、最終コピー操作記録部31、履歴DB32、連携定義DB33を備えている。なお、図4では、実施形態の連携方法に直接的に係わりのない要素は、省略されている。   The relay server 30 includes a proxy unit 41, a copy and paste history collection unit 44, a cooperation management unit 45, a cooperation button display instruction unit 46, a copy and paste execution instruction unit 47, a request distribution unit 48, a final copy operation recording unit 31, and a history. DB32 and linkage definition DB33 are provided. In FIG. 4, elements not directly related to the cooperation method of the embodiment are omitted.

プロキシ部41は、URI置換部42およびスクリプト注入部43を備える。URI置換部42は、Webサーバ11、12とクライアントとの間でURIを置換する。スクリプト部43は、上述したように、Webサーバ11、12からクライアントへWebアプリケーションが提供される際に、予め用意してあるスクリプトを各Webアプリケーションに注入する。各Webアプリケーションには、上述したように、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、およびテキスト送受信スクリプトが注入される。したがって、クライアントが受け取る各Webアプリケーションには、それぞれ上記3つのスクリプトが埋め込まれている。   The proxy unit 41 includes a URI replacement unit 42 and a script injection unit 43. The URI replacement unit 42 replaces the URI between the Web servers 11 and 12 and the client. As described above, the script unit 43 injects a prepared script into each Web application when the Web application is provided from the Web servers 11 and 12 to the client. As described above, a copy and paste operation detection script, a cooperation button display script, and a text transmission / reception script are injected into each Web application. Therefore, the above three scripts are embedded in each Web application received by the client.

図5は、WebアプリケーションのHTMLドキュメントの一例を示す図である。スクリプト注入部43は、WebアプリケーションのHTMLドキュメントをクライアントに提供する際に、例えば、body部の末尾に上記3つのスクリプトを注入する。ただし、スクリプトを注入する位置は、body部の末尾に限定されるものではなく、例えば、body部の先頭にスクリプトが注入されてもよい。   FIG. 5 is a diagram illustrating an example of an HTML document of a Web application. The script injection unit 43, for example, injects the above three scripts at the end of the body part when providing the HTML document of the Web application to the client. However, the position where the script is injected is not limited to the end of the body part. For example, the script may be injected at the beginning of the body part.

コピーアンドペースト履歴収集部44は、コピー元のコピーアンドペースト操作検出スクリプトからコピー操作情報(コピー元を識別する情報およびコピーデータ)を受信すると、それを最終コピー操作記録部31に記録する。また、コピーアンドペースト履歴収集部44は、ペースト先のコピーアンドペースト操作検出スクリプトからペースト操作情報(ペースト先を識別する情報およびペーストデータ)を受信すると、コピー操作情報と対応づけて履歴DB32に記録する。   When receiving the copy operation information (information for identifying the copy source and copy data) from the copy and paste operation detection script of the copy source, the copy and paste history collection unit 44 records it in the final copy operation recording unit 31. Further, when receiving the paste operation information (information for identifying the paste destination and paste data) from the paste-destination copy-and-paste operation detection script, the copy-and-paste history collection unit 44 records it in the history DB 32 in association with the copy operation information. To do.

連携管理部45は、Webブラウザの連携管理画面21を利用して、履歴DB32に記録されているWebアプリケーション間の連携動作(コピーアンドペースト処理)を許可するか否かをユーザに問い合わせる。そして、連携管理部45は、許可された連携動作を連携定義DB33に記録する。   The cooperation management unit 45 uses the cooperation management screen 21 of the Web browser to inquire the user whether to permit a cooperation operation (copy and paste processing) between Web applications recorded in the history DB 32. And the cooperation management part 45 records the permitted cooperation operation | movement in cooperation definition DB33.

連携ボタン表示指示部46は、連携定義33に新たな連携動作が記録されると、連携実行ボタンを表示するための指示を、連携元の連携ボタン表示スクリプトへ送信する。これにより、連携ボタン表示スクリプトは、連携実行ボタンを表示する。   The cooperation button display instruction | indication part 46 will transmit the instruction | indication for displaying a cooperation execution button to the cooperation button display script of a cooperation origin, if a new cooperation operation | movement is recorded on the cooperation definition 33. FIG. Thereby, the cooperation button display script displays the cooperation execution button.

コピーアンドペースト実行指示部47は、連携元のテキスト送受信スクリプトからコピー操作情報(コピー元を識別する情報およびコピーデータ)を受信すると、連携定義DB33を参照して連携先を決定する。そして、コピーアンドペースト実行指示部47は、受信したデータを決定した連携先のテキスト送受信スクリプトへ送信する。これにより、連携元から中継サーバ30を介して連携先へデータが受け渡される。   Upon receiving copy operation information (information for identifying the copy source and copy data) from the link source text transmission / reception script, the copy and paste execution instruction unit 47 refers to the link definition DB 33 and determines the link destination. Then, the copy and paste execution instruction unit 47 transmits the received data to the determined text transmission / reception script of the cooperation destination. As a result, data is transferred from the cooperation source to the cooperation destination via the relay server 30.

リクエスト振り分け部48は、クライアントから受信するリクエストを対応するあて先に振り分ける。例えば、Webサーバへのアクセスは、プロキシ部41へ転送される。また、コピーアンドペースト操作検出スクリプトからのリクエストは、コピーアンドペースト履歴収集部44へ転送される。   The request distribution unit 48 distributes the request received from the client to the corresponding destination. For example, access to the Web server is transferred to the proxy unit 41. The request from the copy and paste operation detection script is transferred to the copy and paste history collection unit 44.

最終コピー操作記録部31は、最後に通知されたコピー操作情報を記録する。具体的には、最終コピー操作記録部31には、例えば、最後に行われたコピー操作に係わるユーザID、そのコピー操作が実行された日時、コピー元URI、コピー元XPath、コピーデータが記録される。過去のコピー操作情報は、廃棄されてもよいし、他の記憶領域に保存されてもよい。履歴DB32は、コピー操作情報およびペースト操作情報を互いに対応づけて記録する。具体的には、履歴DB32には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。連携定義DB33は、ユーザにより許可された連携動作を記録する。具体的には、連携定義DB33には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。   The last copy operation recording unit 31 records the last notified copy operation information. Specifically, the last copy operation recording unit 31 records, for example, the user ID related to the last copy operation, the date and time when the copy operation was executed, the copy source URI, the copy source XPath, and the copy data. The Past copy operation information may be discarded or may be stored in another storage area. The history DB 32 records copy operation information and paste operation information in association with each other. Specifically, for example, the user ID, the date and time when the copy and paste operation was executed, the copy source URI, the copy source XPath, the paste destination URI, and the paste destination XPath are recorded in the history DB 32. The cooperation definition DB 33 records the cooperation operation permitted by the user. Specifically, for example, the user ID, the date and time when the copy and paste operation was executed, the copy source URI, the copy source XPath, the paste destination URI, and the paste destination XPath are recorded in the cooperation definition DB 33.

なお、中継サーバ30は、Webアプリケーション連携装置として動作することができる。また、履歴DB32および/または連携定義DB33は、コピー元情報およびペースト先情報を対応づけて保持する保持部として機能することができる。さらに、コピーアンドペースト履歴収集部44および/または連携ボタン表示指示部46および/またはコピーアンドペースト実行指示部47は、第1のWebアプリケーションから第2のWebアプリケーションへデータを中継する中継制御部として動作することができる。   Note that the relay server 30 can operate as a Web application cooperation apparatus. Further, the history DB 32 and / or the linkage definition DB 33 can function as a holding unit that holds copy source information and paste destination information in association with each other. Further, the copy and paste history collection unit 44 and / or the link button display instruction unit 46 and / or the copy and paste execution instruction unit 47 serve as a relay control unit that relays data from the first Web application to the second Web application. Can work.

以下、実施形態の連携方法を詳しく説明する。
<コピー操作の検出>
コピーアンドペースト操作検出スクリプトは、ユーザのキー入力を監視する。この実施例では、コピーアンドペースト操作検出スクリプトは、「Ctrl+C」の入力を検知することにより、コピー操作が行われたことを検出する。この方法によれば、Webブラウザ上でスクリプトがクリップボードへアクセスすることが禁止されている場合であっても、コピー操作を検出することができる。なお、「Ctrl+C」は、指定されたデータをコピーする命令に相当する。なお、この実施例では、「Ctrl+C」の入力をモニタすることによりコピー操作が検出されるが、他の方法でコピー操作が検出されてもよい。
Hereinafter, the cooperation method of the embodiment will be described in detail.
<Detection of copy operation>
The copy and paste operation detection script monitors user key input. In this embodiment, the copy and paste operation detection script detects that the copy operation has been performed by detecting the input of “Ctrl + C”. According to this method, a copy operation can be detected even when a script is prohibited from accessing the clipboard on a Web browser. “Ctrl + C” corresponds to an instruction to copy designated data. In this embodiment, the copy operation is detected by monitoring the input of “Ctrl + C”, but the copy operation may be detected by other methods.

図6は、コピーアンドペースト操作検出スクリプトのコピー検出部の実施例である。このコピー部は、ユーザにより「Ctrl+C」が入力されたことにより実行される。即ち、ユーザにより何らかのキーが入力されると、copyPasteMashup_onKeyDown関数が呼び出される。この関数は、入力キーが「Ctrl+C」であるか否かをチェックする。そして、入力キーが「Ctrl+C」であれば、記述101、102が実行される。記述101は、コピー操作において選択された範囲のテキストを取得する。また、記述102は、コピー操作において選択された範囲のXPathを取得する。記述103は、実施形態の連携方法のために予め中継サーバ30において予約されているパス/CopyPasteMashup/Copyを指定する。記述104は、記述103で指定されたパスに対してURI、XPath、テキストを送信する。   FIG. 6 is an example of a copy detection unit of a copy and paste operation detection script. This copy section is executed when “Ctrl + C” is input by the user. That is, when any key is input by the user, the copyPasteMashup_onKeyDown function is called. This function checks whether the input key is "Ctrl + C". If the input key is “Ctrl + C”, descriptions 101 and 102 are executed. The description 101 acquires the text in the range selected in the copy operation. Further, the description 102 acquires the XPath in the range selected in the copy operation. The description 103 designates a path / CopyPasteMashup / Copy reserved in advance in the relay server 30 for the cooperation method of the embodiment. The description 104 transmits a URI, XPath, and text to the path specified in the description 103.

図7は、コピーアンドペースト操作検出スクリプトによるコピー操作検出のシーケンス図である。ここでは、ユーザにより「Ctrl+C」が入力されたものとする。そして、この入力により、copyPasteMashup_onKeyDown関数が呼び出される。   FIG. 7 is a sequence diagram of the copy operation detection by the copy and paste operation detection script. Here, it is assumed that “Ctrl + C” is input by the user. And by this input, the copyPasteMashup_onKeyDown function is called.

コピーアンドペースト操作検出スクリプトは、入力キーが「Ctrl+C」であるか否かをチェックする。続いて、このスクリプトは、ユーザにより指定されているコピー対象範囲内のテキストを取得する。図1に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが取得される。さらに、このスクリプトは、ユーザにより指定されているコピー対象範囲のXPathを取得する。図1に示す例では、アドレス帳1のアドレス表示ボックス3を指示するXPathが取得される。   The copy and paste operation detection script checks whether the input key is “Ctrl + C”. Subsequently, the script acquires text within the copy target range specified by the user. In the example illustrated in FIG. 1, the mail address displayed in the address display box 3 of the address book 1 is acquired. Furthermore, this script acquires the XPath of the copy target range specified by the user. In the example shown in FIG. 1, an XPath indicating the address display box 3 of the address book 1 is acquired.

この後、コピーアンドペースト操作検出スクリプトは、コピーイベント(取得したテキスト、コピー元のWebアプリケーションのURI、取得したXPath)を、集計サーバ30のコピーアンドペースト履歴収集部44へ送信する。そうすると、コピーアンドペースト履歴収集部44は、受信情報を最終コピー操作記録部31に記録する。また、ブラウザ側では、copyPasteMashup_onKeyDown関数の呼び出しが終了した後に、コピー処理が実行され、ユーザにより指定された範囲内のデータがクリップボードに格納される。   Thereafter, the copy and paste operation detection script transmits a copy event (acquired text, URI of the copy source Web application, acquired XPath) to the copy and paste history collection unit 44 of the aggregation server 30. Then, the copy and paste history collection unit 44 records the received information in the final copy operation recording unit 31. On the browser side, after the call to the copyPasteMashup_onKeyDown function is completed, copy processing is executed, and data within the range specified by the user is stored in the clipboard.

<ペースト操作の検出>
コピーアンドペースト操作検出スクリプトは、この実施例では、「Ctrl+V」の入力を検知することにより、ペースト操作が行われたことを検出する。この方法によれば、Webブラウザ上でスクリプトがクリップボードへアクセスすることが禁止されている場合であっても、ペースト操作を検出することができる。なお、「Ctrl+V」は、クリップボードに格納されているデータを指定された領域にペーストする命令に相当する。なお、この実施例では、「Ctrl+V」の入力をモニタすることによりペースト操作が検出されるが、他の方法でペースト操作が検出されてもよい。
<Detection of paste operation>
In this embodiment, the copy and paste operation detection script detects that a paste operation has been performed by detecting the input of “Ctrl + V”. According to this method, even when the script is prohibited from accessing the clipboard on the Web browser, the paste operation can be detected. “Ctrl + V” corresponds to an instruction for pasting data stored in the clipboard into a specified area. In this embodiment, the paste operation is detected by monitoring the input of “Ctrl + V”, but the paste operation may be detected by other methods.

図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、テキストを送信する。   FIG. 8 is an example of a paste detection unit of a copy and paste operation detection script. This paste portion is executed when “Ctrl + V” is input by the user. That is, when the “Ctrl + V” key is released after any key is pressed by the user, the copyPasteMashup_onKeyUp function is called. This function checks whether the released key is "Ctrl + V". If the released key is “Ctrl + V”, descriptions 111 to 113 are executed. The description 111 acquires the element that is focused in the paste operation. Description 112 obtains the text of the input element that is in focus. The description 113 obtains the XPath of the focused element. Further, the description 114 specifies a path / CopyPasteMashup / Paste reserved in advance in the relay server 30 for the cooperation method of the embodiment. The description 115 transmits a URI, XPath, and text to the path specified in the description 114.

図9は、コピーアンドペースト操作検出スクリプトによるペースト操作検出のシーケンス図である。ここでは、ユーザにより「Ctrl+V」キーが押下された後に開放されたものとする。このキー操作における押下により、ブラウザ上でペースト処理が実行される。すなわち、クリップボードから、ユーザにより指定されている要素(フォーカスされている要素)にデータがペーストされる。また、このキー操作における解放により、copyPasteMashup_onKeyUp関数が呼び出される。   FIG. 9 is a sequence diagram of the paste operation detection by the copy and paste operation detection script. Here, it is assumed that the user releases the key after pressing the “Ctrl + V” key. When the key operation is pressed, paste processing is executed on the browser. That is, data is pasted from the clipboard to the element specified by the user (the element that is focused). Also, the copyPasteMashup_onKeyUp function is called by releasing the key operation.

コピーアンドペースト操作検出スクリプトは、開放されたキーが「Ctrl+V」であるか否かをチェックする。続いて、このスクリプトは、フォーカスされている要素のテキストがクリップボードに格納されていたテキストであると推定し、そのフォーカスされている要素のテキストを取得する。図1(c)に示す例では、メーラ4のアドレス表示ボックス5からメールアドレスが取得される。さらに、このスクリプトは、フォーカスされている要素のXPathを取得する。図1(c)に示す例では、メーラ4のアドレス表示ボックス5を指示するXPathが取得される。   The copy and paste operation detection script checks whether or not the released key is “Ctrl + V”. Subsequently, the script estimates that the text of the focused element is the text stored in the clipboard, and obtains the text of the focused element. In the example shown in FIG. 1C, the mail address is acquired from the address display box 5 of the mailer 4. In addition, this script gets the XPath of the focused element. In the example shown in FIG. 1C, an XPath indicating the address display box 5 of the mailer 4 is acquired.

この後、コピーアンドペースト操作検出スクリプトは、ペーストイベント(取得したテキスト、ペースト先のWebアプリケーションのURI、取得したXPath)を、中継サーバ30のコピーアンドペースト履歴収集部44へ送信する。そうすると、コピーアンドペースト履歴収集部44は、新たに受信したペーストイベントが、最終コピー操作記録部31に記録されている最新のコピー操作に対応するペースト操作であるかをチェックする。そして、これらのコピー操作およびペースト操作が互いに対応する場合は、一連のコピーアンドペースト操作に属するコピー操作およびペースト操作として履歴DB32に記録される。   Thereafter, the copy and paste operation detection script transmits a paste event (acquired text, paste destination Web application URI, acquired XPath) to the copy and paste history collection unit 44 of the relay server 30. Then, the copy and paste history collection unit 44 checks whether the newly received paste event is a paste operation corresponding to the latest copy operation recorded in the final copy operation recording unit 31. If these copy operations and paste operations correspond to each other, they are recorded in the history DB 32 as copy operations and paste operations belonging to a series of copy and paste operations.

図10は、ペースト操作検出の他のシーケンスを示す図である。このシーケンスでは、ペースト処理が実行される前(すなわち、「Ctrl+V」キーが押下された後であって、その「Ctrl+V」キーが開放される前)に、テキストボックスのキャレット位置および選択範囲の位置が記憶される。そして、ペースト処理の実行後に、先に記憶されている位置からテキストが取得される。このシーケンスによれば、ペーストテキストを精度よく推定することができる。   FIG. 10 is a diagram showing another sequence of paste operation detection. In this sequence, before the paste process is executed (ie, after the “Ctrl + V” key is pressed and before the “Ctrl + V” key is released), the caret position of the text box and The position of the selection range is stored. Then, after the paste process is executed, the text is acquired from the previously stored position. According to this sequence, the paste text can be estimated with high accuracy.

<1組のコピー操作およびペースト操作の検出>
上述したように、コピーアンドペースト操作検出スクリプトは、コピー操作を検出すると、コピー元のWebアプリケーションのURI、コピー元XPath、コピーテキストを中継サーバ30へ送信する。そして、中継サーバ30のコピーアンドペースト履歴収集部44は、ユーザIDと共に、これらのコピー元URI、コピー元XPath、コピーテコピキストを最終コピー操作記録部31に記録する。ここで、最終コピー操作記録部31には、最新のコピー操作情報が記録される。
<Detection of a set of copy and paste operations>
As described above, when the copy and paste operation detection script detects a copy operation, the copy source Web application URI, copy source XPath, and copy text are transmitted to the relay server 30. Then, the copy and paste history collection unit 44 of the relay server 30 records the copy source URI, the copy source XPath, and the copy tequipist together with the user ID in the final copy operation recording unit 31. Here, the latest copy operation information is recorded in the final copy operation recording unit 31.

また、コピーアンドペースト操作検出スクリプトは、ペースト操作を検出すると、ペースト先のWebアプリケーションのURI、ペースト先XPath、ペーストテキストを中継サーバ30へ送信する。そうすると、コピーアンドペースト履歴収集部44は、最終コピー操作記録部31に記録されている最新のコピー操作のコピーテキストと、新たに受信したペーストテキストとを比較する。そして、これらのコピーテキストとペーストテキストが互いに一致していれば、一連のコピーアンドペースト操作に属するコピー操作およびペースト操作が検出されたと判断する。この場合、履歴DB32に、ユーザID、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。   Further, when detecting the paste operation, the copy and paste operation detection script transmits the URI of the paste destination Web application, the paste destination XPath, and the paste text to the relay server 30. Then, the copy and paste history collection unit 44 compares the copy text of the latest copy operation recorded in the final copy operation recording unit 31 with the newly received paste text. If these copy text and paste text match each other, it is determined that a copy operation and a paste operation belonging to a series of copy and paste operations have been detected. In this case, the user ID, copy source URI, copy source XPath, paste destination URI, and paste destination XPath are recorded in the history DB 32.

なお、監視対象のコピーアンドペースト操作以外のアプリケーション(例えば、中継サーバ30を経由しないWebアプリケーションまたはデスクトップのアプリケーションなど)においてコピー操作が行われた場合には、クリップボードに格納されているデータが変更される。この場合、コピーアンドペースト操作検出スクリプトにより検出されるペーストテキストは、最終コピー操作記録部31に記録されているコピーテキストとは異なっている。したがって、コピーアンドペースト履歴収集部44は、コピーテキストとペーストテキストとを比較することにより、同じコピーアンドペースト操作に属さないコピー操作とペースト操作とを連携させてしまうことを回避している。   When a copy operation is performed in an application other than the copy and paste operation to be monitored (for example, a Web application or a desktop application that does not pass through the relay server 30), the data stored in the clipboard is changed. The In this case, the paste text detected by the copy and paste operation detection script is different from the copy text recorded in the final copy operation recording unit 31. Therefore, the copy and paste history collection unit 44 avoids linking the copy operation and the paste operation that do not belong to the same copy and paste operation by comparing the copy text and the paste text.

<連携の管理>
中継サーバ30の連携管理部45は、コピーアンドペースト履歴収集部44により検出された1組のコピー操作およびペースト操作を、Webブラウザのユーザに提示する。この場合、連携管理部45は、例えば図11(a)に示すコピーアンドペースト履歴をブラウザへ送信する。ここで、コピーアンドペースト履歴は、ユーザIDを利用して履歴DB32から抽出される。そして、ブラウザは、中継サーバ30から受信したコピーアンドペースト履歴を連携管理画面21に表示する。コピーアンドペースト履歴は、コピーアンドペースト操作が行われた日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathを含む。さらに、連携管理画面21には、コピーアンドペースト操作を自動化するか否かをユーザに問い合わせるために「アクション(連携許可/履歴から削除)」が表示される。
<Management of cooperation>
The cooperation management unit 45 of the relay server 30 presents a set of copy operations and paste operations detected by the copy and paste history collection unit 44 to the user of the Web browser. In this case, the cooperation management unit 45 transmits, for example, a copy and paste history shown in FIG. Here, the copy and paste history is extracted from the history DB 32 using the user ID. Then, the browser displays the copy and paste history received from the relay server 30 on the cooperation management screen 21. The copy and paste history includes the date and time when the copy and paste operation was performed, the copy source URI, the copy source XPath, the paste destination URI, and the paste destination XPath. Furthermore, “action (cooperation permission / deletion from history)” is displayed on the cooperation management screen 21 to inquire the user whether or not the copy and paste operation is to be automated.

ユーザは、提示されたコピーアンドペーストを自動化する場合には、「連携許可」を選択する。連携管理部45は、「連携許可」が選択されたことを検出すると、選択されたコピーアンドペースト操作を連携定義DB33に追加する。一方、連携管理部45は、「履歴から削除」が選択されたことを検出すると、選択されたコピーアンドペースト操作を履歴DB32から削除する。   When automating the presented copy and paste, the user selects “cooperation permission”. When the cooperation management unit 45 detects that “cooperation permission” is selected, the cooperation management unit 45 adds the selected copy and paste operation to the cooperation definition DB 33. On the other hand, upon detecting that “delete from history” is selected, the cooperation management unit 45 deletes the selected copy and paste operation from the history DB 32.

なお、連携管理画面21には、ユーザからの指示等に応じて、図11(b)に示すように、連携が有効化されているコピーアンドペースト操作の一覧が表示される。そして、ユーザは、表示された連携を解除したい場合には、「連携定義から削除」を指定する。そうすると、連携管理部45は、指定されたコピーアンドペースト操作を連携定義DB33から削除する。   Note that the cooperation management screen 21 displays a list of copy and paste operations in which cooperation is enabled, as shown in FIG. 11B, in accordance with an instruction from the user or the like. Then, when the user wants to cancel the displayed linkage, the user designates “delete from linkage definition”. Then, the cooperation management unit 45 deletes the designated copy and paste operation from the cooperation definition DB 33.

<連携ボタン表示スクリプト>
連携定義DB33に新たなコピーアンドペースト操作が記録されると、中継サーバ30の連携ボタン表示指示部46は、連携実行ボタンの表示指示をクライアントにプッシュする。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。この表示指示は、例えば、連携元URIおよび連携元XPathを含むようにしてもよい。
<Linkage button display script>
When a new copy and paste operation is recorded in the cooperation definition DB 33, the cooperation button display instruction unit 46 of the relay server 30 pushes the display instruction of the cooperation execution button to the client. The push method is not particularly limited, but is, for example, Comet. This display instruction may include a cooperation source URI and a cooperation source XPath, for example.

上記表示指示を受信すると、連携ボタン表示スクリプトは、連携定義に記録されているコピー元URI/コピー元XPathが指し示す要素の近くに連携実行ボタンを表示する。例えば、図1に示す例では、コピー元URIはアドレス帳1であり、コピー元XPathはアドレス表示ボックス3である。この場合、連携ボタン表示スクリプトは、図12に示すように、アドレス帳1のアドレス表示ボックス3の隣に連携実行ボタン7を表示する。連携実行ボタン7は、対応する要素のXPathを保持している。   When the display instruction is received, the cooperation button display script displays a cooperation execution button near the element indicated by the copy source URI / copy source XPath recorded in the cooperation definition. For example, in the example shown in FIG. 1, the copy source URI is the address book 1 and the copy source XPath is the address display box 3. In this case, the cooperation button display script displays a cooperation execution button 7 next to the address display box 3 of the address book 1 as shown in FIG. The cooperation execution button 7 holds the XPath of the corresponding element.

なお、連携定義DB33からコピーアンドペースト操作が削除されたときは、対応する連携実行ボタン7も削除される。この削除処理も、連携ボタン表示スクリプトにより実行される。   When the copy and paste operation is deleted from the cooperation definition DB 33, the corresponding cooperation execution button 7 is also deleted. This deletion process is also executed by the cooperation button display script.

<テキスト送受信スクリプト>
図13は、テキスト送受信スクリプトによるデータ送受信のシーケンス図である。ここでは、Webアプリケーション間でのコピーアンドペースト操作がユーザにより許可されており、コピー元Webアプリケーションに連携実行ボタン7が表示されているものとする。また、図13では、ブラウザ1に連携元Webアプリケーションが表示され、ブラウザ2に連携先Webアプリケーションが表示されている。
<Text transmission / reception script>
FIG. 13 is a sequence diagram of data transmission / reception by a text transmission / reception script. Here, it is assumed that a copy and paste operation between Web applications is permitted by the user, and the cooperation execution button 7 is displayed on the copy source Web application. In FIG. 13, the cooperation source Web application is displayed on the browser 1, and the cooperation destination Web application is displayed on the browser 2.

連携元Webアプリケーションにおいて連携実行ボタンが押下されると、テキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携実行ボタンが保持しているコピー元XPathが指示する要素のテキストを取得する。そしてテキスト送受信スクリプトは、XMLHttpRequestで、中継サーバ30上に予め予約されているパス(例えば、/CopyPasteMashup/Send)へ連携元情報(連携元URI、連携元XPath、取得したテキスト)を送信する。例えば、図1(e)に示す例では、アドレス帳1のURI、アドレス表示ボックス3のXPath、アドレス表示ボックス3に表示されているメールアドレスが中継サーバ30へ送信される。   When the cooperation execution button is pressed in the cooperation source Web application, the text transmission / reception script is called. The text transmission / reception script acquires the text of the element specified by the copy source XPath held by the cooperation execution button. Then, the text transmission / reception script transmits cooperation source information (cooperation source URI, cooperation source XPath, acquired text) to a path (for example, / CopyPasteMashup / Send) reserved in advance on the relay server 30 by XMLHttpRequest. For example, in the example shown in FIG. 1 (e), the URI of the address book 1, the XPath of the address display box 3, and the mail address displayed in the address display box 3 are transmitted to the relay server 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’]」が抽出される。   In the relay server 30, the copy and paste execution instructing unit 47 refers to the cooperation definition DB 33 in order to search for a transmission destination corresponding to the received cooperation source URI and cooperation source XPath. At this time, the copy definition URI 33 is searched for a copy source URI / XPath that matches the link source URI / XPath. Then, the paste destination URI / XPath corresponding to the hit copy source URI / XPath is extracted. For example, it is assumed that the cooperation definition information shown in FIG. 11B is recorded in the cooperation definition DB 33. And when “cooperation source URI: http: //a.test/index.html” “cooperation source XPath: // div [@ id = 'mail']” is received from the text transmission / reception script, “Paste destination URI: http: //b.test/1.html” “Paste destination XPath: // input [@ id = 'to']” is extracted.

コピーアンドペースト実行指示部47は、ペースト先URI、ペースト先XPath、連携元から受信したテキスト、を連携先のブラウザ2に送信する。そうすると、ブラウザ2は、受信したペースト先URI/XPathに従って、受信したテキストを設定する。これにより、連携元Webアプリケーションにおいて連携実行ボタンにより指示されたテキストは、中継サーバ30により中継され、連携先Webアプリケーションの連携先XPathが指示する要素にペーストされる。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが、中継サーバ30を介して、メーラ4のアドレス表示ボックス5に転送されることになる。   The copy and paste execution instruction unit 47 transmits the paste destination URI, the paste destination XPath, and the text received from the cooperation source to the cooperation destination browser 2. Then, the browser 2 sets the received text according to the received paste destination URI / XPath. As a result, the text instructed by the cooperation execution button in the cooperation source Web application is relayed by the relay server 30 and pasted into the element indicated by the cooperation destination XPath of the cooperation destination Web application. In the example shown in FIG. 1E, the mail address displayed in the address display box 3 of the address book 1 is transferred to the address display box 5 of the mailer 4 via the relay server 30.

なお、ペースト先URI、ペースト先XPath、テキストは、中継サーバ30からクライアントにプッシュされる。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。   The paste destination URI, paste destination XPath, and text are pushed from the relay server 30 to the client. The push method is not particularly limited, but is, for example, Comet.

このように、実施形態の連携方法によれば、一般的なコピーアンドペースト操作よりも簡単な操作で、Webアプリケーション間のデータ転送が実現される。ここで、このデータ転送を実現するためのスクリプトは、クリップボードにアクセスすることはない。すなわち、クリップボードへのアクセスが禁止または制限されているシステムであっても、実施形態の連携方法は実現可能である。したがって、実施形態の連携方法によれば、セキュリティを確保しながら、ユーザの操作性を向上させることができる。   As described above, according to the cooperation method of the embodiment, data transfer between Web applications is realized by an operation simpler than a general copy and paste operation. Here, the script for realizing the data transfer does not access the clipboard. That is, even in a system where access to the clipboard is prohibited or restricted, the linkage method of the embodiment can be realized. Therefore, according to the cooperation method of the embodiment, it is possible to improve user operability while ensuring security.

<フローチャート>
図14は、ブラウザにおけるキー入力判定を示すフローチャートである。なお、このブラウザには、中継サーバ30により注入されたコピーアンドペースト操作検出スクリプトが設定されている。
<Flowchart>
FIG. 14 is a flowchart showing key input determination in the browser. In this browser, a copy and paste operation detection script injected by the relay server 30 is set.

ブラウザは、常時、ユーザによるキー入力をモニタしている、そして、「Ctrl+C」が入力されると、ステップS1において、コピー元のWebアプリケーションにおいてコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、図6〜図7を参照しながら説明したように、コピー元URI、コピー元XPath、コピーテキストを中継サーバ30へ送信する。ステップS2では、コピー処理が実行される。なお、コピー処理は、ブラウザにより実行される。   The browser constantly monitors key input by the user, and when “Ctrl + C” is input, in step S1, a copy and paste operation detection script is called in the copy source Web application. The copy and paste operation detection script transmits the copy source URI, the copy source XPath, and the copy text to the relay server 30 as described with reference to FIGS. In step S2, copy processing is executed. The copy process is executed by the browser.

「Ctrl+V」が入力されると、ステップS3において、ペースト処理が実行される。ペースト処理は、ブラウザにより実行される。続いて、ステップS4において、ペースト先のWebアプリケーションにおいてコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、図8〜図10を参照しながら説明したように、ペースト先URI、ペースト先XPath、ペーストテキストを中継サーバ30へ送信する。なお、他のキーが入力された場合は、ブラウザは、ステップS5において、そのキーに対応する処理を実行する。   When “Ctrl + V” is input, paste processing is executed in step S3. The paste process is executed by the browser. Subsequently, in step S4, a copy and paste operation detection script is called in the paste destination Web application. The copy and paste operation detection script transmits the paste destination URI, the paste destination XPath, and the paste text to the relay server 30 as described with reference to FIGS. If another key is input, the browser executes a process corresponding to the key in step S5.

図15は、中継サーバ30からの指示に対応するブラウザ動作を示すフローチャートである。中継サーバ30は、例えばComet等のプッシュ通信により、ブラウザに指示を送信する。   FIG. 15 is a flowchart showing a browser operation corresponding to an instruction from the relay server 30. The relay server 30 transmits an instruction to the browser by push communication such as Comet.

ステップS11では、中継サーバ30から受信した指示の内容を判定する。連携ボタン表示指示部46から連携実行ボタンの表示指示を受信した場合は、ステップS12において、連携元Webアプリケーションの連携ボタン表示スクリプトが呼び出される。連携ボタン表示スクリプトは、表示指示に含まれている連携元URI/XPathに基づいて、連携元を表す要素を特定する。ステップS13では、連携ボタン表示スクリプトは、特定した要素の近くに連携実行ボタン7を表示する。   In step S11, the content of the instruction received from the relay server 30 is determined. When the display instruction of the cooperation execution button is received from the cooperation button display instruction unit 46, the cooperation button display script of the cooperation source Web application is called in step S12. The link button display script specifies an element representing the link source based on the link source URI / XPath included in the display instruction. In step S13, the cooperation button display script displays the cooperation execution button 7 near the identified element.

一方、コピーアンドペースト実行指示部47から連携実行指示を受信した場合は、ステップS14において、連携先Webアプリケーションのテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携実行指示に含まれている連携先URI/XPathに基づいて、連携先を表す要素を特定する。ステップS15では、テキスト送受信スクリプトは、連携実行指示と共に受信したテキストを、特定した要素に設定する。   On the other hand, when the cooperation execution instruction is received from the copy and paste execution instruction unit 47, the text transmission / reception script of the cooperation destination Web application is called in step S14. The text transmission / reception script specifies an element representing the cooperation destination based on the cooperation destination URI / XPath included in the cooperation execution instruction. In step S15, the text transmission / reception script sets the text received together with the cooperation execution instruction as the identified element.

<バリエーション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が汎用化されてもよい。
<Variation 1>
The relay server 30 may generalize the URI and XPath of the copy and paste operation. That is, when a plurality of copy source URI / XPath similar to each other are registered in the linkage definition DB 33, the relay server 30 may generalize them. For example, it is assumed that the following two copy and paste operations are registered in the cooperation definition DB 33 as shown in FIG. Here, only the source XPath is shown.
A: // tbody [@ id = 't'] / tr [1] / td [2]
B: // tbody [@ id = 't'] / tr [2] / td [2]
These two XPaths differ in “tr [1]” and “tr [2]”, but the other character strings are the same. That is, these two XPaths are similar to each other. In this case, the relay server 30 generates the following generalized copy source XPath and presents it to the user.
Generic: // tbody [@ id = 't'] / tr / td [2]
When the user permits the cooperation regarding the copy and paste operation including the generalized copy source XPath, the relay server 30 registers the copy and paste operation including the generalized copy source XPath in the cooperation definition DB 33. On the Web browser side, as shown in FIG. 16B, a cooperation execution button is displayed for one or a plurality of elements including the generalized copy source XPath. In this case, a cooperation execution button is displayed at least for the elements A and B shown in FIG. Further, in the example shown in FIG. 16B, a cooperation execution button is also displayed for the element C. The XPath of the element C is, for example, // tbody [@ id = 't'] / tr [3] / td [2]. In the embodiment shown in FIG. 16, XPath is generalized, but URI may be generalized.

この連携方法によれば、将来行われる可能性のあるコピーアンドペースト操作が類推され、予め登録される。すなわち、類似のWebアプリケーション間でコピーアンドペースト操作が行われていた場合には、過去に行われていないコピーアンドペースト操作であっても登録され得る。したがって、ユーザの利便性がさらに向上する。   According to this cooperation method, copy and paste operations that may be performed in the future are inferred and registered in advance. That is, when a copy and paste operation is performed between similar Web applications, even a copy and paste operation that has not been performed in the past can be registered. Therefore, user convenience is further improved.

<バリエーション2>
上述の実施例では、中継サーバ30は、Webアプリケーションに3つのスクリプトを注入しているが、さらにテキスト監視スクリプトを注入するようにしてもよい。テキスト監視スクリプトは、ユーザにより連携が許可されているコピーアンドペースト操作のコピー元XPathが指示する要素を監視する。例えば、図17に示す実施例では、アドレス帳1のアドレス表示ボックス3が監視される。以下、テキスト監視スクリプトにより監視される要素がアドレス帳1のアドレス表示ボックス3であるものとする。
<Variation 2>
In the above-described embodiment, the relay server 30 injects three scripts into the Web application. However, a text monitoring script may be further injected. The text monitoring script monitors the element indicated by the copy source XPath of the copy and paste operation permitted to be linked by the user. For example, in the embodiment shown in FIG. 17, the address display box 3 of the address book 1 is monitored. Hereinafter, it is assumed that the element monitored by the text monitoring script is the address display box 3 of the address book 1.

テキスト監視スクリプトは、アドレス表示ボックス3に表示されているテキストを定期的に取得し、一次記憶領域に記憶する。そして、新たに取得したテキストが一次記憶領域に記憶されているテキストを異なっていた場合に、テキスト監視スクリプトは、アドレス表示ボックス3が更新されたと判定する。すなわち、アドレス帳1を利用して新たなアドレス検索が実行されたと判定される。そうすると、テキスト監視スクリプトは、テキスト送受信スクリプトを呼び出す。以降の処理は、テキスト送受信スクリプトにより実行される。なお、テキスト送受信スクリプトの処理は、上述した通りである。   The text monitoring script periodically acquires the text displayed in the address display box 3 and stores it in the primary storage area. When the newly acquired text is different from the text stored in the primary storage area, the text monitoring script determines that the address display box 3 has been updated. That is, it is determined that a new address search has been executed using the address book 1. Then, the text monitoring script calls the text transmission / reception script. The subsequent processing is executed by a text transmission / reception script. The processing of the text transmission / reception script is as described above.

図17に示す実施例は、図1(a)〜図1(d)に示す手順で「山田」のメールアドレスが検索され、「山田」宛てにメールが送信された後に、新たに「田中」のメールアドレスが検索される場合を示している。この場合、一次記憶領域には、「山田」のメールアドレスyamada@example.comが記憶されている。そして、「田中」のメールアドレスが検索されると、アドレス表示ボックス3にはメールアドレスtanaka@example.comが設定される。したがって、テキスト監視スクリプトは、アドレス表示ボックス3のテキストが変更されたことを認識し、テキスト送受信スクリプトを呼び出す。そして、テキスト送受信スクリプトは、アドレス表示ボックス3に表示されているメールアドレス(および、コピー元URI、コピー元XPath)を中継サーバ30へ送信する。以降、上述した手順が実行され、メーラ4にメールアドレスtanaka@example.comが設定される。   In the embodiment shown in FIG. 17, the mail address “Yamada” is searched by the procedure shown in FIGS. 1A to 1D, and the mail is sent to “Yamada”. The case where the mail address of is searched is shown. In this case, the mail address “yamada@example.com” of “Yamada” is stored in the primary storage area. When the mail address “Tanaka” is searched, the mail address tanaka@example.com is set in the address display box 3. Therefore, the text monitoring script recognizes that the text in the address display box 3 has been changed, and calls the text transmission / reception script. Then, the text transmission / reception script transmits the mail address (and copy source URI, copy source XPath) displayed in the address display box 3 to the relay server 30. Thereafter, the above-described procedure is executed, and the mail address tanaka@example.com is set in the mailer 4.

この連携方法によれば、ユーザは、アドレス帳1を利用してメールアドレスを検索するだけで、その検索結果がメーラ4に設定される。すなわち、Webアプリケーション間でのデータバインディングと同等の処理が自動的に実現される。したがって、ユーザの利便性がさらに向上する。   According to this cooperation method, the user simply searches for a mail address using the address book 1, and the search result is set in the mailer 4. That is, processing equivalent to data binding between Web applications is automatically realized. Therefore, user convenience is further improved.

<中継サーバ30のハードウェア構成>
図18は、実施形態の中継サーバ30のハードウェア構成を示す図である。図18において、CPU101は、メモリ103を利用してWebアプリケーション連携プログラムを実行することにより中継サーバに各処理手順を実行させる。記憶装置102は、例えばハードディスクであり、Webアプリケーション連携プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
<Hardware configuration of relay server 30>
FIG. 18 is a diagram illustrating a hardware configuration of the relay server 30 according to the embodiment. In FIG. 18, the CPU 101 causes the relay server to execute each processing procedure by executing a Web application cooperation program using the memory 103. The storage device 102 is, for example, a hard disk, and stores a Web application cooperation program. Note that the storage device 102 may be an external recording device. The memory 103 is a semiconductor memory, for example, and includes a RAM area and a ROM area.

読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。   The reading device 104 accesses the portable recording medium 105 according to an instruction from the CPU 101. The portable recording medium 105 includes, for example, a semiconductor device (PC card or the like), a medium to / from which information is input / output by a magnetic action, and a medium to / from which information is input / output by an optical action. The communication interface 106 transmits / receives data via a network in accordance with instructions from the CPU 101. The input / output device 107 corresponds to, for example, a device that receives an instruction from a user.

実施形態に係わるWebアプリケーション連携プログラムは、例えば、下記の形態で提供される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
The Web application cooperation program according to the embodiment is provided in the following form, for example.
(1) Installed in advance in the storage device 102.
(2) Provided by the portable recording medium 105.
(3) Download from the program server 110.

そして、上記構成のコンピュータでWebアプリケーション連携プログラムを実行することにより、実施形態に係わる中継サーバが実現される。   And the relay server concerning embodiment is implement | achieved by running a web application cooperation program with the computer of the said structure.

1 アドレス帳
3 アドレス表示ボックス
4 メーラ
5 アドレス表示ボックス
11、12 Webサーバ
20 クライアント
21 連携管理画面
30 中継サーバ
31 最終コピー操作記録部
32 履歴DB
33 連携定義DB
41 プロキシ部
42 URI置換部
43 スクリプト注入部
44 コピーアンドペースト履歴収集部
45 連携管理部
46 連携ボタン表示指示部
47 コピーアンドペースト実行指示部
48 リクエスト振り分け部
1 Address Book 3 Address Display Box 4 Mailer 5 Address Display Boxes 11 and 12 Web Server 20 Client 21 Cooperation Management Screen 30 Relay Server 31 Final Copy Operation Recording Unit 32 History DB
33 Linkage definition DB
41 Proxy unit 42 URI replacement unit 43 Script injection unit 44 Copy and paste history collection unit 45 Cooperation management unit 46 Cooperation button display instruction unit 47 Copy and paste execution instruction unit 48 Request distribution unit

Claims (6)

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アプリケーションに渡す手順を記述し、
前記中継サーバは、前記第1のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたコピー元情報およびコピーデータ、並びに、前記第2のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたペースト先情報およびペーストデータを受信し、前記コピーデータおよび前記ペーストデータが一致した場合に、前記コピー元情報および前記ペースト先情報を対応づけて記憶部に保持し、
記中継サーバは、前記第1のWebアプリケーションに注入されている前記第2のスクリプトにより前記Webブラウザから送信された前記連携元識別情報および前記連携対象データを受信し、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致した場合に、前記連携対象データ、及び、前記コピー元情報に対応づけて前記記憶部に保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する、
ことを特徴とするWebアプリケーション連携方法。
A method for linking first and second Web applications provided from a Web server to a Web browser via a relay server,
Transmitting the first and second scripts to the web browser by injecting the first and second scripts into each web application in the relay server;
In the relay server, in response to a request from said first and second script has the step of passing data to the second Web application from the first Web application,
Wherein the first script upon detection of a copy operation to the common memory area from the first Web application procedure for sending a copy source information and copy data identifying the copy source to the relay server, and, the when the common memory area to detect a paste operation to the second Web application, describe a procedure for transmitting a paste destination information and paste data identifying the paste target to the relay server,
The second script is configured to transmit cooperation source identification information for identifying a cooperation source element in the first Web application and cooperation target data held in the cooperation source element to the relay server, and Based on the transfer destination information sent from the relay server, describe a procedure for passing the cooperation target data sent from the relay server to the second Web application,
The relay server is injected into the second Web application and the copy source information and copy data transmitted from the Web browser by the first script injected into the first Web application. the first script receives the paste target information and pastes data sent from the Web browser, wherein when the copy data and the paste data matches, the copy source information and the paste destination information in association with each unit held in,
Before SL relay server receives the collaboration source identification information and the coordination target data sent from the Web browser by the second script that is injected into the first Web application, the cooperation source identification information When at least part of the data matches the copy source information, the Web browser uses the data to be linked and the paste destination information held in the storage unit in association with the copy source information as the transfer destination information. to send to,
A Web application cooperation method characterized by the above.
請求項1に記載のWebアプリケーション連携方法であって、
前記コピー元から前記ペースト先へデータを転送する連携動作を実行するか否かをユーザに問い合わせ、前記連携動作の実行が指示されたときに前記第2のスクリプトを呼び出す第3のスクリプトを、前記中継サーバにおいて、前記第1のWebアプリケーションに注入するステップをさらに有する
ことを特徴とするWebアプリケーション連携方法。
The web application linkage method according to claim 1,
A third script for inquiring the user whether or not to execute a cooperative operation for transferring data from the copy source to the paste destination and calling the second script when the execution of the cooperative operation is instructed, in the relay server, Web applications coordination method characterized by further comprising the step of injecting the first Web application.
請求項1に記載のWebアプリケーション連携方法であって、
前記連携元要素のデータが変化したときに前記第2のスクリプトを呼び出す第4のスクリプトを、前記中継サーバにおいて、前記第1のWebアプリケーションに注入するステップをさらに有する
ことを特徴とするWebアプリケーション連携方法。
The web application linkage method according to claim 1,
Web application cooperation further comprising the step of injecting, into the first Web application, a fourth script that calls the second script when data of the cooperation source element changes Method.
請求項1〜3のいずれか1つに記載のWebアプリケーション連携方法であって、
前記中継サーバは、最新のコピー元情報およびコピーデータを保持し、前記最新のコピーデータおよび前記ペーストデータが互いに一致したときに、前記最新のコピー元情報および前記ペースト先情報を対応づけて保持する
ことを特徴とするWebアプリケーション連携方法。
The web application cooperation method according to any one of claims 1 to 3,
The relay server holds the latest copy source information and copy data, and holds the latest copy source information and the paste destination information in association with each other when the latest copy data and the paste data match each other. A Web application cooperation method characterized by the above.
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アプリケーション連携装置は、前記第1のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたコピー元情報およびコピーデータ、並びに、前記第2のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたペースト先情報およびペーストデータを受信し、前記コピーデータおよび前記ペーストデータが一致した場合に、前記コピー元情報および前記ペースト先情報を対応づけて保持する記憶部をさらに有し、
前記中継制御部は、前記第1のWebアプリケーションに注入されている前記第2のスクリプトにより前記Webブラウザから送信された前記連携元識別情報および前記連携対象データを受信し、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致した場合に、前記連携対象データ、及び、前記コピー元情報に対応づけて前記記憶部に保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信する
を有することを特徴とするWebアプリケーション連携装置。
A web application cooperation apparatus for linking first and second web applications provided from a web server to a web browser ,
A script injection unit that transmits the first and second scripts to the Web browser by injecting the first and second scripts into each Web application;
A relay control unit that relays data from the first Web application to the second Web application in response to requests from the first and second scripts;
The first script transmits a copy source information for identifying a copy source and copy data to the Web application cooperation apparatus when a copy operation from the first Web application to a common memory area is detected; and Describing a procedure for sending paste destination information and paste data for identifying a paste destination to the web application cooperation apparatus when a paste operation from the common memory area to the second web application is detected;
The second script is a procedure for transmitting cooperation source identification information for identifying a cooperation source element in the first web application and cooperation target data held in the cooperation source element to the web application cooperation device; and Describing a procedure for passing the cooperation target data sent from the web application cooperation device to the second web application based on transfer destination information sent from the web application cooperation device;
The Web application cooperation apparatus is injected into the second Web application and the copy source information and copy data transmitted from the Web browser by the first script injected into the first Web application. The paste destination information and the paste data transmitted from the Web browser by the first script are received, and when the copy data and the paste data match, the copy source information and the paste destination information are associated with each other. It further has a storage unit to hold,
The relay control unit receives the cooperation source identification information and the cooperation target data transmitted from the Web browser by the second script injected into the first Web application, and stores the cooperation source identification information. When at least part of the data matches the copy source information, the Web browser uses the data to be linked and the paste destination information held in the storage unit in association with the copy source information as the transfer destination information. A Web application cooperation apparatus, characterized by comprising:
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アプリケーションに渡す手順を記述し、
前記中継サーバに、さらに、
前記第1のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたコピー元情報およびコピーデータ、並びに、前記第2のWebアプリケーションに注入されている前記第1のスクリプトにより前記Webブラウザから送信されたペースト先情報およびペーストデータを受信し、前記コピーデータおよび前記ペーストデータが一致した場合に、前記コピー元情報および前記ペースト先情報を対応づけて記憶部に保持するステップと、
前記第1のWebアプリケーションに注入されている前記第2のスクリプトにより前記Webブラウザから送信された前記連携元識別情報および前記連携対象データを受信し、前記連携元識別情報の少なくとも一部が前記コピー元情報に一致した場合に、前記連携対象データ、及び、前記コピー元情報に対応づけて前記記憶部に保持されている前記ペースト先情報を前記転送先情報として前記Webブラウザに送信するステップ、を実行させる
ことを特徴とするWebアプリケーション連携プログラム。
A web application linkage program for linking first and second web applications provided from a web server to a web browser via a relay server ,
To the relay server,
Sending the first and second scripts to the web browser by injecting the first and second scripts into each web application;
Passing data from the first web application to the second web application in response to requests from the first and second scripts,
The first script transmits a copy source information for identifying a copy source and copy data to the relay server when a copy operation from the first Web application to a common memory area is detected; and Describes a procedure for transmitting paste destination information for identifying a paste destination and paste data to the relay server when a paste operation from a common memory area to the second Web application is detected.
The second script is configured to transmit cooperation source identification information for identifying a cooperation source element in the first Web application and cooperation target data held in the cooperation source element to the relay server, and Based on the transfer destination information sent from the relay server, describe a procedure for passing the cooperation target data sent from the relay server to the second Web application,
In addition to the relay server,
Copy source information and copy data transmitted from the Web browser by the first script injected into the first Web application, and the first script injected into the second Web application Receiving paste destination information and paste data transmitted from the web browser, and storing the copy source information and the paste destination information in a storage unit in association with each other when the copy data and the paste data match; ,
The cooperation source identification information and the cooperation target data transmitted from the Web browser by the second script injected into the first Web application are received, and at least a part of the cooperation source identification information is the copy A step of transmitting to the web browser as the transfer destination information the paste destination information stored in the storage unit in association with the cooperation target data and the copy source information when the original information is matched. A Web application linkage program characterized by being executed .
JP2009168062A 2009-07-16 2009-07-16 Web application linkage method, linkage apparatus, and linkage program Expired - Fee Related JP5685804B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009168062A JP5685804B2 (en) 2009-07-16 2009-07-16 Web application linkage method, linkage apparatus, and linkage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009168062A JP5685804B2 (en) 2009-07-16 2009-07-16 Web application linkage method, linkage apparatus, and linkage program

Publications (2)

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

Family

ID=43632868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009168062A Expired - Fee Related JP5685804B2 (en) 2009-07-16 2009-07-16 Web application linkage method, linkage apparatus, and linkage program

Country Status (1)

Country Link
JP (1) JP5685804B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209198B (en) * 2012-01-13 2016-06-15 深圳市腾讯计算机系统有限公司 Switching method between a kind of network application and system
JP5773443B2 (en) * 2012-06-22 2015-09-02 Necエンジニアリング株式会社 Client device, client control method, and program
JP6533424B2 (en) * 2015-07-01 2019-06-19 e−Janネットワークス株式会社 Communication system and program
CN110209504B (en) * 2018-04-10 2023-05-12 腾讯科技(深圳)有限公司 Data copying method, data pasting method, data processing method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243154A (en) * 2000-03-02 2001-09-07 Fujitsu Ltd Common information usage system, method and recording medium
JP4204493B2 (en) * 2004-03-03 2009-01-07 富士通株式会社 Data relay program
JP4714463B2 (en) * 2004-12-24 2011-06-29 株式会社野村総合研究所 Method for inheriting data between user terminal device and Web application
JP2006190008A (en) * 2005-01-04 2006-07-20 Nippon Telegr & Teleph Corp <Ntt> Data coordination device and data coordination method
JP5294885B2 (en) * 2009-01-07 2013-09-18 株式会社日立製作所 Service relay device, service relay method, and program for executing the method

Also Published As

Publication number Publication date
JP2011022856A (en) 2011-02-03

Similar Documents

Publication Publication Date Title
US10326792B2 (en) Virus intrusion route identification device, virus intrusion route identification method, and program
US10289275B2 (en) Standard commands for native commands
JP5933660B2 (en) Event-triggered server-side macro
US9516185B2 (en) Information processing apparatus enabling cooperation with a network service and control method therefor
EP2862116B1 (en) System and method to access content of encrypted data items in unsupported digital environments
US20140101310A1 (en) Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform
US20130111336A1 (en) Platform and application independent system and method for networked file access and editing
US20140129920A1 (en) Enhanced Document and Event Mirroring for Accessing Internet Content
US8676880B2 (en) Server apparatus, communication apparatus, and method for generating navigation information
US20130198333A1 (en) Method and device for recording and reproducing web operation
JP2007181031A (en) Information processor, method for controlling the same, program and storage medium
JP2011076550A (en) Application cooperation method and system
JP5685804B2 (en) Web application linkage method, linkage apparatus, and linkage program
JP5286946B2 (en) Information processing apparatus, input information restoration method and restoration program
US10621239B2 (en) Managing printed documents in a document processing system
US20230195999A1 (en) Cross-domain storage for browsers
CN101573696A (en) Information processing device, information processing device control method, program, and recording medium
US20090259729A1 (en) Secure Transfer of Data Files
JP2009294851A (en) Web page editing server, web page editing system, and web page editing method
JP2005267479A (en) Document use history management system and method
JP5026130B2 (en) Mail management method, mail management system, and mail management program
US8370308B2 (en) Document management system, document management method, and computer program for forming proxy data for deleted documents
US10931848B2 (en) Adding a graphical symbol to a print stream for a document file
JP6683042B2 (en) Data processing device, system and program
JP5152924B2 (en) Comment sharing method and apparatus, terminal apparatus, and program thereof

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