JP2010262548A - Data provision method and server - Google Patents

Data provision method and server Download PDF

Info

Publication number
JP2010262548A
JP2010262548A JP2009114103A JP2009114103A JP2010262548A JP 2010262548 A JP2010262548 A JP 2010262548A JP 2009114103 A JP2009114103 A JP 2009114103A JP 2009114103 A JP2009114103 A JP 2009114103A JP 2010262548 A JP2010262548 A JP 2010262548A
Authority
JP
Japan
Prior art keywords
server
customization
client
response data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009114103A
Other languages
Japanese (ja)
Other versions
JP5393242B2 (en
Inventor
英樹 ▲高▼野
Hideki Takano
Takeshi Kojima
剛 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009114103A priority Critical patent/JP5393242B2/en
Publication of JP2010262548A publication Critical patent/JP2010262548A/en
Application granted granted Critical
Publication of JP5393242B2 publication Critical patent/JP5393242B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide the customization of a Web application reducing a load on a network. <P>SOLUTION: A data provision method in a system including a client, a first server connected to the client via the network and a second server connected to the first server via the network includes: a step in which the client transmits a request to the first server; a step in which the first server transmits the request from the client to the second server; a step in which the second server transmits response data to the request to the first server; and a step in which the first server transmits the response data from the second server to the client. The first server applies the customization to the response data received from the second server on the basis of customization information from the client and transmits the response data to which the customization is applied to the client. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、データ提供方法およびサーバに関し、特に、クライアントに提供するデータに対してカスタマイズを行う技術に関する。   The present invention relates to a data providing method and a server, and more particularly to a technique for customizing data to be provided to a client.

Software as a Service(SaaS)と呼ばれるソフトウェア機能の提供形態が注目を集めている。SaaSでは、WebサーバがWebアプリとしてソフトウェア機能を提供し(SaaSアプリと呼ぶ)、SaaSユーザはWebブラウザを用いてSaaSアプリを利用する。このような利用形態の元では、複数の企業が一つのSaaSアプリを利用することが想定されるため、企業毎又はユーザ毎にWebアプリを企業やユーザに合わせてカスタマイズすることが望まれている。この場合、既存のWebアプリを修正してカスタマイズ機能を追加したり、新規のWebアプリを開発する際にカスタマイズ機能を追加することは負担が大きい。   A form of providing software functions called Software as a Service (SaaS) is attracting attention. In SaaS, a web server provides a software function as a web application (referred to as a SaaS application), and a SaaS user uses a SaaS application using a web browser. Under such a usage pattern, it is assumed that multiple companies use one SaaS application. Therefore, it is desired to customize the Web application for each company or each user according to the company or user. . In this case, it is burdensome to modify an existing web application to add a customization function or to add a customization function when developing a new web application.

特許文献1記載の技術では、 Webブラウザがネットワークを介してカスタマイズ用データベースにアクセスしてカスタマイズ情報を取得し、そのカスタマイズ情報に基づいてWebブラウザに表示した要素のカスタマイズを実行する技術を開示している。   The technology described in Patent Document 1 discloses a technology in which a Web browser accesses a customization database via a network to acquire customization information, and performs customization of elements displayed on the Web browser based on the customization information. Yes.

特開2000-222324号公報JP 2000-222324 A

しかしながら、特許文献1記載の技術では、Webブラウザがネットワークを介してWebサーバやプロキシサーバとは異なるデータベースへアクセスしてカスタマイズデータを取得するため、ネットワーク負荷が大きいという課題があった。また、データベースにアクセスする分カスタマイズされた表示を行うまで時間がかかる課題があった。また、Webブラウザ上に一度表示した要素に対してカスタマイズを施すため、Webブラウザの表示が乱れたように見えることがあるという課題があった。さらに、Webサーバが配信するデータを動的に生成したり、ユーザからの入力を受け付けたりするWebアプリの場合、ユーザからの入力をリポジトリに保存したり、表示したいデータに応じてURLが変更されたり、コンテンツがダイナミックに変更されたりするため、このような場合にはカスタマイズすることが困難であるという課題があった。   However, the technique described in Patent Document 1 has a problem that the network load is heavy because the Web browser accesses the database different from the Web server and the proxy server via the network and acquires the customized data. In addition, there is a problem that it takes time until the customized display is performed as much as the database is accessed. In addition, since the elements once displayed on the Web browser are customized, there is a problem that the display of the Web browser may appear distorted. In addition, in the case of a web application that dynamically generates data to be distributed by the web server or accepts input from the user, the input from the user is saved in the repository, or the URL is changed according to the data to be displayed. In such a case, there is a problem that it is difficult to customize because the content is dynamically changed.

上記課題を解決するため、本発明は、クライアントと、クライアントとネットワークを介して接続された第1のサーバと、第1のサーバとネットワークを介して接続された第2のサーバと、を備えるシステムにおけるデータ提供方法であって、クライアントが第1のサーバにリクエストを送信するステップと、第1のサーバがクライアントからのリクエストを第2のサーバに送信するステップと、第2のサーバがリクエストに対するレスポンスデータを第1のサーバに送信するステップと、第1のサーバが第2のサーバからのレスポンスデータをクライアントに送信するステップと、を備える。第1のサーバは、クライアントからのカスタマイズ情報に基づいて第2のサーバから受信したレスポンスデータに対してカスタマイズを適用し、カスタマイズを適用したレスポンスデータをクライアントへ送信し、クライアントは、カスタマイズを適用したレスポンスデータを表示する。   In order to solve the above problems, the present invention provides a system including a client, a first server connected to the client via a network, and a second server connected to the first server via the network. The method of providing data in claim 1, wherein the client transmits a request to the first server, the first server transmits a request from the client to the second server, and the second server responds to the request. Transmitting the data to the first server; and transmitting the response data from the second server to the client. The first server applies the customization to the response data received from the second server based on the customization information from the client, sends the response data to which the customization is applied to the client, and the client applies the customization. Display response data.

本発明によれば、ネットワーク負荷を軽減したWebアプリのカスタマイズが可能となる。   According to the present invention, it is possible to customize a web application with a reduced network load.

本発明の実施形態に係るシステムの構成図。1 is a configuration diagram of a system according to an embodiment of the present invention. コンピュータの構成図。The block diagram of a computer. カスタマイズ適用時の処理の流れを示す図。The figure which shows the flow of a process at the time of customization application. レスポンス加工処理の流れを示す図。The figure which shows the flow of a response process. カスタマイズ情報格納リポジトリを示す図。The figure which shows a customization information storage repository. クライアント処理の流れを示す図。The figure which shows the flow of a client process. プロキシサーバを介したWebページ表示イメージを示す図。The figure which shows the web page display image through a proxy server. カスタマイズエディタ表示イメージを示す図。The figure which shows a customization editor display image. カスタマイズ時の処理の流れを示す図。The figure which shows the flow of a process at the time of customization. 確定確認イメージを示す図。The figure which shows a confirmation image. カスタマイズ種類の例を示す図。The figure which shows the example of a customization type. カスタマイズ機能追加イメージを示す図。The figure which shows the customization function addition image. 追加したカスタマイズ機能のイメージを示す図。The figure which shows the image of the added customization function.

本発明の実施形態では、WebブラウザとWebアプリを公開するWebサーバの間にプロキシサーバを配し、WebブラウザからWebサーバへのリクエストと、Webサーバからのレスポンスがプロキシサーバを経由するようにする。   In the embodiment of the present invention, a proxy server is arranged between a web browser and a web server that publishes a web application so that requests from the web browser to the web server and responses from the web server pass through the proxy server. .

プロキシサーバがレスポンスを受けると、そのレスポンスに適用すべきカスタマイズ情報が存在するかどうかを確認し、存在しているならばカスタマイズを実施する。各カスタマイズ情報はサーバ、クライアントのどちらで実施するかを示す属性を持つ。   When the proxy server receives the response, it confirms whether there is customization information to be applied to the response, and if it exists, performs customization. Each customization information has an attribute indicating whether it is executed by the server or the client.

サーバ側で実施するカスタマイズ情報であった場合、プロキシサーバで受け取ったレスポンスに対してカスタマイズを施す。   If the customization information is implemented on the server side, the response received by the proxy server is customized.

クライアント側で実行するカスタマイズ情報であった場合、カスタマイズを施すプログラムをレスポンスに埋め込みWebブラウザに送出する。   If the customization information is executed on the client side, the customization program is embedded in the response and sent to the Web browser.

また、レスポンスに対してユーザがさらに変更を加えることができるようにカスタマイズエディタプログラムもレスポンスに埋め込む。   A customized editor program is also embedded in the response so that the user can make further changes to the response.

Webブラウザでは、レスポンスを画面に表示する。レスポンスにクライアント側で実行すべきカスタマイズ情報が含まれているならばそのカスタマイズを実行する。また、カスタマイズエディタのプログラムも実行し、ユーザがカスタマイズ情報を作成できるようにする。   In the Web browser, the response is displayed on the screen. If the response contains customization information that should be executed on the client side, the customization is executed. It also runs a customization editor program to allow the user to create customization information.

また、カスタマイズエディタで作成したカスタマイズ情報に異常があった場合、そのカスタマイズ情報を適用するとカスタマイズエディタでどのような操作も受け付けなくなってしまうことがある。そこで、カスタマイズ情報に状態も含め、カスタマイズ情報を追加又は修正した直後はテスト状態とし、最初にそのカスタマイズ情報を適用するときは無効状態にする。同時に、テスト状態のカスタマイズ情報を適用した場合はレスポンスにこのカスタマイズ情報を確定して良いかどうかを確認する機能も含める。ユーザが確定すると、そのカスタマイズ情報の状態は有効となる。このようにすることで、異常なカスタマイズ情報が適用される回数を一回のみとする。   Also, if there is an abnormality in the customization information created with the customization editor, any operation may not be accepted by the customization editor if the customization information is applied. Therefore, the status is included in the customization information, and immediately after adding or correcting the customization information, the test status is set. At the same time, when the customization information of the test state is applied, a function for confirming whether or not the customization information can be confirmed is included in the response. When the user is confirmed, the state of the customization information becomes valid. In this way, the number of times that the abnormal customization information is applied is limited to one time.

従来はカスタマイズ情報の適用先を特定するためにURLを用いていたが、Webアプリの場合、ユーザからのデータ入力によりページが増加するため、予めURLを知ることは難しいという問題があったが、適用先のURLを正規表現で表したり、適用先のページの中に特定の要素が存在するか否か等の特徴を判定する条件を与えたりすることで適用先を柔軟に表現することを可能とする。   In the past, URLs were used to specify the application destination of customization information, but in the case of web applications, there was a problem that it was difficult to know the URL in advance because the number of pages increased due to data input from the user. It is possible to express the application destination flexibly by expressing the URL of the application destination with a regular expression or by giving conditions for judging whether or not a specific element exists in the application destination page. And

図1に本発明の実施形態の構成図を示す。Webブラウザ111が動作するWebブラウザ処理装置110、Webサーバ131が稼動するWebサーバ処理装置130、プロキシサーバ121が稼動するプロキシサーバ処理装置120が各々ネットワーク100を介して接続している。   FIG. 1 shows a configuration diagram of an embodiment of the present invention. A web browser processing device 110 on which the web browser 111 operates, a web server processing device 130 on which the web server 131 operates, and a proxy server processing device 120 on which the proxy server 121 operates are connected via the network 100.

プロキシサーバ121はWebサーバ131が返すレスポンスを加工するレスポンス加工処理部122、ユーザが予め作成したカスタマイズ情報を格納するカスタマイズ情報格納リポジトリ123、レスポンスに埋め込んでユーザがカスタマイズ情報を作成可能とするカスタマイズエディタプログラム124がある。   The proxy server 121 is a response processing unit 122 that processes the response returned by the Web server 131, a customization information storage repository 123 that stores customization information created in advance by the user, and a customization editor that allows the user to create customization information by embedding it in the response There is program 124.

Webサーバ131は、ユーザの入力を受け付けたり、動的にページを生成したりするWebアプリであっても良い。   The Web server 131 may be a Web application that accepts user input or dynamically generates a page.

各処理装置、即ちWebブラウザ処理装置110、プロキシサーバ処理装置120、Webサーバ処理装置130は、図2に示すコンピュータ200の構成を備えており、Webブラウザ111、Webサーバ131、プロキシサーバ121はプログラムで実現する。   Each processing device, that is, the Web browser processing device 110, the proxy server processing device 120, and the Web server processing device 130 has the configuration of the computer 200 shown in FIG. 2, and the Web browser 111, the Web server 131, and the proxy server 121 are programs. Realize with.

図2に一般的なコンピュータ200の構成を示す。ハードディスク203には,プログラムやデータを保存する。ここではハードディスクを例に説明するが、磁気ディスクや不揮発性メモリなどの各種記憶装置であればこれに限られない。中央処理装置202では,これらハードディスク203に蓄えたプログラムやデータを必要に応じてメモリ201に読み込み、中央処理装置202を用いて処理する。ビデオメモリ204は,表示に用いるメモリであり,ビデオメモリ204への変更は,表示装置205に反映する。通信装置206は、ネットワークを介して別のコンピュータと通信するために利用する。通信により、得られたプログラム又はデータは中央処理装置202を用いてハードディスク203に保存したり、メモリ201に格納して処理したりする。以下の図面で説明する本実施形態の処理動作も、各処理装置における中央処理装置202が各処理動作を実行するプログラムやデータをメモリ201に読み込み、必要な処理を実行したり、通信装置206を介して他の処理装置と通信する。   FIG. 2 shows a configuration of a general computer 200. The hard disk 203 stores programs and data. Here, a hard disk will be described as an example. In the central processing unit 202, the programs and data stored in the hard disk 203 are read into the memory 201 as necessary, and are processed using the central processing unit 202. The video memory 204 is a memory used for display, and changes to the video memory 204 are reflected in the display device 205. The communication device 206 is used to communicate with another computer via a network. The program or data obtained by communication is stored in the hard disk 203 using the central processing unit 202 or stored in the memory 201 for processing. In the processing operation of the present embodiment described in the following drawings, the central processing unit 202 in each processing device reads a program and data for executing each processing operation into the memory 201, executes necessary processing, and sets the communication device 206. To communicate with other processing devices.

なお、図1のレスポンス加工処理部122はハードウェアでもソフトウェアでも良い。ソフトウェアである場合には、上述のように図2の中央処理装置202によって必要な処理が実行される。また、カスタマイズエディタプログラム124も図2の中央処理装置202によって必要な処理が実行される。カスタマイズ情報格納リポジトリ123は、記憶装置であるハードディスク203に格納される。   The response processing unit 122 in FIG. 1 may be hardware or software. In the case of software, necessary processing is executed by the central processing unit 202 of FIG. 2 as described above. Also, the customization editor program 124 executes necessary processing by the central processing unit 202 of FIG. The customization information storage repository 123 is stored in the hard disk 203 as a storage device.

また、図1では簡単にするために各々Webブラウザ111、Webサーバ131、プロキシサーバ121が一つずつであるシステムを示しているが、通常のWebシステムでは各々複数存在することが一般的である。Webサーバ131が複数存在するときは、各Webサーバ131に対してプロキシサーバ121を配しても良いし、一つのプロキシサーバ121を通して複数のWebサーバ131にアクセスするように配置しても良い。一つのプロキシサーバ121を通して複数のWebサーバ131にアクセスする場合には、アクセス先となるWebサーバ131に関する情報がプロキシサーバ121に送信され、当該情報に基づいてプロキシサーバ121からWebサーバ131へのアクセスが実行される。   Further, FIG. 1 shows a system in which there is one Web browser 111, one Web server 131, and one proxy server 121 for the sake of simplicity. . When there are a plurality of Web servers 131, the proxy server 121 may be arranged for each Web server 131, or the plurality of Web servers 131 may be accessed through one proxy server 121. When accessing a plurality of Web servers 131 through one proxy server 121, information about the Web server 131 to be accessed is transmitted to the proxy server 121, and the proxy server 121 accesses the Web server 131 based on the information. Is executed.

また、図1ではWebブラウザ111、Webサーバ131、プロキシサーバ121を別々の処理装置で稼動させているが、同じ処理装置上で稼動させても良い。   In FIG. 1, the web browser 111, the web server 131, and the proxy server 121 are operated on different processing devices, but may be operated on the same processing device.

プロキシサーバ121はリバースプロキシサーバとして稼動しても良いし、フォワードプロキシサーバとして稼動しても良い。   The proxy server 121 may operate as a reverse proxy server or may operate as a forward proxy server.

リバースプロキシサーバではWebサーバへの振り分けの設定を予め施しておき、Webブラウザ111がリバースプロキシサーバのIPアドレス宛にリクエストを出すと適切なWebサーバ131にリクエストを転送し、Webサーバ131からのレスポンスをWebブラウザ111に戻す。プロキシサーバ121ではリクエスト又はレスポンスに対して適当な処理を施すことができる。   In the reverse proxy server, the distribution settings to the web server are set in advance. When the web browser 111 issues a request to the IP address of the reverse proxy server, the request is forwarded to the appropriate web server 131 and the response from the web server 131 is sent. Is returned to the Web browser 111. The proxy server 121 can perform appropriate processing on the request or response.

フォワードプロキシサーバではWebブラウザ111にフォワードプロキシサーバのIPアドレスを設定し、Webブラウザ111からWebサーバ131に出すリクエスト、Webサーバ131から受けるレスポンスは自動的にフォワードプロキシサーバを経由する。フォワードプロキシサーバでは、リクエスト、レスポンスに対して適当な処理を実施することができる。図3にWebサーバ131が返すレスポンスに対して適用するカスタマイズ情報があるときに、そのカスタマイズ情報を適用する処理の流れを示す。   In the forward proxy server, the IP address of the forward proxy server is set in the Web browser 111, and a request issued from the Web browser 111 to the Web server 131 and a response received from the Web server 131 are automatically passed through the forward proxy server. The forward proxy server can perform appropriate processing for requests and responses. FIG. 3 shows the flow of processing for applying the customization information when there is customization information to be applied to the response returned by the Web server 131.

事前にWebサーバ131を利用するユーザ301が誰であるかを、ログイン処理等を用いて判別しているものとする。   It is assumed that the user 301 who uses the Web server 131 is determined in advance using a login process or the like.

ユーザ301がリンククリック等302を行うと、Webブラウザ111はプロキシサーバ121にリクエスト303を送出し、プロキシサーバ121も同様にリクエスト304をWebサーバ131に送出する。Webサーバ131にリクエスト304を送出する。Webサーバ131がリクエスト304を受け取ると、リクエスト304に応じた処理305を実施し、レスポンス306を返す。   When the user 301 performs 302 such as a link click, the Web browser 111 sends a request 303 to the proxy server 121, and the proxy server 121 sends a request 304 to the Web server 131 in the same manner. A request 304 is sent to the Web server 131. When the Web server 131 receives the request 304, the process 305 corresponding to the request 304 is performed and a response 306 is returned.

プロキシサーバ121がレスポンス306を受けると、そのレスポンス306に対してレスポンス加工処理307を実施し、加工したレスポンス308を返す。   When the proxy server 121 receives the response 306, the response processing 307 is performed on the response 306, and the processed response 308 is returned.

Webブラウザ111が加工したレスポンス308を受け取るとクライアント処理309としてレスポンスに含まれるHTMLを表示したり含まれるプログラムを実行したりする。Webブラウザ111はその結果を表示310し、ユーザ301は閲覧する。   When the Web browser 111 receives the processed response 308, the client processing 309 displays the HTML included in the response or executes the included program. The Web browser 111 displays the result 310, and the user 301 browses.

図4にレスポンス加工処理307の流れを示す。   FIG. 4 shows the flow of the response processing process 307.

最初にWebサーバ131が返したレスポンスを解析する(401)。Webサーバ131はレスポンスとしてHTMLデータを返すことが一般的であるが、このHTMLデータはテキストデータであり、プログラムで加工するのが困難である。そこで、HTMLデータに含まれる要素をDocument Object Model(DOM)等のオブジェクトにすることで加工し易くする。ここではDOMにしたこととして説明する。   First, the response returned by the Web server 131 is analyzed (401). The Web server 131 generally returns HTML data as a response, but this HTML data is text data and is difficult to process with a program. Therefore, it is easy to process the elements included in the HTML data by making them objects such as Document Object Model (DOM). Here, it explains as having done in DOM.

次に、カスタマイズ情報格納リポジトリ123からカスタマイズ情報を検索する(402)。以下のステップの説明に先立ち、カスタマイズ情報について図5を用いて説明する。   Next, the customization information is searched from the customization information storage repository 123 (402). Prior to the description of the following steps, the customization information will be described with reference to FIG.

カスタマイズ情報は、Webサーバ131のレスポンスをどのようにカスタマイズすべきかを示す情報である。カスタマイズ情報は図5に示すカスタマイズ情報格納リポジトリ123に格納する。図5の各行が一つのカスタマイズ情報である。各カスタマイズ情報は、ID501、適用条件502、適用組織・ユーザ503、カスタマイズ内容504、状態505、実行箇所506を持つ。   The customization information is information indicating how the response of the Web server 131 should be customized. The customization information is stored in the customization information storage repository 123 shown in FIG. Each line in FIG. 5 is a piece of customization information. Each customization information has an ID 501, an application condition 502, an application organization / user 503, customization contents 504, a state 505, and an execution location 506.

ID501はカスタマイズ情報を一意に識別するIDである。   ID 501 is an ID for uniquely identifying customization information.

適用条件502は、カスタマイズ内容504を適用するHTMLの条件を格納する。以下のような適用条件が考えられる。   The application condition 502 stores an HTML condition to which the customization content 504 is applied. The following application conditions can be considered.

(1)リクエスト先URLの条件・・・リクエスト先のURLを適用条件として利用する。URLは固定で記述するだけでなく、正規表現で記述し、その正規表現に合うURLのときにだけカスタマイズ内容を適用するようにしても良い。   (1) Request destination URL condition: Request destination URL is used as an application condition. The URL may be described not only by a fixed expression but also by a regular expression, and the customization contents may be applied only when the URL matches the regular expression.

(2)HTMLに含まれる要素の有無・・・HTMLに含まれる要素の有無を適用条件として利用する。例えば、HTML内のIDがtable_idである表が存在することを条件とする場合、その要素を取得するためにXPathを用い、存在の有無を確認する方法が考えられる。XPathの例としては、例えば「//table[@id=’table_id’]」などが考えられる。   (2) Presence / absence of elements contained in HTML: Presence / absence of elements contained in HTML is used as an application condition. For example, if there is a condition that there is a table whose ID in the HTML is table_id, there is a method of using XPath to acquire the element and checking the existence. As an example of XPath, for example, “// table [@ id =’ table_id ’]” can be considered.

(3)HTMLに含まれる要素の値・・・HTMLに含まれる要素の値が特定の値だったときにのみカスタマイズ内容を適用する。HTMLに含まれる要素の値を取得する方法は上記同様XPathを用いる方法が考えられる。上記複数の条件をand/orで組み合わせて適用条件としても良い。   (3) Value of element included in HTML: The customization content is applied only when the value of the element included in HTML is a specific value. As a method for acquiring the value of an element included in HTML, a method using XPath can be considered as described above. The plurality of conditions may be combined with and / or as application conditions.

適用組織・ユーザ503は、Webサーバ131のユーザ301の属性に応じてカスタマイズ内容を適用するかどうかを判定する。ユーザ301の属性としては、例えば、組織名、部・課名、ユーザ名などが考えられる。   The application organization / user 503 determines whether to apply the customization content according to the attribute of the user 301 of the Web server 131. As attributes of the user 301, for example, an organization name, a department / section name, a user name, and the like are conceivable.

各属性が特定の値のときにカスタマイズ内容を適用するように設定する。また、各ユーザ301の上記ユーザ属性は、別途ユーザ管理リポジトリ等を用いて管理していることを想定する。   Set to apply customization when each attribute has a specific value. Further, it is assumed that the user attribute of each user 301 is managed separately using a user management repository or the like.

カスタマイズ内容504は、HTMLデータに対するカスタマイズの内容である。カスタマイズ内容504は、実行可能なプログラムで記述しても良いし、カスタマイズ定義として記述して別のプログラムでカスタマイズ定義を解釈しながらカスタマイズを実施するように構成しても良い。   The customization content 504 is customization content for HTML data. The customization content 504 may be described by an executable program, or may be configured as a customization definition and customized while interpreting the customization definition by another program.

状態505は、カスタマイズ内容504の適用状態を示しており、以下のような状態505を持つことが考えられる。   A state 505 indicates an application state of the customization content 504, and it is conceivable to have the following state 505.

(1)test・・・テスト状態であることを表す。カスタマイズ情報を新規に作成した直後はテスト状態となる。詳しくは後述する。   (1) test: represents a test state. Immediately after creating new customization information, it is in a test state. Details will be described later.

(2)available・・・有効状態であることを表す。   (2) available: Indicates that the state is valid.

(3)disable・・・無効状態であることを表す。   (3) disable: Indicates an invalid state.

なお、どのように状態が移り変わるかについては後述する。   Note that how the state changes will be described later.

実行箇所506はカスタマイズを実行する箇所を表す。以下が考えられる。   An execution location 506 represents a location where customization is executed. The following can be considered.

(1)server・・・プロキシサーバ121で実行することを表す。Webサーバ131が返すHTML内に存在する要素をカスタマイズする場合、serverを設定すれば良い。   (1) server... Indicates execution by the proxy server 121. When customizing an element that exists in the HTML returned by the Web server 131, server may be set.

(2)client・・・Webブラウザ111で実行するカスタマイズ情報であることを表す。Webブラウザ111でHTML内に含まれるプログラムを実行したときに出現する要素をカスタマイズする場合、clientを設定し、その要素が出現後、カスタマイズを実施するようにする。   (2) client: represents customization information executed by the Web browser 111. When customizing an element that appears when a program included in HTML is executed by the Web browser 111, client is set, and customization is performed after the element appears.

また、server、clientを明示的に記述するのではなく、条件で記述する方法も考えられる。例えば、URLが特定の正規表現に合致するとき、サーバプロキシで受け取ったレスポンスに特定の要素が存在するとき、特定の要素が特定の値を持つとき、等の条件を組み合わせ、条件が成り立つ場合はserverで処理し、成り立たない場合はclientとして処理する、等と、プロキシサーバ121内で判定しても良い。   In addition, it is possible to write by conditions instead of explicitly describing server and client. For example, when a URL matches a specific regular expression, a specific element exists in the response received by the server proxy, a specific element has a specific value, etc. It may be determined in the proxy server 121 that processing is performed by the server, and processing is performed as client if it does not hold.

ここで、図4の説明に戻る。カスタマイズ情報を検索する処理402では、解析したレスポンスデータ、利用しているユーザ301、状態505を参照し、適用すべきカスタマイズ情報を探す処理である。   Here, the description returns to FIG. The processing 402 for searching for customization information is processing for searching for customized information to be applied by referring to the analyzed response data, the user 301 being used, and the state 505.

次に、カスタマイズ情報格納リポジトリ123内の各行を取得する(403)。具体的には次の3つの判定を実施し、全てに適合するカスタマイズ情報を取得する。即ち、URLや解析したレスポンスが適用条件に適合するかを評価し判定、現在ログインしているユーザ名とユーザの属性情報が、適用組織・ユーザに適合するかを評価し判定、状態がtest、availableであるかを判定、の3つの判定である。全てのカスタマイズ情報について検索処理を終えたら、取得した各カスタマイズ情報について以下の処理を実施する。   Next, each row in the customization information storage repository 123 is acquired (403). Specifically, the following three determinations are performed, and customization information that fits all is obtained. In other words, it is determined by evaluating whether the URL or the analyzed response matches the application condition, and whether the currently logged-in user name and the user attribute information are compatible with the application organization / user is determined, the state is test, It is three judgments of judging whether it is available. When the search processing is completed for all customization information, the following processing is performed for each acquired customization information.

サーバ側カスタマイズ情報であるかどうかを判定し(404)、サーバ側カスタマイズ情報であればサーバ側カスタマイズを実行する(405)。カスタマイズを実行すると、レスポンスを解析する処理401で作成したDOMを変更することになる。   It is determined whether the server-side customization information is present (404). If the server-side customization information is obtained, server-side customization is executed (405). When customization is executed, the DOM created in the process 401 for analyzing the response is changed.

次に、クライアント側カスタマイズ情報が存在するか判定し(406)、存在する場合にはDOMにクライアント側カスタマイズ情報を埋め込む(407)。カスタマイズ情報の状態がtestであるかを判定し(408)、testであれば、カスタマイズ情報可能リポジトリの本カスタマイズ情報の状態をdisableにする処理409を実施し、確定確認を行う処理を埋め込む(410)。確定確認については図10の画面を用いて後で説明する。   Next, it is determined whether or not the client side customization information exists (406). If it exists, the client side customization information is embedded in the DOM (407). It is determined whether the status of the customization information is test (408). If it is test, the processing 409 for disabling the status of the customization information in the customizable information repository is performed, and the processing for confirming the confirmation is embedded (410) ). Confirmation will be described later using the screen of FIG.

検索した結果得られた全カスタマイズ情報について処理し終えたなら(411)、DOMにテキストエディタプログラムを埋め込む(412)。カスタマイズエディタプログラム124はWebブラウザで実行可能なJavaScript(登録商標)等のプログラムで実現する。   When all the customization information obtained as a result of the search has been processed (411), a text editor program is embedded in the DOM (412). The customization editor program 124 is realized by a program such as JavaScript (registered trademark) that can be executed by a Web browser.

最後に、DOMをテキストデータに変換する処理413を実行し、Webブラウザに加工したレスポンスデータ308を返す。   Finally, processing 413 for converting the DOM into text data is executed, and response data 308 processed in the Web browser is returned.

図6にクライアント処理の流れを示す。クライアントはWebブラウザであり、HTMLのレンダリング機能及びJavaScript(登録商標)の実行機能を持つものとする。まず、HTMLのレンダリング機能を用い、レスポンスに含まれるHTMLを表示する(601)。Webサーバ131が返す本来のレスポンスにJavaScript(登録商標)コードが含まれているならそれも実行することでWebブラウザ内にページを表示する。   Fig. 6 shows the flow of client processing. The client is a Web browser and has an HTML rendering function and a JavaScript (registered trademark) execution function. First, the HTML included in the response is displayed using the HTML rendering function (601). If a JavaScript (registered trademark) code is included in the original response returned by the Web server 131, the page is displayed in the Web browser by executing it.

レスポンスにクライアント側カスタマイズ情報が存在するなら(602)、JavaScript(登録商標)の実行機能を用いてクライアント側カスタマイズを実行する(603)ことにより、Webブラウザに表示したページに修正を加える。最後に、カスタマイズエディタを実行する(604)。カスタマイズエディタもJavaScript(登録商標)により実現されていることを想定する。   If the client side customization information exists in the response (602), the client side customization is executed using the JavaScript (registered trademark) execution function (603), thereby correcting the page displayed on the Web browser. Finally, the customization editor is executed (604). It is assumed that the customization editor is also realized by JavaScript (registered trademark).

以上の処理の結果、生成されるWebページの表示イメージを図7に示す。ページの右下にカスタマイズボタン701を新たに追加している。これがカスタマイズエディタへの入り口となる。このようにカスタマイズエディタへの入り口は普段は邪魔にならないように目立たない位置に配置する。   A display image of the Web page generated as a result of the above processing is shown in FIG. A customize button 701 is newly added at the bottom right of the page. This is the entrance to the customization editor. In this way, the entrance to the customization editor is usually placed in an inconspicuous position so as not to get in the way.

カスタマイズボタン701を押すと、図8に示すようにカスタマイズメニュー801を表示する。カスタマイズの様子を、社員情報一覧テーブル806内の一番右の操作列を削除する作業を例に説明する。   When the customize button 701 is pressed, a customize menu 801 is displayed as shown in FIG. The state of customization will be described by taking as an example the operation of deleting the rightmost operation column in the employee information list table 806.

カスタマイズメニュー801の「テーブル変更」のサブメニューから「列の削除」を選択すると、列の削除ダイアログ802を表示する。削除したい範囲803を選択し、「適用条件」、「実行箇所」、「公開範囲」を設定する。   When “delete column” is selected from the “change table” submenu of the customize menu 801, a delete column dialog 802 is displayed. The range 803 to be deleted is selected, and “application condition”, “execution location”, and “publication range” are set.

OKボタン804を押下したときの処理の流れを図9に示す。   FIG. 9 shows the flow of processing when the OK button 804 is pressed.

カスタマイズ指示901を出すと、Webブラウザ111からユーザ301が設定したカスタマイズ情報902をプロキシサーバ121に送出する。   When the customization instruction 901 is issued, the customization information 902 set by the user 301 is transmitted from the Web browser 111 to the proxy server 121.

プロキシサーバ121はカスタマイズ情報格納処理903を行いカスタマイズ情報格納リポジトリ123に、カスタマイズ情報を格納する。このとき、カスタマイズ情報の状態はtestとする。   The proxy server 121 performs customization information storage processing 903 and stores the customization information in the customization information storage repository 123. At this time, the state of the customization information is set to test.

次に、Webブラウザ111で現在表示しているページをリロードする。現在と同じURLに対してWebブラウザからリクエスト303を送出する。プロキシサーバ121を介してWebサーバにリクエスト304が到達すると、Webサーバ131における処理305を行い、レスポンス306を返す。プロキシサーバ121がレスポンス306を受け取ると、レスポンス加工処理307を実施する。レスポンス加工処理は図4と同様である。   Next, the page currently displayed on the Web browser 111 is reloaded. Request 303 is sent from the Web browser to the same URL as the current one. When the request 304 reaches the Web server via the proxy server 121, the processing 305 in the Web server 131 is performed and a response 306 is returned. When the proxy server 121 receives the response 306, a response processing process 307 is performed. Response processing is the same as in FIG.

今回は、状態がtestであるカスタマイズ情報が含まれており、カスタマイズ情報を検索する処理において、状態がtestであるカスタマイズ情報を取得したらそのカスタマイズ情報の状態をdisableにする。   This time, customization information whose state is test is included. In the process of searching for customization information, if customization information whose state is test is acquired, the state of the customization information is disabled.

次に、加工したレスポンス308をWebブラウザ111に送出し、図6で示したクライアント処理310を実施することでユーザに対してカスタマイズ結果を表示310する。(確定ボタン押下904以降のシーケンスについての説明は後述する。)
カスタマイズ結果、表示する画面の例を図10に示す。削除を指定した列803を削除したページを表示し、「カスタマイズを確定してよろしいですか?」というメッセージを表示した確定確認ダイアログ1001を表示することで確定確認を行う。キャンセルボタンを押すと現在のページをリロードする。リロード時は列の削除のカスタマイズがdisable状態であるため、カスタマイズは適用されない。
Next, the processed response 308 is sent to the Web browser 111, and the client process 310 shown in FIG. 6 is executed to display the customization result 310 for the user. (The sequence after the confirmation button is pressed 904 will be described later.)
An example of the screen to be displayed as a result of customization is shown in FIG. Confirmation confirmation is performed by displaying the page in which the column 803 designated to be deleted is deleted and displaying a confirmation confirmation dialog 1001 displaying a message “Are you sure you want to confirm customization?”. Press the cancel button to reload the current page. When reloading, column deletion customization is disabled, so customization is not applied.

図9後半部分を用いて、確定ボタン押下時の処理を説明する。確定ボタン押下904を行うとWebブラウザ111は確定指示905をプロキシサーバに対して実施する。確定したいカスタマイズ情報がどれであるのかを示すIDが同時に送信されるように設定してあるものとする。プロキシサーバ121では、確定処理として、カスタマイズ情報格納リポジトリ123のID501に対応するカスタマイズ情報の状態505をavailableに変更する。   The process when the confirm button is pressed will be described using the latter half of FIG. When the confirmation button is pressed 904, the Web browser 111 executes a confirmation instruction 905 for the proxy server. It is assumed that an ID indicating which customization information to be confirmed is transmitted at the same time. The proxy server 121 changes the status 505 of the customization information corresponding to the ID 501 of the customization information storage repository 123 as available as the confirmation process.

以上の処理により、プロキシサーバ121を通して、適用条件、適用組織・ユーザに合うページを読み込んだときに列の削除のカスタマイズが実施されるようになる。   With the above processing, column deletion customization is performed when a page suitable for the application condition and application organization / user is read through the proxy server 121.

これまでは、Webサーバ131が出力したレスポンスに対するカスタマイズのみを説明したが、プロキシサーバ121がリクエスト加工処理部を持ち、リクエストに対してカスタマイズを実施しても良い。例えば、Webブラウザ111でユーザ301が入力したデータを、プロキシサーバ121で適切に変換し、Webサーバ131に送信する処理が考えられる。具体例として、ユーザはWebブラウザ111に、社員の氏名を入力すると、リクエスト加工処理部で社員の氏名を社員番号に変換してWebサーバ131に送出し、Webサーバ131では社員番号を受け付けて処理する等が考えられる。   So far, only the customization for the response output by the Web server 131 has been described. However, the proxy server 121 may have a request processing unit and may customize the request. For example, processing in which data input by the user 301 in the Web browser 111 is appropriately converted by the proxy server 121 and transmitted to the Web server 131 can be considered. As a specific example, when a user enters the employee's name in the Web browser 111, the request processing unit converts the employee's name into an employee number and sends it to the Web server 131. The Web server 131 accepts the employee number for processing. It can be considered.

なお、ここではWebブラウザ111にWebサーバ131からのレスポンスを表示させた後にカスタマイズする例を示しているが、いったんカスタマイズした後はカスタマイズ情報をプロキシサーバ121のカスタマイズ情報格納リポジトリ123に格納しておき、その後はWebブラウザ111からの設定処理をすることなく自動的にカスタマイズした内容をWebブラウザ111で表示することが可能である。   In this example, customization is performed after the response from the web server 131 is displayed on the web browser 111. However, after customization, the customization information is stored in the customization information storage repository 123 of the proxy server 121. Thereafter, it is possible to automatically display the customized content on the Web browser 111 without performing the setting process from the Web browser 111.

本実施例では、カスタマイズの例として、テーブルからの列の削除を用いて説明したが、他にも図11に示すようなカスタマイズが考えられる。   In this embodiment, as an example of customization, description has been made using deletion of a column from a table, but customization as shown in FIG. 11 is also conceivable.

図11においてカスタマイズ種類1101はカスタマイズメニュー801に表示する名前を表し、説明1102はカスタマイズの説明を表し、ユーザ設定情報1103はカスタマイズエディタを通してユーザが入力する情報を表し、例1104はカスタマイズの具体例を表す。   In FIG. 11, the customization type 1101 represents the name displayed on the customization menu 801, the description 1102 represents the description of customization, the user setting information 1103 represents information input by the user through the customization editor, and the example 1104 is a specific example of customization. To express.

各カスタマイズ種類1101について以下で説明する。   Each customization type 1101 will be described below.

文字列変更は、ページ内に存在する特定の文字列を別の文字列に変更するカスタマイズである。   The character string change is customization for changing a specific character string existing in the page to another character string.

属性変更はページ内に存在する要素の属性を変更するカスタマイズである。色やフォントサイズなどの属性を変更できる。   Attribute change is customization that changes the attributes of elements that exist in the page. You can change attributes such as color and font size.

入力フォーム変更は、ユーザからの入力を受け付ける入力フォームを変更するカスタマイズである。   The input form change is customization for changing an input form that receives input from the user.

テーブル変更は、テーブル(表)の見た目、操作性を変更するカスタマイズである。   Table change is customization that changes the appearance and operability of a table.

閲覧権限追加は、ページの閲覧権限を追加するカスタマイズである。   The addition of browsing authority is customization that adds browsing authority for a page.

カスタマイズ権限追加は、カスタマイズ機能毎に利用権限を設定するカスタマイズである。   The customization authority addition is customization for setting the use authority for each customization function.

カスタマイズ機能追加は、プログラム又は複数のカスタマイズ機能を組み合わせて新たにカスタマイズ機能を追加するカスタマイズである。   The customization function addition is customization in which a customization function is newly added by combining a program or a plurality of customization functions.

要素追加は、ページに新たな要素を追加するカスタマイズである。   Element addition is customization that adds a new element to the page.

要素削除は、ページ内の要素を削除するカスタマイズである。   Element deletion is customization that deletes an element in a page.

マッシュアップは、別のWebサーバやWebアプリから情報を取得し、カスタマイズ対象のページに埋め込むカスタマイズである。   A mashup is a customization that obtains information from another web server or web application and embeds it in the page to be customized.

プログラムは、ページのカスタマイズを実現するプログラムを記述することで実現するカスタマイズする。   The program is customized by describing a program that realizes page customization.

管理は、カスタマイズではなく、既に施したカスタマイズの状態を変更したり、公開範囲を変更したり、カスタマイズ情報を削除したりする機能である。   Management is not a customization, but a function that changes the state of customization already applied, changes the scope of disclosure, and deletes customization information.

カスタマイズ機能追加についてより詳細に説明する。カスタマイズ機能追加イメージを図12に示す。   The customization function addition will be described in more detail. Figure 12 shows an image of adding the customization function.

画面のテーマを設定するカスタマイズ機能を作成する様子を例に説明する。テーマとは画面の色調を表し、例えば春を選択すると画面の背景をピンクにし、文字を赤に変更する等の変更がなされるものとする。   An example of creating a customization function for setting a screen theme will be described. The theme represents the color of the screen. For example, when spring is selected, the background of the screen is changed to pink and the characters are changed to red.

カスタマイズ機能追加ダイアログ1200を表示し、ユーザ301はカスタマイズ機能を定義する。メニュー名1201には、どのような名前でカスタマイズメニュー801に追加するのかを設定する。ユーザ設定項目1202は、このカスタマイズ機能を利用するユーザ301が追加するカスタマイズ機能を利用するにあたって設定する項目を表す。項目名、入力フォーム、変数名、型で構成する。項目名は、質問の名前である。入力フォームでは、ユーザからの入力方法を指定する。本例では、春、夏、秋、冬の何れかを選択できるように設定している。変数名は、カスタマイズを実行するプログラムで利用するときの変数名である。型は入力するデータの型である。   The customization function addition dialog 1200 is displayed, and the user 301 defines the customization function. In the menu name 1201, a name to be added to the customization menu 801 is set. A user setting item 1202 represents an item to be set when using the customization function added by the user 301 who uses this customization function. Consists of item name, input form, variable name, and type. The item name is the name of the question. The input form specifies the input method from the user. In this example, it is set so that any one of spring, summer, autumn, and winter can be selected. The variable name is a variable name when used in a program that executes customization. The type is the type of data to be input.

カスタマイズプログラム1203はカスタマイズプログラムを設定する欄であり、ファイルで指定することを想定する。ここを編集可能なテキストエリア等にすることによりカスタマイズ機能追加ダイアログ1200内で直接コードを変更する方法も考えられる。   The customization program 1203 is a column for setting a customization program, and is assumed to be specified by a file. A method of changing the code directly in the customization function addition dialog 1200 by making this an editable text area or the like is also conceivable.

既存のカスタマイズ機能をプログラムで容易に利用できるライブラリとして提供することで簡単にカスタマイズ機能を作成できるようにする。今回は、属性変更によりHTMLの各要素の背景色及び、各文字の色を変更するため、カスタマイズプログラムから既存の属性変更機能を簡単に活用できるようにライブラリ化しておくと良い。   The customization function can be easily created by providing the existing customization function as a library that can be easily used by the program. This time, since the background color of each element of HTML and the color of each character are changed by changing the attribute, it is better to make a library so that the existing attribute changing function can be easily used from the customization program.

作成したカスタマイズ機能を登録すると、図13に示すようにカスタマイズメニュー801にテーマ変更メニュー1302を追加し、これを選択するとテーマ変更ダイアログ1300が出現する。テーマ変更ダイアログ1300では、設定項目1202の設定に従って春、夏、秋、冬を選択する入力フォーム1301が出現する。適当なテーマを選択してOKボタン1303を押下するとテーマが変更され、ページの彩色が変わる。   When the created customization function is registered, a theme change menu 1302 is added to the customize menu 801 as shown in FIG. 13, and when this is selected, a theme change dialog 1300 appears. In the theme change dialog 1300, an input form 1301 for selecting spring, summer, autumn, and winter appears according to the setting of the setting item 1202. When an appropriate theme is selected and the OK button 1303 is pressed, the theme is changed and the coloring of the page is changed.

以上のように、本発明の実施形態により、既存のアプリをカスタマイズ可能にすることができる。さらに、プロキシサーバとWebブラウザのどちらでもカスタマイズを実施可能とすることで、従来Webブラウザで行っていたカスタマイズの量をなくす又は減らすことができるため、Webブラウザで一度表示した要素に変更を加える場合に起こりがちな画面のちらつきを防ぐことができる。   As described above, according to the embodiment of the present invention, an existing application can be customized. In addition, by enabling customization on both the proxy server and the Web browser, the amount of customization that was previously performed on the Web browser can be eliminated or reduced. The screen flickering that tends to occur can be prevented.

また、Webブラウザにカスタマイズのために必要な情報をプロキシサーバで埋め込んだ上でWebブラウザにレスポンスを返すため、従来技術に比べネットワーク負荷を軽減できる。   In addition, the information required for customization in the Web browser is embedded in the proxy server and the response is returned to the Web browser, so the network load can be reduced compared to the conventional technology.

また、カスタマイズ情報の状態を管理して、異常があるカスタマイズ情報が適用されることが一回のみとすることで、容易に異常状態から復帰できるようになる。   In addition, by managing the status of the customization information and applying the customized information having an abnormality only once, it is possible to easily recover from the abnormal state.

さらに、カスタマイズの適用先を柔軟に表現できるようにすることで様々なWebアプリのカスタマイズに適用可能となる。   Furthermore, it is possible to apply to customization of various Web applications by allowing the application destination of customization to be expressed flexibly.

100 ネットワーク
110 Webブラウザ処理装置
111 Webブラウザ
120 プロキシサーバ処理装置
121 プロキシサーバ
122 レスポンス加工処理部
123 カスタマイズ情報格納リポジトリ
124 カスタマイズエディタプログラム
130 Webサーバ処理装置
131 Webサーバ
200 コンピュータ
201 メモリ
202 中央処理装置
203 ハードディスク
204 ビデオメモリ
205 表示装置
206 通信装置
501 ID欄
502 適用条件欄
503 適用組織・ユーザ欄
504 カスタマイズ内容欄
505 状態欄
506 実行箇所欄
701 カスタマイズボタン
801 カスタマイズメニュー
802 列の削除ダイアログ
803 削除する範囲
804 OKボタン
805 キャンセルボタン
1001 確定確認ダイアログ
1002 確定ボタン
1003 キャンセルボタン
1200 カスタマイズ機能追加ダイアログ
1201 メニュー名欄
1202 ユーザ設定項目欄
1203 カスタマイズプログラム設定欄
1204 OKボタン
1205 キャンセルボタン
1300 テーマ変更ダイアログ
1301 テーマ名選択
1302 テーマ変更メニュー
1303 OKボタン
1304 キャンセルボタン
100 network
110 Web browser processor
111 Web browser
120 Proxy server processing unit
121 Proxy server
122 Response processing section
123 Customized information storage repository
124 Customized editor program
130 Web server processor
131 Web server
200 computers
201 memory
202 Central processing unit
203 hard disk
204 Video memory
205 Display device
206 Communication equipment
501 ID field
502 Applicable condition column
503 Applicable organization / user field
504 Customized content field
505 Status column
506 Execution location column
701 Customize button
801 Customize menu
802 Delete column dialog
803 Range to delete
804 OK button
805 Cancel button
1001 Confirmation confirmation dialog
1002 Confirm button
1003 Cancel button
1200 Customize function addition dialog
1201 Menu name field
1202 User setting item field
1203 Customized program setting field
1204 OK button
1205 Cancel button
1300 Theme change dialog
1301 Select theme name
1302 Theme change menu
1303 OK button
1304 Cancel button

Claims (14)

クライアントと、前記クライアントとネットワークを介して接続された第1のサーバと、前記第1のサーバとネットワークを介して接続された第2のサーバと、を備えるシステムにおけるデータ提供方法であって、
前記クライアントが前記第1のサーバにリクエストを送信するステップと、
前記第1のサーバが前記クライアントからのリクエストを前記第2のサーバに送信するステップと、
前記第2のサーバが前記リクエストに対するレスポンスデータを前記第1のサーバに送信するステップと、
前記第1のサーバが前記第2のサーバからのレスポンスデータを前記クライアントに送信するステップと、を備え、
前記第1のサーバは、前記クライアントからのカスタマイズ情報に基づいて前記第2のサーバから受信したレスポンスデータに対してカスタマイズを適用し、前記カスタマイズを適用したレスポンスデータを前記クライアントへ送信し、
前記クライアントは、前記カスタマイズを適用したレスポンスデータを表示することを特徴とするデータ提供方法。
A data providing method in a system comprising a client, a first server connected to the client via a network, and a second server connected to the first server via a network,
The client sending a request to the first server;
The first server sending a request from the client to the second server;
The second server sending response data to the request to the first server;
The first server sending response data from the second server to the client, and
The first server applies customization to the response data received from the second server based on customization information from the client, and sends the response data to which the customization is applied to the client;
The data providing method, wherein the client displays response data to which the customization is applied.
請求項1記載のデータ提供方法において、
前記第1のサーバは、前記クライアントから送信されたカスタマイズ情報を予め記憶し、
前記予め記憶されたカスタマイズ情報に基づいて前記第2のサーバから受信したレスポンスデータに対してカスタマイズを適用することを特徴とするデータ提供方法。
The data providing method according to claim 1,
The first server stores in advance customization information transmitted from the client,
A data providing method, wherein customization is applied to response data received from the second server based on the customization information stored in advance.
請求項2記載のデータ提供方法において、
前記クライアントは、前記第1のサーバとは異なるカスタマイズ情報を格納するデータベースにアクセスすることなく、前記第1のサーバに記憶されたカスタマイズ情報に基づいてカスタマイズを適用されたレスポンスデータを受信することを特徴とするデータ提供方法。
The data providing method according to claim 2,
The client receives response data to which customization is applied based on customization information stored in the first server without accessing a database storing customization information different from that of the first server. A characteristic data providing method.
請求項1から3のいずれか記載のデータ提供方法において、
前記第1のサーバは、前記第2のサーバからのレスポンスデータにカスタマイズエディタプログラムを付加して前記クライアントに送信し、
前記クライアントは、前記カスタマイズエディタプログラムを実行し、前記カスタマイズエディタプログラムを通じてユーザにより入力されたカスタマイズ情報を前記第1のサーバへ送信することを特徴とするデータ提供方法。
In the data provision method in any one of Claim 1 to 3,
The first server adds a customized editor program to the response data from the second server and sends it to the client,
The data providing method, wherein the client executes the customization editor program and transmits customization information input by a user through the customization editor program to the first server.
請求項1から4のいずれかに記載のデータ提供方法において、
前記クライアントは、Webアプリを実行するWebブラウザであり、
前記第1のサーバは、プロキシサーバであり、
前記第2のサーバは、前記Webアプリを提供するWebサーバであることを特徴とするデータ提供方法。
In the data provision method in any one of Claim 1 to 4,
The client is a web browser that executes a web application,
The first server is a proxy server;
The data providing method, wherein the second server is a web server that provides the web application.
クライアントとサーバとにネットワークを介して接続された中間サーバであって、
前記クライアントまたは前記サーバとネットワークを介して通信するための通信部と、
前記クライアントまたは前記サーバから前記通信部を介して受信したデータを記憶する記憶部と、
前記通信部と前記記憶部とを制御する演算部と、を備え、
前記通信部は、前記クライアントから送信された前記サーバへのリクエストを受信し、受信した前記リクエストを前記サーバへ送信し、前記サーバから前記リクエストを受けて送信されたレスポンスデータを受信し、
前記演算部は、前記クライアントからのカスタマイズ情報に基づいて前記サーバから受信したレスポンスデータに対してカスタマイズを実行し、
前記通信部は、前記カスタマイズを適用したレスポンスデータを前記クライアントへ送信することを特徴とする中間サーバ。
An intermediate server connected to the client and server via a network,
A communication unit for communicating with the client or the server via a network;
A storage unit for storing data received from the client or the server via the communication unit;
An arithmetic unit that controls the communication unit and the storage unit,
The communication unit receives a request to the server transmitted from the client, transmits the received request to the server, receives response data transmitted in response to the request from the server,
The arithmetic unit performs customization on the response data received from the server based on customization information from the client,
The intermediate server, wherein the communication unit transmits response data to which the customization is applied to the client.
請求項6記載の中間サーバにおいて、
前記記憶部は、前記クライアントから送信されたカスタマイズ情報を予め記憶し、
前記演算部は、前記予め記憶されたカスタマイズ情報に基づいて前記サーバから受信したレスポンスデータに対してカスタマイズを実行することを特徴とする中間サーバ。
The intermediate server according to claim 6,
The storage unit stores in advance customization information transmitted from the client,
The intermediate server characterized in that the arithmetic unit performs customization on the response data received from the server based on the customization information stored in advance.
請求項6または7記載の中間サーバにおいて、
前記通信部は、前記サーバからのレスポンスデータにカスタマイズエディタプログラムを付加して前記クライアントに送信することを特徴とする中間サーバ。
The intermediate server according to claim 6 or 7,
The intermediate server, wherein the communication unit adds a customized editor program to response data from the server and transmits the response data to the client.
請求項6から8のいずれかに記載の中間サーバにおいて、
前記クライアントは、Webアプリを実行するWebブラウザであり、
前記サーバは、Webアプリを提供するWebサーバであり、
前記中間サーバは、プロキシサーバであることを特徴とする中間サーバ。
In the intermediate server according to any one of claims 6 to 8,
The client is a web browser that executes a web application,
The server is a web server that provides a web application,
The intermediate server is a proxy server.
クライアントと、前記クライアントとネットワークを介して接続された第1のサーバと、前記第1のサーバとネットワークを介して接続された第2のサーバと、を備えるシステムにおけるデータ提供方法であって、
前記クライアントが前記第1のサーバにリクエストを送信するステップと、
前記第1のサーバが前記クライアントからのリクエストを前記第2のサーバに送信するステップと、
前記第2のサーバが前記リクエストに対するレスポンスデータを前記第1のサーバに送信するステップと、
前記第1のサーバが前記第2のサーバからのレスポンスデータを前記クライアントに送信するステップと、を備え、
前記第1のサーバまたは前記クライアントが、前記レスポンスデータをカスタマイズするための情報および前記カスタマイズを前記第1のサーバまたは前記クライアントのいずれで実行するかを示す情報を含むカスタマイズ情報に基づいて、前記レスポンスデータに対してカスタマイズを実行し、
前記クライアントは、前記カスタマイズが適用されたレスポンスデータを表示することを特徴とするデータ提供方法。
A data providing method in a system comprising a client, a first server connected to the client via a network, and a second server connected to the first server via a network,
The client sending a request to the first server;
The first server sending a request from the client to the second server;
The second server sending response data to the request to the first server;
The first server sending response data from the second server to the client, and
The response based on customization information including information for the first server or the client to customize the response data and information indicating whether the customization is executed by the first server or the client. Perform customizations on the data,
The data providing method, wherein the client displays response data to which the customization is applied.
請求項10記載のデータ提供方法において、
前記カスタマイズ情報が、前記第1のサーバでカスタマイズを実行すべきことを示す場合には、前記第1のサーバが前記レスポンスデータに対してカスタマイズを実行し、前記カスタマイズを実行したレスポンスデータを前記クライアントに送信し、
前記カスタマイズ情報が、前記クライアントでカスタマイズを実行すべきことを示す場合には、前記クライアントが前記レスポンスデータに対してカスタマイズを実行することを特徴とするデータ提供方法。
The data providing method according to claim 10,
When the customization information indicates that customization is to be executed on the first server, the first server executes customization on the response data, and the response data on which the customization has been executed is sent to the client. To
When the customization information indicates that customization is to be executed at the client, the client executes customization on the response data.
請求項11記載のデータ提供方法において、
前記カスタマイズ情報は、前記クライアントから前記第1のサーバへ予め送信され、
前記カスタマイズ情報が、前記第1のサーバでカスタマイズを実行すべきことを示す場合には、前記第1のサーバが前記レスポンスデータに対してカスタマイズを実行し、前記カスタマイズを実行したレスポンスデータを前記クライアントに送信し、
前記カスタマイズ情報が、前記クライアントでカスタマイズを実行すべきことを示す場合には、前記クライアントが前記レスポンスデータに対してカスタマイズを実行することを特徴とするデータ提供方法。
The data providing method according to claim 11,
The customization information is transmitted in advance from the client to the first server,
When the customization information indicates that customization is to be executed on the first server, the first server executes customization on the response data, and the response data on which the customization has been executed is sent to the client. To
When the customization information indicates that customization is to be executed at the client, the client executes customization on the response data.
請求項11または12記載のデータ提供方法において、
前記第1のサーバは、前記第2のサーバからのレスポンスデータにカスタマイズエディタプログラムを付加して前記クライアントに送信し、
前記クライアントは、前記カスタマイズエディタプログラムを実行し、前記カスタマイズエディタプログラムを通じてユーザにより入力されたカスタマイズ情報を前記第1のサーバへ送信することを特徴とするデータ提供方法。
The data providing method according to claim 11 or 12,
The first server adds a customized editor program to the response data from the second server and sends it to the client,
The data providing method, wherein the client executes the customization editor program and transmits customization information input by a user through the customization editor program to the first server.
請求項10から13のいずれかに記載のデータ提供方法において、
前記クライアントは、Webアプリを実行するWebブラウザであり、
前記第1のサーバは、プロキシサーバであり、
前記第2のサーバは、前記Webアプリを提供するWebサーバであることを特徴とするデータ提供方法。
In the data provision method in any one of Claim 10 to 13,
The client is a web browser that executes a web application,
The first server is a proxy server;
The data providing method, wherein the second server is a web server that provides the web application.
JP2009114103A 2009-05-11 2009-05-11 Data providing method and intermediate server device Expired - Fee Related JP5393242B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009114103A JP5393242B2 (en) 2009-05-11 2009-05-11 Data providing method and intermediate server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009114103A JP5393242B2 (en) 2009-05-11 2009-05-11 Data providing method and intermediate server device

Publications (2)

Publication Number Publication Date
JP2010262548A true JP2010262548A (en) 2010-11-18
JP5393242B2 JP5393242B2 (en) 2014-01-22

Family

ID=43360547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009114103A Expired - Fee Related JP5393242B2 (en) 2009-05-11 2009-05-11 Data providing method and intermediate server device

Country Status (1)

Country Link
JP (1) JP5393242B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195943B1 (en) 2010-11-19 2012-10-29 (주)공영디비엠 Method for service of multi-tenant based database as a service
JP2015064635A (en) * 2013-09-24 2015-04-09 日本電気株式会社 Information processing system, processing device, distributed processing method, and program
JP2016001382A (en) * 2014-06-11 2016-01-07 株式会社エヌ・ティ・ティ・データ Web page providing system, web page providing method, program, and communication device
JP2016045624A (en) * 2014-08-21 2016-04-04 Necフィールディング株式会社 Information processing device, information processing system, information processing method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222324A (en) * 1999-01-26 2000-08-11 Internatl Business Mach Corp <Ibm> Web page customization system
JP2003099352A (en) * 2001-09-20 2003-04-04 Ocha No Gyokuroen:Kk Information-processing device and information-processing program
JP2005242961A (en) * 2004-02-27 2005-09-08 Takayuki Ito Information sharing system, and web page editing program and web page editing method from web browser used therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222324A (en) * 1999-01-26 2000-08-11 Internatl Business Mach Corp <Ibm> Web page customization system
JP2003099352A (en) * 2001-09-20 2003-04-04 Ocha No Gyokuroen:Kk Information-processing device and information-processing program
JP2005242961A (en) * 2004-02-27 2005-09-08 Takayuki Ito Information sharing system, and web page editing program and web page editing method from web browser used therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195943B1 (en) 2010-11-19 2012-10-29 (주)공영디비엠 Method for service of multi-tenant based database as a service
JP2015064635A (en) * 2013-09-24 2015-04-09 日本電気株式会社 Information processing system, processing device, distributed processing method, and program
JP2016001382A (en) * 2014-06-11 2016-01-07 株式会社エヌ・ティ・ティ・データ Web page providing system, web page providing method, program, and communication device
JP2016045624A (en) * 2014-08-21 2016-04-04 Necフィールディング株式会社 Information processing device, information processing system, information processing method, and program

Also Published As

Publication number Publication date
JP5393242B2 (en) 2014-01-22

Similar Documents

Publication Publication Date Title
JP6761112B2 (en) Methods and systems for server-side rendering of native content for presentation
US20140096014A1 (en) Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata
US11537683B2 (en) Configuration of content site user interaction monitoring in data networks
US20120272178A1 (en) Method and device for providing easy access in a user agent to data resources related to client-side web applications
US20110154187A1 (en) Methods, software and devices for providing server hosted web applications
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US10417317B2 (en) Web page profiler
US20150317405A1 (en) Web Page Variation
JP2017504129A (en) Construction of a state expression represented in a web browser
US20220043546A1 (en) Selective server-side rendering of scripted web page interactivity elements
US20150012819A1 (en) Template-driven decoration engine
JP5393242B2 (en) Data providing method and intermediate server device
US10114617B2 (en) Rapid visualization rendering package for statistical programming language
RU2634221C2 (en) Method and device for drawing presentation of electronic document on screen
JP7014960B2 (en) Information processing equipment, servers, their processing methods and programs
US20220206763A1 (en) Information processing system, information processing apparatus information processing method, and program
US20140379790A1 (en) Information processing apparatus, method and medium
JP2009026013A (en) Content registration/provision device, content registration/provision control method, and content registration/provision control program
JP6128503B1 (en) Program, server and system for providing services related to electronic manuals
JP5835447B2 (en) Information processing apparatus, information processing system, control method, and program
JP6115664B2 (en) Information processing apparatus and program
US20090254631A1 (en) Defining clippable sections of a network document and saving corresponding content
US8291311B2 (en) Web display program conversion system, web display program conversion method and program for converting web display program
JP6217473B2 (en) Web service providing device
Mabbutt et al. Managing Scripts and Styles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131015

LAPS Cancellation because of no payment of annual fees