(57)【特許請求の範囲】
【請求項１】
リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、前記Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムに組み込まれる装置であって、
予め設定されており、前記Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移により前記Ｗｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持する手段と、
前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識し、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、前記サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態を予測した予測情報を求める予測手段と、
前記予測情報と前記Ｗｅｂブラウザから発信されたリクエストにしたがって実際に次に前記サーバで実行される処理による前記Ｗｅｂブラウザの表示状態との整合性の有無を調べ、前記サーバで実行される処理の順序の適否を判定する監視手段と
を具備するＷｅｂシステムの処理順序監視装置。
【請求項２】
リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、前記Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムに組み込まれる装置であって、
予め設定されており、前記Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移により前記Ｗｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持する手段と、
前記サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態である予測情報を格納する予測情報格納手段と、
前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行される処理による前記Ｗｅｂブラウザの表示状態を認識し、この認識結果と前記予測情報格納手段に格納済みの予測情報との整合性の有無を調べ、前記サーバで実行される処理の順序の適否を判定する監視手段と、
前記監視手段によって処理順序が適していると判定された場合に、前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識し、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、新規の予測情報を求めて前記予測情報格納手段に格納する予測手段と
を具備するＷｅｂシステムの処理順序監視装置。
【請求項３】
請求項２記載のＷｅｂシステムの処理順序監視装置において、
前記監視手段によって処理順序が適していると判定された場合に、前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理による前記Ｗｅｂブラウザの表示状態の履歴情報を格納する実行履歴格納手段をさらに具備することを特徴とするＷｅｂシステムの処理順序監視装置。
【請求項４】
請求項３記載のＷｅｂシステムの処理順序監視装置において、
前記Ｗｅｂブラウザからリクエストが発信される際に、前記Ｗｅｂブラウザに表示されている画面の状態情報を発信する画面状態情報発信手段をさらに具備し、
前記監視手段は、前記画面状態情報発信手段によって発信された画面の状態情報と前記実行履歴格納手段に格納されている履歴情報とを比較して前記サーバで実行される処理の順序の適否を判定する
ことを特徴とするＷｅｂシステムの処理順序監視装置。
【請求項５】
請求項３又は請求項４記載のＷｅｂシステムの処理順序監視装置において、
前記監視手段によって処理順序が適していないと判定された場合に、前記実行履歴格納手段に格納されている履歴情報を用いて前記Ｗｅｂブラウザの表示画面を再構築する回復処理手段をさらに具備することを特徴とするＷｅｂシステムの処理順序監視装置。
【請求項６】
リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、前記Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムの前記サーバに、
予め設定されており、前記Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移により前記Ｗｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持させる機能、
前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識させ、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、前記サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態を予測した予測情報を求めさせる予測機能、
前記予測情報と前記Ｗｅｂブラウザから発信されたリクエストにしたがって実際に次に前記サーバで実行される処理による前記Ｗｅｂブラウザの表示状態との整合性の有無を調べさせ、前記サーバで実行される処理の順序の適否を判定させる監視機能
を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項７】
リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、前記Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムの前記サーバに、
予め設定されており、前記Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移により前記Ｗｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持させる機能、
前記サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態である予測情報を格納させる予測情報格納機能、
前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行される処理による前記Ｗｅｂブラウザの表示状態を認識させ、この認識結果と前記予測情報格納機能によって格納済みの予測情報との整合性の有無を調べさせ、前記サーバで実行される処理の順序の適否を判定させる監視機能、
前記監視機能によって処理順序が適していると判定された場合に、前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識させ、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、新規の予測情報を求めて前記予測情報格納機能によって格納させる予測機能
を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項８】
請求項７記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、
前記Ｗｅｂシステムの前記サーバに、
前記監視機能によって処理順序が適していると判定された場合に、前記Ｗｅｂブラウザから発信されたリクエストにしたがって前記サーバで実行された処理による前記Ｗｅｂブラウザの表示状態の履歴情報を格納させる実行履歴格納機能を実現させるためのプログラムをさらに記憶したコンピュータ読み取り可能な記憶媒体。
【請求項９】
請求項８記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、
前記Ｗｅｂシステムの前記サーバに、
前記Ｗｅｂブラウザからリクエストが発信される際に、前記Ｗｅｂブラウザに表示されている画面の状態情報を発信させる画面状態情報発信機能を実現させるためのプログラムをさらに記憶し、
前記監視機能は、前記画面状態情報発信機能によって発信された画面の状態情報と前記実行履歴格納機能によって格納されている履歴情報とを比較して前記サーバで実行される処理の順序の適否を判定させる
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１０】
請求項８又は請求項９記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、
前記Ｗｅｂシステムの前記サーバに、
前記監視機能によって処理順序が適していないと判定された場合に、前記実行履歴格納機能によって格納されている履歴情報を用いて前記Ｗｅｂブラウザの表示画面を再構築させる回復処理機能を実現させるためのプログラムをさらに記憶するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＷＷＷ（World Wide Web）を利用可能なシステム（以下、「Ｗｅｂシステム」という）において実行される処理の実行順序を監視する装置及びプログラムを記録したコンピュータ読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
図１７は、一般的なＷｅｂシステムにおけるＷｅｂブラウザの表示画面とＷｅｂアプリケーションサーバの処理の関係の例を示すブロック図である。
【０００３】
Ｗｅｂシステム１の中には、複数の画面にわたってユーザからの入力を順次受け付けながら、一連の業務を実現する機能を有するものがある。図１７ではこの複数の画面により一連の業務を提供する例として、ユーザ認証を行い、その後データベースをアクセスする場合を挙げている。
【０００４】
この一般的なＷｅｂシステム１は、主にＷｅｂブラウザ２と、Ｗｅｂサーバ３及びアプリケーションプログラム４４を実行するアプリケーションサーバ４を含むＷｅｂアプリケーションサーバ５とから構成されている。なお、アプリケーションプログラム４４には、ユーザ認証処理４ｂ、データベースアクセス処理４ｃ、アクセス終了処理４ｄがある。
【０００５】
Ｗｅｂブラウザ２の画面は一連の業務を提供するにあたり、画面２ａ、２ｂ、２ｃ、２ｄと遷移する。
【０００６】
このＷｅｂブラウザ２は、それぞれ画面２ａ〜２ｃに基づいてＷｅｂサーバ３に対してリクエスト（ＵＲＬ）６ｂ〜６ｄを発信する。また、このリクエスト６ｂ〜６ｄの応答であるＨＴＭＬ形式のデータ７ｂ〜７ｄをＷｅｂサーバ３から受信し、この受信したＨＴＭＬ形式データ７ｂ〜７ｄの内容にしたがって画面２ｂ〜２ｄを形成する。また、このＷｅｂブラウザ２は、図示していないクライアント上で動作する。
【０００７】
Ｗｅｂアプリケーションサーバ５の第１の要素であるＷｅｂサーバ３は、Ｗｅｂブラウザ２からリクエスト６ｂ〜６ｄを受信した際に、このリクエスト６ｂ〜６ｄの内容をアプリケーションサーバ４に出力する。そして、アプリケーションサーバ４で実行された処理４ｂ〜４ｄの結果を用いてＷｅｂブラウザ２へのＨＴＭＬ形式データ７ｂ〜７ｄの送信処理を実行する。
【０００８】
Ｗｅｂアプリケーションサーバ５の第２の要素であるアプリケーションサーバ４は、Ｗｅｂブラウザ２から発信された各リクエスト６ｂ〜６ｄをＷｅｂサーバ３経由で入力し、このリクエスト６ｂ〜６ｄにしたがってそれぞれユーザ認証処理４ｂ、データベースアクセス処理４ｃ、アクセス終了処理４ｄを実行する。
【０００９】
上記のような構成を有するＷｅｂシステム１においては、まず画面２ａに対してユーザからログイン情報が入力され、このログイン情報を含むリクエスト６ｂがＷｅｂブラウザ２からＷｅｂサーバ３を介してアプリケーションサーバ４に入力される。
【００１０】
次に、このリクエスト６ｂにしたがってアプリケーションサーバ４のユーザ認証を行うための処理４ｂが実行され、この処理４ｂの実行結果がＷｅｂサーバ３に出力される。
【００１１】
これにより、Ｗｅｂサーバ３において、ＨＴＭＬ形式データ７ｂが処理４ｂの実行結果及び先に受信したリクエスト６ｂに基づいて生成され、このＨＴＭＬ形式データ７ｂがＷｅｂサーバ３からＷｅｂブラウザ２に送信され、画面２ｂがＷｅｂブラウザ２に表示される。
【００１２】
次に、画面２ｂに対してユーザからデータベースアクセス命令が入力され、このデータベースアクセス命令を含むリクエスト６ｃがＷｅｂブラウザ２からＷｅｂサーバ３に送信され、このＷｅｂサーバ３を介してアプリケーションサーバ４に入力される。
【００１３】
次に、このリクエスト６ｃにしたがって、先の処理４ｂによって得られたユーザ認証結果を用いたデータベースアクセス処理４ｃが実行され、この処理４ｃの実行結果がＷｅｂサーバ３に出力される。
【００１４】
これにより、Ｗｅｂサーバ３において、ＨＴＭＬ形式データ７ｃが処理４ｃの実行結果及び先に受信したリクエスト６ｃに基づいて生成され、このＨＴＭＬ形式データ７ｃがＷｅｂサーバ３からＷｅｂブラウザ２に送信され、画面２ｃがＷｅｂブラウザ２に表示される。
【００１５】
次に、画面２ｃに対してユーザからアクセス終了命令が入力され、このアクセス終了命令を含むリクエスト６ｄがＷｅｂブラウザ２からＷｅｂサーバ３を介してアプリケーションサーバ４に入力される。
【００１６】
そして、このリクエスト６ｄを入力したアプリケーションサーバ４によってデータベースのアクセス終了処理４ｄが実行される。
【００１７】
上記の一般的なＷｅｂシステム１において、Ｗｅｂブラウザ２とＷｅｂサーバ３の間では、ＨＴＴＰ（Hyper Text Transfer Protocol）にしたがって通信が行われる。
【００１８】
このＨＴＴＰは、ステートレスなプロトコルであり状態を維持しない。すなわち、ＨＴＴＰにおいては、それぞれのリクエスト６ｂ〜６ｄが発信される度にＷｅｂブラウザ２とＷｅｂサーバ３の間のセッションが張り替えられる。
【００１９】
このため、例えば図１７に示すように、まずＷｅｂブラウザ２からのログイン情報に基づいてユーザの認証を行い、その後この認証情報にしたがってデータベースをアクセスする場合には、ユーザ認証処理４ｂとデータベースアクセス処理４ｃの２つの処理を用意しておき、処理４ｂの中間結果を処理４ｃに引き渡すための仕組みが必要となる。
【００２０】
また、このＷｅｂシステム１で提供される一連の業務において、処理４ｂ〜４ｄが呼び出される順序は予め定められており、ここではユーザ認証処理４ｂ、データベースアクセス処理４ｃ、アクセス終了処理４ｄの順に処理が実行されなければならない。
【００２１】
【発明が解決しようとする課題】
以上説明したような例えば図１７に示すようなＷｅｂシステム１においては、Ｗｅｂブラウザ２からのリクエスト６ｂ〜６ｄの発信順序をＷｅｂサーバ３及びアプリケーションサーバ４側で制御することが容易ではない。
【００２２】
これにより、Ｗｅｂシステム１においては、複数の処理４ｂ〜４ｄの実行順序が予め定義されていても、この処理４ｂ〜４ｄの実行順序を保証することができず問題が発生する場合がある。
【００２３】
例えばユーザがＷｅｂブラウザ２のバックボタンによって先に表示されていた画面を再表示させ、この画面に基づくリクエストを再送信した場合にはアプリケーションサーバ４で実行される処理４ｂ〜４ｄの順序が予め定義されていた順序と異なることになる。すなわち、図１７のＷｅｂシステム１において、処理４ｂ及び処理４ｃを実行した後にユーザがＷｅｂブラウザ２のバックボタンをプッシュし、再び画面２ａからリクエスト６ｂが送信されると、このＷｅｂシステム１で提供する一連の業務が正常に実行されなくなる。
【００２４】
上記のような問題を解消するために、従来においては、例えば一連の処理に対して、決定表などを用いて、起こりうる全ての条件を列挙し、それらに対する処理を定義する方法が利用されている。
【００２５】
しかしながら、この決定表等を利用する方法は、条件が少ない場合には有効であるが、条件が多い場合には処理の変更時の改変に手間がかかるという問題がある（三善英行著、「Ｗｅｂサーバによる３層クライアント／サーバシステム開発技法」、ソフト・リサーチ・センター）。
【００２６】
また、他の従来方法として、あるプログラムが実行されるときに、その直前に実行されるプログラム名を保持することによって、一連の処理の流れを定義する方法がある。この方法において、あるプログラムはその直前に実行されたプログラム名をチェックし、保持されているプログラム名との関係において適切であれば一連の処理を正常とする。適切でなければ一連の処理を異常とする。
【００２７】
しかしながら、プログラム名を保持するこの従来方法においては、一連の業務の中で同一処理の繰り返しを必要とするアプリケーションプログラムが利用される場合には、バックボタンによるＷｅｂブラウザの戻り方によっては同じプログラム名が読み出されることになり、処理が適切か否かを区別することができないという問題がある。
【００２８】
この問題を解決する方法として、Ｗｅｂブラウザから発信されるリクエストに連続した番号（例えばカウンタで生成）を付加し、サーバ側においてその番号の連続性を確認するという方法が特願平１０−２８８３２９号公報に開示されている。
【００２９】
この連続する番号をリクエストに付加する方法を図１７の場合に適用して説明する。
【００３０】
この方法では、処理４ｂが実行されるアプリケーションプログラム４４において番号１が記憶される。また、この番号１が付加されたＨＴＭＬ形式データ７ｂがＷｅｂサーバ３からＷｅｂブラウザ２に送信される。
【００３１】
次に、この番号１の付加されたＨＴＭＬ形式データ７ｂの内容に基づいて、Ｗｅｂブラウザ２に画面２ｂが表示される。この画面２ｂにユーザによる入力がなされると、この画面２ｂを構成する原因となったＨＴＭＬ形式データ７ｂに付加されていた番号１が、発信されるリクエスト６ｃに付加され、アプリケーションサーバ４に送信される。
【００３２】
アプリケーションサーバ４では、自己が記憶済みの番号１と、新規に受信されたリクエスト６ｃに付加されている番号１とが比較され、一致していれば処理順序は正常であると判定され、処理４ｃが実行される。
【００３３】
すると、アプリケーションサーバ４においてカウントアップされた番号２が記憶される。また、この番号２が付加されたＨＴＭＬ形式データ７ｃがＷｅｂサーバ３からＷｅｂブラウザ２に送信される。
【００３４】
次に、この番号２の付加されたＨＴＭＬ形式データ７ｃの内容に基づいて、Ｗｅｂブラウザ２に画面２ｃが表示される。この画面２ｃにユーザによる入力がなされると、この画面２ｃを構成する原因となったＨＴＭＬ形式データ７ｃに付加されていた番号２が、発信されるリクエスト６ｄに付加され、アプリケーションサーバ４に送信される。
【００３５】
アプリケーションサーバ４では、自己が記憶済みの番号２と、新規に受信されたリクエスト６ｄに付加されている番号２とが比較され、一致していれば処理順序は正常であると判定され、処理４ｄが実行される。
【００３６】
ここで、画面２ｃを表示中のＷｅｂブラウザのバックボタンがユーザによって押され、画面２ｃが画面２ｂに戻ってリクエスト６ｃが発信されると、アプリケーションサーバ４で受信されたリクエスト６ｃに付加されている番号１は、記憶されている番号２よりも小さくなることから、処理順序が異常であると判定される。
【００３７】
しかしながら、この連続する番号をリクエストに付加する方法においては、Ｗｅｂブラウザの表示画面が複数のＨＴＭＬ形式データによって構成される場合に処理順序の適否を判定することができない場合がある。
【００３８】
図１８は、複数のＨＴＭＬ形式データによって構成されているＷｅｂブラウザの表示画面とこのＨＴＭＬ形式データに付加されている連続番号との関係の例を示す図である。
【００３９】
この例では、Ｗｅｂブラウザ２の表示画面では、画面８ａが親フレーム、画面８ｂ、８ｃがこの親フレームに基づく子フレームとなっている。また、このＷｅｂブラウザ２の表示状態を実現する際には、まずＷｅｂサーバ３において親フレームである画面８ａに関するＨＴＭＬ形式データ９ａの送信処理が実行され、次にこの親フレームの表示内容に基づいて子フレームである画面８ｂに関するＨＴＭＬ形式データ９ｂの送信処理が実行され、最後に子フレームである画面８ｃに関するＨＴＭＬ形式データ９ｃの送信処理が実行されたとする。
【００４０】
この場合、アプリケーションサーバ４で実行された処理順序にしたがいＨＴＭＬ形式データ９ａに番号１が付加され、ＨＴＭＬ形式データ９ｂに番号２が付加され、ＨＴＭＬ形式データ９ｃに番号３が付加される。また、このＷｅｂブラウザ２の表示状態が実現された際におけるアプリケーションサーバ４には番号３が記憶される。
【００４１】
このような図１８の表示状態において画面８ｂへの操作がなされると、この画面８ｂに基づくリクエストがＷｅｂブラウザ２から発信されるが、このリクエストには番号２が付加される。
【００４２】
したがって、アプリケーションサーバ４においては、処理順序が正常であるにもかかわらず、記憶済みの番号３とリクエストに付加されている番号２が一致しないため異常であると判定される。
【００４３】
本発明は、以上のような実状に鑑みてなされたもので、Ｗｅｂブラウザの画面がサーバへの通知なしに切り換えられた状態を検出することで、Ｗｅｂブラウザの処理順序を管理するＷｅｂシステムの処理順序監視装置及びプログラムを記録したコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【００４４】
【課題を解決するための手段】
本発明は、上記目的を達成するために以下のような手段を講じた。
【００４５】
第１の発明は、リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムに組み込まれる装置であって、予め設定されており、Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移によりＷｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持する手段と、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識し、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態を予測した予測情報を求める予測手段と、この予測情報とＷｅｂブラウザから発信されたリクエストにしたがって実際に次にサーバで実行される処理による前記Ｗｅｂブラウザの表示状態との整合性の有無を調べ、サーバで実行される処理の順序の適否を判定する監視手段とを具備するＷｅｂシステムの処理順序監視装置である。
【００４６】
この第１の発明のＷｅｂシステム処理順序監視装置においては、サーバ側において次に実行される処理に関する情報の候補が予測され、実際に次に実行される処理に関する情報がこの予測された候補のいずれかに該当するか否かが判定され、処理の順序の適否が判定される。
【００４７】
なお、この発明において、処理に関する情報としては、Ｗｅｂブラウザの表示状態の起因となる処理としてこのサーバが認識している少なくとも一つの処理名を適用することができる。また、Ｗｅｂブラウザの表示状態の起因となる処理により送信された画面データも適用可能である。さらに、Ｗｅｂブラウザの表示状態の起因となる処理を要求したリクエストも適用可能である。
【００４８】
このように、この第１の発明においては、サーバに実行要求されている処理が実行許可されている処理か否かにより処理順序の適否が判定される。
【００４９】
したがって、Ｗｅｂブラウザの表示画面が複数の画面データから構成される場合であってもＷｅｂシステムで実現される処理の順序の適否を判定することができ、Ｗｅｂシステムにおける動作の信頼性を向上させることができる。
【００５０】
また、この第１の発明においては、処理の内容を変更する場合には、変更された処理に関する状態遷移情報を書き換えるのみでよいため、処理変更時に必要とされる労力を低減させることができる。
【００５１】
第２の発明は、リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムに組み込まれる装置であって、予め設定されており、Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移により前記Ｗｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持する手段と、サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態である予測情報を格納する予測情報格納手段と、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行される処理による前記Ｗｅｂブラウザの表示状態を認識し、この認識結果と予測情報格納手段に格納済みの予測情報との整合性の有無を調べ、サーバで実行される処理の順序の適否を判定する監視手段と、監視手段によって処理順序が適していると判定された場合に、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識し、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、新規の予測情報を求めて予測情報格納手段に格納する予測手段とを具備するＷｅｂシステムの処理順序監視装置である。
【００５２】
この第２の発明のＷｅｂシステム処理順序監視装置においては、サーバで次に実行されると予測される処理に関する情報が、状態予測情報を用いて予測手段によって予測される。そして、実際にサーバで次に実行される処理に関する情報がこの予測された処理に関する情報と一致するか否かが判定される。
【００５３】
この第２の発明における動作は、先に説明した第１の発明の動作と同様であり、同様の効果を得ることができる。
【００５４】
第３の発明は、第２の発明のＷｅｂシステムの処理順序監視装置において、監視手段によって処理順序が適していると判定された場合に、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理による前記Ｗｅｂブラウザの表示状態の履歴情報を格納する実行履歴格納手段をさらに具備したＷｅｂシステムの処理順序監視装置である。
【００５５】
したがって、第２の発明と同様の作用効果に加えて、処理順序が適切でなくなる直前までの情報が確保されるため、この情報を異常原因の解析、正常状態への回復に用いることができる。
【００５６】
第４の発明は、第３の発明のＷｅｂシステムの処理順序監視装置において、Ｗｅｂブラウザからリクエストが発信される際に、このＷｅｂブラウザに表示されている画面の状態情報を発信する画面状態情報発信手段をさらに具備し、監視手段は、画面状態情報発信手段によって発信された画面の状態情報と実行履歴格納手段に格納されている履歴情報とを比較してサーバで実行される処理の順序の適否を判定するＷｅｂシステムの処理順序監視装置である。
【００５７】
この第４の発明においては、サーバで実行される処理に関する情報とサーバで先に予測された情報との整合性のみではなく、Ｗｅｂブラウザの現在の表示状態と先にサーバで実行された処理に関する情報との整合性も考慮して処理順序の適否が判定される。
【００５８】
これにより、第３の発明と同様の作用効果に加えて、処理順序が適切でなくなる前と後で同じリクエストがＷｅｂブラウザから発信される場合であっても、適切に処理順序の適否が判定される。
【００５９】
第５の発明は、第３の発明又は第４の発明のＷｅｂシステムの処理順序監視装置において、監視手段によって処理順序が適していないと判定された場合に、実行履歴格納手段に格納されている履歴情報を用いてＷｅｂブラウザの表示画面を再構築する回復処理手段をさらに具備するＷｅｂシステムの処理順序監視装置である。
【００６０】
この第５の発明においては、処理順序が適切でなくなった場合に、適切でなくなる直前の状態にＷｅｂブラウザの状態が回復されるため、操作容易性が向上され、Ｗｅｂシステムにおける動作が一層向上される。
【００６１】
第６の発明は、リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムのサーバに、予め設定されており、Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移によりＷｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持させる機能、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識させ、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態を予測した予測情報を求めさせる予測機能、この予測情報とＷｅｂブラウザから発信されたリクエストにしたがって実際に次にサーバで実行される処理による前記Ｗｅｂブラウザの表示状態との整合性の有無を調べさせ、サーバで実行される処理の順序の適否を判定させる監視機能を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【００６２】
また、第７の発明は、リクエストを発信し表示画面を構成するための画面データを受信するＷｅｂブラウザと、Ｗｅｂブラウザから発信されたリクエストにしたがって処理を実行するサーバとから構成されるＷｅｂシステムのサーバに、予め設定されており、Ｗｅｂブラウザに表示される各画面が次にどのような画面に変化するかを示し、各画面への遷移状態毎に、遷移の起因となる画面情報と、画面遷移によりＷｅｂブラウザの表示画面から削除されるフレームを表す画面リスト及び新たに追加されるフレームを表す画面リストを示す画面遷移情報と、この画面遷移を引き起こす処理名を示す遷移処理情報とを含む状態遷移情報を保持させる機能、サーバで次に実行される処理による前記Ｗｅｂブラウザの表示状態である予測情報を格納させる予測情報格納機能、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行される処理による前記Ｗｅｂブラウザの表示状態を認識させ、この認識結果と予測情報格納機能によって格納済みの予測情報との整合性の有無を調べさせ、サーバで実行される処理の順序の適否を判定させる監視機能、監視機能によって処理順序が適していると判定された場合に、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理の実行結果である履歴情報から前記Ｗｅｂブラウザの表示状態を認識させ、この認識された前記Ｗｅｂブラウザの表示状態、及び前記画面情報と前記画面遷移情報と前記遷移処理情報とを含む前記状態遷移情報に基づいて、新規の予測情報を求めて予測情報格納機能によって格納させる予測機能を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００６３】
第８の発明は、第７の発明のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、Ｗｅｂシステムのサーバに、監視機能によって処理順序が適していると判定された場合に、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバで実行された処理による前記Ｗｅｂブラウザの表示状態の履歴情報を格納させる実行履歴格納機能を実現させるためのプログラムをさらに記憶したコンピュータ読み取り可能な記憶媒体である。
【００６４】
第９の発明は、第８の発明のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、Ｗｅｂシステムのサーバに、Ｗｅｂブラウザからリクエストが発信される際に、このＷｅｂブラウザに表示されている画面の状態情報を発信させる画面状態情報発信機能を実現させるためのプログラムをさらに記憶し、監視機能は、画面状態情報発信機能によって発信された画面の状態情報と実行履歴格納機能によって格納されている履歴情報とを比較してサーバで実行される処理の順序の適否を判定させるコンピュータ読み取り可能な記憶媒体である。
【００６５】
第１０の発明は、第８の発明又は第９の発明のプログラムを記憶したコンピュータ読み取り可能な記憶媒体において、Ｗｅｂシステムのサーバに、監視機能によって処理順序が適していないと判定された場合に、実行履歴格納機能によって格納されている履歴情報を用いてＷｅｂブラウザの表示画面を再構築させる回復処理機能を実現させるためのプログラムをさらに記憶するコンピュータ読み取り可能な記憶媒体である。
【００６６】
この第６乃至第１０の発明は、それぞれ上記第１乃至第５の発明と同様の機能をコンピュータに実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００６７】
この第６乃至第１０の発明のようなプログラムを記憶した記憶媒体を用いることによって、上述した機能を有していない装置や、計算機においても、簡単に上述した機能を付加することができる。
【００６８】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００６９】
（第１の実施の形態）
本実施の形態においては、Ｗｅｂブラウザに表示される画面の遷移情報を利用して、事前に実行可能な処理を予測し、Ｗｅｂブラウザから発信されたリクエストにしたがってサーバが処理を実行する前に制約違反を発見する装置について説明する。
【００７０】
図１は、本実施の形態に係るＷｅｂシステムの処理順序監視装置の構成を示すブロック図であり、図１７と同一の部分については同一の符号を付してその説明を省略するかあるいは簡単に説明し、ここでは異なる部分についてのみ詳しく説明する。
【００７１】
Ｗｅｂブラウザ２は、Ｗｅｂアプリケーションサーバ１０に搭載されているアプリケーションプログラムの処理１０ａによって送信されたＨＴＭＬ形式ファイル１１ａの内容にしたがって画面１２ａを表示している。
【００７２】
ＨＴＭＬ形式データ１１ａには「/cgi-bin/10b」という記載１３が含まれている。この記載１３の内容は、PATH_INFO という変数の値としてリクエスト１４ｂに含まれ、画面１２ａを表示しているＷｅｂブラウザ２から発信される。この「/cgi-bin/10b」という記載１３は、アプリケーションプログラムの処理１０ｂを読み出す旨を示す記載である。また、リクエスト１４ｂは、ＨＴＭＬ形式データ１１ａ内に記載されているＦＯＲＭタグによって送信される。
【００７３】
Ｗｅｂアプリケーションサーバ１０は、先で説明したＷｅｂアプリケーションサーバ５と同様の機能を有するが、自己が受信したＷｅｂブラウザ２からのリクエストを処理順序監視装置１５に送信し、この処理順序監視装置１５からの応答を解析し、受信したリクエストにしたがう処理を実行するか又は表示状態の回復を実行する点が異なる。
【００７４】
処理順序監視装置１５は、Ｗｅｂブラウザ２から発信されたリクエストをＷｅｂアプリケーションサーバ１０を介して受信し、このＷｅｂアプリケーションサーバ１０で実行される処理の順序が適切か否かを判定する。そして、処理の順序が適切であると判定した場合にはＷｅｂアプリケーションサーバ１０に処理実行命令を送信し、処理の順序が適切でないと判定した場合にはＷｅｂアプリケーションサーバ１０に回復処理情報を送信する。
【００７５】
この処理順序監視装置１５は、リクエスト解析部１６と、実行監視部１７と、状態遷移情報保持部１８と、予測情報格納部１９と、実行履歴格納部２０と、回復処理部２１とから構成されている。
【００７６】
以下、この処理順序監視装置１５の各構成要素をそれぞれ詳細に説明する。
【００７７】
リクエスト解析部１６は、Ｗｅｂブラウザ２から発信されたリクエストを受信し、この受信したリクエストの中から処理の順序を監視する際に必要とされる情報である実行パラメータを抽出し、この実行パラメータを実行監視部１７に出力する。なお、この実行パラメータは、具体的にはPATH_INFO 変数値により特定される処理名（プログラム名）、状態変数、クッキーにセットされている情報でありリクエストを発信した画面の状態情報等を含んでいる。
【００７８】
次に、状態遷移情報保持部１８について説明する。
【００７９】
この状態遷移情報保持部１８は、Ｗｅｂブラウザ２に表示される各画面が次にどのような画面に変化するかを示す情報である状態遷移情報を保持する。
【００８０】
図２は、この状態遷移情報保持部１８に保持されている状態遷移情報の内容を示す図である。
【００８１】
この図２に示すように、状態遷移情報２２は、画面遷移の差分情報であり、主に遷移の起因となる画面情報（Ｐｒｅ情報）と、画面遷移によりＷｅｂブラウザ２の表示画面から削除される画面リスト及び新たに追加される画面リストを示す画面遷移情報（Ｐｏｓｔ情報）と、この画面遷移を引き起こす処理名を示す遷移処理情報（ＡｐｐＬｏｇｉｃ情報）とからなる。
【００８２】
この状態遷移情報２２は、各画面への遷移状態毎に定められており、状態遷移情報保持部１８に保持されている。
【００８３】
図３は、Ｗｅｂブラウザ２の画面が遷移する状態の例とこの画面遷移状態を示す各状態遷移情報２２の例を示す概念図である。
【００８４】
この例では、画面Ａに対する操作の結果、画面Ｘ、Ｂ、Ｃが表示される。ここで、画面Ｘは親フレームであり、画面Ｂ、Ｃは子フレームである。
【００８５】
この画面Ａから画面Ｘ、Ｂ、Ｃへの遷移状態を示す状態遷移情報２２ａは、遷移前の画面はＡであるためＰｒｅ情報：［Ａ］を含んでいる。また、削除される画面リストはＡであり追加される画面リストはＸ、Ｂ、ＣであるためＰｏｓｔ情報：［−［Ａ］、＋［Ｘ、Ｂ、Ｃ］］を含んでいる。さらに、画面遷移を引き起こす処理はＸ0 であるためＡｐｐＬｏｇｉｃ情報：［処理Ｘ0 ］を含んでいる。
【００８６】
また、画面Ｘ、Ｂ、Ｃが表示されている場合に画面Ｃに操作がなされると、この画面Ｃに代えて画面Ｄが表示される。この画面Ｘ、Ｂ、Ｃが表示されている場合に画面Ｃに代えて画面Ｄが表示される画面遷移状態を示す状態遷移情報２２ｂは、遷移前の画面はＣであるためＰｒｅ情報：［Ｃ］を含んでいる。また、削除される画面リストはＣであり追加される画面リストはＤであるためＰｏｓｔ情報：［−［Ｃ］、＋［Ｄ］］を含んでいる。さらに、画面遷移を引き起こす処理はＣ0 であるためＡｐｐＬｏｇｉｃ情報：［処理Ｃ0 ］を含んでいる。
【００８７】
また、画面Ｘ、Ｂ、Ｃが表示されている場合に画面Ｂに操作がなされると、画面Ｅが表示される。この画面Ｂへの操作により画面Ｘ、Ｂ、Ｃから画面Ｅに切り替わる状態遷移情報２２ｃは、遷移前の画面はＢであるためＰｒｅ情報：［Ｂ］を含んでいる。また、削除される画面リストはＸ、Ｂ、Ｃであり追加される画面リストはＥであるためＰｏｓｔ情報：［−［Ｘ、Ｂ、Ｃ］、＋［Ｅ］］を含んでいる。さらに、画面遷移を引き起こす処理はＥ0 であるためＡｐｐＬｏｇｉｃ情報：［Ｅ0 ］を含んでいる。
【００８８】
また、画面Ｘ、Ｂ、Ｄが表示されている場合に画面Ｄに操作がなされると、画面Ｅが表示される。この画面Ｄへの操作により画面Ｘ、Ｂ、Ｄから画面Ｅに切り替わる状態遷移情報２２ｄは、遷移前の画面はＤであるためＰｒｅ情報：［Ｄ］を含んでいる。また、削除される画面リストはＸ、Ｂ、Ｄであり追加される画面リストはＥであるためＰｏｓｔ情報：［−［Ｘ、Ｂ、Ｄ］、＋［Ｅ］］を含んでいる。さらに、画面遷移を引き起こす処理はＥ0 であるためＡｐｐＬｏｇｉｃ情報：［Ｅ0 ］を含んでいる。
【００８９】
また、画面Ｘ、Ｂ、Ｄが表示されている場合に画面Ｂに操作がなされると、画面Ｅが表示される。この画面Ｂへの操作により画面Ｘ、Ｂ、Ｄから画面Ｅに切り替わる状態遷移情報２２ｅは、遷移前の画面はＢであるためＰｒｅ情報：［Ｂ］を含んでいる。また、削除される画面リストはＸ、Ｂ、Ｄであり追加される画面リストはＥであるためＰｏｓｔ情報：［−［Ｘ、Ｂ、Ｄ］、＋［Ｅ］］を含んでいる。さらに、画面遷移を引き起こす処理はＥ0 であるためＡｐｐＬｏｇｉｃ情報：［Ｅ0 ］を含んでいる。
【００９０】
上述したように、状態遷移情報保持部１８は、このような各画面毎の遷移状態に関する状態遷移情報を保持する。
【００９１】
次に、図１で示す実行履歴格納部２０について説明する。
【００９２】
実行履歴格納部２０は、処理順序が適切と判定された場合にＷｅｂアプリケーションサーバ１０において実行された処理の実行結果である履歴情報を時系列（スタック形式）で格納する部分である。また、この実行履歴格納部２０は、Ｗｅｂブラウザ２に表示されなくなる部分の履歴情報の代わりに、新規に表示されることになる部分の履歴情報を記憶する。ここではスタック形式で記憶されているため、前者の履歴情報の上に後者の履歴情報が重ねられる。
【００９３】
したがって、この実行履歴格納部２０は、処理順序が適切な場合における最新の履歴情報を記憶し、処理順序が適切でない場合における履歴情報は記憶しない。
【００９４】
ここで、履歴情報とは、Ｗｅｂブラウザ２の表示状態を構成するためにＷｅｂアプリケーションサーバ１０が送信したＨＴＭＬ形式データ、及びこれらのＨＴＭＬ形式データを生成する起因となった処理の名称、この処理が実行完了前の第１段階であるか実行完了後の第２段階であるかを示す実行状態からなる情報である。
【００９５】
図４は、この実行履歴格納部２０の記憶内容とＷｅｂブラウザ２の画面との関係の例を示す図である。なお、ここでは、第１段階の履歴情報を点線であらわし、第２段階の履歴情報を実線であらわしている。
【００９６】
この図４においては、まず、Ｗｅｂブラウザ２に画面Ａが表示され、次に画面Ｘ、Ｂ、Ｃが表示され、その後画面Ｘ、Ｂ、Ｄが表示される場合が例示されている。
【００９７】
画面Ａが表示された際には、Ｗｅｂアプリケーションサーバ１０における処理Ａ0 が完了されているため、処理Ａ0 に関する履歴情報Ａ1 が第２段階として実行履歴格納部２０に格納される（格納状態１）。
【００９８】
次に、画面Ａを表示しているＷｅｂブラウザ２からリクエストが発信されると、処理Ｘ0 に関する履歴情報Ｘ1 が第１段階として実行履歴格納部２０に格納され（格納状態２）、その後Ｗｅｂアプリケーションサーバ１０において処理Ｘ0 が完了すると、処理Ｘ0 に関する履歴情報Ｘ1 が第２段階として実行履歴格納部２０に格納される（格納状態３）。
【００９９】
次に、親フレームである画面Ｘを表示しているＷｅｂブラウザ２から子フレームである画面Ｂ、Ｃの送信処理を求めるリクエストが発信されると、処理Ｂ0 、Ｃ0 に関する履歴情報Ｂ1 、Ｃ1 が第１段階として実行履歴格納部２０に格納される（格納状態４）。その後、Ｗｅｂアプリケーションサーバ１０において処理Ｂ0 、Ｃ0 が完了すると、処理処理Ｂ0 、Ｃ0 に関する履歴情報Ｂ1 、Ｃ1 が第２段階として実行履歴格納部２０に格納される（格納状態５）。
【０１００】
そして、画面Ｃに操作がなされると、Ｗｅｂブラウザ２から画面Ｄの送信処理を求めるリクエストが発信され、処理Ｄ0 に関する履歴情報Ｄ1 が第１段階として実行履歴格納部２０に格納される（格納状態６）。その後、Ｗｅｂアプリケーションサーバ１０において処理Ｄ0 が完了すると、処理Ｄ0 に関する履歴情報Ｄ1 が第２段階として実行履歴格納部２０に格納される（格納状態７）。
【０１０１】
図１に示す予測情報格納部１９は、Ｗｅｂブラウザ２の次の表示状態を予測情報として格納する。
【０１０２】
実行監視部１７は、処理順序の適否を判定する監視部１７ａとこの適否の判定に利用される予測情報を求める予測部１７ｂとから構成される。
【０１０３】
監視部１７ａは、リクエスト解析部１６から入力された実行パラメータの含む処理の内容と予測情報格納部１９に記憶されている予測情報との整合性の有無を調べ、処理の順序が適切か否かを判定する。具体的には、リクエストに含まれている処理の内容と履歴情報とを用いて、このリクエスト発信後のＷｅｂブラウザ２の表示状態を認識（推定）し、この推定結果と予測情報とを比較して処理順序の適否を判定する。
【０１０４】
処理の順序が適切な旨の判定がなされた場合には、その旨を示す判定結果を回復処理部２１、及び予測部１７ｂに通知する。また、履歴情報を実行履歴格納部２０に記憶する。
【０１０５】
処理の順序が適切でない旨の判定がなされた場合には、その旨を示す判定結果を回復処理部２１に通知する。
【０１０６】
予測部１７ｂは、監視部１７ａによって処理の順序が適していると判定された場合に、以下のような状態予測処理を実行する。状態予測処理とは、次にリクエストが発信された後に構成されるＷｅｂブラウザ２の表示状態を予測する処理である。
【０１０７】
図５は、予測部１７ｂが予測情報を求める場合の手順を示す図である。この図５に示すＷｅｂブラウザ２の画面遷移状態は、図３で説明した状態と同様であるためここでは説明を省略する。
【０１０８】
Ｗｅｂアプリケーションサーバ１０において処理Ａ0 が実行され、Ｗｅｂブラウザ２に画面Ａが表示された場合には、実行履歴格納部２０に履歴情報Ａ1 が記憶される。
【０１０９】
予測部１７ｂは、この実行履歴格納部２０に記憶されている履歴情報の内容からＷｅｂブラウザ２の表示状態を認識する。ここでは、実行履歴格納部２０に履歴情報Ａ1 が記憶されているため、表示状態は［Ａ］であると認識する。
【０１１０】
また、予測部１７ｂは、予測情報格納部１９に記憶されている状態遷移情報２２の中から、認識された表示状態［Ａ］と同一のＰｒｅ情報［Ａ］を有する状態遷移情報２２ａを抽出する。
【０１１１】
そして、この抽出された状態遷移情報２２ａの有するＰｏｓｔ情報の排除画面リスト［Ａ］の内容を認識された表示状態の内容から排除し、Ｐｏｓｔ情報の追加画面リスト［Ｘ、Ｂ、Ｃ］の内容を認識された表示状態の内容に追加し、予想情報の内容［Ｘ、Ｂ、Ｃ］とする。
【０１１２】
同様に、Ｗｅｂアプリケーションサーバ１０において処理Ｘ0 、Ｂ0 、Ｃ0 が実行され、Ｗｅｂブラウザ２に画面Ｘ、Ｂ、Ｃが表示された場合には、実行履歴格納部２０に履歴情報Ｘ1 、Ｂ1 、Ｃ1 が記憶される。
【０１１３】
予測部１７ｂは、この実行履歴格納部２０に記憶されている履歴情報の内容からＷｅｂブラウザ２の表示状態を認識する。ここでは、実行履歴格納部２０に履歴情報Ｘ1 、Ｂ1 、Ｃ1 が記憶されているため、表示状態は［Ｘ、Ｂ、Ｃ］であると認識する。
【０１１４】
また、予測部１７ｂは、予測情報格納部１９に記憶されている状態遷移情報２２の中から、認識された表示状態［Ｘ、Ｂ、Ｃ］のいずれかと同一のＰｒｅ情報を有する状態遷移情報を抽出する。ここでは、それぞれＰｒｅ情報［Ｃ］、［Ｂ］を含む状態遷移情報２２ｂ、２２ｃが抽出される。
【０１１５】
そして、この抽出された状態遷移情報２２ｂの有するＰｏｓｔ情報の排除画面リスト［Ｃ］の内容を認識された表示状態の内容から排除し、Ｐｏｓｔ情報の追加画面リスト［Ｄ］の内容を認識された表示状態の内容に追加し、予想情報の内容［Ｘ、Ｂ、Ｄ］とする。
【０１１６】
一方、抽出された状態遷移情報２２ｃの有するＰｏｓｔ情報の排除画面リスト［Ｘ、Ｂ、Ｄ］の内容を認識された表示状態の内容から排除し、Ｐｏｓｔ情報の追加画面リスト［Ｅ］の内容を認識された表示状態の内容に追加し、予想情報の内容［Ｅ］とする。
【０１１７】
以下、Ｗｅｂアプリケーションサーバ１０において処理Ｘ0 、Ｂ0 、Ｄ0 が実行され、Ｗｅｂブラウザ２に画面Ｘ、Ｂ、Ｄが表示された場合も同様であり、Ｗｅｂアプリケーションサーバ１０において実行された処理に関する情報（ここでは履歴情報）からＷｅｂブラウザ２に表示状態となっている画面を認識し、この認識されたＷｅｂブラウザ２の表示状態［Ｘ、Ｂ、Ｄ］と状態遷移情報２２ｄ、２２ｅとから予測情報［Ｅ］が求められる。
【０１１８】
次に、図１に示す回復処理部２１について説明する。
【０１１９】
この回復処理部２１は、実行監視部１７から処理順序が適切である旨の通知を入力した場合に、リクエストで示される処理を実行する旨の処理実行命令をＷｅｂアプリケーションサーバ１０に送信し、処理を実行させる。
【０１２０】
一方、実行監視部１７から処理順序が適切でない旨の通知を入力した場合には、実行履歴格納部２０の内容をアクセスし、最上段に位置する履歴情報の有するＨＴＭＬ形式データを読み込んで回復処理情報としてＷｅｂアプリケーションサーバ１０に送信し、回復処理を実行させる。これにより、Ｗｅｂブラウザ２上では、処理順序が適切でなくなる直前のＷｅｂ画面が再構築される。
【０１２１】
ここで、回復処理部２１は、実行履歴格納部２０のアクセス時に、最上段に第１段階の履歴情報があればこの第１段階の処理の実行が終了されて第２段階になってからＨＴＭＬ形式データを読み出す。
【０１２２】
なお、ここでは、画面を再構築するために最上段の履歴情報の有するＨＴＭＬ形式データを利用するとしたが、これに代えて最上段の履歴情報の有する処理名の再実行命令をＷｅｂアプリケーションサーバ１０に送信するとしてもよい。
【０１２３】
上記のような構成を有する本実施の形態に係る処理順序監視装置１５の動作について、処理順序が適切な場合、バックボタンが押されて処理順序が不適切となった場合、リロードボタンが押されて処理順序が不適切となった場合、回復処理を実行する場合を例に挙げて以下に説明する。
【０１２４】
まず、第１の動作例として処理順序が適切な場合について説明する。
図６は、適切な順序によるオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図である。なお、この図６において、Ｗｅｂブラウザ２の画面遷移状態は図３、５の場合と同様であるため説明を省略する。
【０１２５】
まず、Ｗｅｂアプリケーションサーバ１０において処理Ａ0 が実行される。
すると、Ｗｅｂアプリケーションサーバ１０からＷｅｂブラウザ２へＨＴＭＬ形式データが送信され、Ｗｅｂブラウザ２上に画面Ａが表示される。
【０１２６】
処理順序監視装置１５においては、この処理Ａ0 の実行終了により第２段階の履歴情報Ａ1 が実行履歴格納部２０に記憶され、この履歴情報Ａ1 に基づいてＷｅｂブラウザ２の表示状態が［Ａ］であると認識される。
【０１２７】
また、この認識されたＷｅｂブラウザ２の表示状態［Ａ］と状態遷移情報２２とから予測情報［Ｘ、Ｂ、Ｃ］が求められ、予測情報格納部１９に記憶される。
【０１２８】
次に、処理Ｘ0 の実行命令をPATH_INFO 変数として含むリクエストが画面Ａを表示するＷｅｂブラウザ２から発信され、処理Ｘ0 の実行命令がＷｅｂアプリケーションサーバ１０及び処理順序監視装置１５に通知される。
【０１２９】
処理順序監視装置１５においては、予測情報格納部１９に記憶されている予測情報［Ｘ、Ｂ、Ｃ］が実行監視部１７によって読み出される。
【０１３０】
また、Ｗｅｂブラウザ２に直前まで表示されていた画面Ａと予測情報［Ｘ、Ｂ、Ｃ］とから、Ｗｅｂブラウザ２に表示されていた画面Ａは画面Ｘ、Ｂ、Ｃに変更される旨が認識され、現状においては未だ処理Ｘ0 しか要求されていないため、表示状態の遷移要求が未完であると判定される。
【０１３１】
次に、処理Ｘ0 がＷｅｂアプリケーションサーバ１０によって実行され、Ｗｅｂアプリケーションサーバ１０からＷｅｂブラウザ２に画面Ｘ用のＨＴＭＬ形式データが送信され、画面Ｘが表示される。
【０１３２】
ここで、Ｗｅｂブラウザ２に表示された画面Ｘ用のＨＴＭＬ形式データには、子フレームである画面Ｂ、Ｃの要求リクエストがこの順に記載されている。ゆえに、この画面Ｘを表示するＷｅｂブラウザ２から、処理Ｂ0 の実行命令を含むリクエスト及び処理Ｃ0 の実行命令を含むリクエストとが順に発信される。
【０１３３】
処理Ｂ0 、Ｃ0 の実行命令はＷｅｂアプリケーションサーバ１０及び処理順序監視装置１５に通知される。
【０１３４】
処理順序監視装置１５においては、Ｗｅｂブラウザ２に表示されていた画面Ａが画面Ｘ、Ｂ、Ｃに変更される旨が認識されており、処理Ｘ0 、Ｂ0 、Ｃ0 が要求されていないため、表示状態の遷移要求が完了であると判定される。
【０１３５】
これにより、Ｗｅｂアプリケーションサーバ１０において画面構成のために実行される処理はＸ0 、Ｂ0 、Ｃ0 となる。
【０１３６】
処理順序監視装置１５においては、処理Ｘ0 、Ｂ0 、Ｃ0 の実行命令と実行履歴格納部２０の内容とから、処理Ｘ0 、Ｂ0 、Ｃ0 の実行命令を含むリクエスト発信後のＷｅｂブラウザ２の表示状態［Ｘ、Ｂ、Ｃ］が認識される。
【０１３７】
また、認識されたＷｅｂブラウザ２の表示状態［Ｘ、Ｂ、Ｃ］と予測情報［Ｘ、Ｂ、Ｃ］とが一致するため、実行監視部１７の監視部１７ａにおいて処理順序が適切であると判定され、処理実行命令が処理順序監視装置１５からＷｅｂアプリケーションサーバ１０に送信される。
【０１３８】
これにより、Ｗｅｂブラウザ２に画面Ｘ、Ｂ、Ｃが表示されることになる。
さらに、処理Ｘ0 、Ｂ0 、Ｃ0 の実行結果として履歴情報Ｘ1 、Ｂ1 、Ｃ1 が実行履歴格納部２０に記憶される。
【０１３９】
さらに、処理順序が適切であるため、認識されたＷｅｂブラウザ２の表示状態［Ｘ、Ｂ、Ｃ］と状態遷移情報２２とから新規の予測情報［Ｘ、Ｂ、Ｄ］、［Ｅ］が求められ、予測情報格納部１９に記憶される。
【０１４０】
次に、処理Ｄ0 の実行命令を含むリクエストが画面Ｘ、Ｂ、Ｃを表示するＷｅｂブラウザ２から発信され、処理Ｄ0 の実行命令がＷｅｂアプリケーションサーバ１０及び処理順序監視装置１５に通知される。
【０１４１】
処理順序監視装置１５においては、予測情報格納部１９に記憶されている予測情報［Ｘ、Ｂ、Ｄ］、［Ｅ］が実行監視部１７によって読み出される。
【０１４２】
また、リクエストに含まれている処理Ｄ0 の実行命令と履歴情報の内容とから、このリクエスト発信後にＷｅｂブラウザ２で実現される表示状態［Ｘ、Ｂ、Ｄ］が推定される。
【０１４３】
この推定された表示状態［Ｘ、Ｂ、Ｄ］と読み出した予測情報の一方［Ｘ、Ｂ、Ｄ］が一致するため、処理順序監視装置１５からＷｅｂアプリケーションサーバ１０に処理実行命令が送信され、Ｗｅｂアプリケーションサーバ１０において処理Ｄ0 が実行される。
【０１４４】
これにより、Ｗｅｂブラウザ２に画面Ｘ、Ｂ、Ｄが表示される。
【０１４５】
処理順序監視装置１５においては、処理Ｄ0 によって得られる履歴情報Ｄ1 が実行履歴格納部２０に記憶され、この実行履歴格納部２０の記憶内容と状態遷移情報２２とから予測情報［Ｅ］が求められる。
【０１４６】
以下、同様に、Ｗｅｂブラウザ２からのリクエストに含まれている処理に関する情報と履歴情報とによりＷｅｂブラウザ２の表示状態が処理順序監視装置１５の実行監視部１７によって認識され、この認識結果が先において予測され予測情報格納部１９に記憶されている予測情報と一致するか否かが判定されながら、順次処理が進められる。
【０１４７】
なお、認識されたＷｅｂブラウザ２の表示状態と予測情報が一致する場合には、この認識されたＷｅｂブラウザ２の表示状態と状態遷移情報とから、新規の予測情報が求められる。
【０１４８】
次に、第２の動作例としてバックボタンが押されて処理順序が不適切となった場合について説明する。
【０１４９】
図７は、バックボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置１５内の情報の関係を示す図である。
【０１５０】
この図７において、バックボタンが押されるまでの画面遷移及び情報の内容は図６の場合と同様である。
【０１５１】
すなわち、この図７において画面Ａから画面Ｘ、Ｂ、Ｄが表示されるまでの遷移状態は図６の場合と同様である。また、リクエストが示す処理の内容と履歴情報とから処理順序監視装置１５で認識されるＷｅｂブラウザ２の表示状態も、画面Ａから画面Ｘ、Ｂ、Ｄに遷移するまでの間は図６と同様である。さらに、この処理順序監視装置１５で認識されたＷｅｂブラウザ２の表示状態から予測された予測情報も図６の場合と同様である。
【０１５２】
画面Ｘ、Ｂ、Ｄの表示されているＷｅｂブラウザ２においてバックボタンが押された場合、Ｗｅｂブラウザ２には画面Ｘ、Ｂ、Ｃが再び表示される。
【０１５３】
ここで、画面Ｃに基づいて再び処理Ｄ0 の実行命令を含むリクエストがＷｅｂブラウザ２から発信されると、この処理Ｄ0 は先で予測された予測情報［Ｅ］で示されるような画面Ｅの表示処理ではないため、処理順序監視装置１５の実行監視部１７によって処理順序が適切でないと判定される。
【０１５４】
このように、バックボタンが押されたために処理に不具合の生じる具体的な例を、銀行の送金処理を用いて説明する。
【０１５５】
この例において、画面Ｃは現在の口座の残高を表示しかつオペレータが送金額を指定するための画面とする。また、処理Ｄ0 は、指定された金額を口座から引き落とす処理とする。さらに、画面Ｄは、引き落とした結果を表示しかつ送金先口座を指定する画面とする。さらに、処理Ｅ0 は、指定された送金先口座に引き落とされた金額を加える処理とする。
【０１５６】
この場合に、各処理Ｃ0 、Ｄ0 、Ｅ0 が正常な流れで実行されれば、送金元と送金先の口座の合計額は一定である。ところが、先で述べたように、画面Ｘ、Ｂ、Ｄから画面Ｘ、Ｂ、Ｃにバックボタンによって表示が変更された場合には、画面Ｃを構成するＨＴＭＬ形式データは、既にＷｅｂブラウザ２を搭載するクライアントにキャッシュされたものが利用されるため、Ｗｅｂアプリケーションサーバ１０に処理が戻された旨が通知されず、送金元と送金先の口座の合計額が一定でなくなる。
【０１５７】
例えば、送金元残高１０００、送金先残高１０００であり、画面Ｘ、Ｂ、Ｃで送金額５００が指定されたとする。この場合、処理Ｄ0 により送金元残高が１０００−５００＝５００となり、画面Ｘ、Ｂ、ＤがＷｅｂブラウザ２に表示される。
【０１５８】
ここで、バックボタンが押されて再び画面Ｘ、Ｂ、Ｃに戻り、送金額３００が指定されたとすると、Ｗｅｂアプリケーションサーバ１０において既に送金元残高が５００と変更されているため、送金元残高が５００−３００＝２００となってしまい、その後送金額３００が送金先残高に加えられて１３００となる。当初は送金元残高１０００と送金先残高１０００の合計額２０００であるが、処理終了後には送金元残高２００と送金先残高１３００の合計額は１５００となるため、処理に異常が発生する。
【０１５９】
本実施の形態に係る処理順序監視装置１５を適用すると、バックボタンが押される前に記憶されている予測情報は［Ｅ］であるが、次にＷｅｂブラウザ２から受信するリクエストは処理Ｄ0 の実行命令を含んでいるため予測情報と整合性がなく、処理順序の異常を検出できる。
【０１６０】
すなわち、バックボタンが押されて再び画面Ｘ、Ｂ、Ｃに戻り、送金額３００が指定された際に、処理順序が適切でないと判定され、回復処理が実行される。
【０１６１】
次に、第３の動作例としてリロードボタンが押されて処理順序が不適切となった場合について説明する。
【０１６２】
図８は、リロードボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置１５内の情報の関係を示す図である。この図８において、バックボタンが押されるまでの画面遷移及び情報の内容は図６、７の場合と同様である。
【０１６３】
Ｗｅｂブラウザ２によるリロードとは、Ｗｅｂブラウザ２に表示されている画面に対応するリクエストを再実行する機能である。
【０１６４】
例えばこの図８において、画面Ｘ、Ｂ、Ｄを表示するＷｅｂブラウザ２のページ全体のリロードが指定されると、まず処理Ｘ0 の実行命令を含むリクエストがＷｅｂブラウザ２からＷｅｂアプリケーションサーバ１０に送信される。Ｗｅｂアプリケーションサーバ１０では処理Ｘ0 が再実行され、その結果がＷｅｂブラウザ２に送信され画面Ｘが表示される。画面Ｘは親フレームであるため、その子フレーム表示のための処理Ｂ0 、Ｄ0 も実行され、結果としてＷｅｂブラウザ２に画面Ｘ、Ｂ、Ｄが再表示される。
【０１６５】
また、リロードはフレーム単位でも実行可能であり、例えば画面Ｘ、Ｂ、Ｄが表示されているＷｅｂブラウザ２において画面Ｄの部分が指定されてリロードされると再び処理Ｄ0 の実行命令を含むリクエストが発信される。
【０１６６】
このようなリロード処理により、Ｗｅｂアプリケーションサーバ１０における一連の処理順序が変更されることになる。
【０１６７】
しかしながら、本実施の形態に係る処理順序監視装置１５を適用すると、画面Ｘ、Ｂ、Ｄを表示しているＷｅｂブラウザ２において画面Ｘがリロードされ、処理Ｘ0 の実行命令を含むリクエストが発信されたとしても、処理順序監視装置１５に記憶されている予測情報の中にこの処理Ｘ0 と整合性を有するものがないため、処理順序が適切でないと判定される。
【０１６８】
また、表示状態Ｔ３において画面Ｄがリロードされ、処理Ｄの実行命令を含むリクエストが発信されたとしても、この処理Ｘを含む予測情報がないため、処理順序の異常が検出される。
【０１６９】
最後に、第４の動作例として回復処理を実行する場合について説明する。
【０１７０】
図９は、回復処理時の画面遷移状態と処理順序監視装置１５における実行履歴格納部２０の内容との関係を示す図であり、バックボタンが押されてエラーが発生するまでの画面遷移状態は図７の場合と同様である。
【０１７１】
先にも述べたように、実行履歴格納部２０には適切な順序で処理が実行された際の実行結果である履歴情報が記憶されており、この履歴情報にはＷｅｂブラウザ２に送信されたＨＴＭＬ形式データ（画面情報）が含まれている。
【０１７２】
また、先に述べたように、実行履歴は２段階で格納される。第１段階は、リクエストを受信した場合であり、第２段階は処理が実行され画面情報が送信完了後に記憶される。
【０１７３】
画面ＡがＷｅｂブラウザ２に表示された場合には、実行履歴格納部２０に画面Ａ用のＨＴＭＬ形式データを含む履歴情報Ａ1 が第２段階として格納される。
【０１７４】
画面Ｘ、Ｂ、ＣがＷｅｂブラウザ２に表示された場合には、実行履歴格納部２０に画面Ｘ、Ｂ、Ｃ用のＨＴＭＬ形式データを含む履歴情報Ｘ1 、Ｂ1 、Ｃ1 が第２段階として格納される。
【０１７５】
画面Ｘ、Ｂ、ＤがＷｅｂブラウザ２に表示された場合には、実行履歴格納部２０に画面Ｄ用のＨＴＭＬ形式データを含む履歴情報Ｄ1 が、履歴情報Ｃ1 に代えて第２段階として格納される。
【０１７６】
ここで、バックボタンが押されて画面Ｘ、Ｂ、Ｄが画面Ｘ、Ｂ、Ｃに切り換えられ、再び処理Ｄ0 の実行命令を含むリクエストが送信されが、処理順序監視装置１５では処理Ｅ0 のリクエストを期待しているため、処理順序が適切でない旨が実行監視部１７から回復処理部２１に通知される。
【０１７７】
回復処理部２１では、実行監視部２１からエラー発生の通知を受信すると、実行履歴格納部２０の最上段（最新）に記憶されている履歴情報が含むＨＴＭＬ形式データとＷｅｂブラウザ２の表示画面のうち、整合性のない部分のみのＨＴＭＬ形式データが送信される。
【０１７８】
ここでは、回復前と回復後との表示内容において、画面Ｄが異なるため、この画面ＤのためのＨＴＭＬ形式データが処理順序監視装置１５からＷｅｂアプリケーションサーバ１０を介してＷｅｂブラウザ２に送信される。
【０１７９】
これにより、バックボタンが押される前の画面Ｘ、Ｂ、Ｄが再びＷｅｂブラウザ２に表示され、異常の復旧がなされる。
【０１８０】
なお、各履歴情報の内容のうち、第２段階になっていないものに関しては、この処理が第２段階となるような処置を行い、第２段階となった時点でＨＴＭＬ形式データが送信される。
【０１８１】
例えば、画面Ｘ、Ｂ、Ｄの画面構成中にストップボタンが押され、処理Ｄ0 が第１段階（処理完了前）であり、この状態でＷｅｂブラウザ２によってリロードされた場合にはエラーが発生する。
【０１８２】
この場合、画面Ｘ、Ｂの構築には履歴情報格納部の内容をそのまま利用するが、画面Ｄに構築に関しては処理Ｄ0 を再実行して第２状態とし、この処理結果であるＨＴＭＬ形式データを送信する。
【０１８３】
以上説明したように、本実施の形態に係る処理順序監視装置１５においては、Ｗｅｂブラウザ２に表示される画面の遷移情報から、Ｗｅｂアプリケーションサーバ１０で次に実行可能な処理を予測した予測情報が抽出され、実際にＷｅｂアプリケーションサーバ１０に実行要求された処理と予測情報とから処理順序の制約違反が検出される。
【０１８４】
これにより、フレームのように複数の画面が組み合わされてＷｅｂブラウザ２に表示される場合や、リロードにより同一の処理が繰り返される場合であっても、処理順序が適切でない旨の検出が可能である。
【０１８５】
したがって、Ｗｅｂシステムの一連の業務に係る処理を適切な順序で実行させることができ、Ｗｅｂシステムの動作の信頼性を向上させることができる。
【０１８６】
また、本実施の形態に係る処理順序監視装置１５においては、適切な順序で実行された処理の実行結果が、処理順序が不適切となった場合の訂正用情報として予め記憶されており、実際に処理順序が不適切となった場合にこの訂正用の情報を用いて正常なオペレーションまで効率よくかつ矛盾なく誘導させることができる。
【０１８７】
ゆえに、Ｗｅｂシステムの動作の信頼性が向上される。
【０１８８】
（第２の実施の形態）
本実施の形態においては、クッキー（Cookie）の機能を備えたＷｅｂシステムで利用される処理順序監視装置について説明する。
【０１８９】
先に述べた第１の実施の形態に係る処理順序監視装置１５では、Ｗｅｂブラウザ２からのリクエストにしたがって実行される処理に関する情報の内容と予め予測された予測情報とが比較されて処理順序の適否が判定される。
【０１９０】
しかしながら、Ｗｅｂブラウザ２に表示されている一部の画面は、Ｗｅｂブラウザ２の表示状態が変化しても変更されない場合がある。
【０１９１】
例えば、先で説明した図５の場合には、Ｗｅｂブラウザ２の表示状態が画面Ｘ、Ｂ、Ｃから画面Ｘ、Ｂ、Ｄに切り換えられたとしても、画面Ｂは変更されていない。また、この画面Ｘ、Ｂ、Ｃが表示されている場合であっても、画面Ｘ、Ｂ、Ｄが表示されている場合であっても、処理順序監視装置１５には予測情報［Ｅ］が保持されている。
【０１９２】
したがって、画面Ｂに基づいてＷｅｂブラウザ２から処理Ｅ0 の実行命令を含むリクエストが発信された場合に、正常な処理順序にしたがい画面Ｘ、Ｂ、Ｄを表示するＷｅｂブラウザ２から発信されたリクエストなのか、バックボタンが押されて表示状態が画面Ｘ、Ｂ、Ｄから画面Ｘ、Ｂ、Ｃに戻って発信されたリクエストなのかを区別することができない。ゆえに、バックボタンが押されて処理順序が適切でない旨の検出がなされない場合がある。
【０１９３】
そこで、本実施の形態に係る処理順序監視装置においては、リクエスト発信時のＷｅｂブラウザの画面情報をクッキーにセットしてサーバに送信することにより、リクエストの発信されたＷｅｂブラウザの表示状態を認識し、処理順序の適否を判定する。
【０１９４】
図１０は、クッキーの機能を有するＷｅｂシステムの概略を示すブロック図である。
【０１９５】
クッキーとは、Ｗｅｂブラウザ２３側に情報を保存するための仕組みであり、Ｗｅｂアプリケーションサーバ２４にリクエストが発信される度にこの保持された情報がＷｅｂアプリケーションサーバ２４側に送信される。
【０１９６】
すなわち、Ｗｅｂブラウザ２３にはクッキー用の記憶装置２３ａが備えられており、例えばＷｅｂアプリケーションサーバ２４から受信した情報やＷｅｂブラウザ２３側で得られた情報等のような所定の情報がこのクッキー用の記憶装置２３ａに記憶される。そして、このＷｅｂブラウザ２３からＷｅｂアプリケーションサーバ２４にリクエストが送信される度に、この記憶装置２３ａに記憶された所定の情報がクッキー（HTTP_COOKIE ）にセットされ、Ｗｅｂアプリケーションサーバ２４に送信される。
【０１９７】
図１１は、本実施の形態においてＷｅｂアプリケーションサーバ２４からＷｅｂブラウザ２３に送信されるＨＴＭＬ形式データの例を示す図であり、画面Ａを構成するためのＨＴＭＬ形式データ２５を例示している。
【０１９８】
ＨＴＭＬ形式データ２５には、PATH_INFO 変数に処理Ｘ0 の実行命令を含むリクエストを送信する旨の記載２５ａがある。
【０１９９】
また、このＨＴＭＬ形式データ２５には、予めＷｅｂブラウザ２３の画面情報を収集しクッキーにセットするための処理が組み込まれている。これは、例えばJavaScriptのようなスクリプト言語を用いて定義されるものであり、図１１におけるsendBrowserStatus(this) の記載２５ｂが該当する。このsendBrowserStatus(this) は、Ｗｅｂブラウザ２３からＷｅｂアプリケーションサーバ２４への送信ボタン（Submit）が押されたときに起動するスクリプトであり、Ｗｅｂブラウザ２３に表示されている画面Ａをクッキーにセットし、現在の表示状態としてＷｅｂアプリケーションサーバ２４に通知する。
【０２００】
本実施の形態に係る処理順序監視装置は、クッキーにセットされた画面情報が、Ｗｅｂアプリケーションサーバ２４で実行された先の処理の結果として実行履歴格納部に記憶された履歴情報により構成されたものか否かを判定することでＷｅｂブラウザ２３の表示状態が適切か否かを判定する。そして、表示状態が適切であると判定された場合に、リクエストに含まれる処理命令の内容と予測情報との整合性を判定する。整合性がある場合には処理順序が適切であると判定され、整合性がない場合には処理順序が適切でないと判定されて回復処理が実行される。
【０２０１】
図１２は、本実施の形態においてバックボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図であり、画面Ａから画面Ｘ、Ｂ、Ｄが表示されるまでの画面の状態及び処理順序監視装置内の情報は図５の場合と同様である。
【０２０２】
ここで、画面Ｘ、Ｂ、Ｄが表示されている場合においてバックボタンが押されて画面Ｘ、Ｂ、Ｃに戻ったとする。Ｗｅｂブラウザ２３では、この戻った際に表示されている画面情報［Ｘ、Ｂ、Ｃ］が記憶装置２３ａに記憶される。
【０２０３】
画面Ｂへの操作により、画面情報［Ｘ、Ｂ、Ｃ］がクッキーにセットされ、処理Ｅ0 の実行命令を含むリクエストがＷｅｂブラウザ２３から発信される。
【０２０４】
これにより、Ｗｅｂアプリケーションサーバ２４及び処理順序監視装置において、クッキーにセットされたＷｅｂブラウザ２３の現在の画面情報［Ｘ、Ｂ、Ｃ］と、受信したリクエストに含まれている次の処理の指定Ｅ0 がリクエスト解析部によって抽出される。
【０２０５】
そして、実行監視部において、実行履歴格納部に記憶されている履歴情報から現状の画面情報［Ｘ、Ｂ、Ｄ］が推定され、この推定された画面情報［Ｘ、Ｂ、Ｄ］とクッキーにセットされていた現在の画面情報［Ｘ、Ｂ、Ｃ］とが比較される。
【０２０６】
ここでは、実行履歴格納部の内容から求まる画面情報［Ｘ、Ｂ、Ｄ］とクッキーにセットされていた現在の画面情報［Ｘ、Ｂ、Ｃ］が一致しないため、実行監視部から回復処理部に処理順序が適切でない旨が通知される。
【０２０７】
以上説明したように、本実施の形態に係る処理順序監視装置においては、クッキーにＷｅｂブラウザ２３の表示状態を示す情報がセットされて発信されるため、バックボタンによって処理順序に異常が発生する前後で同一の画面が表示されていても、処理順序の適否を判定することができる。
【０２０８】
したがって、第１の実施の形態に係る処理順序監視装置と同様の作用効果に加えて、Ｗｅｂシステムの一連の業務に係る処理の順序を一層適切に実行させることができ、Ｗｅｂシステムの動作の信頼性を向上させることができる。
【０２０９】
なお、上記各実施の形態に係る処理順序監視装置においては、リクエストで指定されている処理が実行された後にＷｅｂブラウザに表示される画面が推定され、この推定された画面と先で予測された予測情報との整合性によって処理順序の適否が判定されている。しかしながら、これに限定されるものではなく、Ｗｅｂアプリケーションサーバで実行される処理に関する様々な情報（処理実行を指定するリクエスト、処理の結果得られる画像情報、処理の名称等）により整合性の有無を判定することができる。
【０２１０】
また、上記各実施の形態に係る処理順序監視装置は、ＷｅｂサーバとアプリケーションサーバとからなるＷｅｂアプリケーションサーバに接続されている場合を例として説明しているが、これに限定されるものではなく、Ｗｅｂアプリケーションサーバ、Ｗｅｂサーバ、アプリケーションサーバ等に内蔵させてもよい。
【０２１１】
さらに、Ｗｅｂサーバの有するＣＧＩ（Common Gateway Interface）に本発明の機能を実現させてもよい。さらに、Ｗｅｂサーバと送受信可能に接続されるアプリケーションサーバの一機能としてこの処理順序監視装置と同様の機能を含めてもよい。
【０２１２】
また、上記各実施の形態で説明した処理順序監視装置の機能は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フロッピーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記憶媒体に書き込んで適用したり、通信媒体により伝送して各種装置に適用することも可能である。この処理順序監視装置の機能を実現するコンピュータは、記憶媒体に記録されたプログラムを読み込み、プログラムによって動作が制御されることにより、上述した処理を実行する。
【０２１３】
【実施例】
（実施例１）
ここでは、ＷＷＷによる書籍購買システムに本発明を適用した場合の例について具体的に説明する。
【０２１４】
図１３は、本発明を適用していない書籍購買システムの動作例を示す図である。
【０２１５】
まず、Ｗｅｂブラウザ２にメニュー画面２６が表示されており、ユーザによって書籍購入が選択される。すると、Ｗｅｂブラウザ２に購入候補リスト画面２７、選択リスト画面２８が表示される。
【０２１６】
ユーザによって購入候補リスト画面２７に表示されている書籍がクリックされると、選択リスト画面２８１にそのクリック内容が表示される。
【０２１７】
ユーザによって計算ボタン２８ａが押されると、選択リスト画面２８１に表示されていた内容に基づいて代金演算処理が実行され、Ｗｅｂブラウザ２に精算用画面２９が表示され、この精算用画面２９に代金が表示される。
【０２１８】
ユーザによって精算用画面２９の内容が確認され、ＯＫボタン２９ａが押されると、Ｗｅｂアプリケーションサーバにおいて購入データの登録処理が実行され、謝辞画面３０が表示される。
【０２１９】
ユーザによって謝辞画面３０の「ここ」という部分がクリックされると、Ｗｅｂアプリケーションサーバにおいてメニュー画面表示処理が実行され、全ての画面が変更されて再びメニュー画面２６が表示される。
【０２２０】
ここで、謝辞画面３０が表示されているＷｅｂブラウザ２においてバックボタンが押されると、再び精算用画面２９が表示され、さらに精算用画面２９のＯＫボタン２９ａが押されると、Ｗｅｂアプリケーションサーバにおいて購入データの登録処理が実行され、同様の書籍が２度注文されてしまう。
【０２２１】
図１４は、本発明を適用した書籍購買システムの動作例を示す図である。
【０２２２】
まず、Ｗｅｂブラウザ２にメニュー画面２６が表示されており、ユーザによって書籍購入が選択される。すると、Ｗｅｂブラウザ２に購入候補リスト画面２７、選択リスト画面２８が表示される。
【０２２３】
ユーザによって購入候補リスト画面２７に表示されている書籍がクリックされると、選択リスト画面２８１にそのクリック内容が表示される。
【０２２４】
ユーザによって計算ボタン２８ａが押されると、選択リスト画面２８に表示されていた内容に基づいて代金演算処理が実行され、Ｗｅｂブラウザ２に精算用画面２９が表示され、この精算用画面２９に代金が表示される。ここで、本発明の処理順序監視装置では、次に購入データの登録処理が実行される旨の予測情報が得られる。
【０２２５】
ユーザによって精算用画面の内容が確認され、ＯＫボタン２９ａが押されると、Ｗｅｂアプリケーションサーバに対して購入データの登録処理が要求される。この購入データの登録処理は、先の予測情報と一致するため実行が許可され、謝辞画面が表示される。ここで、本発明の処理順序監視装置では、次にメニュー画面表示処理が実行される旨の予測情報が得られる。
【０２２６】
ここで、謝辞画面が表示されているＷｅｂブラウザ２においてバックボタンが押されると、再び精算用画面２９が表示され、さらに精算用画面２９のＯＫボタン２９ａが押されたとする。
【０２２７】
この場合、Ｗｅｂアプリケーションサーバに対して購入データの登録処理が要求されるが、この購入データの登録処理は、メニュー画面表示処理が実行される旨の予測情報と一致しないため、本発明の処理順序監視装置において処理順序が適切でない旨の判定がなされる。
【０２２８】
（実施例２）
ここでは、先の実施例１とは別に、クッキーを用いてエラーを検出する手法について具体的に説明する。
【０２２９】
図１５は、本発明を適用していない書籍購買システムの動作例を示す図である。
【０２３０】
まず、Ｗｅｂブラウザ２３に購入候補リスト画面２７、選択リスト画面２８が表示される。
【０２３１】
ユーザによって購入候補リスト画面２７に表示されている国語辞典がクリックされると、選択リスト画面２８２にそのクリック内容が表示される。
【０２３２】
さらに、ユーザによって購入候補リスト画面２７に表示されている数学事典がクリックされると、選択リスト画面２８３にそのクリック内容が表示され、国語辞典と数学事典の購入要求が表示される。
【０２３３】
この表示状態において、Ｗｅｂブラウザのバックボタンが押されると、購入候補リスト画面３７及び選択リスト画面２８２が再表示される。これにより、Ｗｅｂブラウザには、選択リスト画面２８２に国語辞典の購入要求が表示される。
【０２３４】
ここで、ユーザによって新たに購入候補リスト画面２７に表示されている英語辞典がクリックされたとする。すると、バックボタンによるＷｅｂブラウザの操作がＷｅｂアプリケーションサーバで検知されないため、数学事典も含まれた選択リスト画面２８４が表示され、エラーが発生する。
【０２３５】
図１６は、本発明を適用した書籍購買システムの動作例を示す図である。
【０２３６】
まず、Ｗｅｂブラウザ２３に購入候補リスト画面２７、選択リスト画面２８が表示される。
【０２３７】
ユーザによって購入候補リスト画面２７に表示されている国語辞典がクリックされると、選択リスト画面２８２にそのクリック内容が表示される。この際、本発明の処理順序監視装置では、画面２７、２８２をＷｅｂブラウザに表示させた旨を示す履歴情報［２７、２８２］が記憶される。
【０２３８】
さらに、ユーザによって購入候補リスト画面２７に表示されている数学事典がクリックされると、クッキーにＷｅｂブラウザ２３の表示状態［２７、２８２］がセットされてＷｅｂアプリケーションサーバ及び本発明の処理順序監視装置に送信される。
【０２３９】
本発明の処理順序監視装置では、受信した表示状態［２７、２８２］と先に記憶された履歴情報［２７、２８２］が一致しているため、処理順序が適切である旨の判定がなされる。
【０２４０】
これにより、Ｗｅｂブラウザ２３の選択リスト画面２８３にクリックされた内容が表示され、国語辞典と数学事典の購入要求が表示される。この際、本発明の処理順序監視装置では、画面２７、２８３をＷｅｂブラウザに表示させた旨を示す履歴情報［２７、２８３］が記憶される。
【０２４１】
この表示状態において、Ｗｅｂブラウザのバックボタンが押されると、購入候補リスト画面２７及び選択リスト画面２８２が再表示される。これにより、Ｗｅｂブラウザには、選択リスト画面２８２に国語辞典の購入要求が表示される。
【０２４２】
ここで、ユーザによって新たに購入候補リスト画面２７に表示されている英語辞典がクリックされたとする。すると、クッキーにＷｅｂブラウザの表示状態［２７、２８２］がセットされてＷｅｂアプリケーションサーバ及び本発明の処理順序監視装置に送信される。
【０２４３】
本発明の処理順序監視装置では、受信した表示状態［２７、２８２］と先に記憶された履歴情報［２７、２８３］が一致しないため、処理順序が適切でない旨の判定がなされ、回復処理が実行される。
【０２４４】
【発明の効果】
以上詳記したように本発明では、画面の遷移情報を示す状態遷移情報が予め定められいる。また、Ｗｅｂブラウザからのリクエストにより実行される処理に関する情報とこの状態遷移情報とにより、次にＷｅｂブラウザからのリクエストにより実行される処理に関する情報が予測される。そして、実際に次にＷｅｂブラウザからのリクエストにより実行の要求された処理に関する情報が、この予測された情報と一致する場合を処理順序が適切であると判定する。
【０２４５】
これにより、Ｗｅｂブラウザに複数の画面が表示されていても、処理順序が適切か否かが判定可能である。
【０２４６】
また、本発明では、処理の内容が変更されたとしても、変更された処理に関する状態遷移情報を書き換えるのみで適用可能であるため、処理変更時に必要とされる労力を低減させることができる。
【０２４７】
さらに、本発明では、サーバで実行される処理に関する情報とサーバで先に予測された情報との整合性に加えて、Ｗｅｂブラウザの現在の表示状態と先にサーバで実行された処理に関する情報との整合性も考慮して処理順序の適否を判定することにより、一層高度に処理順序を監視することができる。
【０２４８】
さらに、本発明では、処理順序が適切と判定された場合の処理情報を記憶しておくことで、処理順序が適切でなくなった場合にも自動的に適切でなくなる前の状態にＷｅｂブラウザの状態を回復させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るＷｅｂシステムの処理順序監視装置の構成を示すブロック図。
【図２】同実施の形態における状態遷移情報保持部に保持されている状態遷移情報の内容を示す図。
【図３】同実施の形態においてＷｅｂブラウザの画面が遷移する状態の例とこの画面遷移状態を示す各状態遷移情報の例を示す概念図
【図４】同実施の形態における実行履歴格納部の記憶内容とＷｅｂブラウザの画面との関係の例を示す図。
【図５】同実施の形態において予測部が予測情報を求める場合の手順を示す図。
【図６】同実施の形態における適切な順序によるオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図。
【図７】同実施の形態においてバックボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図
【図８】同実施の形態においてリロードボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図。
【図９】同実施の形態における回復処理時の画面遷移状態と実行履歴格納部の内容との関係を示す図。
【図１０】クッキーの機能を有するＷｅｂシステムの概略を示すブロック図。
【図１１】本発明の第２の実施の形態においてＷｅｂサーバからＷｅｂブラウザに送信されるＨＴＭＬ形式データの例を示す図。
【図１２】同実施の形態においてバックボタンの押されたオペレーション時の画面遷移状態と処理順序監視装置内の情報の関係を示す図。
【図１３】本発明を適用していない書籍購買システムの第１の動作例を示す図。
【図１４】本発明を適用した書籍購買システムの第１の動作例を示す図
【図１５】本発明を適用していない書籍購買システムの第２の動作例を示す図。
【図１６】本発明を適用した書籍購買システムの第１の動作例を示す図
【図１７】一般的なＷｅｂシステムにおけるＷｅｂブラウザの表示画面とＷｅｂアプリケーションサーバの処理の関係の例を示すブロック図。
【図１８】複数のＨＴＭＬ形式データによって構成されているＷｅｂブラウザの表示画面とこのＨＴＭＬ形式データに付加されている連続番号との関係の例を示す図。
【符号の説明】
１…Ｗｅｂシステム
２、２３…Ｗｅｂブラウザ
３…Ｗｅｂサーバ
４…アプリケーションサーバ
４４…アプリケーションプログラム
５、１０、２４…Ｗｅｂアプリケーションサーバ
１５…処理順序監視装置
１６…リクエスト解析部
１７…実行監視部
１７ａ…監視部
１７ｂ…予測部
１８…状態遷移情報保持部
１９…予測情報格納部
２０…実行履歴格納部
２１…回復処理部
２２、２２ａ〜２２ｅ…状態遷移情報
【図１】
0003688914.tif 000002
【図２】
0003688914.tif 000003
【図３】
0003688914.tif 000004
【図４】
0003688914.tif 000005
【図５】
0003688914.tif 000006
【図６】
0003688914.tif 000007
【図７】
0003688914.tif 000008
【図８】
0003688914.tif 000009
【図９】
0003688914.tif 000010
【図１０】
0003688914.tif 000011
【図１１】
0003688914.tif 000012
【図１２】
0003688914.tif 000013
【図１３】
0003688914.tif 000014
【図１４】
0003688914.tif 000015
【図１５】
0003688914.tif 000016
【図１６】
0003688914.tif 000017
【図１７】
0003688914.tif 000018
【図１８】
0003688914.tif 000019