JP5308196B2 - サーバおよびプログラム - Google Patents

サーバおよびプログラム Download PDF

Info

Publication number
JP5308196B2
JP5308196B2 JP2009053161A JP2009053161A JP5308196B2 JP 5308196 B2 JP5308196 B2 JP 5308196B2 JP 2009053161 A JP2009053161 A JP 2009053161A JP 2009053161 A JP2009053161 A JP 2009053161A JP 5308196 B2 JP5308196 B2 JP 5308196B2
Authority
JP
Japan
Prior art keywords
server
http request
query information
test
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009053161A
Other languages
English (en)
Other versions
JP2010205232A (ja
Inventor
健太郎 風間
治寛 谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2009053161A priority Critical patent/JP5308196B2/ja
Publication of JP2010205232A publication Critical patent/JP2010205232A/ja
Application granted granted Critical
Publication of JP5308196B2 publication Critical patent/JP5308196B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、公衆に利用可能な環境で生じたトラフィックを別の環境に生成するサーバおよびプログラムに関する。
今日、インターネットを介して様々なサービスが提供されている。特に、Webブラウザを備えたPC(Personal Computer)や携帯端末からインターネット等の公衆回線を介して、httpリクエストを受けて様々な内容のコンテンツをHTML(Hypertext Markup Language)に基づくWebページ等として返すWebサーバは、その中心的な役割を担っている。
このようなWebサーバは、ユーザの端末から短期間に膨大なhttpリクエストを受けることにより高負荷になることもあり、そのような高負荷にも耐えられるように設計しておく必要がある。そのために、Webサーバを公衆に対してリリースする際には、事前に、テスト環境において負荷テストと呼ばれる高負荷に対する安全性、安定性、可用性等を確認するテストをWebサーバに行うことがある。
このような負荷テストにおいては、httpリクエストを擬似的に発生させるプログラム(テストツール)を用いたり、実際にテスターが複数の端末から同時期にhttpリクエストを発生させることが行われている。
より具体的には、次のようなテストツールが提案されている。テストデータのうち可変である項目それぞれの数値を予め決められた範囲で増減させて様々な種類のテストデータを作成するテストツール(特許文献1)や、テストデータにおける可変である項目それぞれについて予めデータを用意しておき各項目のデータを組合わせることにより様々な種類のテストデータを作成するテストツールの技術が開示されている(特許文献2)。
特開2005−332139公報 特開2000−222490公報
しかしながら、特許文献1および2に記載のテストツールを用いても、Webサーバが実稼働環境にて稼働した場合に実際に受信するトラフィックを忠実に再現することはできない。すなわち、このようなテストツールは、人工的にトラフィックを生成する以上、刻々と変化する実稼働環境において発生しているhttpリクエストのトラフィックに“近い”トラフィックを発生することはできても、そっくりそのまま再現することは原理的に限界がある。更に、負荷テスト等のためのテストデータ(トラフィック)を作成するには、テスト環境のWebサーバ等にテストツールをインストールするか、テストツールをインストールしたサーバを別途用意しなければならない。また、可変である項目について予めデータを用意する等の準備が必要であり、テストツールに人工的にトラフィックを発生させるために手間がかかる、という問題もある。
そこで本発明は、このようなテストツールを用いることなく、実稼働環境のような公衆に利用可能な環境においてサーバが受けるhttpリクエストのトラフィックを、テスト環境において忠実に再現することができるサーバおよびプログラムを提供することを目的とする。
本発明では、以下のような解決手段を提供する。
(1)通信ネットワーク上で一般ユーザへのサービスを実施しているサーバにおいて、クエリ情報を含むhttpリクエストを受信するhttpリクエスト受信手段と、前記httpリクエストからクエリ情報を抽出するクエリ情報抽出手段と、前記クエリ情報に基づいた処理を行う他のサーバに、抽出した前記クエリ情報を送信するクエリ情報送信手段と、を備える公衆に利用可能なサーバであって、所定の指示を受け付けたことに応じて、テスト用サーバに前記httpリクエストを送信するhttpリクエスト送信手段を更に備えるサーバ。
(1)の構成によれば、通信ネットワーク上で一般ユーザへのサービスを実施しているサーバにおいて、クエリ情報を含むhttpリクエストを受信するhttpリクエスト受信手段と、httpリクエストからクエリ情報を抽出するクエリ情報抽出手段と、クエリ情報に基づいた処理を行う他のサーバに、抽出したクエリ情報を送信するクエリ情報送信手段と、を備える公衆に利用可能なサーバが、受信したクエリ情報を含むhttpリクエストを、所定の指示を受け付けたことに応じて、テスト用サーバにhttpリクエストを送信するhttpリクエスト送信手段を更に備える。
ここで、通信ネットワーク上で一般ユーザへのサービスを実施している、公衆に利用可能なサーバとは、当該通信ネットワークを介して一般のユーザ端末がアクセスすることができるサーバであり、例えば、いわゆる実稼働環境にあるWebサーバである。一方、テスト用サーバとは、公衆ネットワークを介して一般のユーザ端末がアクセスすることができないサーバであり、例えば、いわゆるテスト環境にあるWebサーバである。また、所定の指示は、例えば、Webサーバが設定ファイルを読み込むことにより受け付けることができる。具体的には、公衆に利用可能なサーバは、自身が受信したhttpリクエストを、テスト用サーバにそっくりそのまま送信することができる。すなわち、実際にユーザが送信したhttpリクエストを受信した公衆に利用可能なサーバは、他のサーバにクエリ情報を送信すると共に、テスト用サーバに当該httpリクエストをそっくりそのまま送信することができる。その結果、公衆に利用可能なサーバ上でサーバが受けるhttpリクエストのトラフィックを、テスト環境において忠実に再現することができる。
(2)前記所定の指示は、前記公衆に利用可能なサーバの設定ファイルの変更または追加を前記サーバが受け付けることにより行うものである(1)に記載のサーバ。
(2)の構成によれば、公衆に利用可能なサーバの設定ファイルの変更または追加をサーバが受け付けることにより、テスト用サーバにhttpリクエストを送信する。
このことにより、設定ファイルの変更または追加に応じて、公衆に利用可能なサーバは、テスト用サーバ、例えば、いわゆるテスト環境のWebサーバにhttpリクエストをそっくりそのまま送信することができる。その結果、負荷テストを行う管理者等は、設定ファイルの変更または追加を行うだけで、テスト用サーバに実稼働環境にあるサーバが受けたhttpリクエストをそっくりそのまま送信してトラフィックを忠実に再現し、負荷テスト等を行うことができる。
(3)通信ネットワーク上で一般ユーザへのサービスを実施しているサーバであって、クエリ情報を含むhttpリクエストを受信する受信手段と、前記httpリクエストからクエリ情報を抽出するクエリ情報抽出手段と、前記クエリ情報に基づいた処理を行う他のサーバに、抽出した前記クエリ情報を送信するクエリ情報送信手段と、を備える公衆に利用可能なサーバに、所定の指示を受け付けたことに応じて、テスト用サーバに前記httpリクエストを送信するステップを実行させるプログラム。
本発明によれば、テストツールを用いることなく、実稼働環境のような公衆に利用可能な環境においてサーバが受けるhttpリクエストのトラフィックを、テスト環境において忠実に再現することができるサーバおよびプログラムを提供することができる。
本発明の好適な実施形態に係るシステムの全体構成を示す図である。 本発明の好適な実施形態に係る実稼働Webサーバの機能構成を示す図である。 本発明の好適な実施形態に係るhttpリクエスト処理のフローチャートである。 実稼働Webサーバ、テスト用Webサーバ、実稼働プロバイダ・サーバ、およびテスト用プロバイダ・サーバのハードウェア構成を示す図である。
以下、本発明の実施形態について図を参照しながら説明する。
[サーバ構成]
図1は、本発明の好適な実施形態に係るシステムの全体構成1を示す図である。システムの全体構成1は、公衆に利用可能である環境と、テスト環境3とを含む。ここで、公衆に利用可能である環境は、通信ネットワークを介して一般のユーザ端末10がアクセスすることができるWebサーバを含む。公衆に利用可能である環境は、実際に稼働していることから実稼働環境と呼ばれたり、本番として使用されていることから本番環境と呼ばれたりする。以下、公衆に利用可能である環境を実稼働環境2とする。
一方、テスト環境3は、通信ネットワークを介して一般のユーザ端末10がアクセスすることができないWebサーバを含む。テスト環境3とは、具体的には例えば、負荷テスト等を行うためのテスト環境である。
実稼働環境2は、通信ネットワーク上で一般ユーザへのサービスを実施しているサーバとしての、公衆に利用可能であるサーバと、クエリ情報に基づいた処理を行う他のサーバとしての2台のプロバイダ・サーバとが通信ネットワークを介して接続され、構成されている。また、公衆に利用可能であるサーバは、一般のユーザ端末10と通信ネットワークを介して接続されている。以下、実稼働環境2にあり、公衆に利用可能であるサーバを実稼働Webサーバ20、公衆に利用可能であるプロバイダ・サーバを実稼働プロバイダ・サーバ21および22とする。
実稼働Webサーバ20は、ユーザ端末10からhttpリクエストを受け付け、httpリクエストに含まれるクエリ情報を送信して実稼働プロバイダ・サーバ21、22に処理を依頼する。そして、実稼働Webサーバ20は、実稼働プロバイダ・サーバ21、22から処理結果を受信し、処理結果に基づいて作成したhttpレスポンスをユーザ端末10へ送信する。
ここで、httpリクエストとは、Webを用いた場合の標準的な通信プロトコルであるhttp(Hyper Text Transfer Protocol)を通じてユーザ端末からWebサーバに送信される要求である。一方、httpレスポンスとは、ユーザ端末から受信したhttpリクエストに対する、Webサーバからユーザ端末へ送信される応答である。httpリクエストの中身については後述する。
実稼働Webサーバ20は、具体的には、Apache(商標) HTTP Server(Apache(商標) Software Foundation)等のWebサーバである。また、実稼働Webサーバ20は、テキストまたは画像等の各種のオブジェクトが含まれるHTML(Hypertext Markup Language)方式またはXML(Extensible Markup Language)方式等の静的なコンテンツを提供する。静的なコンテンツとは、例えば、Webページのデータである。
実稼働Webサーバ20の処理を、インターネット上で商品を購入した場合における代金の決済処理を例に用いて、具体的に説明する。商品を購入したユーザ端末10から決済指示と決済情報とがhttpリクエストにて送信された場合、実稼働Webサーバ20はhttpリクエストの処理を実行できるが、決済処理を実行することはできない。そのため、実稼働Webサーバ20は決済処理の機能を備える実稼働プロバイダ・サーバ21、22に決済情報を送信し、処理を実行させる。
実稼働プロバイダ・サーバ21、22は、実稼働Webサーバ20からhttpリクエストに含まれるクエリ情報を受信して処理の依頼を受け付けた場合、依頼された処理を実行し、処理結果を実稼働Webサーバ20へ送信する。実稼働プロバイダ・サーバ21、22は、業務処理やデータ処理等の機能を備える。
上述した例においては、実稼働プロバイダ・サーバ21、22は、決済処理の機能を備え、実稼働Webサーバ20から決済情報を受信し、決済処理を行う。そして、決済結果、例えば、決済金額や決済日付、を実稼働Webサーバ20へ送信する。
このように、実稼働環境2において、実稼働Webサーバ20は実稼働プロバイダ・サーバ21、22と連携して、ユーザ端末10からのhttpリクエストに対して処理を実行し、httpレスポンスを返信する。
図1に戻って、テスト環境3は、公衆に利用可能でないテスト用サーバと、2台のプロバイダ・サーバが通信ネットワークを介して接続され、構成されている。なお、テスト環境3は公衆に利用可能でないので、公衆に利用可能でないテスト用サーバ等を接続する通信ネットワークはイントラネット等のアクセスが限られたネットワークであるのが望ましい。以下、テスト環境3にあり、公衆に利用可能でないテスト用サーバをテスト用Webサーバ30、公衆に利用可能でないプロバイダ・サーバをテスト用プロバイダ・サーバ31および32とする。
テスト用Webサーバ30は、実稼働Webサーバ20と接続される。それにより、テスト用Webサーバ30はユーザ端末10から送信されるhttpリクエストを実稼働Webサーバ20を介してそっくりそのまま受信することができる。
テスト用Webサーバ30は、実稼働Webサーバ20を介してユーザ端末10からhttpリクエストを受信し、テスト用プロバイダ・サーバ31、32に処理を依頼してもよい。
テスト用プロバイダ・サーバ31、32は、テスト用Webサーバ30から依頼された処理を実行してもよい。
[実稼働Webサーバの機能構成]
図2は、本発明の好適な実施形態に係る実稼働Webサーバ20の機能構成を示す図である。実稼働Webサーバ20は、設定ファイル読込手段201と、httpリクエスト受信手段202と、クエリ情報抽出手段203と、クエリ情報送信手段204と、結果受信手段205と、httpリクエスト応答手段206と、httpリクエスト送信手段207と、を備える。以下、実稼働Webサーバ20の各手段について説明する。
設定ファイル読込手段201は、所定の記憶領域に記憶した設定ファイル210を読み込んで実稼働Webサーバ20の動作を設定する。実稼働Webサーバ20は、この設定ファイル210を読み込むことにより、クエリ情報を送信すべき実稼働プロバイダ・サーバ21、22を特定したり、必要に応じてhttpリクエストを送信すべきテスト用Webサーバ30を特定したりすることができる。
具体的には、まず、設定ファイル読込手段201は、設定ファイル210を読み込んで、クエリ情報を送信する実稼働プロバイダ・サーバ21、22やhttpリクエストを送信するテスト用Webサーバ30を特定する。
httpリクエスト受信手段202は、ユーザ端末10からhttpリクエストを受信する。ここで、httpリクエストの中身について説明する。次式[I]に、httpリクエスト例を示す。
Figure 0005308196
httpリクエストは、リクエスト・ライン、リクエスト・ヘッダ、およびメッセージ・ボディから構成される。リクエスト・ラインは、上述の式[I]の1行目であって、httpリクエストの必須部分であり、メソッド、リソースのURI(Uniform Resource Identifier)、およびhttpバージョン情報で構成される。メソッドとは、ユーザ端末がWebサーバに実行を要求するアクション指定であって、サーバに対し情報の取得を要求するGET、サーバに対して情報を送信し、処理の実行を要求するPOST等がある。
なお、リクエスト・ラインのメソッドにPOSTではなく、GETを用いてもWebサーバに情報を送信することができる。その場合、情報はメッセージ・ボディに記述されず、情報をURIの一部として扱う。次式[II]に、Getメソッドを用いてWebサーバに情報を送信する場合のリクエスト・ラインを示す。
Figure 0005308196
クエリ情報抽出手段203は、httpリクエスト受信手段202で受信したhttpリクエストからクエリ情報を抽出する。具体的には、クエリ情報抽出手段203は、httpリクエストからクエリ情報を抽出するスクリプトを実行することにより、httpリクエスト受信手段202で受信したhttpリクエストからクエリ情報を抽出する。このスクリプトは、PHP(Hypertext Preprocessor)、JavaScript(登録商標)、ASP(Active Server Pages)等のスクリプト言語で記述することができる。
ここで、クエリ情報はユーザ端末からWebサーバへ送信された情報であって、POSTメソッドのhttpリクエストの場合にはメッセージ・ボディに記述された情報であり、GETメソッドのhttpリクエストの場合には、リクエスト・ラインにURLの一部として記述された情報である。
上述した式[I]に示したhttpリクエスト例においては、クエリ情報抽出手段203は、6〜7行目のメッセージ・ボディに記述された情報「name=myname password=mypasssword」をクエリ情報として抽出する。一方、上述した式[II]に示したhttpリクエストのリクエスト・ライン例においては、クエリ情報抽出手段203は、URIの一部として記述された情報「name=myname&password=mypasssword」をクエリ情報として抽出する。
クエリ情報送信手段204は、クエリ情報抽出手段203で抽出したクエリ情報を実稼働プロバイダ・サーバ21、22へ送信してもよい。クエリ情報を送信する実稼働プロバイダ・サーバを特定する情報(例えば、ホスト名)は実稼働Webサーバ20が有する設定ファイル(conf.ファイル等)210に定義してもよい。その場合、実稼働Webサーバ20の設定ファイル読込手段201が設定ファイル210を読み込むことにより、クエリ情報送信手段204は設定ファイル210に定義された実稼働プロバイダ・サーバ21、22にクエリ情報を送信することができる。次式[III]にクエリ情報を送信する実稼働プロバイダ・サーバの設定が記述されている設定ファイル例を示す。
Figure 0005308196
上式[III]に示すように、クエリ情報を送信する実稼働プロバイダ・サーバ21、22を特定する情報としてホスト名「'hostname' => 'aaa.co.jp'」、クエリ情報を渡すプログラムを特定する情報としてポート番号「'port' => 80,」等が、設定ファイルには記述される。
また、本発明の好適な実施形態に係る実稼働Webサーバ20は、テスト用Webサーバ30を特定する情報(例えば、ホスト名)を定義した設定ファイル210を有する。次式[IV]にhttpリクエストを送信するテスト用Webサーバ30の設定が記述されている設定ファイル例を示す。
Figure 0005308196
上式[III]、[IV]に示すように、テスト用Webサーバ30の設定が記述されている設定ファイルも、クエリ情報を送信する実稼働プロバイダ・サーバの設定が記述されている設定ファイルとほぼ同様の構成となっている。上式[IV]は、テスト用Webサーバ30の設定が記述されている設定ファイル例であるので、ホスト名「'hostname' => test.aaa.co.jp '」とテスト用Webサーバ30を特定する情報が記述される。なお、ポート番号等もテスト用Webサーバ30用に記述される。また、上式[IV]には上式[III]には記述されていない「'output' => /dev/null,」が記述されている。これは、実稼働Webサーバ20に負荷をかけないために、出力を捨てることを指示する記述であり、この記述により、テスト用Webサーバ30へのhttpリクエストの送信による負荷を実稼働Webサーバ20はほとんど受けずにすむ。
なお、テスト用Webサーバ30を特定する情報を、クエリ情報を送信する実稼働プロバイダ・サーバ21、22を特定する情報と同じ設定ファイルに記述してもよい。その場合、設定ファイルには、実稼働プロバイダ・サーバの設定が記述されている上式[III]と、テスト用Webサーバ30の設定が記述されている上式[IV]とが合わせて記述される。
クエリ情報を送信する実稼働プロバイダ・サーバ21、22を特定する情報が複数の設定ファイル(conf.ファイル)に分かれている場合には、クエリ情報を送信する実稼働プロバイダ・サーバ21、22を特定する情報が設定されている全ての設定ファイルに基づいてクエリ情報を送信する実稼働プロバイダ・サーバ21、22を特定する。テスト用Webサーバ30を特定する情報が複数の設定ファイル(conf.ファイル)に分かれている場合も同様である。
クエリ情報送信手段204は、クエリ情報を実稼働プロバイダ・サーバ21、22へ送信する。具体的には、まず、クエリ情報送信手段204は、実稼働プロバイダ・サーバ21、22にクエリ情報を送信し、送信したクエリ情報に対する実稼働プロバイダ・サーバ21、22の処理結果を受信するプロセスを複製する。このプロセスは、複製により、設定ファイル210に定義されている実稼働プロバイダ・サーバの数、生成される。プロセスの複製には、例えば、fork命令を用いる。そして、クエリ情報送信手段204は、複製したプロセスそれぞれを実行する。図1に示す例においては、実稼働プロバイダ・サーバ21、22が設定ファイル210に定義されており、実稼働プロバイダ・サーバ21、22それぞれとやりとりを行うプロセスが2つ生成され、実行される。このようにして、クエリ情報送信手段204は複数の実稼働プロバイダ・サーバ21、22とのやり取りを並列して行うことができる。
結果受信手段205は、クエリ情報が送信された実稼働プロバイダ・サーバ21、22から処理結果を受信する。具体的には、結果受信手段205は、クエリ情報送信手段204で生成された複数のプロセスそれぞれがクエリ情報を送信した実稼働プロバイダ・サーバ21、22から受信した結果を取得し、処理結果を受信したプロセスを終了する。プロセスの終了には、例えば、join命令を用いる。
httpリクエスト応答手段206は、結果受信手段205で実稼働プロバイダ・サーバ21、22から受信した処理結果を格納したhttpレスポンスを作成し、ユーザ端末10に送信する。
httpリクエスト送信手段207は、設定ファイル210の内容に応じて、httpリクエスト受信手段202にて受信したhttpリクエストをテスト用Webサーバ30へ送信する。具体的には、httpリクエスト送信手段207は、設定ファイル読込手段201で読み込んだ設定ファイル210に記載された情報に基づいて、httpリクエストをテスト用Webサーバ30へ送信する。なお、図2においては、httpリクエスト送信手段207は、クエリ情報抽出手段203がクエリ情報を抽出した後、httpリクエストをテスト用Webサーバ30へ送信している。しかし、これに限られず、httpリクエスト受信手段202がhttpリクエストを受信した後であればいつでも、当該受信したhttpリクエストをそっくりそのままテスト用Webサーバ30へ送信することができる。
httpリクエスト送信手段207は、設定ファイル210に基づいて設定ファイル読込手段201が特定したテスト用Webサーバ30にhttpリクエストを送信する。設定ファイル210には、どのテスト用Webサーバ30に送信するかが定義されている。
httpリクエスト送信手段207によりhttpリクエストをテスト用Webサーバ30へ送信することにより、実稼働Webサーバが受け付けたhttpリクエストのトラフィックをテスト環境3のテスト用Webサーバ30にそっくりそのまま送信することができる。その結果、実稼働Webサーバ20は、実稼働Webサーバ20が受け付けたトラフィックをテスト環境3において忠実に再現することができる。
httpリクエストを受信したテスト用Webサーバ30は、例えば、httpリクエストからクエリ情報を抽出し、テスト用プロバイダ・サーバ31、32に送信する。このようにして、テスト環境3にある各種サーバは、実稼働Webサーバ20が受け付けたhttpリクエストのトラフィックをそっくりそのまま用いて、負荷テストを実施することができる。
図3は、本発明の好適な実施形態に係るhttpリクエスト処理のフローチャートである。実稼働Webサーバ20が、ユーザ端末10からhttpリクエストを受け付けると処理が開始する。
S10:設定ファイル読込手段201は、設定ファイル210を読み込んで実稼働Webサーバ20の動作を設定する。具体的には、設定ファイル読込手段201は、設定ファイル210を読み込んでクエリ情報を送信する実稼働プロバイダ・サーバ21、22や、httpリクエストを送信するテスト用Webサーバ30を特定する。
S20:httpリクエスト受信手段202は、ユーザ端末10からhttpリクエストを受信する。
S30:クエリ情報抽出手段203は、httpリクエストからクエリ情報を抽出するスクリプトを実行して、ステップS20で受信したhttpリクエストからクエリ情報を抽出する。
S40:クエリ情報送信手段204は、ステップS10で設定ファイル210に基づいて特定された実稼働プロバイダ・サーバ21、22にステップS30で抽出したクエリ情報を送信する。
S50:実稼働Webサーバ20は、読み込んだ設定ファイル210に基づいて、テスト用Webサーバ30にhttpリクエストを送信するか否かを決定する。具体的には、httpリクエスト送信手段207は、ステップS10で設定ファイル210に基づいてテスト用Webサーバ30が特定されたか否か判断する。判断結果がYESの場合にはステップS60に移り、NOの場合にはステップS70へ移る。
S60:httpリクエスト送信手段207は、ステップS10で設定ファイル210に基づいて特定されたテスト用Webサーバ30に、ステップS20で受信したhttpリクエストを送信する。
S70:結果受信手段205は、ステップS40で送信したクエリ情報の処理結果を実稼働プロバイダ・サーバ21、22から受信する。
S80:httpリクエスト応答手段206は、ステップS70にて受信した処理結果に基づいて、httpレスポンスを作成し、ステップS20で受信したhttpリクエストに対する応答としてhttpレスポンスをユーザ端末10に送信する。
[サーバのハードウェア構成]
図4は、実稼働Webサーバ20、テスト用Webサーバ30、実稼働プロバイダ・サーバ21、22、およびテスト用プロバイダ・サーバ31、32のハードウェア構成を示す図である。本発明が実施される装置は標準的なものでよく、以下に構成の一例を示す。なお、実稼働Webサーバ20、テスト用Webサーバ30、実稼働プロバイダ・サーバ21、22、およびテスト用プロバイダ・サーバ31、32を、コンピュータを典型とする情報処理装置1000として全般的な構成を説明する。
情報処理装置1000は、制御部1300を構成するCPU(Central Processing Unit)1310(マルチプロセッサ構成ではCPU1320等複数のCPUが追加されてもよい)、バスライン1200、通信I/F(I/F:インターフェイス)1330、メインメモリ1340、BIOS(Basic Input Output System)1350、表示装置1360、I/Oコントローラ1370、キーボードおよびマウス等の入力装置1380、ハードディスク1390、光ディスクドライブ1400、並びに半導体メモリ1420を備える。なお、ハードディスク1390、光ディスクドライブ1400、並びに半導体メモリ1420はまとめて記憶装置1430と呼ぶ。
制御部1300は、情報処理装置1000を統括的に制御する部分であり、ハードディスク1390(後述)に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
通信I/F1330は、情報処理装置1000が、通信ネットワークを介してユーザ端末10等と情報を送受信する場合のネットワーク・アダプタである。通信I/F1330は、モデム、ケーブル・モデムおよびイーサネット(登録商標)・アダプタを含んでよい。
メインメモリ1340は、CPU1310により各種プログラムを実行する際に生成されるデータを一時的に記憶する。
BIOS1350は、情報処理装置1000の起動時にCPU1310が実行するブートプログラムや、情報処理装置1000のハードウェアに依存するプログラム等を記録する。
表示装置1360は、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。
I/Oコントローラ1370には、ハードディスク1390、光ディスクドライブ1400、および半導体メモリ1420等の記憶装置1430を接続することができる。
入力装置1380は、情報処理装置1000のユーザによる入力の受け付けを行うものである。
ハードディスク1390は、本ハードウェアを情報処理装置1000として機能させるための各種プログラム、本発明の機能を実行するプログラムおよび前述したテーブルおよびレコードを記憶する。なお、情報処理装置1000は、外部に別途設けたハードディスク(図示せず)を外部記憶装置として利用することもできる。
光ディスクドライブ1400としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、ブルーレイディスク(Blu−ray Disc:登録商標)ドライブを使用することができる。この場合は各ドライブに対応した光ディスク1410を使用する。光ディスク1410から光ディスクドライブ1400によりプログラムまたはデータを読み取り、I/Oコントローラ1370を介してメインメモリ1340またはハードディスク1390に提供することもできる。
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、情報処理装置1000は、記憶装置1430、制御部1300等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
実稼働Webサーバ20等の各手段は、制御部1300によってプログラムが実行されることで実現される。但し、設定ファイル210を記憶する記憶領域は、主としてハードディスク1390に実装されるが、既に述べたように、他の記憶装置を用いてもよい。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
20 実稼働Webサーバ
201 設定ファイル読込手段
202 httpリクエスト受信手段
203 クエリ情報抽出手段
204 クエリ情報送信手段
205 結果受信手段
206 httpリクエスト応答手段
207 httpリクエスト送信手段
210 設定ファイル

Claims (2)

  1. 通信ネットワーク上で一般ユーザへのサービスを実施しているサーバにおいて、
    ログイン名およびパスワードを有するクエリ情報を含むhttpリクエストを受信するhttpリクエスト受信手段と、
    前記httpリクエストから前記クエリ情報を抽出するクエリ情報抽出手段と、
    前記クエリ情報に基づいた処理を行う他のサーバを特定する第1の記述を含む設定ファイルを参照して、当該他のサーバに、抽出された前記クエリ情報を送信するクエリ情報送信手段と、
    を備える公衆に利用可能なサーバであって、
    前記サーバから前記httpリクエストを受信し、当該httpリクエストからクエリ情報を抽出し、テスト用他のサーバへ当該クエリ情報を送信するテスト用サーバであって、当該テスト用サーバを特定すると共に、出力を捨てることを指示する第2の記述を含む設定ファイルを参照して、当該テスト用サーバに前記httpリクエストを送信するhttpリクエスト送信手段と、
    を更に備えるサーバ。
  2. 通信ネットワーク上で一般ユーザへのサービスを実施している、公衆に利用可能なサーバを、
    ログイン名およびパスワードを有するクエリ情報を含むhttpリクエストを受信する制御を実行するhttpリクエスト受信手段と、
    前記httpリクエストから前記クエリ情報を抽出するクエリ情報抽出手段と、
    前記クエリ情報に基づいた処理を行う他のサーバを特定する第1の記述を含む設定ファイルを参照して、当該他のサーバに、抽出された前記クエリ情報を送信する制御を実行するクエリ情報送信手段と、
    前記サーバから前記httpリクエストを受信し、当該httpリクエストからクエリ情報を抽出し、テスト用他のサーバへ当該クエリ情報を送信するテスト用サーバであって、当該テスト用サーバを特定すると共に、出力を捨てることを指示する第2の記述を含む設定ファイルを参照して、当該テスト用サーバに前記httpリクエストを送信する制御を実行するhttpリクエスト送信手段と、
    して機能させるプログラム。
JP2009053161A 2009-03-06 2009-03-06 サーバおよびプログラム Active JP5308196B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009053161A JP5308196B2 (ja) 2009-03-06 2009-03-06 サーバおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009053161A JP5308196B2 (ja) 2009-03-06 2009-03-06 サーバおよびプログラム

Publications (2)

Publication Number Publication Date
JP2010205232A JP2010205232A (ja) 2010-09-16
JP5308196B2 true JP5308196B2 (ja) 2013-10-09

Family

ID=42966606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009053161A Active JP5308196B2 (ja) 2009-03-06 2009-03-06 サーバおよびプログラム

Country Status (1)

Country Link
JP (1) JP5308196B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581104B2 (ja) * 2003-03-28 2010-11-17 学校法人明治大学 ネットワークセキュリティシステム
JP3485915B1 (ja) * 2003-08-13 2004-01-13 シャープ株式会社 ゲートウェイ装置、クライアント計算機およびプロキシサーバ計算機
JP4684748B2 (ja) * 2005-06-03 2011-05-18 三菱電機株式会社 アプリケーションテスト装置
JP5100004B2 (ja) * 2005-12-14 2012-12-19 キヤノン株式会社 情報処理システム、サーバ装置、情報処理装置及びそれらの制御方法

Also Published As

Publication number Publication date
JP2010205232A (ja) 2010-09-16

Similar Documents

Publication Publication Date Title
US10613916B2 (en) Enabling a web application to call at least one native function of a mobile device
CN1677277B (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
US7568032B2 (en) Method of balancing load among mirror servers
US20040003033A1 (en) Method and system for generating a web service interface
US20040006653A1 (en) Method and system for wrapping existing web-based applications producing web services
TWI670611B (zh) 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統
US20080091775A1 (en) Method and apparatus for parallel operations on a plurality of network servers
CN104954363A (zh) 用于生成接口文档的方法和装置
JP2016018233A (ja) スクリプトのキャッシュ方法及びそれを適用した情報処理装置
JP2004246747A (ja) 既存サービスのラッピング方法および装置
AU2018390863B2 (en) Computer system and method for extracting dynamic content from websites
EP2760183A1 (en) System for detecting hyperlink faults
JP5308196B2 (ja) サーバおよびプログラム
US8321535B2 (en) Web services integration systems and methods
JP2006119071A (ja) 分析データ処理システム及び分析装置
JP5737249B2 (ja) 負荷シミュレーション装置、シミュレーション装置、負荷シミュレーション方法、シミュレーション方法及びプログラム
WO2013097201A1 (zh) 用户行为的获取方法、设备及系统
CN114915565A (zh) 网络调试的方法和系统
JPWO2007132848A1 (ja) 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
WO2011157183A2 (zh) Web应用托管的调查方法和系统
JP5053040B2 (ja) 情報処理装置及びクライアントサーバシステム
KR100429558B1 (ko) 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트
US11977643B2 (en) Methods and systems of a software-based solution for autonomous application security testing of cloud-native applications
JPH11259354A (ja) インターネット上の情報更新確認方法
JP5322972B2 (ja) ウェブ画面復元装置及びウェブ画面復元方法及びウェブ画面復元プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5308196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350