JP5685804B2 - Web application linkage method, linkage apparatus, and linkage program - Google Patents
Web application linkage method, linkage apparatus, and linkage program Download PDFInfo
- 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
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,
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)
本発明の課題は、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アプリケーション連携方法では、第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 (
(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
(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
(3)ユーザは、図1(c)に示すように、アドレス帳1により得られたメールアドレスを、メーラ4のアドレス入力ボックス5にコピーする。このとき、メールアドレスは、アドレス帳1からクリップボードへコピーされ、クリップボードからメーラ4へペーストされる。
(3) The user copies the mail address obtained from the
(4)ユーザは、図1(d)に示すように、文書入力ボックス6に文書を入力し、メールを送信する。このメールは、Webサーバ上で動作するメーラアプリケーションによって宛て先へ転送される。
(4) As shown in FIG. 1D, the user inputs a document in the
(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
なお、実施形態の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
次に、実施形態の連携方法の流れを簡単に説明する。実施形態の連携方法は、連携を検出する手順、および連携を実行する手順を含む。
図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
(1)中継サーバ30は、Webサーバ11、12から、アドレス帳アプリケーションおよびメーラアプリケーションのHTMLおよびスクリプトを読み込み、中継のためのアドレス置換処理を行う。このとき、中継サーバ30は、各Webアプリケーション(ここでは、アドレス帳アプリケーション、メーラアプリケーション)に、それぞれ、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトを注入する。したがって、クライアント20がWebアプリケーションを使用すると、そのWebアプリケーションに埋め込まれた上記3つのスクリプトが必要に応じて呼び出される。図1に示す例では、クライアント20がアドレス帳1またはメーラ4を使用する際に、ユーザ操作または中継サーバ30からの指示等に応じて、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、テキスト送受信スクリプトが呼び出されて実行される。
(1) The
(2)ユーザは、クライアント20のブラウザ上に表示されたアドレス帳1を利用してアドレス検索を行う。この検索要求は、中継サーバ30を経由してWebサーバ11に転送される。そして、Webサーバ11による検索結果は、中継サーバ30を介してクライアント20のアドレス帳1に返送される。
(2) The user performs an address search using the
(3)ユーザがアドレス帳1においてメールアドレスのコピー操作を行うと、アドレス帳1に埋め込まれているコピーアンドペースト操作検出スクリプトが呼び出される。コピーアンドペースト操作検出スクリプトは、アドレス帳1においてコピー操作が行われたことを検出すると、そのコピー操作を中継サーバ30に通知する。中継サーバ30は、この通知に応じて、最終コピー操作記録部31にコピー操作に係わる情報を記録する。このとき、アドレス帳1からコピーされたデータは、いったんクリップボードに保存される。なお、最終コピー操作記録部31には、中継サーバ30に最後に通知されたコピー操作(すなわち、最新のコピー操作)に係わる情報が記録される。
(3) When the user performs a mail address copy operation in the
(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
(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
このように、実施形態の連携方法では、クライアント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
図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
(1)履歴DB32に新たなコピーアンドペースト操作が記録されると、中継サーバ30は、クライアント20の連携管理画面21を利用して、そのコピーアンドペースト操作に係わる連携処理を許可するか否かをユーザに問い合わせる。図1に示す例では、アドレス帳1からメーラ4へのコピーアンドペースト操作に係わる連携を許可するか否かの問合せが行われる。
(1) When a new copy and paste operation is recorded in the
(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
(3) The
(4)ユーザは、図1(e)に示すように、アドレス帳1を利用して別の「名前」を入力して新たなアドレス検索を実行する。この検索要求に対して、Webサーバ11は、対応するメールアドレスを返送する。この結果、アドレス帳1のアドレス表示ボックス3には、新たな「名前」に対応するメールアドレスが表示される。
(4) As shown in FIG. 1E, the user inputs another “name” using the
(5)ユーザがアドレス帳1に表示されている連携実行ボタンを押下すると、そのアドレス帳1に埋め込まれているテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携元Webアプリケーション上の指定された領域に書き込まれているテキスト(連携対象データ)とコピー元を特定するための情報を中継サーバ30へ送信する。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが連携対象データとして中継サーバ30へ送信される。
(5) When the user presses the cooperation execution button displayed in the
(6)中継サーバ30は、連携定義DB33を参照し、連携元Webアプリケーションから取得したテキストの転送先を決定する。例えば、上記(5)の連携元と、連携定義DB33に登録されているコピーアンドペースト操作のコピー元とが一致した場合には、そのコピーアンドペースト操作のペースト先がテキストの転送先として指定される。ここでは、連携元およびコピー元がいずれもアドレス帳1のアドレス表示ボックス3であり、テキストの転送先としてメーラ4のアドレス表示ボックス5が指定される。
(6) The
(7)中継サーバ30は、上記(5)で連携元Webアプリケーションから取得したテキストとペースト先を特定するための情報をメーラ4に送信する。そうすると、メーラ4に埋め込まれているテキスト送受信スクリプトは、中継サーバ30から受信したテキストをメーラ4のアドレス表示ボックス5に表示する。
(7) The
このように、実施形態の連携方法では、クライアント20においてWebアプリケーション間での連携実行が要求されると、テキスト送受信スクリプトによりWebアプリケーション間で受け渡すべきデータが中継サーバ30に送信される。そうすると、中継サーバ30は、連携定義DB33を参照し、連携先のWebアプリケーションに対してそのデータを転送する。すなわち、ユーザは、コピーアンドペースト操作を行うことなく、単に連携実行ボタンを押下するだけで、Webアプリケーション間のデータの受け渡しが中継サーバ30を介して実現される。
As described above, in the cooperation method of the embodiment, when the
図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
中継サーバ30は、プロキシ部41、コピーアンドペースト履歴収集部44、連携管理部45、連携ボタン表示指示部46、コピーアンドペースト実行指示部47、リクエスト振り分け部48、最終コピー操作記録部31、履歴DB32、連携定義DB33を備えている。なお、図4では、実施形態の連携方法に直接的に係わりのない要素は、省略されている。
The
プロキシ部41は、URI置換部42およびスクリプト注入部43を備える。URI置換部42は、Webサーバ11、12とクライアントとの間でURIを置換する。スクリプト部43は、上述したように、Webサーバ11、12からクライアントへWebアプリケーションが提供される際に、予め用意してあるスクリプトを各Webアプリケーションに注入する。各Webアプリケーションには、上述したように、コピーアンドペースト操作検出スクリプト、連携ボタン表示スクリプト、およびテキスト送受信スクリプトが注入される。したがって、クライアントが受け取る各Webアプリケーションには、それぞれ上記3つのスクリプトが埋め込まれている。
The
図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
コピーアンドペースト履歴収集部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
連携管理部45は、Webブラウザの連携管理画面21を利用して、履歴DB32に記録されているWebアプリケーション間の連携動作(コピーアンドペースト処理)を許可するか否かをユーザに問い合わせる。そして、連携管理部45は、許可された連携動作を連携定義DB33に記録する。
The
連携ボタン表示指示部46は、連携定義33に新たな連携動作が記録されると、連携実行ボタンを表示するための指示を、連携元の連携ボタン表示スクリプトへ送信する。これにより、連携ボタン表示スクリプトは、連携実行ボタンを表示する。
The cooperation button display instruction |
コピーアンドペースト実行指示部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
リクエスト振り分け部48は、クライアントから受信するリクエストを対応するあて先に振り分ける。例えば、Webサーバへのアクセスは、プロキシ部41へ転送される。また、コピーアンドペースト操作検出スクリプトからのリクエストは、コピーアンドペースト履歴収集部44へ転送される。
The
最終コピー操作記録部31は、最後に通知されたコピー操作情報を記録する。具体的には、最終コピー操作記録部31には、例えば、最後に行われたコピー操作に係わるユーザID、そのコピー操作が実行された日時、コピー元URI、コピー元XPath、コピーデータが記録される。過去のコピー操作情報は、廃棄されてもよいし、他の記憶領域に保存されてもよい。履歴DB32は、コピー操作情報およびペースト操作情報を互いに対応づけて記録する。具体的には、履歴DB32には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。連携定義DB33は、ユーザにより許可された連携動作を記録する。具体的には、連携定義DB33には、例えば、ユーザID、コピーアンドペースト操作が実行された日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathが記録される。
The last copy
なお、中継サーバ30は、Webアプリケーション連携装置として動作することができる。また、履歴DB32および/または連携定義DB33は、コピー元情報およびペースト先情報を対応づけて保持する保持部として機能することができる。さらに、コピーアンドペースト履歴収集部44および/または連携ボタン表示指示部46および/またはコピーアンドペースト実行指示部47は、第1のWebアプリケーションから第2のWebアプリケーションへデータを中継する中継制御部として動作することができる。
Note that the
以下、実施形態の連携方法を詳しく説明する。
<コピー操作の検出>
コピーアンドペースト操作検出スクリプトは、ユーザのキー入力を監視する。この実施例では、コピーアンドペースト操作検出スクリプトは、「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”,
図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
この後、コピーアンドペースト操作検出スクリプトは、コピーイベント(取得したテキスト、コピー元の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
<ペースト操作の検出>
コピーアンドペースト操作検出スクリプトは、この実施例では、「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”,
図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
この後、コピーアンドペースト操作検出スクリプトは、ペーストイベント(取得したテキスト、ペースト先の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
図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
また、コピーアンドペースト操作検出スクリプトは、ペースト操作を検出すると、ペースト先の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
なお、監視対象のコピーアンドペースト操作以外のアプリケーション(例えば、中継サーバ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
<連携の管理>
中継サーバ30の連携管理部45は、コピーアンドペースト履歴収集部44により検出された1組のコピー操作およびペースト操作を、Webブラウザのユーザに提示する。この場合、連携管理部45は、例えば図11(a)に示すコピーアンドペースト履歴をブラウザへ送信する。ここで、コピーアンドペースト履歴は、ユーザIDを利用して履歴DB32から抽出される。そして、ブラウザは、中継サーバ30から受信したコピーアンドペースト履歴を連携管理画面21に表示する。コピーアンドペースト履歴は、コピーアンドペースト操作が行われた日時、コピー元URI、コピー元XPath、ペースト先URI、ペースト先XPathを含む。さらに、連携管理画面21には、コピーアンドペースト操作を自動化するか否かをユーザに問い合わせるために「アクション(連携許可/履歴から削除)」が表示される。
<Management of cooperation>
The
ユーザは、提示されたコピーアンドペーストを自動化する場合には、「連携許可」を選択する。連携管理部45は、「連携許可」が選択されたことを検出すると、選択されたコピーアンドペースト操作を連携定義DB33に追加する。一方、連携管理部45は、「履歴から削除」が選択されたことを検出すると、選択されたコピーアンドペースト操作を履歴DB32から削除する。
When automating the presented copy and paste, the user selects “cooperation permission”. When the
なお、連携管理画面21には、ユーザからの指示等に応じて、図11(b)に示すように、連携が有効化されているコピーアンドペースト操作の一覧が表示される。そして、ユーザは、表示された連携を解除したい場合には、「連携定義から削除」を指定する。そうすると、連携管理部45は、指定されたコピーアンドペースト操作を連携定義DB33から削除する。
Note that the
<連携ボタン表示スクリプト>
連携定義DB33に新たなコピーアンドペースト操作が記録されると、中継サーバ30の連携ボタン表示指示部46は、連携実行ボタンの表示指示をクライアントにプッシュする。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。この表示指示は、例えば、連携元URIおよび連携元XPathを含むようにしてもよい。
<Linkage button display script>
When a new copy and paste operation is recorded in the
上記表示指示を受信すると、連携ボタン表示スクリプトは、連携定義に記録されているコピー元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
なお、連携定義DB33からコピーアンドペースト操作が削除されたときは、対応する連携実行ボタン7も削除される。この削除処理も、連携ボタン表示スクリプトにより実行される。
When the copy and paste operation is deleted from the
<テキスト送受信スクリプト>
図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
連携元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
中継サーバ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
コピーアンドペースト実行指示部47は、ペースト先URI、ペースト先XPath、連携元から受信したテキスト、を連携先のブラウザ2に送信する。そうすると、ブラウザ2は、受信したペースト先URI/XPathに従って、受信したテキストを設定する。これにより、連携元Webアプリケーションにおいて連携実行ボタンにより指示されたテキストは、中継サーバ30により中継され、連携先Webアプリケーションの連携先XPathが指示する要素にペーストされる。図1(e)に示す例では、アドレス帳1のアドレス表示ボックス3に表示されているメールアドレスが、中継サーバ30を介して、メーラ4のアドレス表示ボックス5に転送されることになる。
The copy and paste
なお、ペースト先URI、ペースト先XPath、テキストは、中継サーバ30からクライアントにプッシュされる。プッシュ方式は、特に限定されるものではないが、例えば、Cometである。
The paste destination URI, paste destination XPath, and text are pushed from the
このように、実施形態の連携方法によれば、一般的なコピーアンドペースト操作よりも簡単な操作で、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
ブラウザは、常時、ユーザによるキー入力をモニタしている、そして、「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
「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
図15は、中継サーバ30からの指示に対応するブラウザ動作を示すフローチャートである。中継サーバ30は、例えばComet等のプッシュ通信により、ブラウザに指示を送信する。
FIG. 15 is a flowchart showing a browser operation corresponding to an instruction from the
ステップS11では、中継サーバ30から受信した指示の内容を判定する。連携ボタン表示指示部46から連携実行ボタンの表示指示を受信した場合は、ステップS12において、連携元Webアプリケーションの連携ボタン表示スクリプトが呼び出される。連携ボタン表示スクリプトは、表示指示に含まれている連携元URI/XPathに基づいて、連携元を表す要素を特定する。ステップS13では、連携ボタン表示スクリプトは、特定した要素の近くに連携実行ボタン7を表示する。
In step S11, the content of the instruction received from the
一方、コピーアンドペースト実行指示部47から連携実行指示を受信した場合は、ステップS14において、連携先Webアプリケーションのテキスト送受信スクリプトが呼び出される。テキスト送受信スクリプトは、連携実行指示に含まれている連携先URI/XPathに基づいて、連携先を表す要素を特定する。ステップS15では、テキスト送受信スクリプトは、連携実行指示と共に受信したテキストを、特定した要素に設定する。
On the other hand, when the cooperation execution instruction is received from the copy and paste
<バリエーション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が汎用化されてもよい。
<
The
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
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
この連携方法によれば、将来行われる可能性のあるコピーアンドペースト操作が類推され、予め登録される。すなわち、類似の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であるものとする。
<
In the above-described embodiment, the
テキスト監視スクリプトは、アドレス表示ボックス3に表示されているテキストを定期的に取得し、一次記憶領域に記憶する。そして、新たに取得したテキストが一次記憶領域に記憶されているテキストを異なっていた場合に、テキスト監視スクリプトは、アドレス表示ボックス3が更新されたと判定する。すなわち、アドレス帳1を利用して新たなアドレス検索が実行されたと判定される。そうすると、テキスト監視スクリプトは、テキスト送受信スクリプトを呼び出す。以降の処理は、テキスト送受信スクリプトにより実行される。なお、テキスト送受信スクリプトの処理は、上述した通りである。
The text monitoring script periodically acquires the text displayed in the
図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
この連携方法によれば、ユーザは、アドレス帳1を利用してメールアドレスを検索するだけで、その検索結果がメーラ4に設定される。すなわち、Webアプリケーション間でのデータバインディングと同等の処理が自動的に実現される。したがって、ユーザの利便性がさらに向上する。
According to this cooperation method, the user simply searches for a mail address using the
<中継サーバ30のハードウェア構成>
図18は、実施形態の中継サーバ30のハードウェア構成を示す図である。図18において、CPU101は、メモリ103を利用してWebアプリケーション連携プログラムを実行することにより中継サーバに各処理手順を実行させる。記憶装置102は、例えばハードディスクであり、Webアプリケーション連携プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
<Hardware configuration of
FIG. 18 is a diagram illustrating a hardware configuration of the
読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。
The
実施形態に係わる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
(2) Provided by the portable recording medium 105.
(3) Download from the
そして、上記構成のコンピュータで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
33 Linkage definition DB
41
Claims (6)
前記中継サーバにおいて、各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.
前記コピー元から前記ペースト先へデータを転送する連携動作を実行するか否かをユーザに問い合わせ、前記連携動作の実行が指示されたときに前記第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.
前記連携元要素のデータが変化したときに前記第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.
前記中継サーバは、最新のコピー元情報およびコピーデータを保持し、前記最新のコピーデータおよび前記ペーストデータが互いに一致したときに、前記最新のコピー元情報および前記ペースト先情報を対応づけて保持する
ことを特徴とする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アプリケーションに第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アプリケーションに第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 .
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)
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)
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 |
-
2009
- 2009-07-16 JP JP2009168062A patent/JP5685804B2/en not_active Expired - Fee Related
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 |