(57)【要約】【課題】過去にユーザに送信したＷｅｂページの内容を従来よりも簡単に確認できるようにする。【解決手段】過去にユーザに送信したＷｅｂページの内容を従来よりも簡単に確認することができるようにする。【解決手段】ネットワークを介してＷｅｂページをユーザの端末装置２に送信するＷｅｂサーバ１に、ユーザによって指定されたパラメータに基づいてＷｅｂページの動的部分の内容を求める動的部分演算部１０２と、動的部分演算部１０２によって求められた動的部分の内容をそのＷｅｂページおよびユーザと対応付けてデータ記憶部１０６に記憶させる処理を行う動的部分処理部１０３と、求められた動的部分の内容に基づいてＷｅｂページを生成するＷｅｂページ生成部１０４と、生成されたＷｅｂページを端末装置２に送信するＷｅｂページ送信部１０５と、を設ける。【選択図】      図１１
2008269618.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してＷｅｂページを送信するＷｅｂサーバであって、
ユーザによって指定されたパラメータに基づいてＷｅｂページの可変部分の内容を求め、内容情報処理手段へ通知する演算手段と、
ユーザによって指定されたパラメータに基づいて前記演算手段によって求められたＷｅｂページの可変部分の内容を示す内容情報を、Ｗｅｂページ生成手段に通知すると共に、当該ＷｅｂページのＷｅｂページ識別情報、当該ユーザのユーザ識別情報、およびＷｅｂページの可変部分を識別する部分識別情報と対応付けて記憶手段に記憶させる、内容情報処理手段と、
前記内容情報処理手段より通知された前記内容情報に基づいてＷｅｂページを生成するＷｅｂページ生成手段と、
前記Ｗｅｂページ生成手段によって生成されたＷｅｂページを、当該Ｗｅｂページに係るパラメータを指定したユーザの端末装置に送信するＷｅｂページ送信手段と、
管理者によって指定されたＷｅｂページ識別情報およびユーザ識別情報に対応する当該Ｗｅｂページの可変部分の部分識別情報と内容情報とを前記記憶手段から抽出する内容情報抽出手段と、
抽出した前記Ｗｅｂページの可変部分の識別情報と内容情報とに基づいてＷｅｂページを再生成するＷｅｂページ再生成手段と、
前記Ｗｅｂページ再生成手段によって再生成されたＷｅｂページを、当該ＷｅｂページのＷｅｂページ識別情報を指定した管理者の端末装置に送信する再生成Ｗｅｂページ送信手段と、
を有してなることを特徴とするＷｅｂサーバ。
【請求項２】
ネットワークを介してＷｅｂページを送信する、Ｊａｖａサーブレットの機能を有するＷｅｂサーバであって、
ユーザによって指定されたパラメータに基づいてＷｅｂページの可変部分の内容を求め、内容情報処理ロジックへ通知する業務ロジックと、
ユーザによって指定されたパラメータに基づいて前記業務ロジックによって求められたＷｅｂページの可変部分の内容を示す内容情報を、画面生成ロジックに通知すると共に、当該ＷｅｂページのＷｅｂページ識別情報、当該ユーザのユーザ識別情報、およびＷｅｂページの可変部分を識別する部分識別情報と対応付けて記憶手段に記憶させる内容情報処理ロジックと、
前記内容情報処理ロジックによって求められた前記内容情報に基づいてＷｅｂページを生成する画面生成ロジックと、
前記画面生成ロジックによって生成されたＷｅｂページを、当該Ｗｅｂページに係るパラメータを指定したユーザの端末装置に送信するＷｅｂページ送信ロジックと、
前記記憶手段に記憶されている、管理者によって指定されたＷｅｂページ識別情報およびユーザ識別情報に対応する前記Ｗｅｂページの可変部分の識別情報と内容情報とに基づいて、Ｗｅｂページを再生成し、再生成したＷｅｂページを当該管理者の端末装置に送信するリプレイロジックと、
を有してなることを特徴とするＪａｖａサーブレットの機能を有するＷｅｂサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが指定したパラメータに基づいてＷｅｂページを生成しそのユーザの端末装置に送信するＷｅｂサーバに関する。
【背景技術】
【０００２】
従来より、ユーザが端末装置を操作して指定したパラメータに応じてＷｅｂページ（ＷＷＷページ）を生成し、その端末装置に送信するＷｅｂサーバ（ＷＷＷサーバ）が提案されている。例えば、ユーザからあるキーワードの指定を受けると、データベースの中からそのキーワードを含んだ文書を検索し、検索結果を記載したＷｅｂページを生成しユーザの端末装置に送信するＷｅｂサーバが提案されている。
【０００３】
このようにユーザが指定したパラメータに応じてＷｅｂページを生成するＷｅｂサーバを稼動していると、Ｗｅｂサーバの管理者は、端末装置に送信したＷｅｂページについてユーザから質問を受ける場合がある。例えば、入力したキーワードを含んだ文書が全く見つからなかった、またはキーワードを正しく入力したはずなのにエラーメッセージが表示された、というような不具合（障害）の報告とともに、その対処方法に関する質問を受ける場合がある。
【０００４】
しかし、質問をしたユーザは、大抵の場合、端末装置にどのようなＷｅｂページが表示されたのかを正確には覚えていない。したがって、管理者は、あいまいな不具合の状況しか得ることができず、ユーザの質問に上手く対応することができない場合がある。
【０００５】
そこで、ユーザが行った操作の履歴情報およびアプリケーションの動作環境（環境情報）などを記録しておき、これらの情報に基づいて過去に行われた処理を再現する装置が提案されている（特許文献１）。
【特許文献１】特開平８−５０５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１に記載された装置によると、履歴情報および環境情報などに基づいて動作環境を変更しつつ過去に行われた処理の再現を行うので、装置の構成および再現のための処理が複雑になってしまう。したがって、装置全体の処理に遅れが生じたり、情報の管理が煩雑になったりするなどの不具合を生じるおそれがある。
【０００７】
本発明は、このような問題点に鑑み、過去にユーザに送信したＷｅｂページの内容を従来よりも簡単に確認することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るＷｅｂサーバは、ネットワークを介してＷｅｂページをユーザの端末装置に送信するＷｅｂサーバであって、前記ユーザによって指定されたパラメータに基づいて前記Ｗｅｂページの全部または一部の内容を求める演算手段と、前記演算手段によって求められた内容を示す１つまたは複数の内容情報を前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる内容情報処理手段と、前記内容情報に基づいて前記Ｗｅｂページを生成するＷｅｂページ生成手段と、生成された前記Ｗｅｂページを前記ユーザの端末装置に送信する送信手段とを有してなる。
【０００９】
好ましくは、前記Ｗｅｂページ生成手段は、前記各内容情報のうち前記Ｗｅｂページの生成に必要な内容情報のみを前記内容情報処理手段から取得して当該Ｗｅｂページを生成し、前記内容情報処理手段は、前記各内容情報のうち前記Ｗｅｂページ生成手段に与えた内容情報のみを前記記憶手段に記憶させる。
【００１０】
または、前記各Ｗｅｂページのうち管理者によって指定されたＷｅｂページを、前記記憶手段に記憶されている、当該指定されたＷｅｂページに係る前記内容情報に基づいて生成する、Ｗｅｂページ再生成手段を有してなる。
【００１１】
本発明に係るＷｅｂサーバを、Ｊａｖａサーブレットの機能を有するＷｅｂサーバによって実現してもよい。すなわち、本発明に係るＷｅｂサーバに、前記ユーザによって指定されたパラメータに基づいて前記Ｗｅｂページの全部または一部の内容を求める業務ロジックと、前記業務ロジックによって求められた内容を示す１つまたは複数の内容情報を前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる内容情報処理ロジックと、前記内容情報に基づいて前記Ｗｅｂページを生成する画面生成ロジックと、生成された前記Ｗｅｂページを前記ユーザの端末装置に送信する送信ロジックと、を設けてもよい。
【００１２】
または、前記画面生成ロジックは、前記各内容情報のうち前記Ｗｅｂページの生成に必要な内容情報のみを前記内容情報処理ロジックから取得して当該Ｗｅｂページを生成し、前記内容情報処理ロジックは、前記各内容情報のうち前記画面生成ロジックに与えた内容情報のみを前記記憶手段に記憶させるように、構成してもよい。または、前記各Ｗｅｂページのうち管理者によって指定されたＷｅｂページを、前記記憶手段に記憶されている、当該指定されたＷｅｂページに係る前記内容情報に基づいて生成する、リプレイロジックを設けてもよい。
【００１３】
本発明に係るコンピュータプログラムは、ネットワークを介してＷｅｂページをユーザの端末装置に送信する、Ｊａｖａサーブレットの機能を有するコンピュータに用いられるコンピュータプログラムであって、前記ユーザによって指定されたパラメータに基づいて業務ロジックによって求められた、前記Ｗｅｂページの全部または一部の内容を示す１つまたは複数の内容情報のうち、当該Ｗｅｂページの生成に必要な内容情報のみを、当該Ｗｅｂページを生成する画面生成ロジックに対して与える処理と、前記１つまたは複数の内容情報のうち前記画面生成ロジックに対して与えた内容情報のみを前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる処理とをコンピュータに実行させるためのコンピュータプログラムである。
【００１４】
本発明において、Ｗｅｂページは、例えば、ＨＴＭＬまたはＸＭＬなどで記述されるハイパーテキストとして端末装置に送信される。ユーザの指定は、例えば、ユーザＩＤなどによって行われる。Ｗｅｂページの指定は、例えば、そのＷｅｂページのＩＤまたはそのＷｅｂページを受信した端末装置のユーザＩＤなどによって行われる。
【発明の効果】
【００１５】
本発明によると、ユーザに送信したＷｅｂページの内容を従来よりも簡単に確認することができる。請求項２および請求項５に記載の発明によると、Ｗｅｂページの生成のために用いられた情報を漏れなく記録することができる。請求項３に記載の発明によると、過去にユーザに送信したＷｅｂページを簡単に再現することができる。
【発明の実施の形態】
【００１６】
図１は本発明に係るＷｅｂサーバ１を有するネットワークシステムの例を示す図、図２はＷｅｂサーバ１のハードウェア構成の例を示す図、図３は磁気記憶装置１０ｄにインストールされているプログラムの例を示す図、図４はＷｅｂページの１つである検索結果画面ＨＧ２の例を示す図、図５はログファイル８０の内容の例を示す図である。
【００１７】
図１において、本発明に係るＷｅｂサーバ１は、ネットワーク３に接続可能な端末装置２のユーザに対して、様々な情報が記載されたＷｅｂページまたは様々なサービスを提供するためのＷｅｂページを発信する。つまり、Ｗｅｂサーバ１によってＷｅｂサイトが構築されている。
【００１８】
Ｗｅｂサーバ１は、例えば、ニュース、天気予報、商品の案内、または学術などに関する情報が記載されたＷｅｂページを発信する。または、情報検索、オンラインショッピング、オークション、またはオンラインバンキングなどのサービスをユーザが受ける際に、必要なパラメータ（例えば、キーワード、ユーザＩＤ、または口座番号など）を入力するためのテキストボックスが設けられたＷｅｂページを発信する。これらのＷｅｂページは、ＨＴＭＬ（Hypertext Markup Language ）またはＸＭＬ（Extensible Markup Language）などの言語によって記述されたハイパーテキストとして端末装置２に発信される。
【００１９】
Ｗｅｂサーバ１として、例えば、Ｊａｖａサーブレットの機能がインストールされたＷｅｂサーバが用いられる。端末装置２として、Ｗｅｂブラウザがインストールされたワークステーション、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、または携帯電話装置などが用いられる。以下、Ｊａｖａサーブレットの機能がインストールされたＷｅｂサーバ１において、ＨＴＭＬのハイパーテキスト（以下、「ＨＴＭＬファイル」と記載する。）を生成し、端末装置２に送信する場合を例に説明する。
【００２０】
Ｗｅｂサーバ１は、図２に示すように、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、磁気記憶装置１０ｄ、ディスプレイ装置１０ｅ、およびマウスまたはキーボードなどの入力装置１０ｆなどによって構成される。磁気記憶装置１０ｄには、オペレーティングシステム（ＯＳ）およびＷｅｂページを発信するために必要な図３に示すようなプログラムが記憶されている。これらのプログラムは、必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。磁気記憶装置１０ｄには、その他、実行された処理の内容を記録するログファイル８０および従業員の個人情報を管理する従業員データベース８ＤＢなどが記憶されている。
【００２１】
図３において、サーブレットエンジン７１は、ＪａｖａサーブレットにおけるＪａｖａ仮想マシン（ＪＶＭ）に相当するものである。なお、サーブレットエンジンは、サーブレットＡＰＩ２．２以降では、サーブレットコンテナと呼称される。サーブレット共通クラス７２、業務ロジッククラス７３、画面インタフェース用共通クラス７４、画面生成ロジッククラス７５、およびリプレイツール７６の各プログラム（モジュール、ロジック）は、Ｊａｖａ言語で記述される。
【００２２】
業務ロジッククラス７３は、端末装置２によって指定されたパラメータに基づいて、Ｗｅｂページの所定の部分に表示する値を算出するための処理を行うクラスである。例えば、業務ロジッククラス７３には、ユーザが入力したユーザＩＤおよびパスワードに基づいてユーザ認証の処理を行いそのユーザの住所および氏名を従業員データベース８ＤＢから検索する処理を行うプログラム（業務ロジック７３ａ）、または入力された預金の金額に基づいて利息を算出するプログラム（業務ロジック７３ｂ）など、複数のプログラム（業務ロジック７３ａ、７３ｂ、…）が含まれている。業務ロジックを実行することにより、１つまたは複数の結果が得られる。以下、業務ロジックによる処理の結果を、「結果情報８１」と記載する。
【００２３】
画面生成ロジッククラス７５は、結果情報８１に基づいてＷｅｂページ（画面）を表示するためのＨＴＭＬファイルを生成するための処理を行うクラスである。例えば、画面生成ロジッククラス７５には、業務ロジック７３ａの処理によって得られた２つの結果情報８１に基づいてユーザの氏名および住所が記載されたＷｅｂページを表示するためのＨＴＭＬファイルを生成するプログラム（画面生成ロジック７５ａ）、または業務ロジック７３ｂの処理によって得られた結果情報８１に基づいて利息が記載されたＷｅｂページを表示するためのＨＴＭＬファイルを生成するプログラム（画面生成ロジック７５ｂ）など、複数のプログラム（画面生成ロジック７５ａ、７５ｂ、…）が含まれている。
【００２４】
例えば、業務ロジック７３ａの処理によってそれぞれ「○○一郎」および「大阪市中央区城見」という値を示す２つの結果情報８１が得られた場合は、図４に示すようなＷｅｂページ（検索結果画面ＨＧ２）を表示するためのＨＴＭＬファイルが生成される。以下、Ｗｅｂページの中の「○○一郎」および「大阪市中央区城見」の部分のように、業務ロジックによる処理の結果（結果情報８１）に応じて表示内容が変化する部分を「動的部分」または「可変部分」と記載する。また、Ｗｅｂページの中の動的部分以外の部分を「固定部分」と記載することがある。
【００２５】
上記の業務ロジック７３ａと画面生成ロジック７５ａとの組合せのように、処理の流れが連携された業務ロジックと画面生成ロジックとの組合せが、動的部分（可変部分）を有するＷｅｂページごとに１組ずつ用意されている。以下、図３に示す業務ロジック７３ａ、７３ｂ、…は、それぞれ、画面生成ロジック７５ａ、７５ｂ、…と連携されているものとして説明する。
【００２６】
画面インタフェース用共通クラス７４は、各業務ロジックの処理によって得られる結果情報８１を、その業務ロジックに連携されている画面生成ロジックに対して出力するための処理を行うためのプログラム（モジュール、ロジック）によって構成される。つまり、画面インタフェース用共通クラス７４は業務ロジッククラス７３と画面生成ロジッククラス７５との間に位置付けされている。結果情報８１は、業務ロジックから画面生成ロジックに直接与えられる（セットされる）のではなく、必ず画面インタフェース用共通クラス７４を介して与えられる（セットされる）。このように、本実施形態のＷｅｂサーバ１では、業務ロジックから画面生成ロジックへの直接のアクセスができないように構成されている。
【００２７】
また、画面インタフェース用共通クラス７４は、結果情報８１のうちＷｅｂページの動的部分の生成のために用いられたものを、ログファイル８０に書き込む処理を行う。例えば、図４に示す検索結果画面ＨＧ２の場合は、業務ロジック７３ａによって生成された複数の結果情報８１のうち、２つの動的部分ＭＶ（ＭＶ１、ＭＶ２）の生成のためにそれぞれ用いられた２つの結果情報８１が、ログファイル８０に書き込まれる。係る処理は、画面生成ロジックがＷｅｂページの生成のために画面インタフェース用共通クラス７４から結果情報８１を取得した後で行われる。もしも、業務ロジック７３ａによって動的部分ＭＶの生成に用いられない結果情報８１が生成されていたとしても、ここでは係る結果情報８１はログファイル８０に書き込まない。
【００２８】
ログファイル８０は、図５に示すように構成される。例えば行（ａ１）の「２００２１０１１…．１０２」は、その行のログ情報に示される処理が行われた日付および時刻を示している。点線で囲まれたログ情報８０ａは、図４の検索結果画面ＨＧ２の動的部分を生成するために画面生成ロジック７５ａが情報の取得を行ったことを示している。行（ａ２）のタグ「Ｘ  ＴＡＧ  ＳＴＡＲＴ  Ｌｏｇ  Ｗｒｉｔｅ」および行（ａ５）のタグ「Ｘ  ＴＡＧ  ＥＮＤ  Ｌｏｇ  Ｗｒｉｔｅ」は、それぞれ、ログ情報８０ａの始まりおよび終わりを示す。
【００２９】
行（ａ２）、（ｂ２）の「ＧＩＤ〜」は、生成されるＷｅｂページを識別する画面ＩＤ（ＧＩＤ）である。例えば、「ＧＩＤ０２」は、検索結果画面ＨＧ２を識別する画面ＩＤを示す。行（ａ２）、（ｂ２）の最後尾の４桁の文字列は、その行の画面ＩＤに対応するＷｅｂページを要求したユーザを識別するユーザＩＤである。例えば、行（ａ２）の「Ａ１２３」は、検索結果画面ＨＧ２を要求したユーザのユーザＩＤである。
【００３０】
タグ「ＦＲＡＭＥ＿ＷＯＲＫ：＜Ｘ＞：」は、係るタグの後に、画面生成ロジックに取得された結果情報８１の内容（値）が記録されていることを意味する。この結果情報８１は、「結果情報８１の識別名：内容」という形式で記録される。例えば、行（ａ３）、（ａ４）は、それぞれ、ＮａｍｅおよびＡｄｄｒｅｓｓという識別名の結果情報８１が、「○○一郎」および「大阪市中央区城見」という値を有していることを示している。
【００３１】
図３に戻って、サーブレット共通クラス７２は、Ｊａｖａサーブレットの基本的な機能を実現するための処理を行うクラスである。つまり、サーブレット共通クラス７２には、端末装置２にＷｅｂページを提供するために共通的に用いられるプログラムが含まれている。例えば、端末装置２から取得したパラメータをその端末装置２に指定されたＵＲＬ（Uniform Resource Locator）に対応するＷｅｂページの業務ロジックに与える処理のためのプログラム、画面生成ロジックによって生成されたＷｅｂページのＨＴＭＬファイルを要求元の端末装置２に送信する処理のためのプログラム、およびクラスなどを初期化するプログラムなどが含まれている。
【００３２】
リプレイツール７６は、Ｗｅｂサーバ１の管理者などから要求があった場合に、過去に端末装置２に送信したＷｅｂページを再現（再生成）するための処理を行うプログラム（ロジック）である。再現されたＷｅｂページは、例えば、管理者がトラブルシューティングに対応する際の参考資料として用いられる。
【００３３】
図６は端末装置２に送信するためのＷｅｂページを生成する際のＷｅｂサーバ１の処理の流れの例を説明するフローチャート、図７はログイン画面ＨＧ１の例を示す図である。
【００３４】
次に、Ｗｅｂページとして図４に示す検索結果画面ＨＧ２を生成して端末装置２に送信する場合を例に、Ｗｅｂサーバ１の処理の流れを、フローチャートを参照して説明する。
【００３５】
図６に示すように、端末装置２から検索結果画面ＨＧ２を指定するＵＲＬおよびパラメータ（ユーザＩＤおよびパスワード）の指定を受け付けると（＃１０）、サーブレット共通クラス７２によって初期化のための処理を行う（＃１１）。例えば、検索結果画面ＨＧ２の動的部分を求めるための業務ロジッククラス７３のプログラム（業務ロジック７３ａ）、画面インタフェース用共通クラス７４のプログラム、および業務ロジック７３ａに連携される画面生成ロジッククラス７５のプログラム（画面生成ロジック７５ａ）のそれぞれで用いられる変数などをリセットする。
【００３６】
なお、端末装置２のユーザは、ＵＲＬおよびパラメータを「ｈｔｔｐ：／／ｗｗｗ．ａｂｃｄｅ．ｎｅ．ｊｐ／ｓｈｏｐ／ｓｅｒｖｌｅｔ／Ａｐｐ？Ｕｓｅｒ＿ＩＤ＝Ａ１２３＆…」のように「ＵＲＬ／パラメータ」の形式でＷｅｂブラウザに入力して指定する。または、図７に示すログイン画面ＨＧ１の各テキストボックスＴＸにパラメータを入力し、検索結果画面ＨＧ２のＵＲＬにリンクされているボタンＢＮをクリックすることによって、ＵＲＬおよびパラメータを指定してもよい。
【００３７】
初期化の処理が終わると、指定されたユーザＩＤおよびパスワードに基づいて業務ロジック７３ａを実行する（＃１２）。これにより、端末装置２のユーザの認証処理が行われ、そのユーザが正規のユーザであることが確認されると、そのユーザの氏名および住所が従業員データベース８ＤＢから抽出される。
【００３８】
業務ロジック７３ａによる実行結果（結果情報８１）を画面インタフェース用共通クラス７４にセットする（＃１３）。ここでは、氏名および住所を示す２つの結果情報８１を画面インタフェース用共通クラス７４にセットする。セットは、例えば「Ｎａｍｅ」および「Ａｄｄｒｅｓｓ」という名前の、画面インタフェース用共通クラス７４のローカル変数に、各結果情報８１を格納することによって行われる。
【００３９】
サーブレット共通クラス７２は、業務ロジック７３ａによる処理が完了した旨の通知を受けると、ユーザに指定されたＵＲＬのＷｅｂページすなわち検索結果画面ＨＧ２を表示するためのＨＴＭＬファイルを生成するように画面インタフェース用共通クラス７４に対して要求（命令）する（＃１４）。
【００４０】
ここで、画面生成ロジック７５ａを実行する。すなわち、画面生成ロジック７５ａは、ステップ＃１３において画面インタフェース用共通クラス７４にセットされた各結果情報８１のうちの、検索結果画面ＨＧ２の動的部分の生成に必要な結果情報８１を取得する（＃１５）。そして、取得した結果情報８１に基づいて、検索結果画面ＨＧ２のＨＴＭＬファイル生成する（＃１６）。
【００４１】
生成されたＨＴＭＬファイルは、サーブレット共通クラス７２によって指定元のユーザの端末装置２に送信される（＃１７）。画面生成ロジック７５ａによって取得された、すなわち、検索結果画面ＨＧ２の動的部分の生成のために用いられた２つの結果情報８１（氏名および住所）が、その取得された日付および時刻、検索結果画面ＨＧ２の画面ＩＤ、および指定元のユーザのユーザＩＤなどとともにログファイル８０に書き込まれる（＃１８）。書込みは、ステップ＃１６、＃１７の処理と並行してまたは前後して行われる。
【００４２】
図８はＷｅｂページを再現する際のＷｅｂサーバ１の処理の流れの例を説明するフローチャート、図９はリプレイ指定画面ＨＧ３の例を示す図、図１０は再現されたＷｅｂページの例を示す図である。次に、過去に端末装置２に送信したＷｅｂページを再現する際のＷｅｂサーバ１の処理の流れを、フローチャートを参照して説明する。
【００４３】
例えば、今、Ｗｅｂサーバ１の管理者は、Ｗｅｂブラウザに表示された検索結果画面ＨＧ２（図４参照）に不具合があるのではないかという質問を端末装置２のユーザから受けたとする。そこで、管理者は、次のような手順でそのユーザがＷｅｂブラウザで実際に見た検索結果画面ＨＧ２を管理者の端末装置４に再現させ、その質問に対処する。
【００４４】
図８に示すように、Ｗｅｂサーバ１の管理者は、再現したい検索結果画面ＨＧ２に対応する画面ＩＤ、質問をしたユーザのユーザＩＤ、およびユーザがＷｅｂページをＷｅｂサーバ１から受信した時期の３つの項目を、図９に示すリプレイ指定画面ＨＧ３の各テキストボックスＴＸに入力して指定する（＃２１）。なお、管理者は、３つの項目の全てを指定する必要はなく、少なくとも１つの項目を指定すればよい。例えば、いずれのＷｅｂページで不具合が生じたのか、ユーザが明確に覚えていない場合は、ユーザＩＤおよび時期を指定すればよい。また、管理者は、不具合があるとユーザに指摘されたＷｅｂページだけでなく、そのＷｅｂページの前後にユーザが見た幾つかのＷｅｂページも指定しておき、ユーザが見た一連のＷｅｂページを再現することによって、不具合の原因を特定しやすくしてもよい。
【００４５】
リプレイツール７６を実行し、指定された画面ＩＤ、ユーザＩＤ、および時期の全て条件を満たす全てのログ情報をログファイル８０（図５参照）の中から抽出する（＃２２）。例えば、画面ＩＤ＝ＧＩＤ０２、ユーザＩＤ＝Ａ１２３、時期＝２００２年１０月１１日１２時〜同２４時、という条件が指定された場合は、ログ情報８０ａが抽出される。ステップ＃２２の処理と並行してまたは前後して、画面インタフェース用共通クラス７４および画面生成ロジッククラス７５の初期化のための処理を行う（＃２３）。
【００４６】
抽出されたログ情報８０ａに示される２つの結果情報８１を画面インタフェース用共通クラス７４にセットし（＃２４）、検索結果画面ＨＧ２のＨＴＭＬファイルを生成するように画面生成ロジック７５ａに要求する（＃２５）。すると、ログファイル８０から得られた２つの結果情報８１が画面インタフェース用共通クラス７４から出力され（＃２６）、画面生成ロジック７５ａはこれらの結果情報８１に基づいて検索結果画面ＨＧ２のＨＴＭＬファイルを生成する（＃２７）。生成されたＨＴＭＬファイルは、リプレイツール７６によって管理者の端末装置４に送信される（＃２８）。このとき、端末装置４のＷｅｂブラウザには、ユーザが見た検索結果画面ＨＧ２と同じＷｅｂページが表示される。
【００４７】
ステップ＃２２において抽出された全てのログ情報についてＨＴＭＬファイルの生成の処理を行った場合は（＃２９でＹｅｓ）、処理を完了する。そうでない場合は（＃２９でＮｏ）、残りのログ情報に基づいてステップ＃２２〜＃２８の処理を繰り返す。そして、Ｗｅｂサーバ１の管理者は、再現されたＷｅｂページを見ながら、ユーザからの質問に対処する。
【００４８】
同様に、例えば、画面ＩＤ＝ＧＩＤ０３、ユーザＩＤ＝１２３４という条件が指定された場合は、ログ情報８０ｂが抽出され、これに基づいて図１０に示すようなＷｅｂページが再現される。
【００４９】
なお、システム開発またはテストなどを行っている環境（以下、「テスト環境」と記載する。）の下に置かれた端末装置では、再現されたＷｅｂページの中の画像などが上手く表示されない場合がある。例えば、ファイアーウォールによって、端末装置４からインターネットへの接続が禁止されている場合や、インターネットから端末装置４のあるローカルネットワーク（ＬＡＮ、イントラネット）へのＨＴＴＰによるデータ転送が禁止されている場合などである。
【００５０】
そこで、ＨＴＭＬファイルの生成の処理（＃２７）の後、例えば次のような処理を行ってもよい。まず、生成されたＨＴＭＬファイルの中から画像などの保存場所を示すＵＲＬを抽出する。例えば、図４に示す検索結果画面ＨＧ２のＨＴＭＬファイルの場合は、画像ＩＭのファイルの保存場所を示す「＜ＩＭＧ  ｓｃｒ＝" ／ｉｍａｇｅｓ／ａ．ｇｉｆ" ＞」のようなＵＲＬが抽出される。なお、「／ｉｍａｇｅｓ／ａ．ｇｉｆ」の部分は相対パスで表されており、これを絶対パスに直すと「ｈｔｔｐ：／／ｗｗｗ．ａｂｃｄｅ．ｎｅ．ｊｐ／ｉｍａｇｅｓ／ａ．ｇｉｆ」のようなＵＲＬになる。
【００５１】
抽出されたＵＲＬのパス名を、テスト環境における画像ＩＭのファイルの保存場所を示すパス名に置き換える。例えば、画像ＩＭのファイルが端末装置４自身のＣドライブの「ｔｅｓｔ」という名前のフォルダ（ディレクトリ）に格納されている場合は、「＜ＩＭＧ  ｓｃｒ＝" Ｃ：／ｔｅｓｔ／ａ．ｇｉｆ＞」のようにパス名を置き換える。そして、パス名が置き換えられたＨＴＭＬファイルの送信の処理を行う（＃２８）。
【００５２】
図８に示す処理によると、Ｗｅｂサーバ１の管理者は、Ｗｅｂページのデザインを変更した場合に、変更後のＷｅｂページが正しく表示されるか否かを確認することもできる。例えば、Ｗｅｂデザイナーが検索結果画面ＨＧ２のデザインを変更し、プログラマが変更後のデザインに従って画面生成ロジック７５ａを画面生成ロジック７５ａ' に修正したとする。
【００５３】
Ｗｅｂサーバ１の管理者は、画面生成ロジック７５ａを修正後の画面生成ロジック７５ａ' に置き換える（＃２０）。そして、この画面生成ロジック７５ａ' に基づいてステップ＃２１〜＃２８の処理を実行させる。これにより、過去にユーザに提供したＷｅｂページ（検索結果画面ＨＧ２）が、デザイン変更後のＷｅｂページとして再現される。管理者は、デザイン変更の前後のＷｅｂページを比較することにより、デザインの変更が上手く行われているか否かを簡単に確認ことができる。
【００５４】
本実施形態によると、Ｗｅｂページの動的部分の内容を示す結果情報８１をログファイル８０に記録しておくことができる。これにより、Ｗｅｂサーバ１の管理者は、過去にユーザに送信したＷｅｂページの不具合または障害の原因を特定する際の資料を簡単に得ることができる。また、そのＷｅｂページを簡単に再現することができるので、管理者にとって、Ｗｅｂページの不具合などの原因を特定しやすくなる。
【００５５】
また、Ｗｅｂページの生成のために用いられた結果情報８１を漏れなく記録することができる。生成したＷｅｂページの固定部分を記録しておかなくてもＷｅｂページを再現することができるので、ログファイル８０の内容を整然とすることができる。
【００５６】
図１１はＷｅｂサーバ１の機能的構成の例を示す図である。本実施形態のＷｅｂサーバ１はＪａｖａサーブレットの機能を有するものであったが、Ｃ＋＋、Ｐｅｒｌ、またはマイクロソフト社のＡＳＰ（Active Server Pages ）などＪａｖａ以外の言語で図３に示すようなプログラムを作成し、本実施形態のＷｅｂサーバ１と同様の機能を構成してもよい。この場合に、図３のプログラムとＣ＋＋などで作成したプログラムとが一対一に対応する必要はない。具体的には、図１１に示す各機能が実現されるようにプログラミングを行えばよい。
【００５７】
パラメータ取得部１０１は、ユーザの所望するＷｅｂページのＵＲＬおよびパラメータを端末装置２から取得する処理および初期化の処理を行う（図６の＃１０、＃１１の処理に相当）。動的部分演算部１０２は、指定されたパラメータに基づいてそのＷｅｂページの動的部分のための演算処理を行い、演算結果すなわち結果情報８１を動的部分処理部１０３に送る（同＃１２、＃１３）。
【００５８】
動的部分処理部１０３は、ユーザの所望するＷｅｂページのＨＴＭＬファイルを生成するようにＷｅｂページ生成部１０４に対して要求する（同＃１４）。Ｗｅｂページ生成部１０４は、動的部分処理部１０３から必要な結果情報８１だけを受け取り、これに基づいてＨＴＭＬファイルを生成する（同＃１５、＃１６）。受け取った結果情報８１は、データ記憶部１０６に記憶しておく（同＃１８）。生成されたＨＴＭＬファイルは、Ｗｅｂページ送信部１０５によって端末装置２に送信される（同＃１７）。
【００５９】
再現要求受付部１０７は、管理者が再現したい、過去にユーザに提供したＷｅｂページの画面ＩＤ、そのユーザのユーザＩＤ、およびそのユーザがＷｅｂページを受信した時期についての条件を端末装置４から取得する（図８の＃２１）。結果情報抽出部１０９は、その条件を満たす情報ログをログファイル８０から抽出する。そして、初期化などの処理を行い、そのＷｅｂページのＨＴＭＬファイルを生成するようにＷｅｂページ再生成部１０８に対して要求する（同＃２２〜＃２５）。
【００６０】
Ｗｅｂページ再生成部１０８は、結果情報抽出部１０９によって抽出された結果情報８１を受け取り、これに基づいてＨＴＭＬファイルを再生成する（同＃２６、＃２７）。生成されたＨＴＭＬファイルは、Ｗｅｂページ送信部１０５によって端末装置４に送信される（同＃２８）。
【００６１】
なお、本実施形態のＪａｖａサーブレットの機能を有するＷｅｂサーバ１において、図１１のパラメータ取得部１０１およびＷｅｂページ送信部１０５は、主に図３のサーブレット共通クラス７２のプログラムを実行することにより実現される。動的部分演算部１０２は、主に業務ロジッククラス７３のプログラムを実行することにより実現される。動的部分処理部１０３は、主にサーブレット共通クラス７２および画面インタフェース用共通クラス７４のプログラムを実行することにより実現される。Ｗｅｂページ生成部１０４およびＷｅｂページ再生成部１０８は、主に画面生成ロジッククラス７５のプログラムを実行することにより実現される。データ記憶部１０６は、主にログファイル８０によって実現される。再現要求受付部１０７は、主にリプレイツール７６のプログラムを実行することにより実現される。結果情報抽出部１０９は、主に画面インタフェース用共通クラス７４およびリプレイツール７６のプログラムを実行することにより実現される。
【００６２】
その他、Ｗｅｂサーバ１の全体または各部の構成、各クラスの構成および内容、ログファイル８０の構成および内容、処理内容、処理順序、使用言語などは、本発明の趣旨に沿って適宜変更することができる。
（付記１）ネットワークを介してＷｅｂページをユーザの端末装置に送信するＷｅｂサーバであって、
前記ユーザによって指定されたパラメータに基づいて前記Ｗｅｂページの全部または一部の内容を求める演算手段と、
前記演算手段によって求められた内容を示す１つまたは複数の内容情報を前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる内容情報処理手段と、
前記内容情報に基づいて前記Ｗｅｂページを生成するＷｅｂページ生成手段と、
生成された前記Ｗｅｂページを前記ユーザの端末装置に送信する送信手段と、
を有してなることを特徴とするＷｅｂサーバ。
（付記２）前記Ｗｅｂページ生成手段は、前記各内容情報のうち前記Ｗｅｂページの生成に必要な内容情報のみを前記内容情報処理手段から取得して当該Ｗｅｂページを生成し、
前記内容情報処理手段は、前記各内容情報のうち前記Ｗｅｂページ生成手段に与えた内容情報のみを前記記憶手段に記憶させる、
付記１記載のＷｅｂサーバ。
（付記３）前記各Ｗｅｂページのうち管理者によって指定されたＷｅｂページを、前記記憶手段に記憶されている、当該指定されたＷｅｂページに係る前記内容情報に基づいて生成する、Ｗｅｂページ再生成手段を有してなる、
付記１または付記２記載のＷｅｂサーバ。
（付記４）ネットワークを介してＷｅｂページをユーザの端末装置に送信する、Ｊａｖａサーブレットの機能を有するＷｅｂサーバであって、
前記ユーザによって指定されたパラメータに基づいて前記Ｗｅｂページの全部または一部の内容を求める業務ロジックと、
前記業務ロジックによって求められた内容を示す１つまたは複数の内容情報を前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる内容情報処理ロジックと、
前記内容情報に基づいて前記Ｗｅｂページを生成する画面生成ロジックと、
生成された前記Ｗｅｂページを前記ユーザの端末装置に送信する送信ロジックと、
を有してなることを特徴とするＪａｖａサーブレットの機能を有するＷｅｂサーバ。
（付記５）前記画面生成ロジックは、前記各内容情報のうち前記Ｗｅｂページの生成に必要な内容情報のみを前記内容情報処理ロジックから取得して当該Ｗｅｂページを生成し、
前記内容情報処理ロジックは、前記各内容情報のうち前記画面生成ロジックに与えた内容情報のみを前記記憶手段に記憶させる、
付記４記載のＪａｖａサーブレットの機能を有するＷｅｂサーバ。
（付記６）前記各Ｗｅｂページのうち管理者によって指定されたＷｅｂページを、前記記憶手段に記憶されている、当該指定されたＷｅｂページに係る前記内容情報に基づいて生成する、リプレイロジックを有してなる、
付記４または付記５記載のＪａｖａサーブレットの機能を有するＷｅｂサーバ。
（付記７）ネットワークを介してＷｅｂページをユーザの端末装置に送信する、Ｊａｖａサーブレットの機能を有するコンピュータに用いられる、コンピュータプログラムであって、
前記ユーザによって指定されたパラメータに基づいて業務ロジックによって求められた、前記Ｗｅｂページの全部または一部の内容を示す１つまたは複数の内容情報のうち、当該Ｗｅｂページの生成に必要な内容情報のみを、当該Ｗｅｂページを生成する画面生成ロジックに対して与える処理と、
前記１つまたは複数の内容情報のうち前記画面生成ロジックに対して与えた内容情報のみを前記Ｗｅｂページおよび前記ユーザと対応付けて記憶手段に記憶させる処理と、
をコンピュータに実行させるためのコンピュータプログラム。
【図面の簡単な説明】
【００６３】
【図１】本発明に係るＷｅｂサーバを有するネットワークシステムの例を示す図である。
【図２】Ｗｅｂサーバのハードウェア構成の例を示す図である。
【図３】磁気記憶装置にインストールされているプログラムの例を示す図である。
【図４】Ｗｅｂページの１つである検索結果画面の例を示す図である。
【図５】ログファイルの内容の例を示す図である。
【図６】端末装置に送信するためのＷｅｂページを生成する際のＷｅｂサーバの処理の流れの例を説明するフローチャートである。
【図７】ログイン画面の例を示す図である。
【図８】Ｗｅｂページを再現する際のＷｅｂサーバの処理の流れの例を説明するフローチャートである。
【図９】リプレイ指定画面の例を示す図である。
【図１０】再現されたＷｅｂページの例を示す図である。
【図１１】Ｗｅｂサーバの機能的構成の例を示す図である。
【符号の説明】
【００６４】
１  Ｗｅｂサーバ
２  端末装置
３  ネットワーク
７２  サーブレット共通クラス
７３  業務ロジッククラス
７３ａ、７３ｂ  業務ロジック
７４  画面インタフェース用共通クラス（内容情報処理ロジック）
７５  画面生成ロジッククラス
７５ａ、７５ｂ  画面生成ロジック
７６  リプレイツール
８０  ログファイル（記憶手段）
８１  結果情報（内容情報）
１０２  動的部分演算部（演算手段）
１０３  動的部分処理部（内容情報処理）
１０４  Ｗｅｂページ生成部（Ｗｅｂページ生成手段）
１０５  Ｗｅｂページ送信部（送信手段）
１０６  データ記憶部（記憶手段）
１０８  Ｗｅｂページ再生成部（Ｗｅｂページ再生成手段）
【図１】
2008269618.tif 000003
【図２】
2008269618.tif 000004
【図３】
2008269618.tif 000005
【図４】
2008269618.tif 000006
【図５】
2008269618.tif 000007
【図６】
2008269618.tif 000008
【図７】
2008269618.tif 000009
【図８】
2008269618.tif 000010
【図９】
2008269618.tif 000011
【図１０】
2008269618.tif 000012
【図１１】
2008269618.tif 000013