(57)【要約】  プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、前記プロセッサは、Ｗｅｂ操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする計算機。
2013038508.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、
前記プロセッサは、
Ｗｅｂ操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、
当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする計算機。
【請求項２】
前記Ｗｅｂ操作画面における入力データの履歴を記憶するＷｅｂ操作履歴記憶部に接続され、
前記プロセッサは、前記Ｗｅｂ操作履歴記憶部に記憶された入力データの履歴を解析することにより、前記Ｗｅｂ操作履歴記憶部に存在するフォームの情報を抽出し、抽出されたフォームの情報に基づいて操作履歴の解析対象となるデータを選定可能にするためのデータ及び操作画面を作成する機能を持つことを特徴とする請求項１に記載の計算機。
【請求項３】
前記プロセッサは、選定されたフォーム毎に、当該フォームに対応して定義された前記スキーマと、前記Ｗｅｂ操作履歴記憶部に記憶された入力データの履歴のうちの当該フォームに対応する入力データとに基づいて、前記データベースに格納すべき入力データを抽出する機能を持つことを特徴とする請求項２に記載の計算機。
【請求項４】
前記プロセッサは、前記Ｗｅｂ操作履歴データベースに記憶された入力データの履歴を解析する場合に、前記スキーマが定義されているフォームに対応する入力データの有無を判定する機能を持つことを特徴とする請求項２に記載の計算機。
【請求項５】
前記プロセッサは、前記スキーマが定義されていないフォームに対応する入力データが前記Ｗｅｂ操作履歴記憶部に存在する場合、当該フォームに含まれる入力データ項目に基づいてスキーマを新たに定義可能な機能を持つことを特徴とする請求項４に記載の計算機。
【請求項６】
クライアント装置上で表示させたＷｅｂ操作画面における入力データを受信する計算機であって、
前記プロセッサは、前記メモリに記憶されたスキーマに従って、前記クライアント装置から送られてくるリクエストから、前記スキーマに対応するフォームの入力データをフィルタリングする機能を持つことを特徴とする請求項１に記載の計算機。
【請求項７】
前記プロセッサは、フィルタリングされた前記入力データに基づいて、前記データベースに格納するための入力用データを生成する機能を持つことを特徴とする請求項６に記載の計算機。
【請求項８】
Ｗｅｂ操作画面を表示させるクライアント装置と、前記Ｗｅｂ操作画面における入力データを前記クライアント装置から受信するサーバ装置を備える計算機システムであって、
前記サーバ装置は、
前記Ｗｅｂ操作画面の構成単位であるフォーム単位で、データベースに格納すべき入力データ項目を選定させる操作画面を表示し、
選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、
該定義されたスキーマを該サーバ装置が備えるメモリに記録することを特徴とする計算機システム。
【請求項９】
前記サーバ装置は、クライアント装置上で表示させたＷｅｂ操作画面における入力データを受信し、前記受信した入力データを、所定の形式で記録し保存する操作履歴保存機能及びその操作履歴記憶部を備えることを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記サーバ装置は、前記操作履歴記憶部に記憶された入力データの履歴を解析することによって、前記操作履歴記憶部に存在するフォームの情報を抽出し、抽出されたフォームの情報に基づいて操作履歴の解析対象となるデータを選定可能にするためのデータ及び操作画面を作成する機能を持つことを特徴とする請求項９に記載の計算機システム。
【請求項１１】
前記サーバ装置は、選定されたフォーム毎に、当該フォームに対応して定義された前記スキーマと、前記操作履歴記憶部に記憶された入力データの履歴のうちの当該フォームに対応する入力データとに基づいて、前記操作履歴記憶部に格納すべき入力データを抽出することを特徴とする請求項１０に記載の計算機システム。
【請求項１２】
前記サーバ装置は、前記操作履歴記憶部に記憶された入力データの履歴を解析する場合に、前記スキーマが定義されているフォームに対応する入力データの有無を判定することを特徴とする請求項１０に記載の計算機システム。
【請求項１３】
前記サーバ装置は、前記スキーマが定義されていないフォームに対応する入力データが前記操作履歴記憶部に存在する場合、当該フォームに含まれる入力データ項目に基づいてスキーマを新たに定義可能であることを特徴とする請求項１２に記載の計算機システム。
【請求項１４】
前記サーバ装置は、前記メモリに記憶されたスキーマに従って、前記クライアント装置から送られてくるリクエストから、前記スキーマに対応するフォームの入力データをフィルタリングすることを特徴とする請求項９に記載の計算機システム。
【請求項１５】
前記サーバ装置は、フィルタリングされた前記入力データに基づいて、前記データベースに格納するための入力用データを生成することを特徴とする請求項１４に記載の計算機システム。
【請求項１６】
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機におけるデータベースの構築支援方法であって、
前記プロセッサが、
Ｗｅｂ操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する手順と、
前記データベースのデータ項目を選定させる画面で選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義する手順と、
該定義されたスキーマを当該計算機が備えるメモリに記録する手順と、
を含むことを特徴とするデータベースの構築支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機に関し、特に、Ｗｅｂアプリケーションの操作履歴に基づいてデータベースの構築を支援する技術に関する。
【背景技術】
【０００２】
近年、Ｗｅｂアプリケーションの操作履歴（Ｗｅｂ操作履歴）を解析することによって、サービス向上に有用なデータを抽出するニーズが高まっている（非特許文献１〜３参照）。【０００３】
Ｗｅｂ操作履歴には、エビデンスとしての役割があるためＷｅｂ操作にかかわるあらゆる種類のデータが記録されている。そのため、Ｗｅｂ操作履歴から、有用なデータを抽出し、解析するためにはデータの加工が必要である。【０００４】
特に大容量の履歴データを多面的な視点で効率よく解析するためには、あらかじめ履歴データをデータベース（以下、「ＤＢ」という。）化しておく必要がある。【０００５】
ＤＢ化の方法には、ＤＢ構築者が履歴の中から必要な項目を選定し、それらの項目に基づいてスキーマを定義し、さらにプログラムなどを開発するなどして、定義したスキーマに合わせて操作履歴から必要なデータを抽出しＤＢを構築する方法がある。【０００６】
また、操作履歴が視覚的にわかりやすいかたちで検索できるように、Ｗｅｂ画面単位（ファイル単位）で操作履歴を記録し、Ｗｅｂ画面単位でＤＢ化する方法がある。このような方法は特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−５３７４０号公報
【非特許文献】
【０００８】
【非特許文献１】Jansen,J.B.,Spink,A.and Taksa,I."Handbook of Research on Web Log Analysis",IGI Global(2008).
【非特許文献２】Lecturer,V.C.and Davamani, A.S."A survey on preprocessing methods for web usage data",International Journal of Computer Science and Information Security,Vol.7,No.3,pp.78-83(2010).
【非特許文献３】Ratnakumar, A.J."An Implementation of web personalization using web mining techniques", Journal of Theoretical and Applied Information Technology,Vol.18,No.1,pp.67-73(2010).
【発明の概要】
【発明が解決しようとする課題】
【０００９】
Ｗｅｂ操作履歴解析用ＤＢの構築にかかわるデータ項目の選定、スキーマの定義、定義したスキーマに合わせたデータの抽出・加工などの作業を主に人手で実施した場合、手間と時間がかかるという問題があった。また、特許文献１に開示された方法においては、履歴データを記録する際の負荷が高いという問題とＷｅｂ操作画面内のデータで条件付けられる検索が高速に処理できないという問題があった。前者は入力データをＷｅｂ画面表示用ファイルと合わせて保存するために、入力データを記録するＷｅｂ画面表示用ファイルの検索及びそのファイルへの入力データの埋め込みが必要となるためである。後者は、Ｗｅｂ操作画面内のデータがテーブル化されていないためである。また、入力データをＷｅｂ画面表示用ファイル（ファイルには、タブなどのＷｅｂ画面表示に必要なデータも含まれる）とセットで記録するため、操作履歴の容量が大きくなるという問題があった。【００１０】
本発明は、上述した課題を考慮したものであって、Ｗｅｂアプリケーションの操作履歴を解析するためのＤＢを構築する際の手間（スキーマの定義やスキーマ定義に合わせて作成するロード用データの作成など）と時間を低減することができる計算機、計算機システム及びデータベースの構築支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、前記プロセッサは、Ｗｅｂ操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、Ｗｅｂアプリケーションの操作履歴をＤＢに記録する際の手間と時間を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態の計算機システムの構成例を示す図である。
【図２】本発明の実施形態のＷｅｂサーバの構成例を示す図である。
【図３】本発明の実施形態の解析データ選定画面の一例を示す図である。
【図４】本発明の実施形態のスキーマ定義部によって定義されるテーブルの構成とフォームとの関係を示す図である。
【図５】本発明の実施形態の解析データ選定部の制御ロジックを示すフローチャートである。
【図６】本発明の実施形態の解析データ選定部によって抽出される各フォーム内の入力データ項目の具体例を説明する図である。
【図７】本発明の実施形態のスキーマ定義部の制御ロジックを示すフローチャートである。
【図８】本発明の実施形態のスキーマ定義部によって生成されるテーブルの具体例を示す図である。
【図９】本発明の実施形態のデータフィルタ部の制御ロジックを示すフローチャートである。
【図１０】本発明の実施形態のデータフィルタ部によって生成されるデータフィルタリングプログラムの一例を示す図である。
【図１１】本発明の実施形態のデータ送信部がデータフィルタ部に送信するリクエストの一例を示す図である。
【図１２】本発明の実施形態のＷｅｂクライアント及びＷｅｂサーバの動作の制御ロジックを示すシーケンス図である。
【図１３】本発明の実施形態のフィルタリング関数とフォーム名とを対応付けたテーブルの一例を示す図である。
【図１４】本発明の実施形態のＤＢ入力用データの具体例を示す図である。
【図１５】本発明の実施形態のフォームから取得可能なデータを説明する図である。
【図１６】本発明の実施形態のＷｅｂ操作履歴に格納されたデータの一例を示す図である。
【図１７】本発明の実施形態のデータ抽出・生成部の制御ロジックを示すフローチャートである。
【図１８】本発明の実施形態の履歴構成解析部の制御ロジックを示すフローチャートである。
【図１９】本発明の実施形態のフォーム情報テーブルの一例を示す図である。
【図２０】本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面の第一の例を示す図である。
【図２１】本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面の第二の例を示す図である。
【図２２】本発明の実施形態のプレビュー解析の制御ロジックを示すフローチャートである。
【図２３】本発明の実施形態のプレビュー解析結果の表示内容の第一の具体例を示す図である。
【図２４】本発明の実施形態のプレビュー解析結果の表示内容の第二の具体例を示す図である。
【図２５】本発明の実施形態のリアルタイムデータ解析に係る現在の設定を登録する制御ロジックを示すフローチャートである。
【図２６】本発明の実施形態の設定テーブルの一例を示す図である。
【図２７】本発明の実施形態のリアルタイムデータ解析に係る現在の設定を確認する制御ロジックを示すフローチャートである
【図２８】本発明の実施形態のリアルタイムデータ解析に係る設定を変更する制御ロジックを示すフローチャートである。
【図２９Ａ】本発明の実施形態の履歴構成解析部の制御ロジックの変形例を示すフローチャートである。
【図２９Ｂ】本発明の実施形態の履歴構成解析部の制御ロジックの変形例を示すフローチャートである。
【図３０】本発明の実施形態のフォーム情報テーブルの変形例を示す図である。
【図３１】本発明の実施形態の解析可能データ提示画面の一例を示す図である。
【図３２】本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面の変形例を示す図である。
【図３３】本発明の実施形態の解析期間設定画面の具体例を示す図である。
【図３４】本発明の実施形態のセッションテーブルの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を参照して説明する。
【００１５】
図１は、本発明の実施形態の計算機システム１の構成例を示す図である。計算機システム１は、ＬＡＮ（Local Area Network）等のネットワーク４を介して接続されたＷｅｂクライアント（クライアント装置）２と、Ｗｅｂサーバ（計算機）３とを備える。
【００１６】
Ｗｅｂクライアント２は、Ｗｅｂサーバ３によって提供される機能やデータを利用する計算機である。Ｗｅｂクライアント２は、ＣＰＵ（Central Processing Unit）、メモリ、インタフェース（不図示）等を備えた一般的なコンピュータ装置である。このＷｅｂクライアント２は、Ｗｅｂ操作画面表示部２１、データ入力部２２及びデータ送信部２３を備える。
【００１７】
Ｗｅｂ操作画面表示部２１は、Ｗｅｂクライアント２からのリクエストに応じて、Ｗｅｂサーバ３からレスポンスとして送られてくるリソースに基づいて、表示装置２４上にＷｅｂ操作画面を表示する。データ入力部２２も、Ｗｅｂサーバ３からレスポンスとして送られてくるリソースに基づいて表示されたＷｅｂ操作画面上におけるユーザの操作情報（入力データ）を、Ｗｅｂ操作画面上の各入力用エレメントに割り当てた変数に入力する。データ送信部２３は、Ｗｅｂ操作画面上の各入力用エレメントの変数に入力された入力データをＷｅｂサーバ３に送信する。
【００１８】
Ｗｅｂサーバ３は、Ｗｅｂクライアント２からのリクエストに応じて、Ｗｅｂクライアント２にＷｅｂアプリケーションのリソースやデータを提供する計算機である。このＷｅｂサーバ３は、ＤＢ構築支援部３０を備える。
【００１９】
ＤＢ構築支援部３０は、リアルタイムデータ解析部３１、過去データ解析部３２及びＤＢ構築部３３を含む。このＤＢ構築支援部３０は、Ｗｅｂクライアント２から受信した入力データ又はＷｅｂ操作履歴５１に格納された操作履歴データに基づくＤＢ構築を支援する。
【００２０】
リアルタイムデータ解析部３１は、Ｗｅｂクライアント２からリアルタイムに受信した入力データを解析する。一方、過去データ解析部３２は、Ｗｅｂクライアント２から過去に受信し、Ｗｅｂ操作履歴５１に蓄積された操作履歴データを解析する。これらリアルタイムデータ解析部３１及び過去データ解析部３２は、解析結果としてスキーマ定義７１及びＤＢ入力用データ７２を生成する。ＤＢ構築部３３は、生成されたスキーマ定義７１及びＤＢ入力用データ７２に基づいて、Ｗｅｂ解析用ＤＢ６１を構築する。
【００２１】
リアルタイムデータ解析部３１は、解析データ選定部３４、スキーマ定義部３５、スキーマ更新部３６、データフィルタ部３７及び入力データ生成部３８を含む。
【００２２】
過去データ解析部３２は、解析データ選定部３４、スキーマ定義部３５、スキーマ更新部３６、履歴構成解析部３９及びデータ抽出・生成部４０を含む。
【００２３】
すなわちリアルタイムデータ解析部３１及び過去データ解析部３２は、解析データ選定部３４、スキーマ定義部３５及びスキーマ更新部３６を共有する。
【００２４】
解析データ選定部３４は、Ｗｅｂクライアント２から受信する入力データ又はＷｅｂ操作履歴５１に格納された操作履歴データにおいて、解析すべきデータの項目を、クライント２に提示するＷｅｂ操作画面の画面構成に基づいて選定する。解析データ選定部３４の詳細については、図５を用いて後述する。
【００２５】
スキーマ定義部３５は、解析データ選定部３４によって選定されたデータに基づいてスキーマを定義し、定義されたスキーマ（スキーマ定義７１）を出力する。スキーマとは、作成すべきＤＢのデータ構成（本発明の実施形態ではテーブルの構成）を記述したものであり、スキーマ定義では、ＤＢのデータ構成（本発明の実施形態ではテーブル構成）を記述する。なお、スキーマ定義部３５の詳細については、図７を用いて後述する。スキーマ定義部３５によって定義されたスキーマは、スキーマ更新部３６によって更新（修正、変更）可能である。
【００２６】
スキーマ更新部３６は、ＤＢ構築者又はＷｅｂ操作履歴解析者（以下、説明の便宜上「Ｗｅｂサーバ３のユーザ」という。）による指示に従って、スキーマ定義部３５によって定義されたスキーマを更新する。
【００２７】
データフィルタ部３７は、スキーマ定義部３５によって定義されたスキーマに従って、Ｗｅｂクライアント２から受信した入力データをフィルタリングするデータフィルタリングプログラムを生成する。また、生成されたデータフィルタリングプログラムに従って、入力データをフィルタリングする。データフィルタ部３７の詳細については、図９を用いて後述する。
【００２８】
入力データ生成部３８は、データフィルタ部３７によってフィルタリングされたデータに基づいて、ＤＢ入力用データ７２を生成する。ＤＢ入力用データ７２とは、スキーマ定義に基づいてＣＳＶ形式等の所定の形式で記述され、Ｗｅｂ解析用ＤＢ６１にロード可能なデータである。入力データ生成部３８の詳細については、図１２及び図１４を用いて後述する。
【００２９】
履歴構成解析部３９は、Ｗｅｂ操作履歴５１に格納された操作履歴データの構成を解析する。履歴構成解析部３９の詳細については、図１８、図２９Ａ及び図２９Ｂを用いて後述する。
【００３０】
データ抽出・生成部４０は、スキーマ定義７１に従って、Ｗｅｂ操作履歴５１に格納された操作履歴データからデータを抽出し、抽出されたデータに基づいてＤＢ入力用データ７２を生成する。データ抽出・生成部４０の詳細については、図１７を用いて後述する。
【００３１】
Ｗｅｂ操作履歴５１は、Ｗｅｂクライアント２から受信したユーザの操作履歴データを蓄積するファイルである。ここでいう操作履歴データとは、プロトコルのヘッダや、タグ等のユーザによって入力されたデータとは直接関係のないデータも含む。
【００３２】
Ｗｅｂ解析用ＤＢ６１は、ＤＢ構築部３３によってスキーマ定義７１及びＤＢ入力用データ７２に基づいて構築されるデータベースである。
【００３３】
以上に示す構成により、本発明の実施形態の計算機システム１は、ＤＢ構築支援部３０が、Ｗｅｂクライアント２から受信する入力データ又はＷｅｂ操作履歴５１に格納された操作履歴データに基づくＤＢの構築を支援する。
【００３４】
図２は、本発明の実施形態のＷｅｂサーバ３の構成例を示す図である。
【００３５】
図２に示すＷｅｂサーバ３は、ＣＰＵ３１０、ノースブリッジ３２０、サウスブリッジ３３０、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）３４０及び記憶装置３５０を備える。
【００３６】
ＣＰＵ３１０は、記憶装置３５０に記憶された各種プログラムを実行する演算処理装置である。ノースブリッジ３２０は、ＰＣＩｅ（PCI express）バスを介して、ＬＡＮカード３６０を接続するためのＬＡＮスロット（不図示）、ＳＡＳカード３７０Ａ、３７０Ｂを接続するためのＳＡＳスロット（不図示）に接続される。ＳＤＲＡＭ３４０は、例えばＤＤＲ２（Double Data Rate 2）規格のＳＤＲＡＭである。
【００３７】
サウスブリッジ３３０は、ＰＣＩｅバスを介して、ＶＧＡ（Video Graphics Array）カード３８０を接続するためのＶＧＡスロット（不図示）に接続される。また、ＵＳＢバスを介してＵＳＢポート（不図示）に接続される。また、ＳＡＴＡ（Serial Advanced Technology Attachment）規格の記憶装置３５０に接続される。
【００３８】
記憶装置３５０には、ＯＳ（Operating System）３５１、Ｗｅｂアプリケーション３５２、ＤＢ構築支援プログラム３５３、スキーマ定義７１、ＤＢ入力用データ７２、ＤＢＭＳ（Data Base Management System）３５４が格納される。ＤＢ構築支援プログラム３５３は、ＤＢ構築支援部３０（図１参照）の各機能を実現するプログラムである。
【００３９】
このＷｅｂサーバ３は、ＬＡＮカード３６０を介してネットワーク機器８１に接続される。また、ＳＡＳカード３７０Ａ、３７０Ｂを介して記憶装置５０、６０に接続される。記憶装置５０は、Ｗｅｂ操作履歴５１を記憶する。記憶装置６０は、Ｗｅｂ解析用ＤＢ６１を記憶する。
【００４０】
このＷｅｂサーバ３は、ＶＧＡカード３８０を介してディスプレイ等の出力装置８２に接続される。さらに、ＵＳＢポートを介してキーボード、マウス等の入力装置８３に接続される。
【００４１】
以上に示す構成において、Ｗｅｂ操作履歴５１及びＷｅｂ解析用ＤＢ６１は、それぞれ別の記憶装置５０、６０に記憶されているが、この場合に限らない。例えば同じ記憶装置に記憶されてもよい。同様に、ＤＢ構築支援プログラム３５３、スキーマ定義７１及びＤＢ入力用データ７２も記憶装置３５０に記憶されているが、この場合に限らない。例えば記憶装置５０、６０に記憶されてもよい。
【００４２】
図３は、本発明の実施形態の解析データ選定画面３０１の一例を示す図である。図３に示す解析データ選定画面３０１は、解析データ選定部３４のプログラムを実行することによって出力装置８２に表示される。Ｗｅｂサーバ３のユーザは入力装置８３を用いて、解析データ選定画面３０１上でＤＢ構築に必要な情報を入力する。
【００４３】
解析データ選定画面３０１は、Ｗｅｂサーバ３のユーザが解析対象のデータ範囲を選定するための選定画面３０２と、Ｗｅｂクライアント２の表示装置２４上に表示されるＷｅｂ操作画面３０３とを含む。
【００４４】
Ｗｅｂ操作画面３０３は、１又は複数のフォームからなる。フォームとは、Ｗｅｂクライアント２のユーザ（以下、「Ｗｅｂユーザ」という。）がデータを入力する入力画面の構成単位である。図３に示す例では、検索を実行するためのフォーム１（検索フォーム）、検索結果に対する絞り込みを実行するためのフォーム２（絞り込みフォーム）、絞り込み結果を発注するためのフォーム３（発注フォーム）の３つのフォームからなる。
【００４５】
選定画面３０２において、Ｗｅｂサーバ３のユーザは、解析対象のデータ範囲をフォーム単位で選定する。具体的には、解析対象のフォームを選択してチェックし、決定ボタンを押下する。そうすると、解析データ選定部３４は、チェックされたフォームのデータを解析対象として選定する。
【００４６】
なお、以下、フォーム単位で解析対象のデータ範囲を選定する場合について説明するが、この場合には限らない。その他の構成単位で解析対象のデータ範囲を選定してもよい。
【００４７】
図４は、本発明の実施形態のスキーマ定義部３５によって定義されるテーブル４００の構成とフォームとの関係を示す図である。図４に示すテーブル４００は、フォーム１（４０９）が解析対象として選定された場合に、フォーム１（４０９）の情報に基づいて定義されるテーブルである。
【００４８】
テーブルの定義では、テーブルを構成するデータ項目とその型情報を記述する。フォーム情報に基づいて定義されるテーブルは、フォーム内の入力データ記入欄（テキストボックスなどのエレメント）に関する項目（以下、「入力データ項目４１０」という。）、フォーム単位で生成される個々の入力データセットを識別するためのデータセットＩＤ、Ｗｅｂサーバ３側で処理する一連の入力データ処理を識別するためのシーケンスＩＤ、Ｗｅｂクライアント２側の一連のＷｅｂ操作を識別するためのセッションＩＤから成る。
【００４９】
入力データ項目４１０は、名前と型情報を持つ。そのため各データ入力項目の名前と型の情報を抽出してテーブルを記述する。図４の例では、Keyword:String４０３、Shohin_cd:String４０４、Kakaku: Number４０５となっている。
【００５０】
なお、Ｗｅｂ操作画面３０３がＨＴＭＬ（HyperText Markup Language）によって記述される場合、フォーム内の入力データ項目の名前及び型情報は、それぞれwindow.document.form[i].element[j].name、window.document.form[i].element[j].typeで示される。
【００５１】
そこで、解析データ選定部３４は、まず解析対象として選定されたフォームの番号を、ＨＴＭＬ内のフォーム番号iに変換し、変換されたフォーム番号iに含まれる各エレメント（入力データの記入欄）jの名前及び型情報を抽出する。その後、スキーマ定義部３５は、抽出された各エレメントjの名前及び型情報に基づいて、テーブルを定義する。
【００５２】
データセットＩＤ４０６により、テーブル内のデータセットを一意に識別できる。セッションＩＤ４０８により、同一セッション内に処理された入力データのセットを識別できる。シーケンスＩＤ４０７により、同一セッション内のデータセット（同一セッション内に異なる種類のフォームから入力されたデータセットが複数ある場合においても、従って異なるテーブル間のデータセットであっても）が入力された順番（の前後関係）を明確にすることができる。シーケンスＩＤ４０７には、例えばタイムスタンプを使用することができる。なお、データセットＩＤ４０６、シーケンスＩＤ４０７及びセッションＩＤ４０８には、Ｗｅｂサーバ３によってデータが挿入される。
【００５３】
図５は、本発明の実施形態の解析データ選定部３４の制御ロジックを示すフローチャートである。解析データ選定部３４は以下に示す制御ロジックを実行する。
【００５４】
まずステップ５０１において、解析データ選定部３４は、図３に示すような解析データ選定画面３０１を提示する（Ｓ５０１）。Ｗｅｂサーバ３のユーザによって、解析データ選定画面３０１上で解析対象のフォームが選定されると、選定されたフォームのフォーム番号を取得する（Ｓ５０２）。具体的には、選定されたフォームのユーザインタフェース上の番号を、Ｗｅｂ操作画面を記述するプログラム上の番号に変換する。
【００５５】
その後ステップ５０３において、解析データ選定部３４は、ステップ５０２で取得されたフォーム番号のうち、いずれかのフォーム番号を選択する（Ｓ５０３）。その後ステップ５０４において、ステップ５０３で選択されたフォーム番号及びフォームの名前を記録する（Ｓ５０４）。ここでは、例えば記憶装置３５０（図２参照）に記録する（以下、同様）。
【００５６】
その後ステップ５０５において、解析データ選定部３４は、ステップ５０３で選択されたフォーム番号のフォームに含まれるエレメント番号のうち、いずれかのエレメント番号を選択する（Ｓ５０５）。その後ステップ５０６及びステップ５０７において、ステップ５０５で選択されたエレメントの名前及び型情報をそれぞれ取得し、記録する（Ｓ５０６、Ｓ５０７）。
【００５７】
その後ステップ５０８及び５０９の処理により、全てのフォーム番号及び全てのエレメント番号に対して、一連の処理を繰り返す。
【００５８】
以上に示す処理により、解析データ選定部３４は、解析データ選定画面３０１上で選定された解析対象の各フォームについて、フォーム内のエレメント（入力データ項目）に関する情報を抽出する。なお、以上に示す制御ロジックの全部又は一部は、スキーマ定義部３５によって実行されてもよい。
【００５９】
図６は、本発明の実施形態の解析データ選定部３４によって抽出される各フォーム内の入力データ項目の具体例を説明する図である。図６では、解析データ選定画面３０１（図３参照）上の全てのフォーム１、２、３が選定された場合に、図５に示す制御ロジックによって抽出される各フォーム内の入力データ項目に関する情報を示している。
【００６０】
フォーム１が選定された場合に抽出される情報は、（#1, kensaku, keyword:string, shohin_cd:string, kakaku:number）である。"#1"は、フォーム１を一意に識別するための識別子（ＩＤ）である。"kensaku"は、フォーム１の名前である。なお、フォームの名前は、当該フォームに基づいて生成されるテーブルの名前に使用される。"keyword:string"は、フォーム１に含まれる１番目のエレメントの名前及び型情報が、それぞれkeyword、String型であることを示す。"shohin_cd:string"は、フォーム１に含まれる２番目のエレメントの名前及び型情報が、それぞれshohin_cd、String型であることを示す。"kakaku:number"は、フォーム１に含まれる３番目のエレメントの名前及び型情報が、それぞれkakaku、Number型であることを示す。フォーム２、３については、ここでは説明を省略する。
【００６１】
図７は、本発明の実施形態のスキーマ定義部３５の制御ロジックを示すフローチャートである。スキーマ定義部３５は、以下に示す制御ロジックを実行することによって、各フォームに対応するスキーマ（ここではテーブル）を定義する。
【００６２】
まずステップ７０１において、スキーマ定義部３５は、解析対象として選定された各フフォームの名前のうち、いずれかのフォームの名前をテーブル名として設定する（Ｓ７０１）。例えばフォーム１のフォーム名は"kensaku"であるので、フォーム１に対応して生成されるテーブルの名前を"Kensaku_Table"とする。
【００６３】
次にステップ７０２において、スキーマ定義部３５は、フォームの名前に対応して抽出された各入力データ項目（型情報を含む）に基づいて、テーブルを生成する（Ｓ７０２）。例えばフォーム１のフォーム名"kensaku"に対応して抽出される各入力データ項目は、"keyword:string、shohin_cd:string、kakaku:number"である。そのため、このデータセットに基づいて、図４に示すようなテーブル４００の入力データ項目４１０を挿入する。
【００６４】
その後ステップ７０３において、スキーマ定義部３５は、ステップ７０２で生成されたテーブルに、データセットＩＤ（型情報を含む）を挿入する（Ｓ７０３）。図４に示す例では、テーブル４００にデータセットＩＤ４０６とその属性を挿入する。
【００６５】
その後ステップ７０４において、スキーマ定義部３５は、セッションＩＤの情報を取得する（Ｓ７０４）。セッションＩＤの情報とは、Ｗｅｂサーバ３上で実行されるＷｅｂアプリケーションに固有の情報である。なお、セッションＩＤに限定されるものではない。
【００６６】
その後ステップ７０５において、スキーマ定義部３５は、ステップ７０２で生成されたテーブルに、セッションＩＤ（型情報を含む）を挿入する（Ｓ７０５）。図４に示す例では、テーブル４００にセッションＩＤ４０８とその属性を挿入する。
【００６７】
その後ステップ７０６において、スキーマ定義部３５は、ステップ７０２で生成されたテーブルに、シーケンスＩＤ（型情報を含む）を挿入する（Ｓ７０６）。図４に示す例では、テーブル４００にシーケンスＩＤ４０７とその属性を挿入する。
【００６８】
その後ステップ７０７の処理により、解析対象として選定された全てのフォームについてステップ７０２〜７０６の処理を繰り返す。これにより、スキーマ定義部３５は、解析対象として選定されたフォーム毎にテーブルを自動的に定義することができる。言い換えると、スキーマの定義に係る時間と手間を低減することができる。
【００６９】
図８は、本発明の実施形態のスキーマ定義部３５によって生成されるテーブル８００の具体例を示す図である。
【００７０】
図８に示すテーブル８０１、８０２及び８０３は、それぞれフォーム１、２、３から抽出されるデータセットに基づいて定義されたテーブルである。これらテーブル８０１、８０２及び８０３では、データセットＩＤ、シーケンスＩＤ及びセッションＩＤも定義される。
【００７１】
図９は、本発明の実施形態のデータフィルタ部３７の制御ロジックを示すフローチャートである。図１０は、本発明の実施形態のデータフィルタ部３７によって生成されるデータフィルタリングプログラム１０００の一例を示す図である。
【００７２】
スキーマ定義部３５によるスキーマ定義が終了すると、データフィルタ部３７は、以下に示す制御ロジックを実行することによって、図１０に示すようなデータフィルタリングプログラム１０００を自動的に生成する。
【００７３】
まずステップ９０１において、データフィルタ部３７は、フィルタリングすべきデータ項目のセットの番号を選択する（Ｓ９０１）。ここでは、番号"#1"が選択されるものとする。
【００７４】
次にステップ９０２において、データフィルタ部３７は、データフィルタリングを実行するためのフィルタリング関数を定義する（Ｓ９０２）。図１０に示す例では、フィルタリング関数filtering_kensaku１００３が定義される。
【００７５】
その後ステップ９０３において、データフィルタ部３７は、ステップ９０２で定義されたフィルタリング関数内に、フィルタリングすべきデータセットをフィルタリングするためのコードを生成する（Ｓ９０３）。図１０に示す例では、コード１００４が生成される。コード１００４は、各入力データ項目"keyword、shohin_cd、kakaku"の値をグローバル変数に保存するためのコードである。
【００７６】
その後ステップ９０４において、データフィルタ部３７は、Ｗｅｂクライアント２からの入力データ受信時にステップ９０２で定義されたフィルタリング関数を呼び出すコードを生成する（Ｓ９０４）。図１０に示す例では、コード１００２が関数input_kensaku１００１内に生成される。コード１００２は、フィルタリング関数filtering_kensaku１００３を呼び出すコードである。関数input_kensaku１００１は、Ｗｅｂクライアント２からの入力データ受信時に呼び出される関数である。
【００７７】
ステップ９０５の処理により、全てのデータセットの番号についてステップ９０１〜９０４の処理を繰り返す。
【００７８】
以上に示す処理により、データフィルタ部３７は、スキーマ定義部３５によって定義されたテーブルに従って、データフィルタリングプログラムを自動的に生成する。
【００７９】
図１１は、本発明の実施形態のデータ送信部２３がデータフィルタ部３７に送信するリクエスト１１００の一例を示す図である。
【００８０】
図１１に示すリクエスト１１００には、Ｗｅｂ操作画面３０３上のフォーム１（検索フォーム）に入力されたデータが記述されている。リクエスト１１００には、メソッド名（ＧＥＴメソッド又はＰＯＳＴメソッド。図１１に示す例では、ＧＥＴメソッド。）が記述されている。
【００８１】
ＧＥＴメソッドのリクエストラインには、呼び出し対象のリソースのＵＲＬ（Uniform Resource Locator）１１０１と、クエリ文字列１１０２とが記号"?"によって連結されて記述される。なお、ＵＲＬ１１０１は、絶対パスでも相対パスでもよい。クエリ文字列１１０２には、パラメータ名（フォーム内のエレメントの名前）と値のセットが"&"で連結されて記述される。図１１に示すクエリ文字列１１０２の例では、パラメータkeywordとその値XXXX、パラメータshohin_cdとその値YYYYY、パラメータkakakuとその値UUUUUのセットが記述されている。
【００８２】
またリクエスト１１００は、Ｄａｔｅ１１０３、Ｒｅｆｅｒｅｒ１１０４及びＣｏｏｋｉｅ１１０５のヘッダ情報を含む。Ｄａｔｅ１１０３には、リクエスト１１００が発行された時間が記述される。Ｒｅｆｅｒｅｒ１１０４には、ＧＥＴメソッドによって指定されたリソースのリンク元のＵＲＬが記述される。Ｃｏｏｋｉｅ１１０５には、Ｗｅｂクライアント２とＷｅｂサーバ３との間のリクエスト１１００の送受信に係わるセッションのＩＤが記述される。
【００８３】
図１２は、本発明の実施形態のＷｅｂクライアント２及びＷｅｂサーバ３の動作の制御ロジックを示すシーケンス図である。ここでは、Ｗｅｂクライアント２がＷｅｂサーバ３にリクエストを送信する動作と、Ｗｅｂサーバ３が、受信したリクエストに基づいてクライントから送信されたデータをリアルタイムにフィルタリングし、ＤＢ入力用データ生成処理を実行する動作とを説明する。
【００８４】
まずＷｅｂクライアント２の動作について説明する。
【００８５】
まずステップ１２０１において、Ｗｅｂクライアント２は、Ｗｅｂユーザによる入力データ確定イベントを契機に、このイベントに対応するデータセットの値をＨＴＴＰのリクエストによりＷｅｂサーバ３に送信する（Ｓ１２０１）。ここでいう入力データ確定イベントとは、Ｗｅｂクライアント２のユーザがフォーム内の実行ボタンを押した際に発生するイベントである。確定イベントは、例えばＷｅｂ操作画面３０３上の検索フォームで、Ｗｅｂクライント２側のユーザがフォーム内に検索キーワードを入力した後、検索という実行ボタンを押下した時に発生する。
【００８６】
すなわちステップ１２０１では、Ｗｅｂクライアント２は、Ｗｅｂ操作画面３０３上で入力データの確定イベントが発生すると、イベントを発生したフォーム内のデータセットの値をＨＴＴＰのリクエストによりＷｅｂサーバ３に送信する。
【００８７】
なお、Ｗｅｂ操作画面３０３がＨＴＭＬによって記述される場合、Ｗｅｂ操作画面３０３の情報を記述したＨＴＭＬファイルにおいて実行ボタンが押下された時に送信されるリクエストの種類及びそのリクエストにより呼び出されるリソースのＵＲＬ（本実施例では、Ｗｅｂサーバ３上のリソース）が記述されている。これらの情報を利用して、フォーム内のデータセットの値を送信するＨＴＴＰのリクエストを作成し、Ｗｅｂサーバ３に送信する。その後処理を終了する。
【００８８】
次にＷｅｂサーバ３の動作について説明する。
【００８９】
以下に示すＷｅｂサーバ３の動作は、Ｗｅｂサーバ３がＷｅｂクライアント２に提供しているＷｅｂアプリケーションへのＷｅｂクライアント２のユーザのログインによって開始し、ログアウトによって終了する。
【００９０】
まずステップ１２０２において、Ｗｅｂサーバ３は、ステップ１２０１でＷｅｂクライアント２によって送信されたＨＴＴＰリクエストより、データセットの値を取得する（Ｓ１２０２）。
【００９１】
次にステップ１２０３において、Ｗｅｂサーバ３は、データフィルタリングプログラムを実行することにより、ステップ１２０２で取得されたデータセットの値をフィルタリングし、一時記録する（Ｓ１２０３）。データフィルタリングプログラムは、ステップ１２０１でＷｅｂクライアント２が送信したＨＴＴＰリクエストにより呼び出したプログラム（本実施例ではＷｅｂサーバ３内のプログラム）内で呼び出すことにより実行される。
【００９２】
図１０で説明したフィルタリングプログラムは、Ｗｅｂクライアント２側のユーザにより、検索という名前の実行ボタンが押下された時に呼び出されるリソースとしてkensaku.phpプログラムを呼び出した場合の例である。このプログラムの中で、Ｗｅｂクライアント２より送信されたＨＴＴＰリクエストで送信されたフォーム内のエレメントの値（データセットの値）をフィルタするための関数filtering_kensaku１００２を呼び出している。
【００９３】
次に、Ｗｅｂサーバ３は、Ｗｅｂクライアント２から送信されたＨＴＴＰリクエスト内で指定されたリソースのＵＲＬと、Ｒｅｆｅｒｅｒ情報とに基づいて、リクエスト送信元のフォームの名前を取得する（Ｓ１２０４）。具体的には、Ｒｅｆｅｒｅｒ情報により、フォームに関する情報を記述しているＨＴＭＬファイルを調べる。さらに該ＨＴＭＬファイル内のフォームの情報にフォーム内の実行ボタンが押下された時のアクション情報に該ＵＲＬが記述されているフォームを調べ、該当フォームの名前を取得する。
【００９４】
その後ステップ１２０５において、Ｗｅｂサーバ３は、フィルタリングされたデータセットを識別するためのデータセットＩＤを生成し、ステップ１２０４で取得された名前のファイルに記録する（Ｓ１２０５）。ファイルとは、例えばＣＳＶ形式のファイルである。ファイルの詳細については、図１４を用いて後述する。
【００９５】
その後ステップ１２０６〜１２０８において、Ｗｅｂサーバ３は、シーケンスＩＤ、セッションＩＤ及びステップ１２０３でフィルタリングされたデータセットの値を、ステップ１２０５で取得された名前のファイルに記録する（Ｓ１２０６〜Ｓ１２０８）。
【００９６】
なお、ステップ１２０４において、Ｗｅｂサーバ３は、ＨＴＴＰリクエスト内に記述された呼び出しリソースのＵＲＬと、Ｒｅｆｅｒｅｒ情報とに基づいて、フォームの情報を記述したＨＴＭＬファイルを調べ、リクエスト送信元のフォームの名前を取得したが、この場合には限らない。例えば、図１３に示すような、フィルタリング関数とフォームの名前とが対応付けられたテーブル１３００を予め作成し、呼び出されたフィルタリング関数に対応付けられたフォーム名を取得してもよい。
【００９７】
以上に示す処理により、Ｗｅｂクライアント２は、Ｗｅｂサーバ３にリクエストを送信する。一方、Ｗｅｂサーバ３は、受信したリクエストに基づいてリアルタイムフィルタリング及びＤＢ入力用データ生成処理を自動的に実行する。これにより、ＤＢ入力用データの生成にかかる手間と時間を低減することができる。
【００９８】
図１３は、本発明の実施形態のフィルタリング関数とフォーム名とを対応付けたテーブル１３００の一例を示す図である。図１３に示すテーブル１３００は、データフィルタ部３７がデータフィルタリングプログラムを生成する場合に併せて生成する。
【００９９】
テーブル１３００は、フィルタリング関数１３０１と、フォームが属するＨＴＭＬファイルのＵＲＬ１３０２と、フォーム名１３０３とを対応付けて格納する。なお、ＵＲＬ１３０２はオプショナルな情報である。但し、ＵＲＬ１３０２も対応付けることにより、異なるＨＴＭＬファイルに属する同じ名前のフォームが存在する場合でかつ、フォーム名から一意に定まるフィルタリング関数名を自動的に生成する場合であっても、フィルタリング関数名と、フィルタリングの対象となるフォームが属するＵＲＬにより、対応するフォーム名を特定することができる。
【０１００】
図１４は、本発明の実施形態のＤＢ入力用データ７２の具体例を示す図である。
【０１０１】
図１４に示すＤＢ入力用データ７２は、ＤＢ入力用データ７２１〜７２３を含む。各ＤＢ入力用データ７２１〜７２３は、スキーマ定義部３５によって定義されたテーブル毎、つまりフォーム毎に生成されるＣＳＶ形式のデータファイルである。ファイル名は、フォーム名に拡張子"_log"を連結したものである。
【０１０２】
ＤＢ入力用データ７２１は、フォーム１（フォーム名kensaku）に対応して定義されたテーブルに基づいて生成されたデータファイルである。同様に、ＤＢ入力用データ７２２、７２３は、それぞれフォーム２、３(フォーム名はそれぞれshiborikomi、hattyuu)に対応して定義されたテーブルに基づいて生成されたデータファイルである。
【０１０３】
各ＤＢ入力用データ７２１〜７２３の各エントリは、データセットＩＤ、シーケンスＩＤ、セッションＩＤ、各入力データ項目が","によって連結されている。これにより、各ＤＢ入力用データ７２１〜７２３を、それぞれの対応するテーブルに容易に格納することができる。
【０１０４】
図１５は、本発明の実施形態のフォームから取得可能なデータを説明する図である。ここでは、Ｗｅｂサーバ３が、解析対象として選定されたフォームから取得可能なデータについて説明する。
【０１０５】
Ｗｅｂサーバ３は、解析データ選定画面３０１（図３参照）上で選定されたフォームに関する情報Ａ及び情報Ｂを取得することができる。
【０１０６】
情報Ａは、選定されたフォームが記述されたＨＴＭＬのＵＲＬである。情報Ｂは、選定されたフォームの情報である。すなわち情報Ｂは、フォームの番号、フォームのアクション情報、フォームの名前及びフォーム内のエレメント名（入力データ項目名）を含む。フォームのアクション情報とは、フォーム内のデータを処理するリソースのパスである。
【０１０７】
Ｗｅｂサーバ３は、Ｗｅｂ操作履歴５１に格納された操作履歴データから取得される情報Ａ及び情報Ｂに基づいて、解析対象として選定されたフォームに関する情報の有無を確認することができる。
【０１０８】
図１６は、本発明の実施形態のＷｅｂ操作履歴５１に格納された操作履歴データ１６００の一例を示す図である。
【０１０９】
図１６に示す操作履歴データ１６００は、Ｗｅｂ操作画面３０３上のフォーム１（検索フォーム）に入力されたデータが格納されたＨＴＴＰリクエストである。操作履歴データ１６００には、メソッド名（ＧＥＴメソッド又はＰＯＳＴメソッド。図１６に示す例では、ＧＥＴメソッド。）が記述されている。
【０１１０】
ＧＥＴメソッドのリクエストラインには、呼び出し対象のリソースのＵＲＬ１６０１と、クエリ文字列１６０２とが記号"?"によって連結されて記述される。なお、ＵＲＬ１６０１は、絶対パスでも相対パスでもよい。クエリ文字列１６０２には、パラメータ名（フォーム内のエレメントの名前）１６０３〜１６０５と値のセットが"&"で連結されて記述される。図１６に示すクエリ文字列１６０２の例では、パラメータkeywordとその値XXXX、パラメータshohin_cdとその値YYYYY、パラメータkakakuとその値UUUUUのセットが記述されている。すなわち、ＵＲＬ１６０１及びクエリ文字列１６０２にはフォームから取得可能な情報Ｂが記録されている。
【０１１１】
また操作履歴データ１６００は、Ｄａｔｅ１６０６、Ｒｅｆｅｒｅｒ１６０７及びＣｏｏｋｉｅ１６０８のヘッダ情報を含む。Ｄａｔｅ１６０６には、操作履歴データ１６００が発行された時間が記述される。Ｒｅｆｅｒｅｒ１６０７には、ＧＥＴメソッドによって指定されたリソースのリンク元のＵＲＬが記述される。すなわち、フォームから取得可能な情報Ａが記録される。Ｃｏｏｋｉｅ１６０８には、Ｗｅｂクライアント２とＷｅｂサーバ３との間での操作履歴データ１６００の送受信に係わるセッションのＩＤが記述される。
【０１１２】
Ｗｅｂサーバ３は、操作履歴データ１６００内のＲｅｆｅｒｅｒ１６０７から抽出されるＵＲＬと、ＵＲＬ１６０１に記述されたアクション情報との対応関係に基づいて、解析対象として選定されたフォームに関する情報が存在するか否かを確認することができる。また、解析対象として選定されたフォームに関する情報が存在する場合には、フォーム内の各データ入力項目（図１６に示す例では、keyword、shohin_cd、kakaku）の変数の値を抽出することができる。
【０１１３】
さらに、Ｗｅｂサーバ３は、Ｄａｔｅ１６０６、Ｃｏｏｋｉｅ１６０８の情報に基づいて、それぞれシーケンスＩＤ、セッションＩＤを生成することができる。
【０１１４】
図１７は、本発明の実施形態のデータ抽出・生成部４０の制御ロジックを示すフローチャートである。データ抽出・生成部４０は、Ｗｅｂ操作履歴５１に格納された操作履歴データを解析することにより、スキーマ定義部３５によって定義されたスキーマに対応するデータを抽出する。また、抽出されたデータに基づいて、ＤＢ入力用データ７２を生成する。
【０１１５】
まずステップ１７０１において、データ抽出・生成部４０は、Ｗｅｂ操作履歴５１に格納された操作履歴データ（ＨＴＴＰリクエスト）のＲｅｆｅｒｅｒ情報を参照し、解析対象として選定されたフォームが属するＨＴＭＬファイルのＵＲＬと一致するＵＲＬが記述された操作履歴データを検索する（Ｓ１７０１）。
【０１１６】
次にステップ１７０２において、データ抽出・生成部４０は、ステップ１７０１による検索の結果として抽出された操作履歴データに係るリソースのＵＲＬが、解析対象として選定されたフォームのアクション情報を示すものか否か確認する（Ｓ１７０２）。
【０１１７】
その後ステップ１７０３において、データ抽出・生成部４０は、ステップ１７０２においてＹＥＳの場合、ステップ１７０１で抽出された操作履歴データから、データセットの名前及び値を抽出し記録する（Ｓ１７０３）。
【０１１８】
その後ステップ１７０４において、データ抽出・生成部４０は、ステップ１７０１で抽出された操作履歴データ内のＣｏｏｋｉｅ情報から、セッションＩＤを抽出し記録する（Ｓ１７０４）。
【０１１９】
その後ステップ１７０５において、データ抽出・生成部４０は、ステップ１７０１で抽出された操作履歴データ内のＤａｔｅ情報を、シーケンスＩＤとして記録する（Ｓ１７０５）。
【０１２０】
その後ステップ１７０６において、データ抽出・生成部４０は、ステップ１７０１で抽出された操作履歴データを一意に識別するデータセットＩＤを生成する（Ｓ１７０６）。
【０１２１】
その後ステップ１７０７において、データ抽出・生成部４０は、ステップ１７０３〜１７０５で記録されたデータセット、セッションＩＤ、シーケンスＩＤ及びステップ１７０６で生成されたデータセットＩＤに基づいて、解析対象として選定されたフォームに対応するテーブルのＤＢ入力用データを生成する（Ｓ１７０７）。具体的には、図１４に示すようなＤＢ入力用データ７２を生成する。
【０１２２】
以上に示す処理により、データ抽出・生成部４０は、Ｗｅｂ操作履歴５１に格納された操作履歴データを解析することにより、スキーマ定義部３５によって定義されたスキーマに対応するデータを抽出する。また、抽出されたデータに基づいて、ＤＢ入力用データ７２を生成する。
【０１２３】
図１８は、本発明の実施形態の履歴構成解析部３９の制御ロジックを示すフローチャートである。履歴構成解析部３９は、Ｗｅｂ操作履歴５１に格納された各操作履歴データ（ＨＴＴＰリクエスト）に基づいて、Ｗｅｂ操作履歴５１内に存在するフォームに関する情報を取得する。
【０１２４】
まずステップ１８０１において、履歴構成解析部３９は、Ｗｅｂ操作履歴５１内のいずれかの操作履歴データ（ＨＴＴＰリクエスト）のＲｅｆｅｒｅｒ情報に記述されたＵＲＬを取得し記録する（Ｓ１８０１）。
【０１２５】
次にステップ１８０２において、履歴構成解析部３９は、処理対象の操作履歴データのリソースのＵＲＬ情報を取得し記録する（Ｓ１８０２）。
【０１２６】
その後ステップ１８０３において、履歴構成解析部３９は、ステップ１８０１で取得されたＵＲＬのＨＴＭＬファイル内において、ステップ１８０２で取得されたリソースのＵＲＬがアクション情報として指定されたフォームを検索する（Ｓ１８０３）。
【０１２７】
その後ステップ１８０４において、履歴構成解析部３９は、ステップ１８０３による検索の結果として抽出されたフォームの番号を取得し記録する（Ｓ１８０４）。
【０１２８】
その後ステップ１８０５において、履歴構成解析部３９は、ステップ１８０３で取得されたフォームの情報が、フォーム情報テーブルに登録されているか否かを判定する（Ｓ１８０５）。なお、フォーム情報テーブルとは、Ｗｅｂ操作履歴５１内に存在するフォームに関する情報が記録されたテーブルである。フォーム情報テーブルの詳細については、図１９を用いて後述する。
【０１２９】
登録されている場合（Ｓ１８０５でＹＥＳ）、ステップ１８０７に進む。一方、登録されていない場合（Ｓ１８０５でＮＯ）、ステップ１８０６において、履歴構成解析部３９は、ステップ１８０３で取得されたフォームの情報を、フォーム情報テーブルに登録する（Ｓ１８０６）。
【０１３０】
その後ステップ１８０７の処理により、履歴構成解析部３９は、Ｗｅｂ操作履歴５１内に存在する全ての操作履歴データについて、ステップ１８０１〜１８０６の処理を繰り返す。
【０１３１】
以上に示す処理により、履歴構成解析部３９は、Ｗｅｂ操作履歴５１に格納された各操作履歴データ（ＨＴＴＰリクエスト）に基づいて、Ｗｅｂ操作履歴５１内に存在するフォームに関する情報を取得し、フォーム情報テーブルに登録する。
【０１３２】
図１９は、本発明の実施形態のフォーム情報テーブル１９００の一例を示す図である。図１９に示すフォーム情報テーブル１９００は、図１８に示す制御ロジックによって生成される。
【０１３３】
フォーム情報テーブル１９００では、Ｒｅｆｅｒｅｒ情報で指定されるＵＲＬ１９０１、リソースのＵＲＬ１９０２及びフォーム番号１９０３が対応付けられて登録される。なお、ＵＲＬ１９０１及びフォーム番号１９０３によって、フォームを一意に識別することができる。
【０１３４】
図２０は、本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面２００１の第一の例を示す図である。図２０に示す解析データ選定画面２００１は、解析データ選定部３４のプログラムを実行することによって出力装置８２に表示される。Ｗｅｂサーバ３のユーザは入力装置８３を用いて、解析データ選定画面２００１上で情報を入力する。
【０１３５】
解析データ選定画面２００１は、Ｗｅｂサーバ３のユーザが解析対象のデータ範囲を選定するための選定画面２００２と、Ｗｅｂクライアント２の表示装置２４上に表示されるＷｅｂ操作画面３０３とを含む。
【０１３６】
なお、図２０に示す選定画面２００２では、図３に示す選定画面３０２と異なり、一部のフォーム（ここではフォーム２）が選択不能に表示される。
【０１３７】
前述の図１８に示す制御ロジックにより、履歴構成解析部３９は、Ｗｅｂ操作履歴５１内に存在するフォーム、すなわち解析可能なフォームを抽出することができる。そこで、解析データ選定部３４は、Ｗｅｂ操作履歴５１を解析する場合には、図１９に示すフォーム情報テーブル１９００に登録されているフォーム、すなわち解析可能なフォームのみを選定可能に提示する。これにより、解析不能なフォーム、すなわち解析してもデータが抽出されないフォームを予め解析対象から除外することができる。
【０１３８】
図２１は、本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面２１０１の第二の例を示す図である。図２１に示す解析データ選定画面２１０１は、解析データ選定部３４のプログラムを実行することによって出力装置８２に表示される。Ｗｅｂサーバ３のユーザは入力装置８３を用いて、解析データ選定画面２１０１上で情報を入力する。
【０１３９】
解析データ選定画面２１０１は、Ｗｅｂサーバ３のユーザが解析対象のデータ範囲を選定するための選定画面２１０２と、Ｗｅｂクライアント２の表示装置２４上に表示されるＷｅｂ操作画面３０３とを含む。
【０１４０】
なお、図２１に示す選定画面２１０２では、図２０に示す選定画面２００２と異なり、選定されたフォームの解析結果をプレビュー（事前確認）するためのチェックボックスが設けられる。
【０１４１】
選定画面２１０２において、Ｗｅｂサーバ３のユーザは、解析対象のデータ範囲をフォーム単位で選定する。さらに、解析対象として選定されたフォームの解析結果をプレビューする場合には、プレビュー用のチェックボックスをチェックし、決定ボタンを押下する。そうすると、Ｗｅｂサーバ３は、チェックされたフォームを解析し、解析結果を表示する。
【０１４２】
図２２は、本発明の実施形態のプレビュー解析の制御ロジックを示すフローチャートである。Ｗｅｂサーバ３は、以下に示す制御ロジックを実行することによって、解析対象として選定されたフォームの解析結果をプレビュー可能にする。
【０１４３】
まずＷｅｂサーバ３のユーザによって、解析データ選定画面２１０１上で解析対象のフォームが選定されると、ステップ２２０１において、Ｗｅｂサーバ３は、選定されたフォームのフォーム番号を取得する（Ｓ２２０１）。具体的には、選定されたフォームのユーザインタフェース上の番号を、Ｗｅｂ操作画面を記述するプログラム上の番号に変換する。
【０１４４】
次にステップ２２０２において、Ｗｅｂサーバ３は、Ｗｅｂ操作履歴５１に格納されたいずれかの操作履歴データ（ＨＴＴＰリクエスト）のＲｅｆｅｒｅｒ情報を参照し、解析対象として選定されたフォームが属するＨＴＭＬファイルのＵＲＬと一致するＵＲＬが記述された操作履歴データを検索する（Ｓ２２０２）。
【０１４５】
その後ステップ２２０３において、Ｗｅｂサーバ３は、ステップ２２０２による検索の結果として抽出された操作履歴データに係るリソースのＵＲＬが、解析対象として選定されたフォームのアクション情報を示すものか否か確認する（Ｓ２２０３）。なお、解析対象として選定されたフォームは、フォーム番号によって識別される。
【０１４６】
抽出された操作履歴データに係るリソースのＵＲＬが、選定されたフォームのアクション情報を示さない場合（Ｓ２２０４でＮＯ）、ステップ２２０２に戻って別の操作履歴データについて処理を繰り返す。
【０１４７】
一方、抽出された操作履歴データに係るリソースのＵＲＬが、選定されたフォームのアクション情報を示す場合（Ｓ２２０４でＹＥＳ）、Ｗｅｂサーバ３は、ステップ２２０２で抽出されたフォームの番号を記録する（Ｓ２２０５）。
【０１４８】
その後ステップ２２０６の処理により、Ｗｅｂサーバ３は、Ｗｅｂ操作履歴５１内に存在する全ての操作履歴データについて、ステップ２２０２〜２２０５の処理を繰り返す。
【０１４９】
その後ステップ２２０７において、Ｗｅｂサーバ３は、ステップ２２０５で記録されたフォームの番号に基づいて、Ｗｅｂ操作履歴５１内に存在しないフォームを検索する（Ｓ２２０７）。
【０１５０】
該当フォームがある場合（Ｓ２２０８でＹＥＳ）、ステップ２２０９において、Ｗｅｂサーバ３は、該当フォーム、すなわちＷｅｂ操作履歴５１内に存在しないフォームを表示する（Ｓ２２０９）。具体的には、Ｗｅｂ操作履歴５１内に存在しないフォームの番号を取得し、取得されたフォームの番号をユーザインタフェースの番号に変換し、ポップアップウィンドウに表示する。ステップ２２０９で表示される表示画面の例については、図２３を用いて後述する。
【０１５１】
一方、該当フォームがない場合（Ｓ２２０８でＮＯ）、ステップ２２１０において、Ｗｅｂサーバ３は、解析対象として選定された全てのフォームのデータがＷｅｂ操作履歴５１に存在する旨を、ポップアップウィンドウに表示する（Ｓ２２１０）。
【０１５２】
図２３は、本発明の実施形態のプレビュー解析結果の表示画面２３００の第一の具体例を示す図である。図２３に示す表示画面２３００は、解析対象として選定されたフォーム（ここではフォーム２）がＷｅｂ操作履歴５１内に存在しない場合に表示されるポップアップウィンドウである。
【０１５３】
この表示画面２３００によれば、Ｗｅｂサーバ３のユーザは、現在の設定が「Ｗｅｂ操作履歴５１内に存在しないフォーム（ここではフォーム２）のデータを取得し、リアルタイムにＤＢ入力用データ７２を生成する設定」であるかの確認を指示することができる。
【０１５４】
設定を確認する場合、Ｗｅｂサーバ３のユーザは入力装置８３を用いて"設定を確認する"ボタンを押下する。そうすると、Ｗｅｂサーバ３は後述する図２７に示す制御ロジックを実行し、設定の確認結果を表示する。一方、プレビューを終了する場合、"プレビューを終了する"ボタンを押下する。そうすると、Ｗｅｂサーバ３はプレビューを終了する。
【０１５５】
図２４は、本発明の実施形態のプレビュー解析結果の表示画面２４００の第二の具体例を示す図である。図２４に示す表示画面２４００は、図２３の表示画面２３００上で"設定を確認する"ボタンが押下された場合に表示されるポップアップウィンドウである。
【０１５６】
この表示画面２４００によれば、Ｗｅｂサーバ３のユーザは、現在の設定が「Ｗｅｂ操作履歴５１内に存在しないフォーム（ここではフォーム２）のデータを取得し、リアルタイムにＤＢ入力用データ７２を生成する設定」ではない場合に、設定変更を指示することができる。
【０１５７】
設定を変更する場合、Ｗｅｂサーバ３のユーザは入力装置８３を用いて"設定を変更し、プレビューを終了する"ボタンを押下する。そうすると、Ｗｅｂサーバ３は後述する図２８に示す制御ロジックを実行し、設定を変更する。その後プレビューを終了する。一方、設定を変更しない場合、"設定を変更せずにプレビューを終了する"ボタンを押下する。そうすると、Ｗｅｂサーバ３はプレビューを終了する。
【０１５８】
図２５は、本発明の実施形態のリアルタイムデータ解析に係る現在の設定を登録する制御ロジックを示すフローチャートである。ここでは、解析対象として選定されたフォームのうち、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されているフォームを登録する。
【０１５９】
まずステップ２５０１において、Ｗｅｂサーバ３は、Ｗｅｂサーバ３のユーザによって解析対象として選定されたフォームのうち、いずれかのフォームが属するＨＴＭＬファイルのＵＲＬを取得する（Ｓ２５０１）。
【０１６０】
次にステップ２５０２において、Ｗｅｂサーバ３は、処理対象のフォームの番号を取得する（Ｓ２５０２）。
【０１６１】
その後ステップ２５０３において、Ｗｅｂサーバ３は、処理対象のフォームについて、ステップ２５０１で取得されたＵＲＬと、ステップ２５０２で取得されたフォームの番号とを対応付けて設定テーブルに記録する（Ｓ２５０３）。
【０１６２】
ここでいう設定テーブルとは、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されているフォームに関する情報を格納するテーブルである。設定テーブルの詳細については、図２６を用いて後述する。
【０１６３】
ステップ２５０４の処理により、Ｗｅｂサーバ３は、解析対象として選定された全てのフォームについて、ステップ２５０１〜２５０３の処理を繰り返す。
【０１６４】
以上に示す処理により、Ｗｅｂサーバ３は、解析対象として選定されたフォームのうち、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されているフォームに関する情報を、設定テーブル２６００に登録する。
【０１６５】
図２６は、本発明の実施形態の設定テーブル２６００の一例を示す図である。設定テーブル２６００は、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されているフォームに関する情報を格納する。
【０１６６】
設定テーブル２６００では、ＨＴＭＬファイルのＵＲＬ２６０１と、フォーム番号２６０２とが対応付けて格納される。Ｗｅｂサーバ３は設定テーブル２６００を参照し、Ｗｅｂ操作履歴５１に存在しないフォームが、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されているフォームであるか否かを確認することができる。
【０１６７】
図２７は、本発明の実施形態のリアルタイムデータ解析に係る現在の設定を確認する制御ロジックを示すフローチャートである。
【０１６８】
図２３に示すような表示画面２３００上で"設定を確認する"ボタンが押下されると、まずステップ２７０１において、Ｗｅｂサーバ３は、Ｗｅｂ操作履歴５１に存在しないと判定されたフォームに関する情報が設定テーブル２６００に登録されているか検索する（Ｓ２７０１）。
【０１６９】
具体的には、設定テーブル２６００を参照し、Ｗｅｂ操作履歴５１に存在しないと判定されたフォームが所属するＨＴＭＬファイルのＵＲＬと、フォームの番号とが対応付けて登録されているか検索する。
【０１７０】
登録されていない場合（Ｓ２７０２でＮＯ）、ステップ２７０３において、Ｗｅｂサーバ３は、該当フォームの情報を返す（Ｓ２７０３）。該当フォームとは、Ｗｅｂ操作履歴５１に存在しないと判定されたフォームのうち、設定テーブル２６００に登録されていないフォームである。またフォームの情報とは、フォームの属するＨＴＭＬファイルのＵＲＬと、フォームの番号とを含む。一方、登録されている場合（Ｓ２７０２でＹＥＳ）、該当フォームがない旨を返す（Ｓ２７０４）。
【０１７１】
その後ステップ２７０５において、Ｗｅｂサーバ３は、ステップ２７０３で返されたフォームの情報のうちのフォームの番号（プログラム上の番号）を、ユーザインタフェース上の番号に変換する（Ｓ２７０５）。
【０１７２】
その後ステップ２７０６において、Ｗｅｂサーバ３は、変換後のフォームの番号をメッセージボックスで表示する（Ｓ２７０６）。ここでいうメッセージボックスとは、図２４の表示画面２４００に示すようなメッセージボックスである。
【０１７３】
なお、ステップ２７０２からステップ２７０４に進んだ場合、ステップ２７０６では、Ｗｅｂサーバ３は、該当フォームがない旨、すなわちＷｅｂ操作履歴５１に存在しないと判定されたフォームの全てが、リアルタイムにＤＢ入力用データ７２を生成するよう現在設定されている旨を表示してもよい。
【０１７４】
以上に示す処理により、Ｗｅｂサーバ３は、ユーザによる設定確認指示に基づいて、リアルタイムデータ解析に係る現在の設定を確認し、確認結果を表示する。
【０１７５】
図２８は、本発明の実施形態のリアルタイムデータ解析に係る設定を変更する制御ロジックを示すフローチャートである。
【０１７６】
図２４に示すような表示画面２４００上で"設定を変更し、プレビューを終了する"ボタンが押下されると、まずステップ２８０１において、Ｗｅｂサーバ３は、設定変更対象のフォームの入力データを、Ｗｅｂ操作履歴５１に記録する（Ｓ２８０１）。
【０１７７】
次にステップ２８０２において、Ｗｅｂサーバ３は、設定変更対象のフォームに対応するスキーマ（テーブル）を新たに定義し、設定変更対象のフォームの入力データ（ＨＴＴＰのリクエスト）に基づいて、リアルタイムにＤＢ入力用データ７２を生成する（Ｓ２８０２）。
【０１７８】
以上に示す処理により、Ｗｅｂサーバ３は、Ｗｅｂ操作履歴５１に存在しないと判定されたフォームの入力データを、Ｗｅｂ操作履歴５１に記録するよう設定変更する。また、Ｗｅｂ操作履歴５１に存在しないと判定されたフォームに対応するスキーマを新たに定義し、このフォームの入力データをフィルタリングすることによって、リアルタイムにＤＢ入力用データ７２を生成する。
【０１７９】
図２９Ａ及び図２９Ｂは、本発明の実施形態の履歴構成解析部３９の制御ロジックの変形例を示すフローチャートである。
【０１８０】
ここでは、履歴構成解析部３９は、Ｗｅｂ操作履歴５１に格納された各操作履歴データ（ＨＴＴＰリクエスト）に基づいて、Ｗｅｂ操作履歴５１内に存在するフォームに関する情報を取得する。本変形例では、Ｗｅｂ操作履歴５１内に存在するフォーム毎に、操作履歴データの記録期間に関する情報も併せて取得する。なお、前述の図１８と同様の処理については、同一の符号を付して重複する説明を適宜省略する。
【０１８１】
ステップ２９０１において、履歴構成解析部３９は、処理対象の操作履歴データ（ＨＴＴＰリクエスト）のＤａｔｅ情報を、最新データとして登録する（Ｓ２９０１）。具体的には、図３０に示すようなフォーム情報テーブル３０００のＤａｔｅ情報３００４、３００５に登録する。
【０１８２】
ステップ２９０２において、履歴構成解析部３９は、処理対象の操作履歴データの期間情報を登録する（Ｓ２９０２）。
【０１８３】
すなわちステップ２９０３において、履歴構成解析部３９は、処理対象の操作履歴データのＤａｔｅ情報が最も新しいか否か判定する（Ｓ２９０３）。具体的には、処理対象の操作履歴データのＤａｔｅ情報と、フォーム情報テーブル３０００のＤａｔｅ情報３００４に格納されたＤａｔｅ情報との比較に基づいて判定する。
【０１８４】
処理対象の操作履歴データのＤａｔｅ情報が最も新しい場合（Ｓ２９０３でＹＥＳ）、履歴構成解析部３９は、このＤａｔｅ情報を最も新しいＤａｔｅ情報として登録する（Ｓ２９０４）。
【０１８５】
一方、処理対象の操作履歴データのＤａｔｅ情報が最も新しくはない場合（Ｓ２９０３でＮＯ）、履歴構成解析部３９は、処理対象の操作履歴データのＤａｔｅ情報が最も古いか否か判定する（Ｓ２９０５）。具体的には、処理対象の操作履歴データのＤａｔｅ情報と、フォーム情報テーブル３０００のＤａｔｅ情報３００５に格納されたＤａｔｅ情報との比較に基づいて判定する。
【０１８６】
処理対象の操作履歴データのＤａｔｅ情報が最も古い場合（Ｓ２９０５でＹＥＳ）、履歴構成解析部３９は、このＤａｔｅ情報を最も古いＤａｔｅ情報として登録する（Ｓ２９０６）。一方、処理対象のデータのＤａｔｅ情報が最も古くはない場合（Ｓ２９０５でＮＯ）、履歴構成解析部３９は、ステップ２９０２の処理を終了する。
【０１８７】
以上に示す処理により、履歴構成解析部３９は、Ｗｅｂ操作履歴５１に格納された各操作履歴データ（ＨＴＴＰリクエスト）に基づいて、Ｗｅｂ操作履歴５１内に存在するフォームに関する情報を取得する。本変形例では、Ｗｅｂ操作履歴５１内に存在するフォーム毎に、操作履歴データの記録期間に関する情報も併せて取得する。これにより、フォーム毎に解析可能な期間を調べることができる。
【０１８８】
図３０は、本発明の実施形態のフォーム情報テーブル３０００の変形例を示す図である。図３０に示すフォーム情報テーブル３０００は、図２９Ａ及び図２９Ｂに示す制御ロジックによって生成される。
【０１８９】
フォーム情報テーブル３０００では、Ｒｅｆｅｒｅｒ情報で指定されるＵＲＬ３００１、リソースのＵＲＬ３００２、フォーム番号３００３、最も新しいデータのＤａｔｅ情報３００４及び最も古いデータのＤａｔｅ情報３００５が対応付けられて登録される。
【０１９０】
なお、ＵＲＬ３００１及びフォーム番号３００３によって、フォームを一意に識別することができる。また、Ｄａｔｅ情報３００４、３００５によって、各フォームにおけるデータの存在期間を記録することができる。
【０１９１】
図３１は、本発明の実施形態の解析可能データ提示画面３１００の一例を示す図である。図３１に示す解析可能データ提示画面３１００は、解析データ選定部３４のプログラムを実行することによって出力装置８２に表示される。
【０１９２】
解析可能データ提示画面３１００では、Ｗｅｂサーバ３のユーザによって選定された解析対象のフォーム毎に、Ｗｅｂ操作履歴５１内にデータが存在するか否かを示すデータの有無情報、及び、Ｗｅｂ操作履歴５１内にデータが存在する場合には解析可能な範囲（日時）を示す期間情報が示される。
【０１９３】
前述の図２９Ａ及び２９Ｂに示す制御ロジックにより、履歴構成解析部３９は、Ｗｅｂ操作履歴５１内に存在する各フォームの解析可能な期間情報を抽出することができる。そこで、解析データ選定部３４は、Ｗｅｂ操作履歴５１を解析する場合には、図３０に示すフォーム情報テーブル３０００に基づいて、解析可能なフォーム及び解析可能な期間情報を提示する。
【０１９４】
図３２は、本発明の実施形態のＷｅｂ操作履歴の解析データ選定画面３２０１の変形例を示す図である。図３２に示す解析データ選定画面３２０１は、解析データ選定部３４のプログラムを実行することによって出力装置８２に表示される。Ｗｅｂサーバ３のユーザは入力装置８３を用いて、解析データ選定画面３２０１上で情報を入力する。
【０１９５】
解析データ選定画面３２０１は、Ｗｅｂサーバ３のユーザが解析対象のデータ範囲を選定するための選定画面３２０２と、選定画面３２０２上で選定されたフォームについての解析期間を設定するための解析期間設定メニュー３２０３と、Ｗｅｂクライアント２の表示装置２４上に表示されるＷｅｂ操作画面３０３とを含む。
【０１９６】
なお、図３２に示す選定画面３２０２は、図２１に示す選定画面２１０２と同様である。
【０１９７】
前述の図２９Ａ及び２９Ｂに示す制御ロジックにより、履歴構成解析部３９は、Ｗｅｂ操作履歴５１内に存在する各フォームの解析可能な期間情報を抽出することができる。そこで、解析データ選定部３４は、解析期間設定メニュー３２０３が選択された場合には、フォーム情報テーブル３０００に基づいて、選定されたフォームの解析期間の設定画面を提示する。解析期間の設定画面の詳細については、図３３を用いて後述する。
【０１９８】
図３３は、本発明の実施形態の解析期間設定画面３３０１の具体例を示す図である。図３３に示す解析期間設定画面３３０１は、解析期間設定メニュー３２０３が選択された場合には、選定されたフォーム（図３２ではフォーム１、３）の解析期間の設定を促す画面である。
【０１９９】
Ｗｅｂサーバ３のユーザは入力装置８３を用いて、解析期間設定画面３３０１上で解析対象期間の開始日時と終了日時を設定する。これにより、フォーム毎にＷｅｂ操作履歴５１内の操作履歴データの解析期間を設定することができる。
【０２００】
図３４は、本発明の実施形態のセッションテーブル３４００の一例を示す図である。
【０２０１】
セッションテーブル３４００は、セッション情報を管理するためのテーブルである。セッション情報とは、セッションＩＤによって特定されるユーザ情報、セッションに係る時間情報及び地域情報等を含む。
【０２０２】
このセッションテーブル３４００と、スキーマ定義部３５によって定義される各テーブルとは、セッションＩＤを介して相互に関連付けることができる。これにより、スキーマ定義部３５によって定義される各テーブルに挿入されたデータを、セッションテーブル３４００によって管理されるセッション情報を用いて多面的に解析することができる。また、セッションＩＤを介して各テーブルの構成要素であるデータの関係を分析することができる。
【０２０３】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2013038508.tif 000003
【図２】
2013038508.tif 000004
【図３】
2013038508.tif 000005
【図４】
2013038508.tif 000006
【図５】
2013038508.tif 000007
【図６】
2013038508.tif 000008
【図７】
2013038508.tif 000009
【図８】
2013038508.tif 000010
【図９】
2013038508.tif 000011
【図１０】
2013038508.tif 000012
【図１１】
2013038508.tif 000013
【図１２】
2013038508.tif 000014
【図１３】
2013038508.tif 000015
【図１４】
2013038508.tif 000016
【図１５】
2013038508.tif 000017
【図１６】
2013038508.tif 000018
【図１７】
2013038508.tif 000019
【図１８】
2013038508.tif 000020
【図１９】
2013038508.tif 000021
【図２０】
2013038508.tif 000022
【図２１】
2013038508.tif 000023
【図２２】
2013038508.tif 000024
【図２３】
2013038508.tif 000025
【図２４】
2013038508.tif 000026
【図２５】
2013038508.tif 000027
【図２６】
2013038508.tif 000028
【図２７】
2013038508.tif 000029
【図２８】
2013038508.tif 000030
【図２９Ａ】
2013038508.tif 000031
【図２９Ｂ】
2013038508.tif 000032
【図３０】
2013038508.tif 000033
【図３１】
2013038508.tif 000034
【図３２】
2013038508.tif 000035
【図３３】
2013038508.tif 000036
【図３４】
2013038508.tif 000037
【国際調査報告】
2013038508.tif 000038
2013038508.tif 000039
2013038508.tif 000040
2013038508.tif 000041