(57)【特許請求の範囲】
【請求項１】
コンピュータに、
ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータと処理識別情報とを対応付けて記憶した記憶装置を参照し、前記処理識別情報を持つ２つのリクエストデータに含まれるパラメータの内、前記２つのリクエストデータでの値が異なり、且つ、前記処理識別情報を持つ直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出するとともに、さらに、前記２つのリクエストデータのそれぞれの宛先のパスに含まれるディレクトリが異なる場合に、前記２つの宛先のパスから前記ディレクトリの部分を除いた文字列が同一、且つ、前記２つのリクエストデータでパラメータ名が同一であるか否かを判定し、いずれも同一であると判定した場合に、前記２つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出し、
前記抽出したパラメータを出力し、
前記出力したパラメータに対する値の入力を受け付け、
前記入力を受け付けた値を前記抽出したパラメータの値に設定した前記リクエストデータを前記ウェブサーバに送信する
処理を実行させることを特徴とするリクエスト処理プログラム。
【請求項２】
前記コンピュータに、
前記抽出したパラメータの値を変数に置換したリクエストデータを含む一連のリクエストデータを生成し、
前記生成した一連のリクエストデータの実行依頼に基づいて、前記変数を出力し、
前記変数に対する値の入力を受け付け、
前記入力を受け付けた変数の値を組み込んだ前記一連のリクエストデータを用いて、前記ウェブサーバとの間でリクエストデータ及びレスポンスデータを送受信し、
前記一連のリクエストデータの最後のリクエストデータに対する前記ウェブサーバからのレスポンスデータを前記実行依頼に対する応答データとして出力する
処理を実行させることを特徴とする請求項１に記載のリクエスト処理プログラム。
【請求項３】
前記コンピュータに、
前記リクエストデータに含まれる全ての前記変数毎の入力欄を含む画面データを生成し、
前記生成した画面データを出力し、
前記出力した画面データの前記変数毎の入力欄に対する入力値を受け付ける
処理を実行させることを特徴とする請求項２に記載のリクエスト処理プログラム。
【請求項４】
前記コンピュータに、
前記抽出する処理において、さらに、前記同一であると判定されたリクエスト対象のファイル名の不一致部分を直前のレスポンスデータから抽出する
処理を実行させることを特徴とする請求項１に記載のリクエスト処理プログラム。
【請求項５】
ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶した記憶部と、
前記記憶部を参照し、２つのリクエストデータに含まれるパラメータの内、前記２つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出するとともに、さらに、前記２つのリクエストデータのそれぞれの宛先のパスに含まれるディレクトリが異なる場合に、前記２つの宛先のパスから前記ディレクトリの部分を除いた文字列が同一、且つ、前記２つのリクエストデータでパラメータ名が同一であるか否かを判定し、いずれも同一であると判定した場合に、前記２つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出する抽出部と、
前記抽出部によって抽出されたパラメータを出力し、前記出力したパラメータに対する値の入力を受け付ける問合せ部と、
前記入力を受け付けた値を前記抽出したパラメータに設定した前記リクエストデータを前記ウェブサーバに送信する送信部と、
を有することを特徴とするリクエスト処理装置。
【請求項６】
コンピュータが、
ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶した記憶装置を参照し、２つのリクエストデータに含まれるパラメータの内、前記２つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出するとともに、さらに、前記２つのリクエストデータのそれぞれの宛先のパスに含まれるディレクトリが異なる場合に、前記２つの宛先のパスから前記ディレクトリの部分を除いた文字列が同一、且つ、前記２つのリクエストデータでパラメータ名が同一であるか否かを判定し、いずれも同一であると判定した場合に、前記２つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータに前記リクエストデータでの値が含まれないパラメータを抽出し、
前記抽出したパラメータを出力し、
前記出力したパラメータに対する値の入力を受け付け、
前記入力を受け付けた値を前記抽出したパラメータに設定した前記リクエストデータを前記ウェブサーバに送信する
ことを特徴とするリクエスト処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法に関する。
【背景技術】
【０００２】
近年、ウェブサービスを業務において利用する際、ユーザの操作効率を向上させる技術が求められている。
【０００３】
例えば、ユーザの操作効率を向上させる技術として、ウェブサービスを受けるためのウェブブラウザを実行するユーザ端末とウェブサーバとの中継装置が、ウェブブラウザとウェブサーバとの通信メッセージを通信ログとして記憶する。そして、中継装置は、通信ログのうちリクエストに含まれるパラメータ名及び値が直前のレスポンスに含まれているか否かを判定する。そして、中継装置は、直前のレスポンスに含まれていれば、この直前のレスポンスからリクエストに利用するパラメータ名及び値として取り出し、リクエストを再現するためのリクエスト定義を行う。一方、中継装置は、直前のレスポンスに含まれていなければ、リクエストに含まれているパラメータ名及び値をそのまま設定するリクエスト定義を行う。さらに、中継装置は、ウェブブラウザから再現開始要求を取得すると、リクエスト定義に基づき一連のリクエストをウェブサーバに順次送信し、一連のリクエストのうち最後のリクエストに対するレスポンスをウェブブラウザに返信する。この結果、中継装置は、ユーザを介さないで、一連のリクエストを順次生成し、ウェブサーバに送信するので、ユーザの操作効率を向上させる。
【０００４】
また、ユーザの操作効率を向上させる別の技術として、ウェブブラウザとウェブサーバとの中継装置が、ウェブブラウザとウェブサーバとの複数の通信メッセージに基づき、所定の情報を再現するために必要なメッセージの遷移関係を解析する。そして、中継装置は、解析された、メッセージの遷移関係に基づいて、所定の情報が再現されるまでに必要なメッセージを生成する。この結果、中継装置は、所定の情報を再現するまでのユーザの操作効率を向上させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９００３３号公報
【特許文献２】特開２０１０−５５４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、同じ処理の流れであっても、ユーザによる実行の都度異なる値が入力されるパラメータがあるような場合、パラメータの組み合わせ分だけ通信ログを生成しなければ、リクエストを再現することができない。一方、ユーザの入力パラメータを可変としたい場合、仮に中継装置がユーザに入力パラメータの確認を問い合わせるとしても、全ての入力パラメータの中からどの入力パラメータに異なる値を入力するかをユーザ自身が選択する必要がある。つまり、ユーザが実行の都度異なる値を入力したいパラメータの部分を、全ての入力パラメータの中からユーザ自身が選択しなければならない。
【０００７】
開示の技術は、ユーザの処理を短縮化することを可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの側面では、リクエスト処理プログラムは、コンピュータに、ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータと処理識別情報とを対応付けて記憶した記憶装置を参照し、前記処理識別情報を持つ２つのリクエストデータに含まれるパラメータの内、前記２つのリクエストデータでの値が異なり、且つ、前記処理識別情報を持つ直前のレスポンスデータには含まれないパラメータを抽出し、前記抽出したパラメータを出力し、前記出力したパラメータに対する値の入力を受け付け、前記入力を受け付けた値を前記抽出したパラメータの値に設定した前記リクエストデータを前記ウェブサーバに送信する処理を実行させる。
【発明の効果】
【０００９】
本願の開示するリクエスト処理プログラムの一つの態様によれば、ユーザの処理を短縮化することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るウェブ中継システムの構成を示す機能ブロック図である。
【図２】図２は、実施例２に係る中継装置の構成を示す機能ブロック図である。
【図３】図３は、通信記録テーブルのデータ構造の一例を示す図である。
【図４】図４は、ユーザＡのリクエストデータの具体例を説明する図である。
【図５】図５は、ユーザＡのレスポンスデータの具体例を説明する図である。
【図６】図６は、ユーザＢのリクエストデータの具体例を説明する図である。
【図７】図７は、ユーザＢのレスポンスデータの具体例を説明する図である。
【図８】図８は、ＸＰａｔｈの取得例を説明する図である。
【図９】図９は、業務リクエストの具体例を説明する図である。
【図１０】図１０は、汎用処理テーブルのデータ構造の一例を示す図である。
【図１１】図１１は、問合せ画面の一例を示す図である。
【図１２】図１２は、実施例２に係る処理比較解析処理の手順を示すフローチャートである。
【図１３】図１３は、実施例２に係る問合せ処理の手順を示すフローチャートである。
【図１４】図１４は、実施例３に係る中継装置の構成を示す機能ブロック図である。
【図１５】図１５は、変換テーブルのデータ構造の一例を示す図である。
【図１６】図１６は、実施例３に係る通信記録テーブルの具体例を示す図である。
【図１７】図１７は、ユーザＡのリクエストデータの具体例を説明する図である。
【図１８】図１８は、ユーザＡのレスポンスデータの具体例を説明する図である。
【図１９】図１９は、ユーザＢのリクエストデータの具体例を説明する図である。
【図２０】図２０は、ユーザＢのレスポンスデータの具体例を説明する図である。
【図２１】図２１は、実施例３に係る汎用処理テーブルの具体例を示す図である。
【図２２】図２２は、実施例３に係る処理比較解析処理の手順を示すフローチャートである。
【図２３】図２３は、実施例３に係る同一処理判定処理の手順を示すフローチャートである。
【図２４】図２４は、中継プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するリクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、ウェブブラウザとウェブサーバとの間の通信を中継する中継装置に適用した場合を示す。しかし、本実施例によりこの発明が限定されるものではなく、本発明は、中継装置以外であってもウェブサーバに送信するリクエストデータを処理する情報処理装置にも適用可能である。
【実施例１】
【００１２】
［実施例１に係るウェブ中継システムの構成］
図１は、本実施例１に係るウェブ中継システム９の構成を示す機能ブロック図である。図１に示すように、ウェブ中継システム９は、中継装置１と、ウェブブラウザ２と、ウェブサーバ３とを有する。中継装置１は、ウェブブラウザ２とウェブサーバ３との間の通信を中継する。ウェブブラウザ２は、ウェブサービスを利用する、パーソナルコンピュータなどのユーザ端末である。ウェブサーバ３は、ウェブサービスを実施する。なお、ウェブ中継システム９では、ウェブサーバ３を中継装置１及びウェブブラウザ２と同一のネットワーク上に適用した場合であっても良いし、ウェブサーバ３を外部装置として異なるネットワーク上に適用した場合であっても良い。
【００１３】
中継装置１は、記憶部１１と、抽出部１２と、問合せ部１３とを有する。記憶部１１は、ウェブサーバ３に送信されたリクエストデータと当該ウェブサーバ３から受信したレスポンスデータと処理識別情報とを対応付けて記憶する。処理識別情報とは、例えば業務毎の処理に対応する識別情報を示す。
【００１４】
抽出部１２は、記憶部１１を参照し、同じ処理識別情報を持つ２つのリクエストデータに含まれるパラメータの内、２つのリクエストデータでの値が異なり、且つ、処理識別情報を持つ直前のレスポンスデータには含まれないパラメータを抽出する。問合せ部１３は、抽出したパラメータに対する値の入力を受け付け、入力を受け付けた値を抽出したパラメータに設定したリクエストデータをウェブサーバ３に送信する。例えば、２つのリクエストデータでの値が異なり直前のレスポンスデータに含まれないパラメータの場合、このパラメータは、ユーザが入力するパラメータである。また、２つのリクエストデータでの値が異なり直前のレスポンスデータに含まれるパラメータの場合、このパラメータは、ウェブサーバ３によって作成されるパラメータである。したがって、抽出部１２は、ユーザに問い合わせるパラメータである、２つのリクエストデータでの値が異なり直前のレスポンスデータに含まれないパラメータを抽出する。例えば、ユーザに問い合わせるパラメータには、ユーザＩＤ（identification）やパスワードがある。
【００１５】
このようにして、中継装置１は、２つのリクエストデータでの値が異なり直前のレスポンスデータに含まれないパラメータを抽出し、抽出したパラメータを例えばユーザに対して問い合わせ、問い合わせた結果を受け付ける。このため、中継装置１は、リクエストデータのパラメータを絞り込んで例えばユーザに問い合わせるので、当該ユーザの処理を短縮化することができる。
【実施例２】
【００１６】
［実施例２に係る中継装置の構成］
図２は、実施例２に係る中継装置の構成を示す機能ブロック図である。図２に示すように、中継装置１Ａは、制御部２０及び記憶部３０を有する。なお、中継装置１Ａは、実施例１の中継装置１の一例である。
【００１７】
制御部２０は、リクエスト記録部２１と、リクエスト送信部２２と、レスポンス送信部２３と、レスポンス記録部２４と、処理比較解析部２５と、問合せ部２６とを有する。さらに、処理比較解析部２５は、抽出部２５ａ及び汎用処理生成部２５ｂを有する。なお、抽出部２５ａは、実施例１の抽出部１２の一例であり、問合せ部２６は、実施例１の問合せ部１３の一例である。また、制御部２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００１８】
記憶部３０は、通信記録テーブル３１及び汎用処理テーブル３２を有する。なお、通信記録テーブル３１は、実施例１の記憶部１１の一例である。記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
【００１９】
リクエスト記録部２１は、所定の業務の一連の操作毎にウェブブラウザから送信されたリクエストデータを順次通信記録テーブル３１に記録する。ここで、所定の業務とは、例えば、在庫検索に関する業務であったり、出張旅費の精算に関する業務であったりするが、ウェブブラウザに一連の操作画面を順次遷移させる業務であってウェブブラウザに何らかの情報を入力させる業務であれば良い。リクエスト送信部２２は、ウェブブラウザから送信されたリクエストデータをウェブサーバに送信する。
【００２０】
レスポンス記録部２４は、ウェブサーバから送信された、リクエストデータに対応するレスポンスデータを順次通信記録テーブル３１に記録する。レスポンス送信部２３は、ウェブサーバから送信された、リクエストデータに対応するレスポンスデータをウェブブラウザに送信する。このとき、レスポンス送信部２３は、送信対象のレスポンスデータに対するリクエストデータが中継装置１Ａを経由するように、当該レスポンスデータに該当するスクリプトを埋め込む。これにより、ウェブブラウザ側の環境に対して特殊なソフトウェアが組み込まれなくても、レスポンス記録部２４は、ウェブブラウザからのリクエストデータを記録することができることとなる。
【００２１】
ここで、通信記録テーブル３１のデータ構造について、図３を参照しながら説明する。図３は、通信記録テーブル３１のデータ構造の一例を示す図である。図３に示すように、通信記録テーブル３１は、識別番号３１ａ、処理識別子３１ｂ、ユーザ識別子３１ｃ及びＵＲＬ３１ｄ毎に、リクエストデータ３１ｅ及びレスポンスデータ３１ｆを対応付けて記憶する。処理識別子３１ｂは、業務に対応する処理識別子を示す。ユーザ識別子３１ｃは、ユーザに対応する識別子を示す。ＵＲＬ３１ｄは、ウェブサーバ３で実行すべき処理のＵＲＬを示す。リクエストデータ３１ｅは、ユーザ識別子３１ｃのユーザからＵＲＬ３１ｄにリクエストした場合のリクエストデータを示す。レスポンスデータ３１ｆは、リクエストに対する、ユーザ識別子３１ｃのユーザへのレスポンスデータを示す。
【００２２】
図２に戻って、抽出部２５ａは、通信記録テーブル３１に記憶された同一操作のリクエストデータを比較し、リクエストデータに含まれるリクエストパラメータについて、差分を取得する。具体的には、抽出部２５ａは、通信記録テーブル３１から処理識別子３１ｂが同一且つＵＲＬ３１ｄが同一であってユーザ識別子３１ｃが異なる複数のリクエストデータを読み出す。また、抽出部２５ａは、読み出した複数のリクエストデータを比較し、同じリクエストパラメータに差分がある、すなわち同じリクエストパラメータに異なる値があるリクエストパラメータを取得する。
【００２３】
なお、抽出部２５ａは、処理識別子３１ｂが同一且つＵＲＬ３１ｄが同一であってユーザ識別子３１ｃが異なる複数のリクエストデータを比較し、リクエストパラメータに差分がない場合には、当該リクエストデータの処理が同一処理であると判定する。
【００２４】
また、抽出部２５ａは、リクエストパラメータに差分がある場合には、当該リクエストパラメータの値が直前のレスポンスデータに含まれるか否かを判定する。具体的には、抽出部２５ａは、取得された、差分のあるリクエストパラメータを含むリクエストデータの直前のレスポンスデータを、通信記録テーブル３１から読み出す。また、抽出部２５ａは、差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれているか否かを判定する。そして、抽出部２５ａは、差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれていないと判定する場合には、ユーザに問い合わせるパラメータ（以降、「問合せパラメータ」という。）であるとして、当該リクエストパラメータを抽出する。一方、抽出部２５ａは、差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれていると判定する場合には、当該リクエストパラメータの値がウェブサーバによって作成されたものであると判定する。
【００２５】
例えば、所定の業務を在庫管理業務であるとして、抽出部２５ａがユーザＡとユーザＢの通信記録を用いて、問合せパラメータであるリクエストパラメータを抽出する具体例について、図４〜図７を参照しながら説明する。図４は、ユーザＡのリクエストデータの具体例であり、図５は、ユーザＡのレスポンスデータの具体例であり、図６は、ユーザＢのリクエストデータの具体例であり、図７は、ユーザＢのレスポンスデータの具体例である。
【００２６】
図４（Ａ）は、在庫管理業務のウェブブラウザで表される画面の遷移である。図４（Ｂ）は、中継装置１Ａに対して各画面から送信されたリクエストデータであって中継装置１Ａのリクエスト記録部２１によって通信記録テーブル３１に記録されたリクエストデータである。図４（Ａ）に示すように、ウェブブラウザは、ログイン画面ｇ１、認証確認画面ｇ２、メニュー画面ｇ３、商品番号入力画面ｇ４及び検索結果画面ｇ５を順に表示する。
【００２７】
ここで、図示しない初期画面から送信されたリクエストデータが、ｒ１に示されるデータとなる。ログイン画面ｇ１から送信されたリクエストデータが、ｒ２に示されるデータである。ここでは、リクエストパラメータとして、「ＵＳＥＲＩＤ」に関するもの（ｐ１）と「ＰＡＳＳＷＯＲＤ」に関するもの（ｐ２）がある。そして、「Ｕｓｅｒ１」が「ＵＳＥＲＩＤ」に関するリクエストパラメータの値となり、「Ｐａｓｓｗｏｒｄ１」が「ＰＡＳＳＷＯＲＤ」に関するリクエストパラメータの値となる。
【００２８】
認証確認画面ｇ２から送信されたリクエストデータが、ｒ３に示されるデータである。ここでは、リクエストパラメータとして、「ｉｄｅｎｔｉｆｙ」に関するもの（ｐ３）がある。そして、「Ｕ０００１」が「ｉｄｅｎｔｉｆｙ」に関するリクエストパラメータの値となる。メニュー画面ｇ３から送信されたリクエストデータが、ｒ４に示されるデータである。ここでは、リクエストパラメータがない。商品番号入力画面ｇ４から送信されたリクエストデータが、ｒ５に示されるデータである。ここでは、リクエストパラメータとして、「ｃｏｄｅ」に関するもの（ｐ４）がある。そして、「Ａ００１」が「ｃｏｄｅ」に関するリクエストパラメータの値となる。
【００２９】
図５に示すように、各画面ｇ１〜ｇ５を表示するレスポンスデータであって中継装置１Ａのレスポンス記録部２４によって通信記録テーブル３１に記録されたレスポンスデータがある。ここでは、図５（Ａ）がログイン画面ｇ１のレスポンスデータｈ１であり、図５（Ｂ）が認証確認画面ｇ２のレスポンスデータｈ２であり、図５（Ｃ）がメニュー画面ｇ３のレスポンスデータｈ３である。さらに、図５（Ｄ）が商品番号入力画面ｇ４のレスポンスデータｈ４であり、図５（Ｅ）が検索結果画面ｇ５のレスポンスデータｈ５である。
【００３０】
図６（Ａ）に示すように、ユーザＢについての在庫管理業務の画面遷移は、ユーザＡについての図４（Ａ）と同様であるので、この説明を省略する。また、図６（Ｂ）に示すように、ユーザＢについての在庫管理業務のリクエストデータが中継装置１Ａの通信記録テーブル３１に記録される。また、図７に示すように、ユーザＢについての在庫管理業務のレスポンスデータが中継装置１Ａの通信記録テーブル３１に記録される。
【００３１】
このような前提のもと、抽出部２５ａは、通信記録テーブル３１に記憶された同一操作のリクエストデータを比較し、リクエストデータに含まれるリクエストパラメータについて、差分を取得する。ここでは、抽出部２５ａは、ユーザＡとユーザＢとの同一操作ｒ２のリクエストデータを比較すると、ユーザＡのリクエストパラメータｐ１とユーザＢのリクエストパラメータｐ１１とが異なるので、リクエストパラメータｐ１を取得する。また、抽出部２５ａは、ユーザＡのリクエストパラメータｐ２とユーザＢのリクエストパラメータｐ１２とが異なるので、リクエストパラメータｐ２を取得する。また、抽出部２５ａは、ユーザＡとユーザＢとの同一操作ｒ３のリクエストデータを比較すると、ユーザＡのリクエストパラメータｐ３とユーザＢのリクエストパラメータｐ１３とが異なるので、リクエストパラメータｐ３を取得する。さらに、抽出部２５ａは、ユーザＡとユーザＢとの同一操作ｒ５のリクエストデータを比較すると、ユーザＡのリクエストパラメータｐ４とユーザＢのリクエストパラメータｐ１４とが異なるので、リクエストパラメータｐ４を取得する。
【００３２】
また、抽出部２５ａは、リクエストパラメータに差分がある場合には、当該リクエストパラメータの値が直前のレスポンスデータに含まれるか否かを判定する。ここでは、ユーザＡのリクエストデータｒ２のリクエストパラメータｐ１の値が「Ｕｓｅｒ１」であり、この値がユーザＡのリクエストデータｒ２の直前のレスポンスデータｈ１に含まれていない。したがって、抽出部２５ａは、リクエストパラメータｐ１がユーザに問い合わせる問合せパラメータであると判定し、このリクエストパラメータｐ１を抽出する。同様に、抽出部２５ａは、リクエストパラメータｐ２がユーザに問い合わせる問合せパラメータであると判定し、このリクエストパラメータｐ２を抽出する。さらに、抽出部２５ａは、リクエストパラメータｐ４がユーザに問い合わせる問合せパラメータであると判定し、このリクエストパラメータｐ４を抽出する。一方、ユーザＡのリクエストデータｒ３のリクエストパラメータｐ３の値が「Ｕ０００１」であり、この値がユーザＡのリクエストデータｒ３の直前のレスポンスデータｈ２に含まれている。したがって、抽出部２５ａは、リクエストパラメータｐ３がウェブサーバによって作成されたものであると判定し、当該リクエストパラメータを抽出しないことになる。
【００３３】
図２に戻って、汎用処理生成部２５ｂは、同一の業務において一連の処理が汎用化される業務リクエストを作成する。具体的には、汎用処理生成部２５ｂは、抽出部２５ａによってリクエストパラメータが抽出された場合には、当該リクエストパラメータの値を例えば変数に置き換えたリクエストデータを、汎用化した処理として生成する。また、汎用処理生成部２５ｂは、抽出部２５ａによってリクエストパラメータの値がウェブサーバによって作成されるものであると判定された場合には、当該リクエストパラメータの値をＸＰａｔｈで表したリクエストデータを、汎用化した処理として生成する。
【００３４】
ここで、リクエストパラメータの値がウェブサーバによって作成される場合に、リクエストパラメータの値に汎用化して表されるＸＰａｔｈを取得する例について、図８を参照しながら説明する。図８は、ＸＰａｔｈの取得例を説明する図である。図８（Ａ）に示すように、レスポンスデータＲ０のＴＤタグのうち２番目のＴＤタグｒ０のＸＰａｔｈを取得する場合であるものとする。この場合には、汎用処理生成部２５ｂは、レスポンスデータＲ０の一番上の節「ＨＴＭＬ」から下に向けて順に節を辿る。そして、図８（Ｂ）に示すように、汎用処理生成部２５ｂは、ＴＤタグｒ０のＸＰａｔｈを「／ＨＴＭＬ／ＢＯＤＹ／ＴＡＢＬＥ／ＴＲ／ＴＤ［２］」であるとして取得する。
【００３５】
図２に戻って、汎用処理生成部２５ｂは、抽出部２５ａによって同一処理であると判定された場合には、同一処理であると判定されたリクエストデータそのものを、汎用化した処理とする。そして、汎用処理生成部２５ｂは、汎用化した処理を用いて、業務の順番どおりになるように業務リクエストを生成する。すなわち、生成された業務リクエストは、所定の業務における汎用化されたリクエストの処理フローとなる。そして、汎用処理生成部２５ｂは、生成した業務リクエストを汎用処理テーブル３２に記録する。
【００３６】
ここで、汎用処理生成部２５ｂによって生成された業務リクエストの具体例について説明する。図９は、業務リクエストの具体例を説明する図である。図９に示すように、「ＵＳＥＲＩＤ」と「ＰＡＳＳＷＯＲＤ」と「ｃｏｄｅ」の各リクエストパラメータは、ユーザに問い合わせる問合せパラメータであるので、その値が変数となっている。また、「ｉｄｅｎｔｉｆｙ」のリクエストパラメータは、ウェブサーバによって作成されるものであるので、ＸＰａｔｈによって表されている。
【００３７】
次に、業務リクエストを記憶する汎用処理テーブル３２のデータ構造について、図１０を参照しながら説明する。図１０は、汎用処理テーブル３２のデータ構造の一例を示す図である。図１０に示すように、汎用処理テーブル３２は、処理ＩＤ３２ａ、順序番号３２ｂ及びＵＲＬ３２ｃ毎にリクエストデータ３２ｄを対応付けて記憶する。処理ＩＤ３２ａは、業務に相当する処理ＩＤを示す。順序番号３２ｂは、処理ＩＤ３２ａに相当する業務における処理がされる順序を示す。ＵＲＬ３２ｃは、ウェブサーバ３で実行すべき処理のＵＲＬを示す。リクエストデータ３２ｄは、業務リクエストのそれぞれの処理フローであるリクエストデータを示す。なお、リクエストデータ３２ｄは、汎用処理生成部２５ｂによって作成される。
【００３８】
例えば、処理ＩＤ３２ａが「１」、処理番号３２ｂが「２」、ＵＲＬ３２ｃがログインの認証を依頼する「http://www.xxx.com/login/login.cgi」の場合、リクエストデータ３２ｄは、ユーザＩＤ及びパスワードを含む。すなわち、リクエストデータ３２ｄは、リクエストパラメータ「ＵＳＥＲＩＤ」の値が変数「％％」ｄ１に置き換わり、リクエストパラメータ「ＰＡＳＳＷＯＲＤ」の値が変数「％％」ｄ２に置き換わる処理となっている。
【００３９】
図２に戻って、問合せ部２６は、業務リクエストに含まれる問合せパラメータを、例えばユーザに対して問い合わせる。すなわち、問合せ部２６は、業務リクエストに関わる業務の再現に先立って、問合せパラメータの具体的な内容をユーザに対して問い合わせる。例えば、問合せ部２６は、業務リクエストに含まれる問合せパラメータの変数を空欄とし、実行ボタンが付いた問合せ画面のデータをユーザに対して送信する。すなわち、問合せ部２６は、業務リクエストに含まれる問合せパラメータの変数部分を一度にユーザに問い合わせる。
【００４０】
ここで、問合せ画面の一例を、図１１を参照しながら説明する。図１１は、問合せ画面の一例を示す図である。図１１に示すように、問合せパラメータがユーザＩＤに相当する「ＵＳＥＲ  ＩＤ」ｔ１、パスワードに相当する「ＰＡＳＳＷＯＲＤ」ｔ２及びコードに相当する「ｃｏｄｅ」ｔ３である場合の例である。ｔ０部分が、各問合せパラメータに対して具体的な内容を入力可能な領域となる。なお、問い合わせパラメータｔ１〜ｔ３の各タイトル「ＵＳＥＲＩＤ」、「ＰＡＳＳＷＯＲＤ」及び「ｃｏｄｅ」は、各レスポンスデータの問い合わせパラメータから取得される。ただし、各タイトルは、レスポンスデータに限らず、リクエストデータの問い合わせパラメータから取得されるものとしても良い。
【００４１】
図２に戻って、問合せ部２６は、業務リクエストに含まれるリクエストとユーザから送信された具体的な内容とを用い、業務リクエストを実行する。具体的には、問合せ部２６は、ユーザから問合せパラメータの具体的な内容をリクエストとして受信し、業務リクエストの問合せパラメータの該当箇所に具体的な内容を埋め込む。そして、問合せ部２６は、業務リクエストに含まれるリクエストデータを、順序番号３２ｂの昇順に順次送信する。そして、問合せ部２６は、一連のリクエストデータのうちの最後のリクエストに対する、ウェブサーバ３のレスポンスをユーザ端末に返信する。
【００４２】
例えば、問合せ部２６がユーザから「ＵＳＥＲＩＤ」に対する具体的な内容として「Ｕｓｅｒ１」を、「ＰＡＳＳＷＯＲＤ」に対する具体的な内容として「Ｐａｓｓｗｏｒｄ１」を、「ｃｏｄｅ」に対する具体的な内容として「Ａ００１」を受信するものとする。この場合には、問合せ部２６は、業務リクエストの「ＵＳＥＲＩＤ」に関する問合せパラメータの該当箇所に「Ｕｓｅｒ１」を埋め込む。また、問合せ部２６は、業務リクエストの「ＰＡＳＳＷＯＲＤ」に関する問合せパラメータの該当箇所に「Ｐａｓｓｗｏｒｄ１」を埋め込む。さらに、問合せ部２６は、業務リクエストの「ｃｏｄｅ」に関する問合せパラメータの該当箇所に「Ａ００１」を埋め込む。そして、問合せ部２６は、それぞれの具体的な内容を埋め込んだ業務リクエストに含まれる一連のリクエストデータを、順次ウェブサーバ３に送信する。そして、問合せ部２６は、業務リクエストに含まれる最後のリクエストデータに対する、ウェブサーバ３のレスポンス、ここでは「ｃｏｄｅ」に対する検索結果をユーザ端末に返信する。
【００４３】
［実施例２に係る処理比較解析処理の手順］
次に、実施例２に係る処理比較解析処理の手順を、図１２を参照して説明する。図１２は、実施例２に係る処理比較解析処理の手順を示すフローチャートである。
【００４４】
まず、抽出部２５ａは、通信記録テーブル３１に記憶されたレコードに、ユーザ識別子３１ｃが異なるレコードであって処理識別子３１ｂが同一であるレコードがあるか否かを判定する（ステップＳ２１）。そして、処理識別子３１ｂが同一であるレコードがないと判定された場合には（ステップＳ２１；Ｎｏ）、抽出部２５ａは、同一操作のリクエストデータが複数存在しないと判定して、処理比較解析処理を終了する。一方、処理識別子３１ｂが同一であるレコードがあると判定された場合には（ステップＳ２１；Ｙｅｓ）、抽出部２５ａは、同一のＵＲＬ３１ｄ毎にリクエストデータ３１ｅのリクエストパラメータを比較する（ステップＳ２２）。
【００４５】
そして、抽出部２５ａは、比較対象の複数のリクエストデータ３１ｅに含まれるそれぞれのリクエストパラメータのパラメータ名及びパラメータ数が同じか否かを判定する（ステップＳ２３）。そして、比較対象のそれぞれのリクエストパラメータのパラメータ名またはパラメータ数が同じでないと判定された場合には（ステップＳ２３；Ｎｏ）、抽出部２５ａは、リクエストデータ３１ｅの構成が同一でないと判定し、処理比較解析処理を終了する。
【００４６】
一方、比較対象のそれぞれのリクエストパラメータのパラメータ名及びパラメータ数が同じであると判定された場合には（ステップＳ２３；Ｙｅｓ）、抽出部２５ａは、リクエストデータ３１ｅの構成が同一であると判定する。そして、抽出部２５ａは、比較対象のそれぞれの同じリクエストパラメータに異なる値があるか否かを判定する（ステップＳ２４）。そして、比較対象のそれぞれの同じリクエストパラメータに異なる値がない場合には（ステップＳ２４；Ｎｏ）、抽出部２５ａは、当該リクエストデータ３１ｅの処理が同一処理であると判定し、ステップＳ３１に移行する。
【００４７】
一方、比較対象のそれぞれの同じリクエストパラメータに異なる値がある場合には（ステップＳ２４；Ｙｅｓ）、抽出部２５ａは、それぞれの直前のレスポンスデータ３１ｆから当該リクエストパラメータに対応するパラメータを探索する（ステップＳ２５）。
【００４８】
そして、抽出部２５ａは、比較対象のそれぞれのリクエストパラメータの値がそれぞれの直前のレスポンスデータ３１ｆから探索されたパラメータに含まれているか否かを判定する（ステップＳ２６）。例えば、抽出部２５ａは、直前のレスポンスデータ３１ｆから探索されたパラメータに値が設定されたことを意味する「ｖａｌｕｅ」があるか否かを判定する。すなわち、抽出部２５ａは、直前のレスポンスデータ３１ｆのパラメータに「ｖａｌｕｅ」があれば、既にパラメータに値が設定されているので、リクエストパラメータの値が直前のレスポンスデータ３１ｆのパラメータに含まれていることとなる。
【００４９】
そして、それぞれの直前のレスポンスデータ３１ｆから探索されたパラメータに値が存在しないと判定された場合には（ステップＳ２６；Ｎｏ）、抽出部２５ａは、これらリクエストパラメータがユーザに問い合わせる問合せパラメータであると判定する。そして、抽出部２５ａは、これらリクエストパラメータを抽出する。汎用処理生成部２５ｂは、抽出した問合せパラメータの値を変数に置き換えたリクエストデータを生成し（ステップＳ２７）、ステップＳ３１に移行する。
【００５０】
一方、それぞれの直前のレスポンスデータ３１ｆから探索されたパラメータに値が存在すると判定された場合には（ステップＳ２６；Ｙｅｓ）、汎用処理生成部２５ｂは、両方のパラメータの値を抽出するための「ＸＰａｔｈ」を取得する（ステップＳ２８）。そして、汎用処理生成部２５ｂは、両方のパラメータの「ＸＰａｔｈ」が同じか否かを判定する（ステップＳ２９）。そして、両方のパラメータの「ＸＰａｔｈ」が同じであると判定された場合（ステップＳ２９；Ｙｅｓ）、汎用処理生成部２５ｂは、パラメータの値に、「ＸＰａｔｈ」を指定したリクエストデータを作成し（ステップＳ３０）、ステップＳ３１に移行する。一方、両方のパラメータの「ＸＰａｔｈ」が同じでないと判定された場合（ステップＳ２９；Ｎｏ）、パラメータの値を変数化すべく、ステップＳ２７に移行する。
【００５１】
続いて、汎用処理生成部２５ｂは、作成したリクエストデータを汎用処理として汎用処理テーブル３２に登録する（ステップＳ３１）。すなわち、汎用処理生成部２５ｂは、業務におけるリクエストの順番どおりになるように、業務リクエストを作成し、汎用処理テーブル３２に登録する。なお、作成された業務リクエストは、所定の業務における汎用化されたリクエストの処理フローとなる。
【００５２】
その後、抽出部２５ａは、次の順序となるＵＲＬ３１ｄが存在するか否かを判定する（ステップＳ３２）。そして、次の順序となるＵＲＬ３１ｄが存在すると判定される場合には（ステップＳ３２；Ｙｅｓ）、抽出部２５ａは、次の順序となるＵＲＬ３１ｄのリクエストの汎用化をすべく、ステップＳ２２に移行する。一方、次の順序となるＵＲＬ３１ｄが存在しないと判定される場合には（ステップＳ３２；Ｎｏ）、抽出部２５ａは、処理比較解析処理を終了する。
【００５３】
［実施例２に係る問合せ処理の手順］
次に、実施例２に係る問合せ処理の手順を、図１３を参照して説明する。図１３は、実施例２に係る問合せ処理の手順を示すフローチャートである。
【００５４】
まず、問合せ部２６は、業務処理のイベントがあったか否かを判定する（ステップＳ４１）。業務処理のイベントがなかったと判定された場合には（ステップＳ４１；Ｎｏ）、問合せ部２６は、業務処理のイベントがあるまで待つ。一方、業務処理のイベントがあったと判定された場合には（ステップＳ４１；Ｙｅｓ）、問合せ部２６は、イベントがあった業務処理の該当処理を汎用処理テーブル３２から抽出する（ステップＳ４２）。具体的には、問合せ部２６は、イベントがあった業務処理の処理ＩＤ３２ａに対応するリクエストデータ３２ｄを汎用処理テーブル３２から抽出する。
【００５５】
そして、問合せ部２６は、抽出したリクエストデータ３２ｄの中から変数化された問合せパラメータを抽出する（ステップＳ４３）。そして、問合せ部２６は、問合せパラメータの具体的な内容を、業務の再現に先立ってユーザに対して問い合わせるべく、変数化された問合せパラメータの入力画面をユーザに対して送信する（ステップＳ４４）。例えば、問合せ部２６は、業務リクエストに含まれる問合せパラメータの変数で置き換わった部分を空欄とし、実行ボタンが付いた画面データを生成し、生成した画面データをユーザに対して送信する。
【００５６】
そして、問合せ部２６は、ユーザからのリクエストを受信する（ステップＳ４５）。例えば、問合せ部２６は、空欄とされた問合せパラメータの具体的な内容を、ユーザからリクエストとして受信する。そして、問合せ部２６は、ユーザから空欄とされた問合せパラメータの具体的な内容を受け取ると、業務リクエストの問合せパラメータの該当部分に具体的な内容を埋め込む。
【００５７】
続いて、問合せ部２６は、業務リクエストに処理（リクエストデータ）が存在するか否かを判定する（ステップＳ４６）。業務リクエストに処理が存在する場合には（ステップＳ４６；Ｙｅｓ）、問合せ部２６は、当該処理をリクエストとして、ウェブサーバ３へ送信する（ステップＳ４７）。そして、問合せ部２６は、ウェブサーバ３からレスポンスを受信し（ステップＳ４８）、次の処理を実行すべく、ステップＳ４６に移行する。
【００５８】
一方、業務リクエストに処理が存在しない場合には（ステップＳ４６；Ｎｏ）、問合せ部２６は、最終レスポンスをウェブブラウザであるユーザ端末に送信する（ステップＳ４９）。そして、問合せ部２６は、問合せ処理を終了する。
【００５９】
［実施例２の効果］
上記実施例２によれば、通信記録テーブル３１は、ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶する。そして、抽出部２５ａが通信記録テーブル３１を参照し、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出する。問合せ部２６は、該抽出したパラメータを例えばユーザ端末に対して問い合わせる。かかる構成によれば、抽出部２５ａが、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出し、抽出したパラメータをユーザに対して問い合わせる。このため、中継装置１Ａは、リクエストデータのパラメータを絞り込んでユーザに問い合わせるので、ユーザの処理を短縮化することができる。
【００６０】
また、上記実施例２によれば、問合せ部２６は、抽出の処理で抽出したパラメータの値を変数に置換したリクエストデータを含む一連のリクエストデータを生成し、該生成した一連のリクエストデータに基づいて、変数の値を問い合わせる。そして、問合せ部２６は、問い合わせの処理時の問い合わせに対する応答を組み込んだ一連のリクエストデータを用いて、ウェブサーバとの間でリクエストデータ及びレスポンスデータを送受信する。そして、問合せ部２６は、最後のリクエストデータに対するウェブサーバのレスポンスデータをユーザ端末に送信する。かかる構成によれば、問合せ部２６は、一連のリクエストデータの変数の値を業務処理の再現に先立ってユーザに問い合わせるので、リクエストデータの各レスポンスを待たないで一連のリクエストデータを再現できる。
【００６１】
また、上記実施例２によれば、問合せ部２６は、リクエストデータに含まれるパラメータ部分を空欄とし、実行ボタンが付いた画面データをユーザ端末に送信し、前記パラメータ部分を設定させる。かかる構成によれば、問合せ部２６は、リクエストデータに含まれるパラメータ部分を１画面で設定可能とする。この結果、問合せ部２６は、ユーザに容易に操作させることができるので、操作効率を向上させることができる。
【００６２】
また、上記実施例２によれば、抽出部２５ａは、２つのリクエストデータで値が同一のパラメータを抽出しないこととした。かかる構成によれば、抽出部２５ａは、２つのリクエストデータで値が同一のパラメータを除外できるので、パラメータに関する処理効率を向上させることができる。
【００６３】
なお、問合せ部２６は、業務リクエストに含まれる問合せパラメータを、業務リクエストに含まれる全ての問合せパラメータの変数を空欄とした問合せ画面のデータを用いて、問合せパラメータの具体的な内容を纏めてユーザに問い合わせるものと説明した。しかしながら、問合せ部２６は、業務リクエストに含まれる一部の問合せパラメータの変数を空欄とした問合せ画面のデータを用いて、問合せパラメータの具体的な内容を一部分ずつユーザに問い合わせるものとしても良い。かかる場合には、問合せ部２６は、問合せパラメータに関する画面だけをユーザ端末に表示するので、中継装置１Ａとユーザ端末との間の処理効率を向上させることができる。
【００６４】
また、中継装置１Ａは、ウェブブラウザと同一のネットワーク上に適用した場合を説明した。しかしながら、中継装置１Ａは、ウェブブラウザと異なるネットワーク上に適用しても良い。この場合に、ウェブブラウザと中継装置１Ａとの間にプロキシサーバを設置することもある。このプロキシサーバと中継装置１Ａとを一体化することも可能である。
【実施例３】
【００６５】
ところで、実施例２の中継装置１Ａでは、同一操作のリクエストデータとは、リクエスト先のＵＲＬが同一である場合を前提として説明した。しかしながら、同一操作のリクエストデータには、リクエスト先のＵＲＬが同一でない場合もある。例えば、ログイン後にユーザＩＤがＵＲＬに含まれることとなり、同一操作であってもリクエスト先のＵＲＬが異なる場合がある。また、別の例では、負荷分散などを目的として、複数のウェブサーバ３で同一のアプリケーションが動作する場合、アプリケーションが動作する環境が異なるので、同一操作であってもリクエスト先のＵＲＬが異なってしまう。
【００６６】
そこで、実施例３の中継装置１Ｂでは、同一操作のリクエストデータとは、リクエスト先のＵＲＬが同一でない場合を含むものとして説明する。
【００６７】
［実施例３に係る中継装置の構成］
図１４は、実施例３に係る中継装置の構成を示す機能ブロック図である。なお、図２に示す中継装置１Ａと同一の構成については同一符号を示すことで、その重複する構成及び動作の説明については省略する。実施例２と実施例３とが異なるところは、処理比較解析部２５に同一処理判定部４１を追加した点にある。また、実施例２と実施例３とが異なるところは、記憶部３０に変換テーブル５１を追加した点にある。
【００６８】
同一処理判定部４１は、通信記録テーブル３１に記憶された２つのＵＲＬ及びＵＲＬに対応する２つのリクエストデータを比較し、比較した２つのリクエストデータが同一処理であるか否かを判定する。具体的には、同一処理判定部４１は、通信記録テーブル３１から、処理識別子３１ｂが同一且つユーザ識別子３１ｃが異なる２つのＵＲＬ３１ｄと、２つのＵＲＬ３１ｄに対応するそれぞれのリクエストデータ３１ｅとを読み出す。また、同一処理判定部４１は、読み出した２つのＵＲＬ３１ｄを比較し、同一であるか否かを判定する。ここで、同一処理判定部４１は、２つのＵＲＬ３１ｄが同一でないと判定する場合には、ＵＲＬ３１ｄが同一でなくても対応する２つのリクエストデータ３１ｅが同一処理であるとみなせる条件を満たすか否かを判定する。
【００６９】
２つのリクエストデータ３１ｅが同一処理であるとみなせる条件とは、例えば、２つのＵＲＬ３１ｄのベースネームが同一であること及び２つのリクエストデータ３１ｅのパラメータ名が同一であることである。さらに、同一処理とみなせる条件には、ＵＲＬ３１ｄのドメイン名が同一であること、ＵＲＬ３１ｄの階層数すなわちパスの区切り文字の数が同一であること及びＵＲＬ３１ｄの異なる部分が一階層のみであることが含まれる。なお、開始時の１つ目のＵＲＬ３１ｄが異なる場合には、同一処理でないと推定されるので、開始時の１つ目のＵＲＬ３１ｄが同一であることは、同一処理とみなせる条件に含む。
【００７０】
ここで、ＵＲＬ３１ｄのベースネーム、ドメイン名、階層及び区切り文字について説明する。例えば、ＵＲＬ３１ｄが「ｈｔｔｐ：／／ｘｘｘ．ｘｘｘ．ｘｘｘ／ＡＡＡＡ／ＢＢＢＢ／ｃ．ｈｔｍｌ」であるものとする。本実施形態において、ベースネームとは、宛先のパスからディレクトリの部分、つまり最後の“／”までの部分を取り去った残りの部分文字列、つまり、拡張子が付いている場合にはこの拡張子を含むファイル名であり、このＵＲＬの場合には、ベースネームとは、「ｃ．ｈｔｍｌ」を指す。ドメイン名とは、「ｘｘｘ．ｘｘｘ．ｘｘｘ」を指す。区切り文字とは、「／」を指す。そして、階層とは、区切り文字で区切られた内容を一階層として、このＵＲＬの場合には、階層数は４階層となる。
【００７１】
同一処理判定部４１は、ＵＲＬ３１ｄが同一でなくても対応する２つのリクエストデータ３１ｅが同一処理とみなせる条件を満たす場合には、同一処理としてＵＲＬ３１ｄの不一致部分を変換テーブル５１に一時的に書き込む。そして、同一処理判定部４１は、以降のリクエストデータ３１ｅの同一処理判定について、変換テーブル５１に従い、ＵＲＬ３１ｄの不一致部分を置換しながら同一処理であるか否かを判定する。ここで、変換テーブル５１のデータ構造について、図１５を参照しながら説明する。
【００７２】
図１５は、変換テーブルのデータ構造の一例を示す図である。図１５に示すように、変換テーブル５１は、比較元５１ａ及び比較先５１ｂを対応付けて記憶する。比較元５１ａは、２つのＵＲＬを比較した際に不一致部分がある場合、比較元のＵＲＬの不一致部分を示す。比較先５１ｂは、比較元のＵＲＬの不一致部分に対応する比較先のＵＲＬの部分を示す。例えば、ログイン後にユーザＩＤがＵＲＬに含まれたものとする。比較先ＵＲＬに「Ｕｓｅｒ１」が含まれ、比較元ＵＲＬに「Ｕｓｅｒ２」が含まれた場合、比較元５１ａには、比較元ＵＲＬの不一致部分の「Ｕｓｅｒ１」が記憶され、比較先５１ｂには、比較元ＵＲＬの不一致部分に対応する「Ｕｓｅｒ２」が記憶される。
【００７３】
図１４に戻って、抽出部２５ａは、通信記録テーブル３１に記憶された同一操作のＵＲＬ及びリクエストデータを比較し、差分を取得する。具体的には、抽出部２５ａは、同一処理判定部４１によって同一処理と判定された２つのリクエストデータのそれぞれのＵＲＬを比較し、差分となる異なる値を取得する。但し、差分となる異なる値は、ＵＲＬの一階層のみとする。また、抽出部２５ａは、同一処理判定部４１によって同一処理と判定された２つのリクエストデータを比較し、同じリクエストパラメータに差分がある、すなわち同じリクエストパラメータに異なる値があるリクエストパラメータを取得する。
【００７４】
また、抽出部２５ａは、同一操作のＵＲＬまたはリクエストデータに差分がある場合には、差分となる異なる値が直前のレスポンスデータに含まれるか否かを判定する。具体的には、抽出部２５ａは、ＵＲＬまたはリクエストデータに差分がある場合には、直前のレスポンスデータを、通信記録テーブル３１から読み出す。また、抽出部２５ａは、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれているか否かを判定する。ここで、抽出部２５ａが、差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれていないと判定する場合には、ユーザに問い合わせる問合せパラメータであるとして、当該リクエストパラメータを抽出する。
【００７５】
また、抽出部２５ａは、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値が直前のレスポンスデータに含まれていると判定する場合には、ウェブサーバ３によって作成されたものであると判定する。ここで、レスポンスデータには、ＨＴＭＬを含む場合とＨＴＭＬを含まない場合とがある。ＨＴＭＬを含まない場合には、レスポンスデータには「Ｌｏｃａｔｉｏｎ：」から始まるヘッダが必ず含まれる。そこで、レスポンスデータがＨＴＭＬを含まない場合には、後続する汎用処理生成部２５ｂが、「Ｌｏｃａｔｉｏｎ：」から始まるヘッダからＵＲＬの情報を示す位置情報を取得することとなる。また、レスポンスデータがＨＴＭＬを含む場合には、汎用処理生成部２５ｂが、ＨＴＭＬからリクエストパラメータのＸＰａｔｈを取得することとなる。
【００７６】
ここで、実施例３に係る通信記録テーブル３１の具体例について、図１６を参照して説明する。図１６は、実施例３に係る通信記録テーブルの具体例を示す図である。なお、通信記録テーブル３１のデータ構造については、実施例２の図３で説明したので、その説明を省略する。図１６に示すように、通信記録テーブル３１は、処理識別子３１ｂが「Ｆ４」、ユーザ識別子３１ｃが「ＵＳＥＲ１」である場合のＵＲＬ（３１ｄ）、リクエストデータ（３１ｅ）及びレスポンスデータ（３１ｆ）を記憶する。例えば、識別番号３１ａが「９」のリクエストデータ（３１ｅ）として、リクエストパラメータ「ＵＳＥＲ」（ユーザＩＤに相当）に対してリクエストパラメータの値「ｕｓｅｒ１」が記憶されている。また、識別番号３１ａが「９」のリクエストデータ３１ｅとして、リクエストパラメータ「ＰＡＳＳ」（パスワードに相当）に対してリクエストパラメータの値「ｐａｓｓ１」が記憶されている。また、識別番号３１ａが「９」のレスポンスデータ３１ｆとして、ＨＴＭＬを戻す代わりに、後続するリクエストデータの位置情報を示すＬｏｃａｔｉｏｎヘッダ情報「Ｌｏｃａｔｉｏｎ：・・・」が記憶されている。このＬｏｃａｔｉｏｎヘッダ情報に、ＵＲＬの情報を示す位置情報が記憶されている。また、識別番号３１ａが「１０」のＵＲＬ３１ｄとして、ユーザＩＤ「ｕｓｅｒ１」を含んだＵＲＬが記憶されている。また、識別番号３１ａが「１０」のリクエストデータ３１ｅとして、ユーザＩＤ「ｕｓｅｒ１」を含んだ情報が記憶されている。
【００７７】
図１４に戻って、汎用処理生成部２５ｂは、抽出部２５ａによってリクエストパラメータが抽出された場合には、当該リクエストパラメータの値を例えば変数に置き換えたリクエストデータを、汎用化した処理として生成する。また、汎用処理生成部２５ｂは、抽出部２５ａによってウェブサーバによって作成されるものであると判定された場合であってレスポンスデータにＨＴＭＬを含まない場合には、以下のように汎用化した処理を生成する。すなわち、汎用処理生成部２５ｂは、Ｌｏｃａｔｉｏｎヘッダ情報から位置情報を取得し、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値を位置情報で表したリクエストデータを汎用化した処理として生成する。また、汎用処理生成部２５ｂは、抽出部２５ａによってウェブサーバによって作成されるものであると判定された場合であってレスポンスデータにＨＴＭＬを含む場合には、以下のように汎用化した処理を生成する。すなわち、汎用処理生成部２５ｂは、ＨＴＭＬからＸＰａｔｈを取得し、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値をＸＰａｔｈで表したリクエストデータを、汎用化した処理として生成する。
【００７８】
［ＵＲＬの不一致部分を汎用化する具体例］
次に、抽出部２５ａがユーザＡとユーザＢとの通信記録を用いてＵＲＬの不一致部分を汎用化する具体例について、図１７〜図２０を参照しながら説明する。ユーザＡとユーザＢとの通信記録は、同一の業務の通信記録を用いる。図１７は、ユーザＡのリクエストデータの具体例であり、図１８は、ユーザＡのレスポンスデータの具体例であり、図１９は、ユーザＢのリクエストデータの具体例であり、図２０は、ユーザＢのレスポンスデータの具体例である。
【００７９】
図１７に示すように、最初にウェブブラウザ２からウェブサーバ３に送信されたリクエストデータが、ｒ１１に示されるデータとなる。次に、ウェブブラウザ２からウェブサーバ３に送信されたリクエストデータが、ｒ１２に示されるデータとなる。ここでは、リクエストパラメータとして、「ｕｉｄ」（ユーザＩＤに相当）に関するものと「ｐｓｗｄ」（パスワードに相当）に関するものがある。そして、「ｕｓｅｒ１」が「ｕｉｄ」に関するリクエストパラメータの値となり、「ｐａｓｓ１」が「ｐｓｗｄ」に関するリクエストパラメータの値となる。
【００８０】
次に、ウェブブラウザ２からウェブサーバ３に送信されたリクエストデータが、ｒ１３に示されるデータとなる。ここでは、「ｕｉｄ」に関するリクエストパラメータの値「ｕｓｅｒ１」（ｕ１）がリクエストデータのＵＲＬに含まれている。ｒ１４に示されるリクエストデータのＵＲＬにもｒ１３と同様に、「ｕｉｄ」に関するリクエストパラメータの値「ｕｓｅｒ１」が含まれている。そして、ユーザＡについてのリクエストデータｒ１１〜ｒ１４が中継装置１Ｂの通信記録テーブル３１に記録される。
【００８１】
図１８に示すように、ｒ１１のリクエストデータに対応したレスポンスデータが、ｈ１１に示されるデータとなる。次に、ｒ１２のリクエストデータに対応したレスポンスデータが、ｈ１２に示されるデータとなる。次に、ｒ１３のリクエストデータに対応したレスポンスデータが、ｈ１３に示されるデータとなる。そして、ｒ１４のリクエストデータに対応したレスポンスデータが、ｈ１４に示されるデータとなる。そして、ユーザＡについてのレスポンスデータｈ１１〜ｈ１４が中継装置１Ｂの通信記録テーブル３１に記録される。
【００８２】
図１９に示すように、ユーザＡと同一業務において、ユーザＢについてのリクエストデータｒ１１〜ｒ１４が中継装置１Ｂの通信記録テーブル３１に記録される。また、図２０に示すように、ユーザＡと同一業務において、ユーザＢについてのレスポンスデータｈ１１〜ｈ１４が中継装置１Ｂの通信記録テーブル３１に記録される。
【００８３】
このような前提のもと、抽出部２５ａは、通信記録テーブル３１に記憶された同一操作のＵＲＬ及びリクエストデータを比較し、差分を取得する。ここでは、抽出部２５ａは、ユーザＡとユーザＢとの同一操作ｒ１３のリクエストデータを比較すると、同一操作ｒ１３におけるユーザＡのＵＲＬの「ｕｓｅｒ１」ｕ１とユーザＢのＵＲＬの「ｕｓｅｒ２」ｕ２とが異なると判定する。そこで、抽出部２５ａは、異なると判定した、ユーザＡのＵＲＬの「ｕｓｅｒ１」ｕ１及びユーザＢのＵＲＬの「ｕｓｅｒ２」ｕ２を取得する。
【００８４】
また、抽出部２５ａは、同一操作のＵＲＬに差分がある場合には、差分となる異なる値が直前のレスポンスデータに含まれるか否かを判定する。ここでは、ユーザＡのリクエストデータｒ１３のＵＲＬの値が「ｕｓｅｒ１」ｕ１であり、この値がユーザＡのリクエストデータｒ１３の直前のレスポンスデータｈ１２に含まれている。したがって、抽出部２５ａは、ウェブサーバによって作成されたものであると判定する。そして、汎用処理生成部２５ｂは、レスポンスデータにＨＴＭＬが含まれている場合、ＨＴＭＬからＸＰａｔｈを取得し、ＵＲＬの値またはリクエストパラメータの値をＸＰａｔｈで表したリクエストデータを、汎用化した処理として生成する。ここでは、汎用処理生成部２５ｂは、レスポンスデータｈ１２にＨＴＭＬが含まれているので、ＵＲＬの値のＸＰａｔｈを「／ｈｔｍｌ／ｈｅａｄ／ｍｅｔａ」であるとして取得する。
【００８５】
［実施例３に係る汎用処理テーブルの具体例］
次に、実施例３に係る汎用処理テーブル３２の具体例について、図２１を参照して説明する。図２１は、実施例３に係る汎用処理テーブルの具体例を示す図である。なお、汎用処理テーブル３２のデータ構造については、実施例２の図１０で説明したので、その説明を省略する。図２１に示すように、処理ＩＤ３２ａが「４」、処理番号３２ｂが「３」の場合、ＵＲＬ３２ｃ及びリクエストデータ３２ｄには、「％（Ｌｏｃａｔｉｏｎ）％」ｄ１１が含まれている。すなわち、ＵＲＬ３２ｃは、直前のレスポンスデータのＬｏｃａｔｉｏｎヘッダ情報にあるＵＲＬの値が「％（Ｌｏｃａｔｉｏｎ）％」ｄ１１に置き換わる処理となっている。
【００８６】
［実施例３に係る処理比較解析処理の手順］
次に、実施例３に係る処理比較解析処理の手順を、図２２を参照して説明する。図２２は、実施例３に係る処理比較解析処理の手順を示すフローチャートである。
【００８７】
まず、同一処理判定部４１は、リクエストデータのカウンタを初期値である「１」に設定する（ステップＳ５１）。そして、同一処理判定部４１は、通信記録テーブル３１に記憶されたレコードに、ユーザ識別子３１ｃが異なるレコードであって処理識別子３１ｂが同一であるレコードがあるか否かを判定する（ステップＳ５２）。そして、同一の処理識別子３１ｂがないと判定された場合（ステップＳ５２；Ｎｏ）、同一処理判定部４１は、処理比較解析処理を終了する。
【００８８】
一方、同一の処理識別子３１ｂがあると判定された場合（ステップＳ５２；Ｙｅｓ）、同一処理判定部４１は、同一の処理識別子３１ｂを持つ２つのＵＲＬ及びＵＲＬに対応する２つのリクエストデータを比較する。そして、同一処理判定部４１は、２つのリクエストデータが同一処理であるか否かを判定する（ステップＳ５３）。なお、同一処理判定処理の手順については、後に詳述する。
【００８９】
同一処理判定処理によって２つのリクエストデータが同一処理であると判定された場合、抽出部２５ａは、同一のＵＲＬ３１ｄ毎にリクエストデータ３１ｅのリクエストパラメータを比較する（ステップＳ５４）。
【００９０】
そして、抽出部２５ａは、比較対象の２つのリクエストデータ３１ｅに含まれるそれぞれのリクエストパラメータのパラメータ名及びパラメータ数が同じか否かを判定する（ステップＳ５５）。そして、比較対象のそれぞれのリクエストパラメータのパラメータ名またはパラメータ数が同じでないと判定された場合には（ステップＳ５５；Ｎｏ）、抽出部２５ａは、リクエストデータ３１ｅの構成が同一でないと判定し、処理比較解析処理を終了する。
【００９１】
一方、比較対象のそれぞれのリクエストパラメータのパラメータ名及びパラメータ数が同じであると判定された場合には（ステップＳ５５；Ｙｅｓ）、抽出部２５ａは、リクエストデータ３１ｅの構成が同一であると判定する。そして、抽出部２５ａは、比較対象のそれぞれの同じリクエストパラメータに異なる値があるか否かを判定する。また、抽出部２５ａは、比較対象のそれぞれのＵＲＬに一階層だけ異なる値があるか否かを判定する（ステップＳ５６）。そして、比較対象に異なる値がない場合には（ステップＳ５６；Ｎｏ）、抽出部２５ａは、当該リクエストデータ３１ｅの処理が完全に同一であると判定し、ステップＳ６５に移行する。
【００９２】
一方、比較対象のそれぞれの同じリクエストパラメータに異なる値がある場合には（ステップＳ５６；Ｙｅｓ）、抽出部２５ａは、それぞれの直前のレスポンスデータ３１ｆから当該リクエストパラメータに対応するパラメータを探索する。また、比較対象のそれぞれのＵＲＬに一階層だけ異なる値がある場合には、抽出部２５ａは、それぞれの直前のレスポンスデータ３１ｆから当該ＵＲＬに対応するＵＲＬを探索する（ステップＳ５７）。
【００９３】
そして、抽出部２５ａは、比較対象のそれぞれのリクエストパラメータの値がそれぞれの直前のレスポンスデータ３１ｆから探索されたパラメータに含まれているか否かを判定する。また、抽出部２５ａは、比較対象のそれぞれのＵＲＬの値がそれぞれの直前のレスポンスデータ３１ｆから探索されたＵＲＬに含まれているかを判定する（ステップＳ５８）。
【００９４】
そして、探索されたパラメータまたはＵＲＬに値が含まれていないと判定された場合には（ステップＳ５８；Ｎｏ）、抽出部２５ａは、２つのリクエストパラメータがユーザに問い合わせる問合せパラメータであると判定する。そして、抽出部２５ａは、問合せパラメータを抽出する。汎用処理生成部２５ｂは、抽出した問合せパラメータの値を変数に置き換えたリクエストデータを生成し（ステップＳ５９）、ステップＳ６５に移行する。
【００９５】
一方、探索されたパラメータまたはＵＲＬに値が存在すると判定された場合または（ステップＳ５８；Ｙｅｓ）、汎用処理生成部２５ｂは、レスポンスデータ３１ｆにＨＴＭＬが含まれているか否かを判定する（ステップＳ６０）。そして、レスポンスデータ３１ｆにＨＴＭＬが含まれていると判定された場合には（ステップＳ６０；Ｙｅｓ）、汎用処理生成部２５ｂは、それぞれのＨＴＭＬから両方のパラメータまたは両方のＵＲＬのＸＰａｔｈを取得する（ステップＳ６１）。すなわち、汎用処理生成部２５ｂは、それぞれのＨＴＭＬから、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値を抽出するためのＸＰａｔｈを取得する。
【００９６】
レスポンスデータ３１ｆにＨＴＭＬが含まれていないと判定された場合には（ステップＳ６０；Ｎｏ）、汎用処理生成部２５ｂは、それぞれのＬｏｃａｔｉｏｎヘッダ情報から両方のパラメータまたは両方のＵＲＬの位置情報を取得する（ステップＳ６２）。すなわち、汎用処理生成部２５ｂは、それぞれのＬｏｃａｔｉｏｎヘッダ情報から、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値を抽出するための位置情報を取得する。
【００９７】
そして、汎用処理生成部２５ｂは、取得した、両方の情報が同じか否かを判定する（ステップＳ６３）。そして、両方の情報が同じであると判定された場合（ステップＳ６３；Ｙｅｓ）、汎用処理生成部２５ｂは、パラメータの値またはＵＲＬの値に、取得した情報を指定したリクエストデータを作成し（ステップＳ６４）、ステップＳ６５に移行する。すなわち、汎用処理生成部２５ｂは、差分のあるＵＲＬの値または差分のあるリクエストパラメータの値を位置情報またはＸＰａｔｈで表したリクエストデータを汎用化した処理として作成する。一方、両方の情報が同じでないと判定された場合（ステップＳ６４；Ｎｏ）、パラメータの値を変数化すべく、ステップＳ５９に移行する。
【００９８】
続いて、汎用処理生成部２５ｂは、作成したリクエストデータを汎用処理テーブル３２に登録する（ステップＳ６５）。すなわち、汎用処理生成部２５ｂは、業務におけるリクエストの順番どおりになるように、業務リクエストを作成し、汎用処理テーブル３２に登録する。なお、作成された業務リクエストは、所定の業務における汎用化されたリクエストの処理フローとなる。
【００９９】
その後、抽出部２５ａは、カウンタを１加算する（ステップＳ６６）、そして、抽出部２５ａは、次の順序となるＵＲＬ３１ｄが存在するか否かを判定する（ステップＳ６７）。そして、次の順序となるＵＲＬ３１ｄが存在すると判定される場合には（ステップＳ６７；Ｙｅｓ）、抽出部２５ａは、次の順序となるＵＲＬ３１ｄのリクエストの汎用化をすべく、ステップＳ５３に移行する。一方、次の順序となるＵＲＬ３１ｄが存在しないと判定される場合には（ステップＳ６７；Ｎｏ）、抽出部２５ａは、変換テーブルを削除し（ステップＳ６８）、処理比較解析処理を終了する。
【０１００】
［同一処理判定処理の手順］
次に、図２２に示すＳ５３の処理手順を、図２３を参照して説明する。図２３は、実施例３に係る同一処理判定処理の手順を示すフローチャートである。
【０１０１】
まず、同一処理判定処理は、カウンタ、同一の処理識別子３１ｂを持つ２つのＵＲＬ及びＵＲＬに対応する２つのリクエストデータを取得する。すると、同一処理判定処理は、取得した２つのＵＲＬが同一であるか否かを判定する（ステップＳ７１）。２つのＵＲＬが同一であると判定された場合には（ステップＳ７１；Ｙｅｓ）、同一処理判定処理は、処理を終了し、処理比較解析処理のステップＳ５４に移行する。
【０１０２】
一方、２つのＵＲＬが同一でないと判定された場合には（ステップＳ７１；Ｎｏ）、同一処理判定処理は、変換テーブル５１に従い、比較元のＵＲＬの不一致部分を比較先のＵＲＬの不一致部分に変換する（ステップＳ７２）。なお、カウンタが１である場合には、変換テーブル５１がまだ作成されていないので、変換処理はできない。
【０１０３】
再び、同一処理判定処理は、比較元のＵＲＬと比較先の変換後のＵＲＬとを比較し、２つのＵＲＬが同一であるか否かを判定する（ステップＳ７３）。２つのＵＲＬが同一であると判定された場合には（ステップＳ７３；Ｙｅｓ）、同一処理判定処理は、処理を終了し、処理比較解析処理のステップＳ５４に移行する。
【０１０４】
一方、２つのＵＲＬが同一でないと判定された場合には（ステップＳ７３；Ｎｏ）、同一処理判定処理は、カウンタが１より大きいか否かを判定する（ステップＳ７４）。カウンタが１より大きくないと判定された場合には（ステップＳ７４；Ｎｏ）、同一処理判定処理は、同一処理でないと推定されるので、処理を終了するとともに処理比較解析処理を終了する。
【０１０５】
一方、カウンタが１より大きいと判定された場合には（ステップＳ７４；Ｙｅｓ）、同一処理判定処理は、２つのＵＲＬに対応する２つのリクエストデータを比較し、パラメータ名とパラメータ数とが同じであるか否かを判定する（ステップＳ７５）。パラメータ名とパラメータ数とが同じでないと判定された場合には（ステップＳ７５；Ｎｏ）、同一処理判定処理は、同一処理でないと判断し、処理を終了するとともに処理比較解析処理を終了する。
【０１０６】
一方、パラメータ名とパラメータ数とが同じであると判定された場合には（ステップＳ７５；Ｙｅｓ）、同一処理判定処理は、変換前の２つのＵＲＬを比較し、ベースネームが同一であるか否かを判定する（ステップＳ７６）。ベースネームが同一でないと判定された場合には（ステップＳ７６；Ｎｏ）、同一処理判定処理は、同一処理でないと判断し、処理を終了するとともに処理比較解析処理を終了する。
【０１０７】
一方、ベースネームが同一であると判定された場合には（ステップＳ７６；Ｙｅｓ）、同一処理判定処理は、変換前の２つのＵＲＬを比較し、ドメイン名が同一であるか否かを判定する（ステップＳ７７）。ドメイン名が同一でないと判定された場合には（ステップＳ７７；Ｎｏ）、同一処理判定処理は、同一処理でないと判断し、処理を終了するとともに処理比較解析処理を終了する。
【０１０８】
一方、ドメイン名が同一であると判定された場合には（ステップＳ７７；Ｙｅｓ）、同一処理判定処理は、変換前の２つのＵＲＬを比較し、ＵＲＬの階層数すなわちパスの区切り文字の数が同じであるか否かを判定する（ステップＳ７８）。パスの区切り文字の数が同じでないと判定された場合には（ステップＳ７８；Ｎｏ）、同一処理判定処理は、同一処理でないと判断し、処理を終了するとともに処理比較解析処理を終了する。
【０１０９】
一方、パスの区切り文字の数が同じであると判定された場合には（ステップＳ７８；Ｙｅｓ）、同一処理判定処理は、変換前の２つのＵＲＬを比較し、ＵＲＬの異なる部分が一階層のみであるか否かを判定する（ステップＳ７９）。ＵＲＬの異なる部分が一階層のみでないと判定された場合には（ステップＳ７９；Ｎｏ）、同一処理判定処理は、同一処理でないと判断し、処理を終了するとともに処理比較解析処理を終了する。
【０１１０】
一方、ＵＲＬの異なる部分が一階層のみであると判定された場合には（ステップＳ７９；Ｙｅｓ）、同一処理判定処理は、同一処理であると判断する。そして、同一処理判定処理は、２つのＵＲＬのうち一方を比較元とし、他方を比較先としてそれぞれの不一致部分を変換テーブル５１に一時的に書き換える（ステップＳ８０）。そして、同一処理判定処理は、処理を終了し、処理比較解析処理のステップＳ５４に移行する。
【０１１１】
［実施例３の効果］
上記実施例３によれば、同一処理判定部４１は、２つのリクエストデータのそれぞれのＵＲＬが異なる場合に、２つのＵＲＬでベースネームが同一、及び２つのリクエストデータでパラメータ名が同一であるか否かを判定する。そして、抽出部２５ａは、さらに、同一処理判定部４１によって同一であると判定された場合に、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出する。かかる構成によれば、抽出部２５ａは、ＵＲＬが異なっても、２つのＵＲＬでベースネームが同一、及び２つのリクエストデータでパラメータ名が同一である場合に、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出する。このため、中継装置１Ｂは、ＵＲＬが異なっても、リクエストデータのパラメータを絞り込んでユーザに問い合わせることが可能となるので、ユーザの処理を短縮化することができる。
【０１１２】
また、上記実施例３によれば、抽出部２５ａは、さらに、同一処理判定部４１によって同一であると判定されたＵＲＬの不一致部分を直前のレスポンスデータから抽出する。かかる構成によれば、抽出部２５ａは、ＵＲＬの不一致部分を直前のレスポンスデータから抽出するので、ＵＲＬが不一致の場合であってもＵＲＬに関する雛形を生成できることとなり、雛形生成精度を上げることができる。
【０１１３】
［プログラムなど］
なお、中継装置１Ａ、１Ｂは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した処理比較解析部２５及び問合せ部２６などの各機能を搭載することによって実現することができる。
【０１１４】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、リクエスト記録部２１とリクエスト送信部２２とを１個の部として統合しても良いし、レスポンス送信部２３とレスポンス記録部２４とを１個の部として統合しても良い。一方、抽出部２５ａを、２つのリクエストデータの差分を抽出する差分抽出部と差分がユーザに問い合わせるパラメータであるか否かを判定する問合せパラメータ判定部とに分散しても良い。また、通信記録テーブル３１や汎用処理テーブル３２などの記憶部を中継装置１Ａ、１Ｂの外部装置としてネットワーク経由で接続するようにしても良い。
【０１１５】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２４を用いて、図２に示した中継装置１Ａの制御部２０と同様の機能を有する中継プログラムを実行するコンピュータの一例を説明する。
【０１１６】
図２４は、中継プログラムを実行するコンピュータを示す図である。図２４に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、ネットワークインタフェース装置１０２０と、ＨＤＤ１０３０と、ＣＰＵ（Central  Processing  Unit）１０４０、媒体読取装置１０５０及びバス１０６０とを有する。ＲＡＭ１０１０、ネットワークインタフェース装置１０２０、ＨＤＤ１０３０、ＣＰＵ１０４０、媒体読取装置１０５０は、バス１０６０によって接続されている。
【０１１７】
そして、ＨＤＤ１０３０には、図２に示した制御部２０と同様の機能を有する中継プログラム１０３１が記憶される。また、ＨＤＤ１０３０には、図２に示した通信記録テーブル３１及び汎用処理テーブル３２に対応する中継処理関連情報１０３２が記憶される。
【０１１８】
そして、ＣＰＵ１０４０が中継プログラム１０３１をＨＤＤ１０３０から読み出してＲＡＭ１０１０に展開することにより、中継プログラム１０３１は、中継プロセス１０１１として機能するようになる。そして、中継プロセス１０１１は、中継処理関連情報監視１０３２から読み出した情報などを適宜ＲＡＭ１０１０上の自身に割り当てられた領域に展開し、この展開したデータなどに基づいて各種データ処理を実行する。
【０１１９】
媒体読取装置１０５０は、中継プログラム１０３１がＨＤＤ１０３０に格納されていない場合であっても中継プログラム１０３１を記憶する媒体などから中継プログラム１０３１を読み取る。媒体読取装置１０５０には、例えばＣＤ−ＲＯＭや光ディスク装置がある。また、ネットワークインタフェース装置１０２０は、外部装置とネットワーク経由で接続する装置であり、有線、無線がある。
【０１２０】
なお、上記の中継プログラム１０３１は、必ずしもＨＤＤ１０３０に格納されている必要はなく、ＣＤ−ＲＯＭなどの媒体読取装置１０５０に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）などにこのプログラムを記憶させておいても良い。この場合には、コンピュータ１０００がネットワークインタフェース装置１０２０を介してこれらからプログラムを読み出して実行する。
【０１２１】
以上の実施例１〜３を含む実施形態に関し、さらに以下の付記を開示する。
【０１２２】
（付記１）コンピュータに、
ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶した記憶装置を参照し、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出し、
該抽出したパラメータをユーザ端末に対して問い合わせる
処理を実行させるリクエスト処理プログラム。
【０１２３】
（付記２）前記抽出の処理で抽出したパラメータの値を変数に置換したリクエストデータを含む一連のリクエストデータを生成し、
該生成した一連のリクエストデータに基づいて、前記変数の値を問い合わせ、
前記問い合わせの処理の問い合わせに対する応答を組み込んだ前記一連のリクエストデータを用いて、前記ウェブサーバとの間でリクエストデータ及びレスポンスデータを送受信し、最後のリクエストデータに対する前記ウェブサーバのレスポンスデータを前記ユーザ端末に送信することを特徴とする付記１に記載のリクエスト処理プログラム。
【０１２４】
（付記３）前記問い合わせの処理は、前記リクエストデータに含まれるパラメータ部分を空欄とし、実行ボタンが付いた画面データを前記ユーザ端末に送信し、ユーザに前記パラメータ部分を設定させることを特徴とする付記２に記載のリクエスト処理プログラム。
【０１２５】
（付記４）前記抽出の処理は、２つのリクエストデータで値が同一のパラメータを抽出しないことを特徴とする付記１から付記３のいずれか１つに記載のリクエスト処理プログラム。
【０１２６】
（付記５）前記コンピュータに、
前記抽出する処理において、さらに、前記２つのリクエストデータのそれぞれの宛先のパスに含まれるディレクトリが異なる場合に、前記２つの宛先のパスから前記ディレクトリの部分を除いた文字列が同一、且つ、前記２つのリクエストデータでパラメータ名が同一であるか否かを判定し、いずれも同一であると判定した場合に、前記２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出する
処理を実行させることを特徴とする付記１に記載のリクエスト処理プログラム。
【０１２７】
（付記６）前記コンピュータに、
前記抽出する処理において、さらに、前記同一であると判定されたリクエスト対象のファイル名の不一致部分を直前のレスポンスデータから抽出する
処理を実行させることを特徴とする付記５に記載のリクエスト処理プログラム。
【０１２８】
（付記７）ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶した記憶部と、
前記記憶部を参照し、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出する抽出部と、
前記抽出部によって抽出されたパラメータをユーザ端末に対して問い合わせる問合せ部と
を有することを特徴とするリクエスト処理装置。
【０１２９】
（付記８）コンピュータによって実行されるリクエスト処理方法であって、
ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを複数記憶した記憶装置を参照し、２つのリクエストデータで値が異なり直前のレスポンスデータに含まれないパラメータを抽出し、
該抽出したパラメータをユーザ端末に対して問い合わせる
ことを特徴とするリクエスト処理方法。
【符号の説明】
【０１３０】
１、１Ａ、１Ｂ  中継装置
２  ウェブブラウザ
３  ウェブサーバ
９  ウェブ中継システム
１１  記憶部
１２  抽出部
１３  問合せ部
２０  制御部
２１  リクエスト記録部
２２  リクエスト送信部
２３  レスポンス送信部
２４  レスポンス記録部
２５  処理比較解析部
２５ａ  抽出部
２５ｂ  汎用処理生成部
２６  問合せ部
３０  記憶部
３１  通信記録テーブル
３２  汎用処理テーブル
４１  同一処理判定部
５１  変換テーブル
【図１】
0005699721.tif 000002
【図２】
0005699721.tif 000003
【図３】
0005699721.tif 000004
【図４】
0005699721.tif 000005
【図５】
0005699721.tif 000006
【図６】
0005699721.tif 000007
【図７】
0005699721.tif 000008
【図８】
0005699721.tif 000009
【図９】
0005699721.tif 000010
【図１０】
0005699721.tif 000011
【図１１】
0005699721.tif 000012
【図１２】
0005699721.tif 000013
【図１３】
0005699721.tif 000014
【図１４】
0005699721.tif 000015
【図１５】
0005699721.tif 000016
【図１６】
0005699721.tif 000017
【図１７】
0005699721.tif 000018
【図１８】
0005699721.tif 000019
【図１９】
0005699721.tif 000020
【図２０】
0005699721.tif 000021
【図２１】
0005699721.tif 000022
【図２２】
0005699721.tif 000023
【図２３】
0005699721.tif 000024
【図２４】
0005699721.tif 000025