JP2012043163A - Method, apparatus and program for cooperation of web application - Google Patents
Method, apparatus and program for cooperation of web application Download PDFInfo
- Publication number
- JP2012043163A JP2012043163A JP2010183469A JP2010183469A JP2012043163A JP 2012043163 A JP2012043163 A JP 2012043163A JP 2010183469 A JP2010183469 A JP 2010183469A JP 2010183469 A JP2010183469 A JP 2010183469A JP 2012043163 A JP2012043163 A JP 2012043163A
- Authority
- JP
- Japan
- Prior art keywords
- character code
- web
- web page
- client
- web application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、クライアントに提供される複数のWebアプリケーションの連携方法に係わる。 The present invention relates to a method for linking a plurality of Web applications provided to a client.
近年、Web上の複数のアプリケーションを組み合わせるマッシュアップ技術が普及しつつある。この場合、クライアント上に複数のWebアプリケーションを並べるだけでなく、Webアプリケーション間でデータを受け渡すことにより、利便性が向上する。例えば、クライアント上で動作する複数のWebアプリケーション間でデータのコピーアンドペーストを実現すれば、ユーザの作業時間が短縮され、入力ミスが削減される。 In recent years, mashup technology that combines a plurality of applications on the Web is becoming widespread. In this case, convenience is improved by not only arranging a plurality of Web applications on the client but also passing data between the Web applications. For example, if data copy and paste is realized between a plurality of Web applications operating on a client, the user's work time is shortened and input mistakes are reduced.
ところが、従来技術においては、Webアプリケーション間でデータが引き継がれる際に、各Webアプリケーションにおいて使用される文字コードが考慮されていないことがあった。このため、Webアプリケーション間でデータが引き継がれる際に、引き継ぎ先のWebアプリケーション上でテキストデータが正しく表示されないことがあった。 However, in the prior art, when data is transferred between Web applications, the character code used in each Web application may not be considered. For this reason, when data is transferred between Web applications, the text data may not be displayed correctly on the Web application that is the transfer destination.
関連する技術として、下記のデータ中継システムが提案されている。すなわち、提案されているデータ中継システムは、言語に依存する言語依存データを特定する特定情報とこの言語依存データに対応する置換用データとを関連付けて蓄積するデータベース部と、サーバシステムからサーバデータを取得するサーバデータ受信部と、サーバデータに含まれる特定情報に基づいてデータベースから置換用データを検出するデータ処理部と、サーバデータに含まれる言語依存データを置換用データに置換するデータ生成部と、この置換されたサーバデータをクライアントシステムに送信するクライアントデータ送信部とを備える。(例えば、特許文献1) The following data relay system has been proposed as a related technique. That is, the proposed data relay system includes a database unit that stores specific information for identifying language-dependent data dependent on language and replacement data corresponding to the language-dependent data, and server data from the server system. A server data receiving unit to acquire; a data processing unit for detecting replacement data from the database based on specific information included in the server data; a data generation unit for replacing language-dependent data included in the server data with replacement data; A client data transmission unit that transmits the replaced server data to the client system. (For example, Patent Document 1)
他の関連技術として、下記の検索方法が提案されている。提案されている検索方法においては、インターネットから収集した各Webページついて、そのWebページのHTTPヘッダーにもしくはHTML文書中に記述されている言語特定情報に基づいて当該Webページに対応づける言語IDを決定し、これにより言語IDを決定できなかった場合には、そのWebページが格納されているURLのトップレベルドメイン名に基づいて言語IDを決定する。(例えば、特許文献2) As other related techniques, the following search methods have been proposed. In the proposed search method, for each Web page collected from the Internet, the language ID to be associated with the Web page is determined based on the language specifying information described in the HTTP header of the Web page or in the HTML document. If the language ID cannot be determined as a result, the language ID is determined based on the top level domain name of the URL where the Web page is stored. (For example, Patent Document 2)
さらに他の関連技術として、下記のWWW中継サーバが提案されている。提案されているWWW中継サーバは、WWWサーバから中継してクライアントに送信するWebページ内に、クライアントでWebページを閲覧することにより実行されるスクリプト(閲覧位置情報をWWW中継サーバへ送信するスクリプト)を埋め込んでクライアントに送信し、クライアントで動作しているスクリプトから送信される情報を取得し、Webページの閲覧時間を計測し、またWebページのレイアウトを解析して、送信された閲覧位置情報に対応する特定のHTMLソースを抽出するとともに、HTMLソースに対する閲覧時間を計測する。(例えば、特許文献3) As another related technique, the following WWW relay server has been proposed. The proposed WWW relay server is a script executed by browsing a Web page by a client in a Web page relayed from the WWW server and transmitted to the client (a script for transmitting browsing position information to the WWW relay server). Is sent to the client, the information sent from the script running on the client is acquired, the browsing time of the web page is measured, the layout of the web page is analyzed, and the sent browsing position information is obtained. The corresponding specific HTML source is extracted, and the browsing time for the HTML source is measured. (For example, Patent Document 3)
さらに他の関連技術として、ウェブページ中での文字化けの発生を防ぐために、ウェブブラウザの言語情報を取得し、ウェブページにその言語情報に対応する文字コードセットの指定を挿入するとともに、そのウェブページの本文中にコンピュータから取り込んだ文字情報を組み込む画像処理装置が提案されている。(例えば、特許文献4) As another related technology, in order to prevent the occurrence of garbled characters in a web page, the language information of the web browser is acquired, the specification of the character code set corresponding to the language information is inserted into the web page, and the web There has been proposed an image processing apparatus that incorporates character information captured from a computer into the body of a page. (For example, Patent Document 4)
さらに他の関連技術として、下記のウェブページ収集方法が提案されている。提案されているウェブページ収集方法においては、起点となるウェブページを制約テスト部に送って携帯電話機で表示可能なページであるか判別させる。表示可能である場合、これをドキュメントデータベース部に保存すると共にアンカ抽出部でリンク情報を取得させ、これを基にインターネット網からネットワーク通信部によって次のウェブページを取得させて制約テスト部で適合性を判別する。(例えば、特許文献5) As another related technique, the following web page collection method has been proposed. In the proposed web page collection method, the starting web page is sent to the constraint test unit to determine whether the page can be displayed on the mobile phone. If it can be displayed, it is stored in the document database part and the link extraction information is acquired by the anchor extraction part. Based on this, the next web page is acquired by the network communication part from the Internet network, and the conformance test part conforms. Is determined. (For example, Patent Document 5)
本発明の課題は、Webアプリケーション間でデータを引き継ぐ際に、引継ぎ先のWebアプリケーション上でテキストデータを正しく表示することである。 An object of the present invention is to correctly display text data on a Web application that is a transfer destination when data is transferred between Web applications.
本発明の1つの態様のWebアプリケーション連携方法は、Webサーバから中継サーバを介してクライアントに提供される第1および第2のWebアプリケーションを連携させる。この方法は、前記第1のWebアプリケーションで使用される第1の文字コードおよび前記第2のWebアプリケーションで使用される第2の文字コードを検出する検出ステップと、前記第1のWebアプリケーションにより提供される第1のWebページから前記第2のWebアプリケーションにより提供される第2のWebページへテキストデータを引継ぐときに、前記第1のWebページ内の対象テキストデータを前記クライアントから受信する受信ステップと、前記対象テキストデータに対して前記第1の文字コードから前記第2の文字コードへの文字列変換を行う変換ステップと、前記第2の文字コードに変換された前記対象テキストデータを前記クライアントへ送信する送信ステップ、を有する。 According to one aspect of the present invention, a web application linkage method links first and second web applications provided from a web server to a client via a relay server. This method is provided by a detection step of detecting a first character code used in the first web application and a second character code used in the second web application, and the first web application. Receiving the target text data in the first Web page from the client when the text data is taken over from the first Web page to the second Web page provided by the second Web application. A conversion step of converting the target text data from the first character code to the second character code, and the target text data converted to the second character code A transmission step of transmitting to
本発明の1つの態様によれば、Webアプリケーション間でデータを引き継ぐ際に、引継ぎ先のWebアプリケーション上でテキストデータが正しく表示される。 According to one aspect of the present invention, when data is transferred between Web applications, the text data is correctly displayed on the Web application that is the transfer destination.
図1は、Webアプリケーション間のデータ引継ぎについて説明する図である。ここでは、クライアント1がWebサーバ2(2A、2B)に対して所望のアプリケーションを要求し、Webサーバ2が要求されたアプリケーションをクライアントに提供するものとする。
FIG. 1 is a diagram for explaining data transfer between Web applications. Here, it is assumed that the
クライアント1は、ユーザの指示を受け付けるためのユーザインタフェースを備える。また、クライアント1は、ネットワーク上のWebページを閲覧するWebブラウザを備える。Webページは、Web上にある文書であり、例えば、HTMLドキュメント、スタイルシート、画像データ等を含んでいる。そして、クライアント1は、ユーザにより指定されるWebサーバ2にリクエストを送信することにより、対応するWebアプリケーションのWebページを受け取る。すなわち、ユーザは、クライアント1に実装されているWebブラウザを通して、Webアプリケーションを利用することができる。
The
クライアント1からWebサーバ2へ送信されるリクエストは、中継サーバ3によって中継(または、仲介)される。中継サーバ3は、プロキシ部4を備え、クライアント1に代わってWebサーバ2に対してリクエストを送信する。Webサーバ2は、アプリケーションサーバであり、クライアント1に対してHTMLドキュメント等を提供するサービスプログラムが動作するサーバコンピュータである。したがって、Webサーバ2は、中継サーバ3から受信するリクエストに対応するレスポンス(すなわち、WebページとしてのHTMLドキュメント等)を中継サーバ3に返送する。そして、中継サーバ3は、Webサーバ2から受け取ったレスポンスをクライアント1に送信する。
A request transmitted from the
上記手順により、クライアント1のWebブラウザには、Webサーバ2が提供するWebページが表示(または、実装)される。すなわち、Webサーバ2からクライアント1にWebアプリケーションが提供される。図1に示す例では、クライアント1には、2つのWebアプリケーションが提供されている。具体的には、Webサーバ2Aから提供されるWebアプリケーションAのWebページAおよびWebサーバ2Bから提供されるWebアプリケーションBのWebページBが、クライアント1のWebブラウザに表示されている。なお、ユーザは、Webブラウザを利用して、Webページに対して所望の操作を行うことができるものとする。
Through the above procedure, the Web page provided by the
上述のようにしてWebアプリケーションが提供されているときに、ユーザが、Webブラウザを利用して、WebページAからWebページBへデータを引き継ぐ操作を行うものとする。図1に示す例では、WebページA上の文字列SをWebページBへ引き継ぐ操作が行われている。なお、Webページ間のデータの引継ぎは、例えば「コピーアンドペースト」を含むようにしてもよい。 When the Web application is provided as described above, it is assumed that the user performs an operation of taking over data from Web page A to Web page B using a Web browser. In the example shown in FIG. 1, an operation for handing over the character string S on the Web page A to the Web page B is performed. Note that data transfer between Web pages may include, for example, “copy and paste”.
ユーザにより上述のデータ引継ぎ操作が行われると、クライアント1は、WebページAから文字列Sを取り出して中継サーバ3へ送信する。このとき、データの引継ぎ先を識別する情報も中継サーバ3に送信される。データの引継ぎ先は、この例では、WebページB内の指定された領域である。
When the above-described data takeover operation is performed by the user, the
データ受信部5は、クライアント1から受信した文字列Sをテキストデータ記録DB6に記録する。そして、中継サーバ3は、テキストデータ記録DB6に記録されている文字列Sを、引継ぎ先情報に従ってクライアント1へ送信する。このとき、文字列Sは、例えば、データ注入部7によりWebサーバ2Bからクライアント1へのレスポンスの中に注入されてクライアント1へ送信される。そうすると、WebページAから引き継いだ文字列Sが、WebページB内の引継ぎ先情報で指定された領域に表示される。
The
ところが、各Webアプリケーションが使用し得る文字コード系(以下、単に「文字コード」と呼ぶ。)は、様々である。例えば、日本国内では、文字コードとして、UTF−8、EUC―JP、ISO−2022−JP等が普及している。このため、クライアント1に提供される複数のWebアプリケーションの文字コードが互いに異なっていることがある。
However, there are various character code systems (hereinafter simply referred to as “character codes”) that can be used by each Web application. For example, UTF-8, EUC-JP, ISO-2022-JP, etc. are widely used as character codes in Japan. For this reason, the character codes of a plurality of Web applications provided to the
文字コードが異なるWebアプリケーション間(或いは、文字コードが異なるWebページ間)でテキストデータの引継ぎを行うと、引継ぎ先のWebページにおいて、そのテキストデータが正しく表示されないことがある。すなわち、いわゆる「文字化け」が発生することがある。 If text data is handed over between Web applications with different character codes (or between Web pages with different character codes), the text data may not be correctly displayed on the Web page of the hand-over destination. That is, so-called “garbled characters” may occur.
そこで、実施形態のWebアプリケーション連携方法においては、Webアプリケーション間でテキストデータを引き継ぐ際に、引継ぎ元および引継ぎ先のWebページの文字コードが検出される。そして、中継サーバ3は、その検出結果に従って、必要に応じて文字列変換を行った後に、対象テキストデータを引継ぎ先へ送信する。なお、文字コードを検出する処理は、特に検定されるものではないが、例えば、文字コードを判定する処理、推定する処理、取得する処理により実現される。 Therefore, in the Web application linkage method of the embodiment, when text data is handed over between Web applications, the character code of the Web page of the takeover source and the takeover destination is detected. Then, the relay server 3 performs character string conversion as necessary according to the detection result, and then transmits the target text data to the takeover destination. The process for detecting a character code is not particularly tested, but is realized by, for example, a process for determining a character code, a process for estimating, and a process for acquiring.
<第1の実施形態>
図2は、第1の実施形態の中継サーバの構成および動作を説明する図である。第1の実施形態の中継サーバ10は、プロキシ部4、文字コード判定部11、文字コード記録DB12、文字コード変換部13を備える。なお、図2においては記載していないが、中継サーバ10は、図1に示すデータ受信部5、テキストデータ記録DB6、データ注入部7も備えている。
<First Embodiment>
FIG. 2 is a diagram illustrating the configuration and operation of the relay server according to the first embodiment. The
図2において、クライアント1は、Webサーバ2が提供するWebアプリケーションを利用する際には、Webブラウザを用いてWebサーバ2に対してリクエストを送信する。このリクエストは、この実施例では、ユーザが要求するWebアプリケーションのWebページを特定するURLを含むものとする。
In FIG. 2, when using a Web application provided by the
プロキシ部4は、図1を参照しながら説明したように、クライアント1からWebサーバ2へ送信されるリクエスト、及びWebサーバ2からクライアント1へ返送されるレスポンスを中継する。すなわち、プロキシ部4は、クライアント1から送信されるリクエストを受け付け、クライアント1に代わってそのリクエストをWebサーバ2へ送信する。このとき、プロキシ部4は、そのリクエストに含まれているURL(すなわち、クライアント1に提供されるWebページを特定するURL)を抽出して保持してもよい。また、プロキシ部4は、Webサーバ2から返送されるレスポンスを受け付け、そのレスポンスをクライアント1へ送信する。このとき、プロキシ部4は、Webサーバ2から送信されるレスポンスを必要に応じて加工してクライアント1へ送信してもよい。「加工」は、例えば、レスポンスの内容の一部を書き換える処理、或いはレスポンスに情報を付加する処理を含む。また、プロキシ部4は、上記レスポンスから、クライアント1へ提供されるWebページのURLを取得するようにしてもよい。
As described with reference to FIG. 1, the
文字コード判定部11は、Webサーバ2からクライアント1へ送信されるレスポンスの内容に基づいて、クライアント1に提供されるWebアプリケーションで使用される文字コードを判定する。すなわち、文字コード判定部11は、プロキシ部4がWebサーバ2からクライアント1へのレスポンスを受信したときに、クライアント1のWebブラウザに表示されるWebページの文字コードを判定する。このとき、文字コードは、たとえば、レスポンスヘッダのContent-Type内のCharsetの値から判定される。或いは、文字コードは、Webページを表すHTMLドキュメントのMETAタグ内のCharsetの値から判定される。なお、文字コード判定部11は、図2に示す例では、プロキシ部4の中に設けられているが、プロキシ部4の外に設けられてもよい。
The character
図3は、レスポンスヘッダの一例を示す図である。なお、図3に示す例では、Webサーバ2から送信されるレスポンスは、Webページを表すHTMLドキュメントである。そして、レスポンスヘッダは、レスポンスの先頭に付与されている。
FIG. 3 is a diagram illustrating an example of a response header. In the example shown in FIG. 3, the response transmitted from the
レスポンスヘッダは、この例では、Date、Pragma、Cache-Control、Content-Language、Content-Typeを含んでいる。そして、Content-Typeとしてcharset=euc-jpが記述されている。すなわち、レスポンスヘッダにおいて、このWebページの文字コードがEUC―JPであることが宣言されている。 In this example, the response header includes Date, Pragma, Cache-Control, Content-Language, and Content-Type. And charset = euc-jp is described as Content-Type. That is, it is declared in the response header that the character code of this Web page is EUC-JP.
図4は、METAタグの一例を示す図である。なお、図4に示す例では、Webサーバ2から送信されるレスポンスは、Webページを表すHTMLドキュメントである。そして、METAタグは、HTMLドキュメントにおいて、HEADタグではサポートされていない付加的な情報を記述するために必要に応じて挿入される。「http-equiv」は、METAタグのプロパティの1つであり、「Content」は、値を指定するために使用される。
FIG. 4 is a diagram illustrating an example of a META tag. In the example shown in FIG. 4, the response transmitted from the
この例では、2つ目のMETAタグにおいて、Content-Typeとしてcharset=euc-jpが記述されている。すなわち、METAタグにおいて、このWebページの文字コードがEUC―JPであることが宣言されている。 In this example, charset = euc-jp is described as Content-Type in the second META tag. That is, in the META tag, it is declared that the character code of this Web page is EUC-JP.
図5は、文字コード判定部11の動作を示すフローチャートである。このフローチャートの処理は、プロキシ部4がWebサーバ2から送信されるレスポンスを受信したときに実行される。なお、プロキシ部4は、クライアント1からWebサーバ2へ送信されるリクエストが要求するWebページを特定するURLを抽出して保持しているものとする。或いは、プロキシ部4は、上記リクエストに応じてWebサーバ2から送信されるレスポンスから、クライアント1へ提供されるWebページのURLを取得するようにしてもよい。
FIG. 5 is a flowchart showing the operation of the character
ステップS1において、文字コード判定部11は、プロキシ部4がWebサーバ2から受信したレスポンスを取得する。このとき、文字コード判定部11は、Webサーバ2からクライアント1に提供されるWebページを特定するURLもあわせて取得する。
In step S <b> 1, the character
ステップS2において、文字コード判定部11は、受信したレスポンスのMETAタグ内にcharsetの値が記述されているか否かを判定する。METAタグ内にcharsetの値が記述されていれば、処理はステップS3に進む。そして、文字コード判定部11は、ステップS3において、METAタグ内のcharsetの値から文字コードを判定する。図4に示す例では、文字コードがEUC―JPであると判定される。
In step S2, the character
レスポンスのMETAタグ内にcharsetの値が記述されていないとき(あるいは、METAタグが設けられていないとき)は、文字コード判定部11は、ステップS4において、レスポンスヘッダのContent-Type内にCharsetの値が記述されているか否かを判定する。Content-Type内にCharsetの値が記述されていれば、文字コード判定部11は、ステップS3において、Content-Type内にCharsetの値から文字コードを判定する。図3に示す例では、文字コードがEUC―JPであると判定される。
When the charset value is not described in the META tag of the response (or when the META tag is not provided), the character
さらに、文字コード判定部11は、ステップS5において、Webサーバ2からクライアント1に提供されるWebページを特定するURLに対応付けて、ステップS3で判定した文字コードを文字コード記録DB12に記録する。なお、レスポンスのMETAタグ内にcharsetの値が記述されておらず、且つ、レスポンスヘッダのContent-Type内にCharsetの値が記述されていないときは、文字コード判定部11は、文字コード記録DB12を更新することなく処理を終了する。このとき、文字コード判定部11は、エラーメッセージを出力するようにしてもよい。
Further, in step S5, the character
また、図5に示す例では、レスポンスヘッダよりもMETAタグの情報を優先して文字コードが判定されているが、実施形態のWebアプリケーション連携方法はこれに限定されるものではない。例えば、レスポンスヘッダの情報に基づいて文字コードを判定し、レスポンスヘッダから文字コードを判定できないときにMETAタグを参照するようにしてもよい。 In the example illustrated in FIG. 5, the character code is determined with priority given to the information of the META tag over the response header, but the Web application cooperation method of the embodiment is not limited to this. For example, the character code may be determined based on the information in the response header, and the META tag may be referred to when the character code cannot be determined from the response header.
このように、文字コード判定部11は、Webサーバ2からクライアント1へ送信されるレスポンスの内容に基づいて、文字コードを判定する。そして、判定された文字コードは、Webサーバ2からクライアント1に提供されるWebページを特定するURLに対応付けて、文字コード記録DB12に記録される。
As described above, the character
図6は、文字コード記録DB12の一例を示す図である。文字コード記録DB12は、上述したように、URLに対応づけて文字コードを記録する。
URLは、スキーム名、ドメイン名(ホスト名)、パス名などを含む。例えば、図6に示す文字コード記録DB12の1番目のエントリには「http://xxxxx/aa1」が記録されている。この場合、httpがスキーム名であり、xxxxxがドメイン名またはホスト名であり、aa1がパス名である。すなわち、このURLは、xxxxxで識別されるコンピュータに格納されている、aa1で識別されるファイルまたはデータを特定する。
FIG. 6 is a diagram illustrating an example of the character
The URL includes a scheme name, a domain name (host name), a path name, and the like. For example, “http: // xxxxx / aa1” is recorded in the first entry of the character
文字コード記録DB12の各エントリは、プロキシ部4がクライアント1からWebサーバ2へのリクエストを中継し、その後、プロキシ部4がそのリクエストに対応するレスポンスをWebサーバ2から受信したときに作成される。例えば、1番目のエントリは、プロキシ部4が、http://xxxxx/aa1で特定されるHTTPドキュメントを取得するためのリクエストを中継し、その後、プロキシ部4がそのリクエストに対応するレスポンスをWebサーバから受信したときに作成される。このとき、文字コード判定部11は、図5を参照しながら説明したように、受信したレスポンスのMETAタグまたはレスポンスヘッダを参照して、上記URLに対応する文字コードを検出する。そして、文字コード判定部11は、上記URLおよび対応する文字コードを文字コード記録DB12に記録する。
Each entry in the character
なお、文字コード判定部11は、この例では、プロキシ部4がWebサーバ2からクライアント1へのレスポンスを中継する毎に、URLおよび文字コードの組を文字コード記録DB12に記録する。例えば、図6に示す文字コード記録DB12の4番目のエントリには、http://xxxxx/aa8に対応づけてEUC−JPが記録されている。すなわち、1番目および4番目のエントリは、いずれもxxxxxで識別されるホストからのレスポンスに基づいて生成されている。ただし、1番目のエントリは、aa1で識別されるファイルまたはデータを含むHTTPドキュメントがクライアント1に提供されるときに生成され、4番目のエントリは、aa8で識別されるファイルまたはデータを含むHTTPドキュメントがクライアント1に提供されるときに生成される。
In this example, the character
図2に戻る。文字コード変換部13は、クライアント1においてWebページ間のデータ引継ぎ操作が行われると、必要に応じて、Webページ間で引き継がれるテキストデータ(以下、対象テキストデータ)に対して文字列変換を実行する。なお、データ引継ぎの際には、後で実施例を参照しながら詳しく説明するが、クライアント1から中継サーバ10へ対象テキストデータ、引継ぎ元WebページのURL、引継ぎ先WebページのURL、引継ぎ先を指定するXPath等が送信される。
Returning to FIG. When a data transfer operation between Web pages is performed in the
文字コード変換部13は、文字コード記録DB12を参照し、引継ぎ元Webページおよび引継ぎ先WebページのURLに対応する文字コードをそれぞれ抽出する。そして、引継ぎ元Webページおよび引継ぎ先Webページの文字コードが互いに異なっていたときは、文字コード変換部13は、対象テキストデータに対して文字列変換を実行する。例えば、クライアント1において、引継ぎ元Webページがhttp://xxxxx/aa1から取得したHTMLドキュメントであり、引継ぎ先Webページがhttp://yyyyy/bb3から取得したHTMLドキュメントであるものとする。この場合、図6に示す例においては、引継ぎ元Webページの文字コードはEUC−JPであり、引継ぎ先Webページの文字コードはUTF−8である。したがって、文字コード変換部13は、EUC−JPで作成されている対象テキストデータを、UTF−8の文字列に変換する。
The character
中継サーバ10は、上述のようにして文字列変換を行った対象テキストデータをクライアント1へ送信する。そうすると、クライアント1は、受信した対象テキストデータを、引継ぎ先Webページ内の指定された領域に表示する。このとき、上述の例では、引継ぎ先Webページの文字コードはUTF−8である。また、対象テキストデータは、文字コード変換部13によりEUC−JPからUTF−8に変換されている。したがって、この対象テキストデータは、文字化けすることなく、引継ぎ先Webページに正常に表示される。すなわち、Webアプリケーション間でデータを引き継ぐ際に、引継ぎ先Webページにおいてそのデータが正常に表示される。
The
なお、引継ぎ元Webページおよび引継ぎ先Webページの文字コードが互いに同じであるときは、文字コード変換部13は、文字列変換を実行しない。この場合、中継サーバ10は、クライアント1から受信した対象テキストデータを、文字列変換することなく、クライアント1に送信する。そして、その対象テキストデータは、クライアント1において引継ぎ先Webページに表示される。
When the character codes of the takeover source Web page and the takeover destination Web page are the same, the character
次に、図7〜図10を参照しながら、第1の実施形態のWebアプリケーション連携方法の実施例を説明する。この実施例では、中継サーバ10は、プロキシ部4、データ受信部5、テキストデータ記録DB6、データ注入部7、文字コード判定部11、文字コード記録DB12、文字コード変換部13、スクリプト注入部14を備える。ここで、プロキシ部4、データ受信部5、テキストデータ記録DB6、データ注入部7、文字コード判定部11、文字コード記録DB12、文字コード変換部13は、基本的に、上述した通りである。
Next, an example of the Web application cooperation method according to the first embodiment will be described with reference to FIGS. In this embodiment, the
まず、図7を参照しながら、Webページの文字コードを判定する手順について説明する。Webページの文字コードを判定する手順は、クライアント1がWebサーバ2にリクエストを送信し、Webサーバ2がそのリクエストに対応するレスポンスを返送したときに実行される。すなわち、文字コード判定手順は、以下のように実行される。
First, a procedure for determining a character code of a Web page will be described with reference to FIG. The procedure for determining the character code of the Web page is executed when the
(1)クライアント1は、Webブラウザを利用して所望のURLを指定することにより、Webページを取得するためのリクエストを送信する。このリクエストは、中継サーバ10により中継され、URLが指定するWebサーバ2に送信される。
(1) The
(2)Webサーバ2は、中継サーバ10を介して上述のリクエストを受信すると、対応するレスポンスを返送する。このレスポンスは、Webページを表示するためのHTMLドキュメント等を含んでいる。また、このレスポンスには、例えば、図3に示すようなレスポンスヘッダが付与されている。或いは、このレスポンスは、例えば、図4に示すようなMETAタグを含んでいる。そして、Webサーバ2から送信されるレスポンスは、中継サーバ10のプロキシ部4により受信される。
(2) When the
(3)文字コード判定部11は、Webサーバ2から送信されるレスポンスの内容に基づいて、クライアント1に提供されるWebページの文字コードを判定する。このとき、文字コード判定部11は、例えば、図3を参照しながら説明したように、レスポンスヘッダ内に記述されているcharsetの値によりWebページの文字コードを判定する。あるいは、文字コード判定部11は、図4を参照しながら説明したように、METAタグとして記述されているcharsetの値によりWebページの文字コードを判定してもよい。
(3) The character
(4)文字コード判定部11は、クライアント1に提供されるWebページのURLに対応づけて、手順(3)で判定した文字コードを表す文字コード情報を文字コード記録DB12に記録する。なお、クライアント1に提供されるWebページのURLは、クライアント1からWebサーバ2へ送信されるリクエストから取得してもよいし、Webサーバ2から返送されるレスポンスから取得してもよい。
(4) The character
(5)スクリプト注入部14は、Webサーバ2からクライアント1へ送信されるレスポンスに、データ送信スクリプトを注入する。このデータ送信スクリプトは、例えば、レスポンスとしてクライアント1へ送信されるHTMLドキュメントの中に埋め込まれる。なお、データ送信スクリプトは、クライアント1においてユーザによりデータ引継ぎ操作が行われたときに、対象テキストデータを中継サーバ10へ送信する手順を記述したプログラムである。
(5) The
(6)プロキシ部4は、データ送信スクリプトが注入されたレスポンスをクライアント1へ送信する。
(7)クライアント1のWebブラウザは、受信したレスポンスに含まれているHTMLドキュメント等に従って、Webページを表示する。すなわち、Webサーバ2からクライアント1へWebアプリケーションが提供される。なお、受信したレスポンスには、手順(5)によりデータ送信スクリプトが注入されている。そして、このデータ送信スクリプトは、クライアント1において、データ引継ぎ操作の実行を待ち受ける。
(6) The
(7) The Web browser of the
このように、クライアント1がWebサーバ2にリクエストを送信し、Webサーバ2がそのリクエストに対応するレスポンスを返送する毎に、クライアント1へ提供されるWebページの文字コードが判定される。そして、判定された文字コードは、WebページのURLに対応づけて文字コード記録DB12に記録される。
As described above, each time the
続いて、図8を参照しながら、データの引継ぎを要求する手順について説明する。データの引継ぎを要求する手順は、特に限定されるものではないが、例えば、クライアント1のユーザによりデータ引継ぎ操作が行われたときに実行される。すなわち、データ引継ぎ要求手順は、以下のように実行される。
Next, a procedure for requesting data takeover will be described with reference to FIG. The procedure for requesting data takeover is not particularly limited, and is executed, for example, when a data takeover operation is performed by the user of the
なお、以下の説明では、クライアント1のWebブラウザにWebページAが表示されているものとする。WebページAは、図7に示す手順により、Webサーバ2から中継サーバ10を介してクライアント1に提供される。よって、WebページAのHTMLドキュメントには、中継サーバ10においてデータ送信スクリプト15が注入されている。そして、クライアント1においてWebページAのHTMLドキュメントが読み込まれると、データ送信スクリプト15が実行される。以降、データ送信スクリプト15は、クライアント1において、データ引継ぎ操作の実行を待ち受ける。
In the following description, it is assumed that the Web page A is displayed on the Web browser of the
(11)クライアント1において、ユーザによりデータ引継ぎ操作が行われると、データ送信スクリプト15は、Webページ間で引き継がれる文字列(対象テキストデータ)を中継サーバ10へ送信する。なお、ユーザは、データ引継ぎ操作において、対象テキストデータ、引継ぎ元Webページ、引継ぎ先Webページ、引継ぎ先領域を指定するものとする。この例では、対象テキストデータは「6月12日」である。引継ぎ元WebページはWebページAである。引継ぎ先Webページは、図10に示すWebページB(図8では、不図示)である。引継ぎ先領域は、対象テキストデータが入力される引継ぎ先Webページ内の指定された領域である。この場合、データ送信スクリプト15は、上記データ引継ぎ操作が行われると、対象テキストデータとともに、引継ぎ元WebページのURL、引継ぎ先WebページのURL、引継ぎ先領域を指し示すXPathを中継サーバ10へ送信する。
(11) In the
(12)中継サーバ10のデータ受信部5は、クライアント1から送信される対象テキストデータ、引継ぎ元WebページのURL、引継ぎ先WebページのURL、引継ぎ先領域を指し示すXPathを受信する。そして、データ受信部5は、クライアント1から受信した対象テキストデータ、引継ぎ元WebページのURL、引継ぎ先WebページのURL、引継ぎ先領域を指し示すXPathをテキストデータ記録DB6に記録する。
(12) The
図9は、テキストデータ記録DB6の一例を示す図である。テキストデータ記録DB6には、この例では、引継ぎ先WebページのURLを検索キーとして、引継ぎ元WebページのURL、対象テキストデータ、引継ぎ先XPathが記録される。図9に示す実施例では、1番目のエントリに下記の内容が記録されている。
引継ぎ先WebページのURL:http://yyyyy/bb3(WebページBのURL)
引継ぎ元WebページのURL:http://xxxxx/aa1(WebページAのURL)
対象テキストデータ:「6月12日」
引継ぎ先XPath:html/document/input[1]
FIG. 9 is a diagram illustrating an example of the text data recording DB 6. In this example, the URL of the takeover destination Web page, the target text data, and the takeover destination XPath are recorded in the text data recording DB 6 using the URL of the takeover destination Web page as a search key. In the embodiment shown in FIG. 9, the following contents are recorded in the first entry.
URL of takeover destination Web page: http: // yyyyy / bb3 (URL of Web page B)
URL of takeover source Web page: http: // xxxxx / aa1 (URL of Web page A)
Target text data: “June 12”
Destination XPath: html / document / input [1]
このように、データ引継ぎ要求手順においては、クライアント1に実装されているデータ送信スクリプト15により、対象テキストデータおよび引継ぎ情報が中継サーバ10に送信される。そして、対象テキストデータおよび引継ぎ情報は、テキストデータ記録DB6に記録される。なお、上述の例では、クライアント1のユーザがデータ引継ぎ操作を行ったときにデータ引継ぎ要求手順が実行されるが、実施形態のWebアプリケーション連携方法はこれに限定されるものではない。例えば、クライアント1のWebブラウザを利用してあるWebページが表示されたときに、自動的に、そのWebページ内の所定の領域のテキストデータが引継ぎ先の情報と共に中継サーバ10へ送信されるようにしてもよい。
Thus, in the data takeover request procedure, the target text data and the takeover information are transmitted to the
次に、図10を参照しながら、対象テキストデータを引継ぎ先Webページに送信する手順について説明する。対象テキストデータを引継ぎ先Webページに送信する手順は、特に限定されるものではないが、例えば、クライアント1により引継ぎ先Webページを取得するためのリクエストが送信されたときに実行される。この場合、この手順は、以下のように実行される。
Next, a procedure for transmitting the target text data to the takeover destination Web page will be described with reference to FIG. The procedure for transmitting the target text data to the takeover destination Web page is not particularly limited. For example, the procedure is executed when a request for acquiring the takeover destination Web page is transmitted from the
(21)クライアント1は、WebページBを取得するためのリクエストを送信する。このリクエストは、中継サーバ10によって中継され、Webサーバ2に送信される。なお、WebページBは、図8を示す手順において、図9に示すように、引継ぎ先Webページとしてテキストデータ記録DB6に記録されているものとする。
(21) The
(22)Webサーバ2は、中継サーバ10を介して上述のリクエストを受信すると、対応するレスポンスを返送する。このレスポンスは、WebページBを表示するためのHTMLドキュメント等を含んでいる。そして、Webサーバ2から送信されるレスポンスは、中継サーバ10のプロキシ部4により受信される。
(22) When the
(23)文字コード変換部13は、Webサーバ2から受信したレスポンスにより提供されるWebページのURL(以下、レスポンスURL)が、テキストデータ記録DB6に「引継ぎ先WebページのURL」として記録されているか否かを判定する。そして、レスポンスURLが「引継ぎ先WebページのURL」としてテキストデータ記録DB6に記録されていたときは、文字コード変換部13は、テキストデータ記録DB6から対応する「引継ぎ元WebページのURL」を抽出する。さらに、文字コード変換部13は、文字コード記録DB12を参照し、引継ぎ元Webページおよび引継ぎ先Webページの文字コードをそれぞれ取得する。なお、レスポンスURLが「引継ぎ先WebページのURL」としてテキストデータ記録DB6に記録されていなければ、文字コード変換部13は、文字列変換を実行することなく処理を終了する。
(23) In the character
図8〜図9に示す実施例では、引継ぎ元Webページ(即ち、WebページA)のURLはhttp://xxxxx/aa1である。よって、このURLで図6に示す文字コード記録DB12を検索すると、「引継ぎ元Webページの文字コード:EUC−JP」が得られる。また、引継ぎ先Webページ(即ち、WebページB)のURLはhttp://yyyyy/bb3である。よって、このURLで図6に示す文字コード記録DB12を検索すると、「引継ぎ先Webページの文字コード:UTF−8」が得られる。
In the embodiment shown in FIGS. 8 to 9, the URL of the takeover source Web page (that is, Web page A) is http: // xxxxx / aa1. Therefore, when the character
(24)文字コード変換部13は、引継ぎ元Webページおよび引継ぎ先Webページの文字コードを互いに比較する。そして、これらの文字コードが互いに異なっていれば、文字コード変換部13は、テキストデータ記録DB6に記録されている対象テキストデータに対して文字列変換を実行する。この実施例では、「6月12日」の文字コードがEUC−JPからUTF−8に変換される。すなわち、UTF−8で表わされた対象テキストデータが生成される。なお、引継ぎ元Webページおよび引継ぎ先Webページの文字コードを互いに同じであれば、文字コード変換部13は、文字列変換を実行することなく処理を終了する。
(24) The character
(25)データ注入部7は、Webサーバ2から受信したレスポンスに、文字コード変換部13により文字コード変換が行われた対象テキストデータを注入する。このとき、対象テキストデータは、テキストデータ記録DB6に記録されている引継ぎ先XPathに基づいて(または、引継ぎ先XPathと共に)、レスポンスの中のHTMLドキュメントに埋め込まれる。そして、プロキシ部4は、上述の対象テキストデータが注入されたレスポンスをクライアント1へ送信する。なお、文字コード変換部13による文字コード変換が実行されなかったときは、データ注入部7は、クライアント1から受信した対象テキストデータを、そのまま、Webサーバ2から受信したレスポンスに埋め込む。
(25) The
(26)クライアント1は、Webブラウザを利用して、中継サーバ10から受信するレスポンスに従ってWebページBを表示する。ここで、このレスポンスには、WebページBの文字コードで表わされた対象テキストデータが埋め込まれている。よって、クライアント1にWebページBが表示されると、引継ぎ先XPathで指定される領域に、WebページAから抽出された対象テキストデータ「6月12日」が文字化けすることなく正常に表示される。
(26) The
このように、第1の実施形態のWebアプリケーション連携方法によれば、Webアプリケーション間でテキストデータを引き継ぐ際に、必要に応じて文字コードが適切に変換される。このため、Webアプリケーション間で引き継がれるテキストデータは、Webアプリケーション間で文字コードが異なる場合であっても、引継ぎ先のWebページにおいて文字化けを起こすことなく正常に表示される。 As described above, according to the Web application cooperation method of the first embodiment, when text data is taken over between Web applications, the character code is appropriately converted as necessary. For this reason, text data that is inherited between Web applications is displayed normally without causing garbled characters on the Web page that is the inheritance destination even when the character code differs between Web applications.
<第2の実施形態>
第1の実施形態では、中継サーバ10のプロキシ部4がWebサーバ2からレスポンスを受信したときに、文字コード変換部13が引継ぎ元Webページおよび引継ぎ先Webページの文字コードを認識する。このとき、文字コード変換部13は、引継ぎ元Webページおよび引継ぎ先WebページのURLで文字コード記録DB12を検索し、それぞれ対応する文字コードを認識する。
<Second Embodiment>
In the first embodiment, when the
しかし、図7を参照しながら説明した手順においては、文字コード記録DB12には、Webサーバ2からクライアント1へ提供されるWebページについてのレスポンスに基づいて文字コード情報が記録される。このため、例えば、レスポンス(または、レスポンスヘッダ)に文字コードを表す情報が記述されていないときは、文字コード記録DB12に文字コードが記録されていない。また、過去にクライアント1へ提供されたことのないWebページについては、文字コード記録DB12に文字コードが記録されていない。このため、第1の実施形態では、プロキシ部4がWebサーバ2からレスポンスを受信したときに、文字コード変換部13が引継ぎ元Webページおよび/または引継ぎ先Webページの文字コードを認識できないことがある。そこで、第2の実施形態のWebアプリケーション連携方法は、引継ぎ元Webページおよび/または引継ぎ先Webページの文字コードを推定する手順を有する。
However, in the procedure described with reference to FIG. 7, the character code information is recorded in the character
図11は、第2の実施形態の中継サーバの構成および動作を説明する図である。第2の実施形態の中継サーバ20は、第1の実施形態の中継サーバ10が備えるプロキシ部4、データ受信部5、テキストデータ記録DB6、データ注入部7、文字コード判定部11、文字コード記録DB12、文字コード変換部13、スクリプト注入部14に加えて、文字コード推定部21を備える。なお、図11においては、データ受信部5、テキストデータ記録DB6、データ注入部7、スクリプト注入部14は省略されている。
FIG. 11 is a diagram illustrating the configuration and operation of the relay server according to the second embodiment. The
文字コード推定部21は、文字コード変換部13が文字コードを認識できなかったときに呼び出される。すなわち、文字コード変換部13は、プロキシ部4がWebサーバ2からレスポンスを受信したときに、引継ぎ元Webページおよび引継ぎ先WebページのURLで文字コード記録DB12を検索する。そして、引継ぎ元Webページおよび/または引継ぎ先WebページのURLが文字コード記録DB12に記録されていなければ、文字コード推定部21が呼び出される。
The character
文字コード推定部21は、引継ぎ元Webページおよび/または引継ぎ先Webページのドメイン名(または、ホスト名)で文字コード記録DB12を検索する。例えば、引継ぎ元WebページのURLが文字コード記録DB12に記録されていなければ、文字コード推定部21は、引継ぎ元Webページのドメイン名で文字コード記録DB12を検索する。また、引継ぎ先WebページのURLが文字コード記録DB12に記録されていないときは、文字コード推定部21は、引継ぎ先Webページのドメイン名で文字コード記録DB12を検索する。なお、ドメイン名は、URLの一部として記述されている。たとえば、上述の実施例では、WebページAのURLはhttp://xxxxx/aa1であるが、この場合、xxxxxがWebページAのドメイン名を表している。
The character
文字コード推定部21は、文字コード記録DB12において、対象Webページ(すなわち、引継ぎ元Webページ、引継ぎ先Webページ)のドメイン名を含むURLをサーチする。すなわち、文字コード記録DB12において、対象Webページと同じドメイン内の別のWebページのURLがサーチされる。そして、対象Webページのドメイン名を含むURLが検出されたときは、文字コード推定部21は、そのURLに対応する文字コードを、対象Webページの文字コードと推定する。
The character
このように、文字コード推定部21は、文字コード判定部11により過去に判定された他のWebページの文字コードに基づいて、対象Webページの文字コードを推定する。このとき、対象Webページの文字コードは、対象Webページと同じドメイン内のWebページに基づいて推定される。そして、同じドメイン内のWebページは、同じ文字コードを使用している可能性が高い。したがって、文字コード推定部21は、引継ぎ元Webページおよび/または引継ぎ先Webページの文字コードを適切に推定することができる。
As described above, the character
文字コード変換部13は、文字コード推定部21により対象Webページの文字コードが推定されたときは、その推定された文字コードを使用して文字列変換を実行する。たとえば、文字コード変換部13が、引継ぎ元Webページの文字コードがEUC−JPであると認識し、文字コード推定部21が、引継ぎ先Webページの文字コードがUTF−8であると推定したものとする。この場合、文字コード変換部13は、対象テキストデータに対してEUC−JPからUTF−8への文字列変換を実行する。そして、プロキシ部4は、Webサーバ2からクライアント1へのレスポンスに、上記対象テキストデータを注入する。これにより、クライアント1において、引継ぎ先Webページ上の指定された領域に、文字コードが変換されたテキストデータが表示される。
When the character code of the target Web page is estimated by the character
一例を示す。ここでは、中継サーバ20は、クライアント1に実装されているデータ送信スクリプト15により送信される対象テキストデータを受信すると共に、下記の引継ぎ情報を受信するものとする。また、文字コード記録DB12には、図6に示す内容が記録されているものとする。
引継ぎ元WebページのURL:http://xxxxx/aa1
引継ぎ先WebページのURL:http://yyyyy/bb5
An example is shown. Here, it is assumed that the
Takeover source Web page URL: http: // xxxxx / aa1
Takeover destination Web page URL: http: // yyyyy / bb5
このケースでは、文字コード変換部13は、http://xxxxx/aa1で文字コード記録DB12を検索することで「引継ぎ元Webページの文字コード:EUC−JP」を得る。しかし、文字コード記録DB12にhttp://yyyyy/bb5は記録されていない。そうすると、文字コード推定部21は、文字コード記録DB12においてドメイン名yyyyyを含むURLをサーチする。この場合、2番目のエントリのURLがyyyyyを含んでいる。したがって、文字コード推定部21は、2番目のエントリの内容に基づいて「引継ぎ先Webページの文字コード:UTF−8」を得る。この後、文字コード変換部13は、対象テキストデータに対してEUC−JPからUTF−8への文字列変換を実行する。
In this case, the character
このように、第2の実施形態では、対象Webページ(すなわち、引継ぎ元Webページおよび/または引継ぎ先Webページ)の文字コードが先に判定されていない場合であっても、その対象Webページの文字コードを適切に推定できる。したがって、Webアプリケーション間でデータを引き継ぐ場合において、文字化け等の発生がさらに抑えられる。 Thus, in the second embodiment, even if the character code of the target Web page (that is, the takeover source Web page and / or the takeover destination Web page) has not been determined first, the target Web page The character code can be estimated appropriately. Therefore, the occurrence of garbled characters or the like is further suppressed when data is transferred between Web applications.
なお、対象WebページのURLが文字コード記録DB12に記録されておらず、且つ対象Webページのドメイン名を含むURLも文字コード記録DB12に記録されていないときは、対象Webページの文字コードとして予め決められたデフォルト文字コードが使用される。デフォルト文字コードとしては、例えば、最も広く普及している文字コードが選択される。
When the URL of the target Web page is not recorded in the character
<第3の実施形態>
第1の実施形態では、Webサーバ2から送信されるレスポンスの内容に基づいて各Webページの文字コードが検出される。しかし、この方法では、Webサーバ2から送信されるレスポンスの中にWebページの文字コードを表す情報が含まれていないときは、中継サーバにおいて適切な文字列変換を実行できない。そこで、第3の実施形態のWebアプリケーション連携方法は、クライアントから中継サーバへ各Webページの文字コードを通知させる手順を含む。
<Third Embodiment>
In the first embodiment, the character code of each Web page is detected based on the content of the response transmitted from the
図12は、第3の実施形態の中継サーバの構成および動作を説明する図である。第3の実施形態の中継サーバ30は、第1の実施形態の中継サーバ10が備えているプロキシ部4、データ受信部5、テキストデータ記録DB6、データ注入部7、文字コード記録DB12、文字コード変換部13に加えて、スクリプト注入部31を備える。なお、図12においては、データ受信部5、テキストデータ記録DB6、データ注入部7は省略されている。
FIG. 12 is a diagram illustrating the configuration and operation of the relay server according to the third embodiment. The
第3の実施形態の中継サーバ30の動作は、基本的には、第1の実施形態の中継サーバ10と同じである。ただし、第3の実施形態は、各Webページの文字コードを取得して文字コード記録DB12に記録する方法が第1の実施形態と異なる。
The operation of the
スクリプト注入部31は、Webサーバ2からクライアント1へ送信されるレスポンスに、文字コード通知スクリプト32を注入する。なお、スクリプト注入部31は、文字コード通知スクリプト32と共に、図7〜図8を参照して説明したデータ送信スクリプト15も合わせて上記レスポンスに注入することができる。
The
図13は、文字コード通知スクリプト32の一例を示す図である。文字コード通知スクリプト32は、HTMLドキュメント内に埋め込まれる。文字コード通知スクリプト32は、<BODY>の前に埋め込まれてもよいし、<BODY>の中に埋め込まれてもよいし、他の位置に埋め込まれてもよい。
FIG. 13 is a diagram illustrating an example of the character
記述32aは、文字コード(変数encoding)を表す情報を取得する。具体的には、記述32aは、文字コード通知スクリプト32が埋め込まれているHTMLドキュメントにおいて、文字コードを表す情報としてcharsetまたはcharacterSetの値を取得する。また、記述32bは、記述32aにより取得した文字コードを表す情報を、指定されたパスに通知する。通知先のパス(http://serverURL/?encode=)は、中継サーバ30内で予め設定されているものとする。したがって、クライアント1においてWebページに埋め込まれた文字コード通知スクリプト32が実行されると、そのWebページの文字コードが、指定されたパス(すなわち、中継サーバ30)に通知される。このとき、このWebページのURLも合わせて中継サーバ30に通知される。
The
中継サーバ30のプロキシ部4は、スクリプト注入部31によりデータ送信スクリプト15および文字コード通知スクリプト32が注入されたレスポンスをクライアント1へ送信する。クライアント1は、中継サーバ30から上記レスポンスを受信すると、Webブラウザを利用して、そのレスポンスに含まれているHTMLドキュメント等に従ってWebページを表示する。
The
このとき、HTMLドキュメントに埋め込まれている文字コード通知スクリプト32が実行される。すなわち、文字コード通知スクリプト32は、図13を参照しながら説明したように、文字コード通知スクリプト32が埋め込まれているHTMLドキュメントから文字コードを表す情報を取得する。例えば、図14に示すHTMLドキュメントにおいては、charsetの値(すなわち、「euc-jp」)が抽出される。クライアント1に実装されるHTMLドキュメントは、例えば、DOM(Document Object Model)で解析される。すなわち、図14に示すDOMツリーがクライアント1のメモリ上に構築され、そのDOMツリーを利用してcharsetの値が抽出される。これにより、クライアント1に表示されているWebページの文字コードを表す情報が取得される。さらに、文字コード通知スクリプト32は、このWebページの文字コードを表す情報を中継サーバ30に通知する。このとき、このWebページのURLも合わせて中継サーバ30に通知される。そして、中継サーバ30は、クライアント1からの通知に応じて、文字コード記録DB12に文字コードとURLの組を記録する。
At this time, the character
このように、第3の実施形態においては、クライアント1からのリクエストに応じてWebサーバ2から返送されるレスポンスに文字コード通知スクリプト32が埋め込まれ、クライアント1においてWebページが開かれる際に、そのWebページの文字コードが中継サーバ30に通知される。そして、中継サーバ30は、クライアント1から文字コードの通知を受信するごとに、その通知の内容を文字コード記録DB12に記録する。これにより、中継サーバ30において、図6に示すような第1の実施形態と同様の文字コード記録DB12が作成される。
As described above, in the third embodiment, when the character
第3の実施形態における他の動作は、基本的に、第1の実施形態と同じである。すなわち、クライアント1においてデータ引継ぎ操作が行われると、例えば、図8および図10に示す手順に従い、中継サーバ30により必要に応じて文字コード変換が行われた対象テキストデータがクライアント1の引継ぎ先Webページへ与えられる。このとき、中継サーバ30は、図11に示すように、文字コード推定部21を用いて引継ぎ元Webページおよび/または引継ぎ先Webページの文字コードを推定してもよい。
Other operations in the third embodiment are basically the same as those in the first embodiment. That is, when a data takeover operation is performed in the
このように、第3の実施形態のWebアプリケーション連携方法によれば、Webサーバ2からのレスポンスの中に文字コードを表す情報が含まれていない場合であっても、Webブラウザ上でWebページが正常に表示されている限りは、中継サーバ30は、そのWebページの文字コードを確実に認識することができる。したがって、Webアプリケーション間でデータを引き継ぐ際に、文字化け等の発生を回避することができ、正確なデータ引継ぎが実現される。
As described above, according to the Web application cooperation method of the third embodiment, even when the response from the
<フローチャート>
図15は、実施形態のWebアプリケーション連携方法を示すフローチャートである。このフローチャートの処理は、上述した実施形態では、Webサーバ2から中継サーバ10、20、30を介してクライアント1に提供される第1および第2のWebアプリケーションを連携させる方法であって、中継サーバ10、20、30によって実行される。
<Flowchart>
FIG. 15 is a flowchart illustrating a Web application cooperation method according to the embodiment. In the above-described embodiment, the process of this flowchart is a method for linking the first and second Web applications provided from the
ステップS11において、中継サーバは、第1のWebアプリケーションで使用される第1の文字コードおよび第2のWebアプリケーションで使用される第2の文字コードを検出する。ステップS11は、第1〜第2の実施形態に係る例では、図2に示す文字コード判定部11により実現される。この場合、文字コード判定部11は、クライアント1からWebサーバ2へWebアプリケーションを要求するリクエストに対応するレスポンスの内容に基づいて、要求されたWebアプリケーションで使用される文字コードを検出する。また、ステップS11は、第3の実施形態に係る例では、図12に示すスクリプト注入部31により実現される。この場合、スクリプト注入部31は、Webサーバ2からクライアント1に提供されるWebアプリケーションのWebページに、そのWebページで使用されている文字コードを中継サーバへ通知する手順を記述した文字コード通知スクリプト32を埋め込むことにより、文字コード通知スクリプト32をクライアント1へ送信する。そして、クライアント1において実行される文字コード通知スクリプト32によるクライアント1からの通知に基づいて、第1および第2の文字コードが検出される。
In step S11, the relay server detects the first character code used in the first Web application and the second character code used in the second Web application. Step S11 is realized by the character
ステップS12において、中継サーバは、第1のWebアプリケーションにより提供される第1のWebページから第2のWebアプリケーションにより提供される第2のWebページへのデータ引継ぎにおいて、第1のWebページ内の対象テキストデータをクライアントから受信する。ステップS12は、第1〜第3の実施形態に係る例では、データ受信部5により実現される。なお、第1のWebページから第2のWebページへのデータ引継ぎを指示する操作は、例えば、クライアント1において行われる。
In step S12, the relay server performs data transfer from the first Web page provided by the first Web application to the second Web page provided by the second Web application. Receive the target text data from the client. Step S12 is realized by the
ステップS13において、中継サーバは、対象テキストデータに対して第1の文字コードから第2の文字コードへの文字列変換を行う。ステップS13は、第1〜第3の実施形態に係る例では、文字コード変換部13により実現される。なお、第1および第2の文字コードが互いに同じであるとき(すなわち、引継ぎ元Webページおよび引継ぎ先Webページの文字コードが互いに同じであるとき)は、文字列変換は実行されない。
In step S13, the relay server performs character string conversion on the target text data from the first character code to the second character code. Step S13 is realized by the character
ステップS14において、中継サーバは、第2の文字コードに変換された対象テキストデータを、クライアント1へ送信する。ステップS14は、第1〜第3の実施形態に係る例では、データ注入部7により実現される。この場合、データ注入部7は、クライアント1からWebサーバ2へ第2のWebページを要求するリクエストに対応するレスポンスに、第2の文字コードに変換された対象テキストデータを埋め込む。
In step S <b> 14, the relay server transmits the target text data converted into the second character code to the
<中継サーバのハードウェア構成>
図16は、中継サーバのハードウェア構成を示す図である。図16において、CPU101は、メモリ103を利用してWebアプリケーション連携プログラムを実行することにより中継サーバに各処理手順を実行させる。すなわち、中継サーバは、例えば、図16に示すコンピュータシステムにより実現される。なお、Webアプリケーション連携プログラムは、例えば、図15に示すフローチャートの手順を含み、さらに第1〜第3の実施形態の中継サーバの動作手順を含むようにしてもよい。
<Hardware configuration of relay server>
FIG. 16 is a diagram illustrating a hardware configuration of the relay server. In FIG. 16, the
記憶装置102は、例えばハードディスクであり、Webアプリケーション連携プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。テキストデータ記録DB6および文字コード記録DB12は、記憶装置102またはメモリ103に作成される。
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アプリケーション連携プログラムを実行することにより、実施形態に係る中継サーバ(例えば、データ受信部5、データ注入部7、文字コード判定部11、文字コード変換部13、スクリプト注入部14、31、文字コード推定部21)が実現される。すなわち、Webアプリケーション連携プログラムを実行することにより、Webアプリケーション連携装置として動作する中継サーバが実現される。
Then, by executing the Web application cooperation program on the computer system having the above configuration, the relay server according to the embodiment (for example, the
1 クライアント(Webブラウザ)
2(2A、2B) Webサーバ
3、10、20、30 中継サーバ
4 プロキシ部
5 データ受信部
6 テキストデータ記録DB
7 データ注入部
11 文字コード判定部
12 文字コード記録DB
13 文字コード変換部
14、31 スクリプト注入部
15 データ送信スクリプト
21 文字コード推定部
32 文字コード通知スクリプト
1 Client (Web browser)
2 (2A, 2B)
7
13 Character
Claims (8)
前記第1のWebアプリケーションで使用される第1の文字コードおよび前記第2のWebアプリケーションで使用される第2の文字コードを検出する検出ステップと、
前記第1のWebアプリケーションにより提供される第1のWebページから前記第2のWebアプリケーションにより提供される第2のWebページへテキストデータを引継ぐときに、前記第1のWebページ内の対象テキストデータを前記クライアントから受信する受信ステップと、
前記対象テキストデータに対して前記第1の文字コードから前記第2の文字コードへの文字列変換を行う変換ステップと、
前記第2の文字コードに変換された前記対象テキストデータを、前記クライアントへ送信する送信ステップ、
を有するWebアプリケーション連携方法。 A method for coordinating first and second Web applications provided from a Web server to a client via a relay server,
A detection step of detecting a first character code used in the first web application and a second character code used in the second web application;
When text data is handed over from the first web page provided by the first web application to the second web page provided by the second web application, target text data in the first web page Receiving from the client;
A conversion step of performing a character string conversion from the first character code to the second character code for the target text data;
Transmitting the target text data converted into the second character code to the client;
A web application linkage method comprising:
前記検出ステップは、前記クライアントから前記WebサーバへWebアプリケーションを要求するリクエストに対応するレスポンスの内容に基づいて、要求されたWebアプリケーションで使用される文字コードを検出する
ことを特徴とするWebアプリケーション連携方法。 The web application linkage method according to claim 1,
The detecting step detects a character code used in the requested web application based on a response content corresponding to a request for requesting the web application from the client to the web server. Method.
前記Webサーバから前記クライアントへ提供されるWebアプリケーションのWebページのURLと前記クライアントへ提供されるWebアプリケーションで使用される文字コードとを対応づけて文字コード記録部に記録し、
前記クライアントから、Webアプリケーション間で引き継ぐ対象テキストデータ、引継ぎ元の前記第1のWebページのURL、引継ぎ先の前記第2のWebページのURLを含む引継ぎリクエストを受信したときに、前記変換ステップは、前記文字コード記録部から前記第1のWebページのURLおよび前記第2のWebページのURLに対応する文字コードをそれぞれ抽出し、抽出した文字コードを利用して前記対象テキストデータの文字列変換を行う
ことを特徴とするWebアプリケーション連携方法。 The web application linkage method according to claim 1, wherein:
The URL of the web page of the web application provided from the web server to the client is associated with the character code used in the web application provided to the client, and recorded in the character code recording unit.
When receiving from the client a takeover request including target text data to be taken over between Web applications, a URL of the first Web page of the takeover source, and a URL of the second Web page of the takeover destination, the conversion step includes: The character code corresponding to the URL of the first Web page and the URL of the second Web page is extracted from the character code recording unit, and the character string conversion of the target text data is performed using the extracted character code. A Web application linkage method characterized by:
前記引継ぎリクエストを受信したときに、前記第1のWebページのURLが前記文字コード記録部に記録されていなければ、前記文字コード記録部において前記第1のWebページのURLの一部を含むURLに対応する文字コードを、前記第1のWebページで使用される文字コードと推定すると共に、前記第2のWebページのURLが前記文字コード記録部に記録されていなければ、前記文字コード記録部において前記第2のWebページのURLの一部を含むURLに対応する文字コードを、前記第2のWebページで使用される文字コードと推定し、
前記変換ステップは、前記推定された文字コードを利用して前記対象テキストデータの文字列変換を行う
ことを特徴とするWebアプリケーション連携方法。 The web application cooperation method according to claim 3,
If the URL of the first Web page is not recorded in the character code recording unit when the takeover request is received, the URL including a part of the URL of the first Web page in the character code recording unit If the URL of the second Web page is not recorded in the character code recording unit, it is estimated that the character code corresponding to the character code used in the first Web page is the character code recording unit. The character code corresponding to the URL including a part of the URL of the second web page is estimated as the character code used in the second web page;
The conversion step performs a character string conversion of the target text data using the estimated character code.
前記検出ステップは、前記Webサーバから前記クライアントに提供されるWebアプリケーションのWebページに、前記クライアントに提供されるWebアプリケーションのWebページで使用されている文字コードを前記中継サーバへ通知する手順を記述した文字コード通知スクリプトを埋め込むことにより、前記文字コード通知スクリプトを前記クライアントへ送信し、前記文字コード通知スクリプトによる前記クライアントからの通知に基づいて、前記第1および第2の文字コードを検出する
ことを特徴とするWebアプリケーション連携方法。 The web application linkage method according to claim 1,
The detecting step describes a procedure for notifying the relay server of the character code used in the Web page of the Web application provided to the client on the Web page of the Web application provided to the client from the Web server. By embedding the character code notification script, the character code notification script is transmitted to the client, and the first and second character codes are detected based on the notification from the client by the character code notification script. A Web application linkage method characterized by the above.
前記送信ステップは、前記クライアントから前記Webサーバへ前記第2のWebページを要求するリクエストに対応するレスポンスに、前記第2の文字コードに変換された前記対象テキストデータを注入する
ことを特徴とするWebアプリケーション連携方法。 A web application cooperation method according to any one of claims 1 to 5,
The transmitting step injects the target text data converted into the second character code into a response corresponding to a request for requesting the second Web page from the client to the Web server. Web application linkage method.
前記第1のWebアプリケーションで使用される第1の文字コードおよび前記第2のWebアプリケーションで使用される第2の文字コードを検出する検出部と、
前記第1のWebアプリケーションにより提供される第1のWebページから前記第2のWebアプリケーションにより提供される第2のWebページへテキストデータを引継ぐときに、前記第1のWebページ内の対象テキストデータを前記クライアントから受信する受信部と、
前記対象テキストデータに対して前記第1の文字コードから前記第2の文字コードへの文字列変換を行う変換部と、
前記第2の文字コードに変換された前記対象テキストデータを、前記クライアントへ送信する送信部、
を有するWebアプリケーション連携装置。 A web application cooperation apparatus for linking first and second web applications provided from a web server to a client,
A detection unit for detecting a first character code used in the first web application and a second character code used in the second web application;
When text data is handed over from the first web page provided by the first web application to the second web page provided by the second web application, target text data in the first web page Receiving from the client;
A conversion unit that performs character string conversion from the first character code to the second character code for the target text data;
A transmission unit for transmitting the target text data converted into the second character code to the client;
A web application cooperation apparatus.
前記中継サーバに、
前記第1のWebアプリケーションで使用される第1の文字コードおよび前記第2のWebアプリケーションで使用される第2の文字コードを検出する検出ステップ、
前記第1のWebアプリケーションにより提供される第1のWebページから前記第2のWebアプリケーションにより提供される第2のWebページへテキストデータを引継ぐときに、前記第1のWebページ内の対象テキストデータを前記クライアントから受信する受信ステップ、
前記対象テキストデータに対して前記第1の文字コードから前記第2の文字コードへの文字列変換を行う変換ステップ、
前記第2の文字コードに変換された前記対象テキストデータを、前記クライアントへ送信する送信ステップ、を実行させる
ことを特徴とするWebアプリケーション連携プログラム。 A web application linkage program for linking first and second web applications provided from a web server to a client via a relay server,
To the relay server,
A detecting step of detecting a first character code used in the first web application and a second character code used in the second web application;
When text data is handed over from the first web page provided by the first web application to the second web page provided by the second web application, target text data in the first web page Receiving from the client;
A conversion step of performing character string conversion on the target text data from the first character code to the second character code;
A Web application cooperation program that executes a transmission step of transmitting the target text data converted into the second character code to the client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010183469A JP5565197B2 (en) | 2010-08-18 | 2010-08-18 | Web application linkage method, linkage apparatus, and linkage program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010183469A JP5565197B2 (en) | 2010-08-18 | 2010-08-18 | Web application linkage method, linkage apparatus, and linkage program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012043163A true JP2012043163A (en) | 2012-03-01 |
JP5565197B2 JP5565197B2 (en) | 2014-08-06 |
Family
ID=45899396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010183469A Expired - Fee Related JP5565197B2 (en) | 2010-08-18 | 2010-08-18 | Web application linkage method, linkage apparatus, and linkage program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5565197B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016014917A (en) * | 2014-06-30 | 2016-01-28 | キヤノン株式会社 | Information processing apparatus, control method, and software program |
JP2016539450A (en) * | 2014-10-21 | 2016-12-15 | シャオミ・インコーポレイテッド | Web page encoding identification method, web page encoding identification device, program, and recording medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223555A (en) * | 2008-03-14 | 2009-10-01 | Fujitsu Ltd | Web application editing method |
JP2009271676A (en) * | 2008-05-02 | 2009-11-19 | Fujitsu Ltd | Web information relaying method and apparatus |
-
2010
- 2010-08-18 JP JP2010183469A patent/JP5565197B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223555A (en) * | 2008-03-14 | 2009-10-01 | Fujitsu Ltd | Web application editing method |
JP2009271676A (en) * | 2008-05-02 | 2009-11-19 | Fujitsu Ltd | Web information relaying method and apparatus |
Non-Patent Citations (2)
Title |
---|
CSND200800257010; あーとん: 'チーム開発、プロジェクトで役立つコーディングテクニック 知って得するコーディングの掟' 開発の現場 vol.012 第012巻, 20080414, 第140-151頁, 株式会社翔泳社 * |
JPN6014002405; あーとん: 'チーム開発、プロジェクトで役立つコーディングテクニック 知って得するコーディングの掟' 開発の現場 vol.012 第012巻, 20080414, 第140-151頁, 株式会社翔泳社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016014917A (en) * | 2014-06-30 | 2016-01-28 | キヤノン株式会社 | Information processing apparatus, control method, and software program |
US9671981B2 (en) | 2014-06-30 | 2017-06-06 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium for controlling and stopping display of an indicator for causing a user to recognize that image processing is in progress |
US10146484B2 (en) | 2014-06-30 | 2018-12-04 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium for controlling display of an indicator |
US10712978B2 (en) | 2014-06-30 | 2020-07-14 | Canon Kabushiki Kaisha | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium |
JP2016539450A (en) * | 2014-10-21 | 2016-12-15 | シャオミ・インコーポレイテッド | Web page encoding identification method, web page encoding identification device, program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5565197B2 (en) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745341B2 (en) | Web server cache pre-fetching | |
US20160283606A1 (en) | Method for performing webpage loading, device and browser thereof | |
JP4351405B2 (en) | Transcoding system and annotation management device | |
US9984052B2 (en) | Verifying content of resources in markup language documents | |
US9785710B2 (en) | Automatic crawling of encoded dynamic URLs | |
CN106951270B (en) | Code processing method, system and server | |
CN107463657B (en) | File operation method and terminal | |
JP5112401B2 (en) | Web action history acquisition system, Web action history acquisition method, gateway device, and program | |
US20090049146A1 (en) | System and method for data transmission | |
US7778969B2 (en) | Information-processing apparatus and method for processing document | |
JP5565197B2 (en) | Web application linkage method, linkage apparatus, and linkage program | |
JP2010170453A (en) | Static web site construction method, static web site construction service providing method, dynamic/static conversion processor, and dynamic/static conversion processing program | |
JP2005275488A (en) | Input support method and program | |
US10120936B2 (en) | Providing system configuration information to a search engine | |
US7340521B1 (en) | Method for routing a request over a network to a content source that can most advantageous serve the request | |
JP2002149478A (en) | Method for automatically displaying update information and device for the same, and medium and program | |
JP5344680B2 (en) | Link generation apparatus and link generation method | |
JP5712496B2 (en) | Annotation restoration method, annotation assignment method, annotation restoration program, and annotation restoration apparatus | |
JP2009251754A (en) | Page customizing server, page customizing program, and page customizing method | |
KR101498920B1 (en) | Web page pre-caching system and method for offline-executing | |
US9516111B2 (en) | Communication apparatus, communication method, and computer program product | |
JP2001312464A (en) | Explanation information providing system, program recording medium for explanation information acquisition, and program recording medium for providing explanation information | |
WO2009147879A1 (en) | Viewing system, plug-in program, and introduction program | |
JP6104729B2 (en) | Content search system, content search method, and content search program | |
JP2009288970A (en) | Information terminal, information provision method, and information provision program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140228 |
|
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: 20140520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5565197 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |