説明

画面遷移制御装置

【課題】 動的な画面遷移制御を実行できる画面遷移制御装置を提供する。
【解決手段】 実施形態の画面遷移判定部47は、取得されたセッションIDに関連付けられたURL、遷移順序、及び表示対象の画面IDからなる動作履歴の組データを読み出し、ユーザIDと、最大の遷移順序に関連付けられた表示対象の画面IDと、遷移先の画面IDとにそれぞれ同一の各IDを含むルール情報を読み出し、ルール情報内の遷移可否情報に基づいて、遷移の可否を判定する。画面情報登録部49は、この判定結果が遷移の可を示すとき、セッションID、遷移順序、遷移先の画面IDからなる表示対象の画面IDを関連付けてユーザ動作履歴記憶部41に書き込む。画面表示制御部50は、書き込まれた表示対象の画面IDに関連付けられた画面ファイルパスを読み出し、画面ファイルパスに基づいて画面情報を取得し、この画面情報をクライアント端末1に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画面遷移制御装置に関する。
【背景技術】
【0002】
一般に、Webアプリケーション処理端末、コピー機及び複合機(プリンタ、コピー機、ファクシミリ及びスキャナ等の各機能をまとめた機器)といった機器では、ディスプレイに内容及び動作を表示する際に、特定の順序に従って画面遷移が実行されている。
【0003】
しかしながら、例えば、Webアプリケーション処理端末において、ユーザが画面データのURLを直接指定する等により、画面遷移が特定の順序から外れ、本来ユーザに許可していない画面遷移が発生することがある。
【0004】
そこで、画面遷移を実行する機器又はシステムに関し、例えば、ユーザの権限等の条件に応じて、画面遷移を実行するか否かを制御する方法が考案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−265291号公報
【特許文献2】特開2005−293229号公報
【特許文献3】特開2007−279974号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のような画面遷移を制御する方法では、ユーザの権限に基づいて静的に画面遷移を制御するため、実行した画面遷移の履歴に応じて画面遷移を制御するといった動的な画面遷移制御を実行できない不都合がある。
【0007】
本明細書に開示された実施形態は、動的な画面遷移制御を実行し得る画面遷移制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、クライアント端末と、ビジネスロジック部との間には、画面情報の遷移を制御する画面遷移制御装置が設けられている。
【0009】
なお、実施形態のクライアント端末は、表示対象の画面情報の表示中、ユーザの操作に応じて、遷移先画面指定情報及びセッションIDを含むリクエスト情報を送信し、遷移先の画面情報を受信するものである。
【0010】
また、実施形態のビジネスロジック部は、リクエスト情報を受けると、このリクエスト情報内の遷移先画面指定情報に応じて遷移先の画面情報を示す遷移先の画面IDを送出するものである。
【0011】
ここで、実施形態の画面遷移制御装置は、リクエスト情報取得項目記憶部、ユーザ動作履歴記憶部、アクティブユーザ情報記憶部、画面遷移判定情報記憶部、表示画面情報記憶部、リクエスト情報登録部及び画面遷移管理部を備えている。この画面遷移管理部は、画面遷移判定部、画面遷移判定情報変更部、画面情報登録部及び画面表示制御部を備えている。
【0012】
実施形態のリクエスト情報取得項目記憶部は、クライアント端末から送信されたリクエスト情報のうち、遷移先画面指定情報及びセッションIDの項目を定義した取得項目情報を記憶する。
【0013】
実施形態のユーザ動作履歴記憶部は、遷移先画面指定情報、セッションID、遷移順序、及び表示対象の画面情報を示す表示対象の画面IDを含む動作履歴情報を記憶する。
【0014】
実施形態のアクティブユーザ情報記憶部は、ビジネスロジック部にログインしているユーザのユーザID及びセッションIDを記憶する。
【0015】
実施形態の画面遷移判定情報記憶部は、ルール番号毎に、ユーザID、遷移元の画面ID、遷移先の画面ID、及び遷移の可否を示す遷移可否情報を含むルール情報を記憶している。このルール情報の少なくとも一つは、遷移可否情報に基づく遷移の可否の判定を制御するための制御情報、を更に含んでいる。
【0016】
実施形態の表示画面情報記憶部は、画面IDと、当該画面IDが示す画面情報を有する画面ファイルの記憶位置を示す画面ファイルパスとを関連付けて記憶する。
【0017】
実施形態のリクエスト情報登録部は、送信されたリクエスト情報を受けると、取得項目情報に基づいて、リクエスト情報から遷移先画面指定情報及びセッションIDを取得する。このリクエスト情報登録部は、取得された遷移先画面指定情報を、取得されたセッションIDと同一のセッションID及び最大の遷移順序に関連付けてユーザ動作履歴記憶部に書き込むと、リクエスト情報をビジネスロジック部に送出する。
【0018】
実施形態の画面遷移判定部は、取得されたセッションIDと同一のセッションIDに関連付けられた遷移先画面指定情報、遷移順序、及び表示対象の画面IDからなる動作履歴の組データをユーザ動作履歴記憶部から読み出す。また、画面遷移判定部は、読み出されたユーザIDと、読み出された動作履歴の組データで最大の遷移順序に関連付けられた表示対象の画面IDと、ビジネスロジック部から受けた遷移先の画面IDとにそれぞれ同一のユーザID、遷移元の画面ID及び遷移先の画面IDを含むルール情報を画面遷移判定情報記憶部から読み出す。さらに、画面遷移判定部は、読み出されたルール情報内の遷移可否情報に基づいて、遷移の可否を判定する。
【0019】
実施形態の画面情報登録部は、この判定結果が遷移の可を示すとき、取得されたセッションIDと、読み出された動作履歴の組データ内の最大の遷移順序より1だけ大きい遷移順序と、ビジネスロジック部から受けた遷移先の画面IDからなる表示対象の画面IDとを関連付けてユーザ動作履歴記憶部に書き込む。
【0020】
実施形態の画面表示制御部は、ユーザ動作履歴記憶部に書き込まれた表示対象の画面IDと同一の画面IDに関連付けられた画面ファイルパスを表示画面情報記憶部から読み出し、当該読み出した画面ファイルパスに基づいて画面情報を取得し、この画面情報をクライアント端末に送信する。
【図面の簡単な説明】
【0021】
【図1】各実施形態に共通する画面遷移制御装置を含むシステムの構成の一例を示す機能ブロック図である。
【図2】各実施形態に共通するeラーニングシステムの画面構成の一例を示す模式図である。
【図3】各実施形態に共通するリクエスト情報取得項目記憶部に記憶された情報の一例を示す模式図である。
【図4】第1の実施形態に係るユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【図5】各実施形態に共通するアクティブユーザ情報記憶部に記憶された情報の一例を示す模式図である。
【図6】各実施形態に共通する画面遷移判定情報記憶部に記憶された情報の一例を示す模式図である。
【図7】各実施形態に共通する表示画面情報記憶部に記憶された情報の一例を示す模式図である。
【図8】同実施形態における動作を説明するためのフローチャートである。
【図9】同実施形態における動作を説明するためのシーケンス図である。
【図10】同実施形態におけるユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【図11】同実施形態における画面遷移判定情報記憶部に記憶された情報の一例を示す模式図である。
【図12】同実施形態におけるユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【図13】第2の実施形態に係るユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【図14】同実施形態における動作を説明するためのフローチャートである。
【図15】同実施形態におけるユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【図16】同実施形態におけるユーザ動作履歴記憶部に記憶された情報の一例を示す模式図である。
【発明を実施するための形態】
【0022】
以下、各実施形態について図面を参照して説明する。
【0023】
(第1の実施形態)
図1は各実施形態に共通する画面遷移制御装置を含むシステムの構成の一例を示す機能ブロック図であり、図2は同システムの具体例であるeラーニングシステムの画面構成の一例を示す図である。クライアント端末1は、例えばネットワークを介してアプリケーションサーバ装置2に接続される。アプリケーションサーバ装置2は、ビジネスロジック部3と画面遷移制御装置4とから構成される。なお、クライアント端末1は、Webアプリケーションから提供されるeラーニングサービスを利用するための任意のWebブラウザを備えている。アプリケーションサーバ装置2は、Java(登録商標)EE(Enterprise Edition)上で動作するWebアプリケーションサーバであるとする。ビジネスロジック部3は、Webアプリケーションサーバ上で動作する「eラーニングシステム」であるとするが、これに限定されない。例えば、ビジネスロジック部3としては、銀行のATMシステム、ログイン利用のWebアプリケーション(例、ログインに何度か失敗した場合に、他の認証処理を伴うパスワード変更画面に遷移する処理を含むWebアプリケーション)、コピー機、複合機などのように、画面遷移を伴う任意の処理部が適用可能となっている。
【0024】
eラーニングシステムでは、図2に示すように、「問題1」画面、「問題1のヒント」画面、「問題1の解答」画面、「問題1の復習」画面、「まとめ」画面、及び「エラー」画面がユーザの操作に応じて遷移しながら表示される。また、各画面内の英数字の文字列は、各画面を識別するための画面IDを示している。例えば、「問題1」画面の画面IDは「Problem_1」である。各画面間の矢印は、遷移元の画面が遷移可能な方向(遷移先の画面)を示す。例えば、「問題1」画面から出る矢印は、遷移元の「問題1」画面が「問題1のヒント」画面又は「問題1の解答」画面に遷移可能なことを示している。
【0025】
一方、画面遷移制御装置4は、図1に示したように、リクエスト情報取得項目記憶部40、ユーザ動作履歴記憶部41、アクティブユーザ情報記憶部42、画面遷移判定情報記憶部43、表示画面情報記憶部44、リクエスト情報登録部45及び画面遷移管理部46を備えている。画面遷移管理部46は、画面遷移判定部47、画面遷移判定情報変更部48、画面情報登録部49及び画面表示制御部50を備えている。このような画面遷移制御装置4は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からWebアプリケーションサーバ装置2のコンピュータにインストールされ、画面遷移制御装置4の各機能を実現させるためのプログラムが用いられる。
【0026】
ここで、リクエスト情報取得項目記憶部40は、図3に示すように、ユーザの操作に応じてクライアント端末1から送信されたリクエスト情報のうち、例えばURL(Uniform Resource Locators)といった遷移先画面指定情報及びセッションIDの項目(属性)を定義するための取得項目情報を予め記憶しておく記憶媒体である。但し、遷移先画面指定情報はURLに限らず、遷移先の画面を指定する情報であれば任意の情報に変更してもよい。また、セッションIDは、一連の通信を識別可能な情報であれば、任意の情報に変更してもよい。
【0027】
ユーザ動作履歴記憶部41は、当該システムを利用するユーザの動作履歴を示す動作履歴情報を記憶する記憶媒体である。
【0028】
動作履歴情報は、図4に示すように、セッションID、遷移順序、表示対象の画面ID及びURLを含んでおり、セッションID毎に、遷移順序、表示対象の画面ID及びURLが関連付けられている。セッションIDは、当該システムを利用する一連の通信の識別子を示し、当該システムを利用する際(例えば、当該システムへのログイン認証時)にユーザ毎に与えられるものである。遷移順序は、ユーザの操作に応じてeラーニングシステムの表示画面が遷移した順序を示している。表示対象の画面IDは、図2に示した画面IDと同様に、表示対象の画面情報を示す識別情報である。URLは、eラーニングシステムにおける表示画面を一意的に指定するものであり、ユーザによって指定された遷移先の画面情報を取得するための画面ファイルを指定している。なお、URLは、最終の遷移順序の行では遷移先の画面情報が指定されていないため、表記「−」で示すように記憶されない。
【0029】
アクティブユーザ情報記憶部(ログインユーザ記憶手段)42は、ビジネスロジック部3にログインしているユーザを識別するためのアクティブユーザ情報(例えば、セッションID、ユーザID、ユーザの権限等)を記憶する記憶媒体である。
【0030】
アクティブユーザ情報は、図5に示すように、セッションID、ユーザID、及びロールが含まれる。ユーザIDは、ユーザを識別するための識別子を示すが、ユーザ固有のユーザID(ユーザ登録されたユーザID)に限らず、アクセス時に一時的にユーザに割り当てられるユーザID(仮のユーザID)であってもよい。ロールは、当該システムへのアクセスが許可されているユーザの属性を示す。このユーザの属性としては、例えば、ユーザの権限に対応する「管理者(admin)(adminはadministratorの略語)」及び「一般人、公衆(public)」が使用可能となっている。なお、アクティブユーザ情報はセッションID、ユーザID、及びロールに限定されない。このようなアクティブユーザ情報は、アプリケーション利用前に、画面遷移管理部46によって取得される。また、アクティブユーザ情報の取得方法としては、例えば、ユーザ登録されたユーザID及びパスワードを利用したeラーニングシステムへのログイン認証時に、当該ユーザ登録されたユーザIDに対応するユーザ情報(ユーザの権限等)をデータベースから読出し、このユーザ情報に対応したアクティブユーザ情報(ユーザID(仮のユーザID)及びロール)を割り当てることにより取得する方法があるが、この取得方法に限定されない。
【0031】
画面遷移判定情報記憶部(ルール情報記憶手段)43は、当該システムを利用するユーザによって指定された画面遷移が可能か否かを判定するためのルール情報を予め記憶する記憶媒体である。
【0032】
ルール情報は、図6に示すように、ルール番号(No.)毎に、ユーザID、遷移元の画面ID、遷移先の画面ID、及び遷移の可否を示す遷移可否情報を含んでいる。ルール情報の少なくとも一つは、遷移可否情報に基づく遷移の可否を判定するための制御情報(遷移可能条件、ルール書換え情報)を更に含んでいる。この例では、ルール番号“2”のルール情報がルール書換え情報を含み、ルール番号“6”のルール情報が遷移可能条件を含んでいる。但し、本実施形態では、遷移可能条件を省略してもよい。遷移可能条件及びこの遷移可能条件を用いた判定については、第2の実施形態にて述べる。
【0033】
ルール番号は、ルール情報を識別するための識別情報である。ユーザIDは、アクティブユーザ情報のいずれかのユーザIDに一致するユーザIDが使用される。遷移元の画面IDは、クライアント端末1に現在表示されている画面(表示対象の画面)の画面情報を示す画面IDである。遷移先の画面IDは、当該ユーザによって指定された遷移先の画面情報を示す画面IDである。遷移可否情報は、遷移元の画面IDに対応した表示画面から遷移先の画面IDに対応した表示画面への画面遷移が可能であるか否かを示す。なお、遷移の可否は、「可」又は「否」のどちらか一方で示される。遷移可能条件は、当該ユーザが指定した画面遷移を可能にするために必要となる条件を示す。この例では、遷移可能条件は、遷移順序、表示対象(遷移元)の画面ID及び遷移先のURLからなる動作履歴の組データを特定するための遷移元の画面ID(Probrem_1)及び遷移先の画面ID(Probrem_1_Hint)と、当該特定される動作履歴の組データの有無(未遷移、即ち動作履歴の組データ無し)に応じた遷移の可とを示している。ルール書換え情報(図6中、ルールの書き換え)は、画面遷移判定部47による可否判定結果に応じて、画面遷移判定情報変更部48が行うルールの変更内容を示す。この例では、ルール書換え情報は、書換え対象のルール情報を示すルール番号“1”,“2”及びこのルール情報内の遷移可否情報の書換え内容“否”,“否”を含んでいる。なお、遷移可能条件及びルール書換え情報は、アプリケーションサーバ装置2の管理者によって任意に設定可能である。
【0034】
表示画面情報記憶部(画面ファイルパス記憶手段)44は、図7に示すように、画面IDと、当該画面IDが示す画面情報を有する画面ファイルの記憶位置を示す画面ファイルパスとを関連付けて記憶する記憶媒体である。例えば、「問題1」画面を示す画面ID「Problem_1」に関連付けて、画面ファイルパス「/problem_1/problem_1.jsp」が記憶されている。
【0035】
リクエスト情報登録部45は、ユーザの操作に応じてクライアント端末1から送信されたリクエスト情報を受けると、取得項目情報に基づいて、リクエスト情報から遷移先画面指定情報及びセッションIDを取得する機能と、取得した遷移先画面指定情報を、当該取得したセッションIDと同一のセッションID及び最大の遷移順序に関連付けてユーザ動作履歴記憶部41に書き込むと、リクエスト情報をビジネスロジック部3に送出する機能とをもっている。
【0036】
上述したように画面遷移管理部46は、以下で説明する機能を持つ画面遷移判定部47、画面遷移判定情報変更部48、画面情報登録部49及び画面表示制御部50を備えている。
【0037】
画面遷移判定部47は、ビジネスロジック部3から送出された遷移先の画面IDを取得する。また、画面遷移判定部47は、取得した遷移先の画面ID、ユーザ動作履歴記憶部41に記憶された表示対象の画面ID、及びアクティブユーザ情報記憶部42に記憶されたユーザIDに基づいて、画面遷移判定情報記憶部43からルール番号(ルールNo.)の検索を実行する。画面遷移判定部47は、検索結果が「無」である場合に、当該ユーザが指定した遷移先の画面IDを「エラー」画面に対応した画面ID「Exception」に変更する。
【0038】
画面遷移判定部47は、検索されたルール番号のルール情報に基づいて、当該システムを利用するユーザによって指定された画面遷移が可能か否かの判定を実行する。画面遷移判定部47は、判定結果が「否」である場合に、当該ユーザが指定した遷移先の画面IDを「エラー」画面に対応した画面ID「Exception」に変更する。
【0039】
画面遷移判定部47が実行する検索及び判定については、画面遷移判定部47が以下の各機能(f47-1)〜(f47-4)をもつように言い換えてもよい。
【0040】
(f47-1) 送出されたリクエスト情報を受けたビジネスロジック部3から遷移先の画面IDを受けると、取得されたセッションIDと同一のセッションIDに関連付けられたユーザIDをアクティブユーザ情報記憶部42から読み出す機能。
【0041】
(f47-2) 取得されたセッションIDと同一のセッションIDに関連付けられた遷移先画面指定情報、遷移順序、及び表示対象の画面IDからなる動作履歴の組データをユーザ動作履歴記憶部41から読み出す機能。
【0042】
(f47-3) 読み出されたユーザIDと、読み出された動作履歴の組データで最大の遷移順序に関連付けられた表示対象の画面IDと、ビジネスロジック部3から受けた遷移先の画面IDとにそれぞれ同一のユーザID、遷移元の画面ID及び遷移先の画面IDを含むルール情報を画面遷移判定情報記憶部43から読み出す機能。
【0043】
(f47-4) 読み出されたルール情報内の遷移可否情報に基づいて、遷移の可否を判定する判定機能。
【0044】
画面遷移判定情報変更部48は、画面遷移判定部47で用いられたルール情報に基づいて、画面遷移判定情報記憶部43に記憶されているルール情報の少なくとも一部を変更する。なお、ルール情報の変更内容は、画面遷移判定部47によって用いられたルール情報の「ルールの書き換え」の項目(例えば、図6に示した「(ルールNo.1,遷移の可否,否),(ルールNo.2,遷移の可否,否)」等)に従う。換言すると、画面遷移判定情報変更部48は、画面遷移判定部47により読み出されたルール情報がルール書換え情報を含むとき、このルール書換え情報内のルール番号と同一のルール番号を含む書換え対象のルール情報を画面遷移判定情報記憶部43から読み出し、当該書換え対象のルール情報に含まれる遷移可否情報を、当該ルール書換え情報に含まれる書換え内容に従って書き換える機能をもっている。
【0045】
画面情報登録部49は、可否判定結果及び画面ID変更結果に基づいて、画面遷移判定部47から取得した遷移先の画面IDからなる表示対象の画面IDをセッションIDと対応付けてユーザ動作履歴記憶部41に登録する。換言すると、画面情報登録部49は、画面遷移判定部47による判定結果が遷移の可を示すとき、リクエスト情報登録部45により取得されたセッションIDと、画面遷移判定部47により読み出された動作履歴の組データの最大の遷移順序より1だけ大きい遷移順序と、ビジネスロジック部3から受けた遷移先の画面IDからなる表示対象の画面IDとを関連付けてユーザ動作履歴記憶部41に書き込む機能をもっている。
【0046】
画面表示制御部50は、可否判定の結果に基づいて、ユーザ動作履歴記憶部41に登録された表示対象の画面IDに対応付けられて記憶されている画面ファイルパスを、表示画面情報記憶部44から取得する。また、画面表示制御部50は、取得された画面ファイルパスに基づいて画面ファイルを取得し、この画面ファイルのプログラムを実行して表示画面を生成することにより、この表示画面の画面情報(プログラムの実行結果)を取得する。更に、画面表示制御部50は、取得した画面情報を当該クライアント端末1に送信する。なお、画面表示制御部50は、当該クライアント端末1に対する表示画面を生成する際に、例えば、JSP(Java Server Pages)、タグライブラリ等の処理を行う。
【0047】
但し、画面表示制御部50は、画面ファイル(例、JSPファイル)のプログラムを実行して画面情報を取得する場合に限らず、画面ファイルパスに基づいて、画面情報からなる画面ファイル(例、HTML(Hypertext Markup Language)ファイル)を読み出すことにより画面情報を取得してもよい。いずれにしても、画面表示制御部50は、ユーザ動作履歴記憶部41に書き込まれた表示対象の画面IDと同一の画面IDに関連付けられた画面ファイルパスを表示画面情報記憶部44から読み出し、当該読み出した画面ファイルパスに基づいて画面情報を取得し、この画面情報をクライアント端末1に送信する機能をもっている。
【0048】
次に、以上のように構成された画面遷移制御装置を含むシステムの動作について図8のフローチャート及び図9のシーケンス図を参照しながら説明する。なお、ここではリクエスト情報取得項目記憶部40、ユーザ動作履歴記憶部41、アクティブユーザ情報記憶部42、画面遷移判定情報記憶部43及び表示画面情報記憶部44には、図3〜図7に示した情報が各々記憶されているものとする。
【0049】
いま、クライアント端末1は、表示対象の画面情報(例、Probrem_1_Hintのヒント画面)の表示中、ユーザの操作に応じて、遷移先の画面情報(例、Probrem_1の問題1画面)を指定するURL、及びセッションIDを含むリクエスト情報をWebアプリケーションサーバ装置2に送信する。
【0050】
Webアプリケーション装置2では、画面遷移制御装置4内のリクエスト情報登録部45が、送信されたリクエスト情報を取得する(ステップS101)。
【0051】
続いて、リクエスト情報登録部45は、このリクエスト情報のうち、リクエスト情報取得項目記憶部40に予め記憶された取得項目の情報を取得し、図10に示すように、当該取得したセッションID「sessionId02」及びURL「http://xxx.co.jp/learn/Problem_1.do」を、当該取得されたセッションIDと同一のセッションID「sessionId02」及び最大の遷移順序「2」に関連付けてユーザ動作履歴記憶部41に書き込む(ステップS102)。
【0052】
このURL「http://xxx.co.jp/learn/Problem_1.do」によれば、ユーザによって指定された遷移先の画面情報のURLが「http://xxx.co.jp/learn/Problem_1.do」であることと、このURL内の画面ID「Problem_1」から遷移先の画面として「問題1」画面が指定されたことが示される。なお、URL内のファイル名は画面IDでもある。
【0053】
しかる後、リクエスト情報登録部45は、リクエスト情報をビジネスロジック部3に送出する。ビジネスロジック部3は、リクエスト情報を受けると、このリクエスト情報内のURLに応じて遷移先の画面情報を示す遷移先の画面IDを画面遷移制御装置4に送出する。
【0054】
画面遷移制御装置4では、画面遷移判定部47が、ビジネスロジック部3から送出された遷移先の画面ID「Problem_1」を取得する(ステップS103)。
【0055】
また、画面遷移判定部47は、アクティブユーザ情報記憶部42から、ステップS101で取得されたセッションID「sessionId02」と同一のセッションIDに関連付けられたユーザID「user02」及びロール「public」を取得する(ステップS104)。
【0056】
さらに、画面遷移判定部47は、ユーザ動作履歴記憶部41から、ステップS101で取得されたセッションID「sessionId02」と同一のセッションIDに関連付けられた遷移順序、画面ID及びURLからなる組データを取得する(ステップS105)。この場合、セッションID「sessionId02」に関連付けられた遷移順序、画面ID及びURLの組データとして(1,Problem_1,http://xxx.co.jp/learn/Problem_1_Hint.do)及び(2,Problem_1_Hint,http://xxx.co.jp/learn/Problem_1.do)が取得される。
【0057】
また、画面遷移判定部47は、ステップS103で取得した遷移先の画面ID、ステップS104で取得したユーザID、及びステップS105で取得した遷移順序、画面ID及びURLの組データに基づいて、画面遷移判定情報記憶部43内のルール番号を検索する(ステップS106)。この場合、ステップS103で取得した遷移先の画面ID「Problem_1」、ステップS104で取得したユーザID「user02」、及びステップS105で取得した表示対象の画面ID「Problem_1_Hint」をルール検索のキーとして、ルール番号が検索される。
【0058】
なお、ルール検索のキーとして用いられる表示対象の画面IDは、ステップS105で取得した遷移順序、画面ID及びURLの組データのうち、遷移順序の値が最も大きい組データの画面IDである。
【0059】
ステップS106の検索の結果、ルール番号がある場合(ステップS106:「ルール番号有」)には、画面遷移判定部47は、検索されたルール番号のルール情報を取得する(ステップS107)。この場合、ルール番号“2”のルール情報が画面遷移判定情報記憶部43から取得される。一方、ステップS106の検索の結果、ルール番号が無い場合(ステップS106:「ルール番号無」)には、ステップS109へと進む。
【0060】
続いて、画面遷移判定部47は、ステップS107で取得したルール情報に基づいて、画面遷移が可能であるか否かを判定する(ステップS108)。この場合、ルール番号“2”のルール情報の遷移可否情報が「可」を示すため、画面遷移が可能と判定される。
【0061】
ステップS108の判定結果が「可」の場合(ステップS108でYes)にはステップS110へと進む。一方、ステップS108の判定結果が「否」の場合(ステップS108でNo)には、画面遷移判定部47は、遷移先の画面IDを「Exception」に変更する(ステップS109)。なお、この画面ID「Exception」は、画面遷移制御装置4に予め固定値として記憶されている画面IDである。画面ID「Exception」に対応する表示画面は、図2に示した「エラー」画面である。
【0062】
次に、画面遷移判定情報変更部48は、ステップS107で取得したルール情報に基づいて、画面遷移判定情報記憶部43内のルール情報の内容を変更する(ステップS110)。この場合、画面遷移判定情報変更部48は、ルール番号“2”のルール情報の「ルールの書き換え」に従う。ルール番号“2”のルール情報におけるルール書換え情報は、図6に示したように、「(ルールNo.1,遷移の可否,否),(ルールNo.2,遷移の可否,否)」である。このルール書換え情報は、ルール番号“1”のルール情報の遷移可否情報を「可」から「否」に変更し、且つ、ルール番号“2”のルール情報の遷移可否情報を「可」から「否」に変更することを意味する。このため、図11に示すように、ルール番号“1”,“2”に関連付けて記憶されている遷移の可否が、図6に示した「可」から「否」に変更される。この変更は、所定の画面遷移(問題1画面(Probrem_1)とヒント画面(Probrem_1_Hint)との間の画面遷移)を常に可能とするのではなく、1回だけ可能とし、2回目以降の画面遷移を拒否するように動的に画面遷移を制御することを意味している。
【0063】
画面情報登録部49は、図8に示すように、ステップS106及びS108の判定結果に基づいて、セッションID、組データ内の最大の遷移順序より1だけ大きい遷移順序及び遷移先の画面IDからなる表示対象の画面IDをユーザ動作履歴記憶部41に書き込む(ステップS111)。この場合、ステップS108での判定結果が「可」であったので、画面情報登録部49は、セッションID「sessionId02」、遷移順序「3」及び画面ID「Problem_1」をユーザ動作履歴記憶部41に書き込む。これにより、図12に示すように、ユーザ動作履歴記憶部41には、図10に示した情報に加えて、遷移順序及び画面IDがセッションIDに関連付けられて記憶される。
【0064】
ここで、書き込まれた遷移順序「3」は、セッションID「sessionId02」を有するユーザによって3番目に指定された画面であることを示している。また、書き込まれた画面ID「Problem_1」は、セッションID「sessionId02」で識別される一連の通信を実行中のクライアント端末1における表示画面が「問題1」画面となることを示している。
【0065】
画面表示制御部50は、図8に示すように、表示画面情報記憶部44から、ステップS111でユーザ動作履歴記憶部41に書き込まれた画面ID「Problem_1」に対応する画面ファイルパス「/problem_1/problem_1.jsp」を取得する(ステップS112)。
【0066】
しかる後、画面表示制御部50は、ステップS112で取得した画面ファイルパスに基づいて、クライアント端末1に対する表示画面の画面情報を生成し、この画面情報をクライアント端末1に送信する(ステップS113)。
【0067】
クライアント端末1は、この画面情報に基づいて、ステップS101で指定した遷移先の画面を表示する。
【0068】
上述したように第1の実施形態によれば、実行したい画面遷移の可否判定に用いたルール情報に含まれるルール書換え情報に基づいて、当該ルール情報や他のルール情報に含まれる遷移可否情報を動的に書き換えることができる。
【0069】
(第2の実施形態)
次に、第2の実施形態に係る画面遷移制御装置を含むシステムについて、前述した図1を参照しながら説明する。この第2の実施形態は、画面遷移可否の判定をルール情報内の遷移可能条件を用いて実行する具体例であり、図1に示した第1の実施形態の構成と共通する部分には同一の符号を付して、重複する部分の説明を省略する。以下では、第1の実施形態と異なる部分を主に説明する。
【0070】
第2の実施形態では、ルール情報における遷移可能条件が必須となる。一方、ルール書換え情報は、省略してもしなくてもよい。ルール書換え情報が省略される場合、ルール情報の書き換えに用いられる画面遷移判定情報変更部48も省略される。
【0071】
ここで、遷移可能条件は、動作履歴の組データを特定するための遷移元(表示対象)の画面ID及び遷移先の画面IDと、当該特定される動作履歴の組データの有無に応じた遷移の可とを示している。
【0072】
また、画面遷移判定部47は、前述した機能に加え、読み出したルール情報が遷移可能条件を含むとき、読み出した動作履歴の組データが遷移可能条件を満たし、且つ当該ルール情報内の遷移可否情報が遷移の可を示す場合に、遷移の可を判定する機能を更に備えている。
【0073】
また、ユーザ動作履歴記憶部41は、図13に示すように、図12に示した情報に加え、例えば、セッションID「sessionId02」に対応付けられた遷移順序「4」、画面ID「Problem_1_Mark」、及びURL「http://xxx.co.jp/learn/Problem_1_Mark.do」及び「−」が示されている状態であるとする。
【0074】
次に、以上のように構成された画面遷移制御装置を含むシステムの動作について図14のフローチャートを用いて説明する。なお、ここではリクエスト情報取得項目記憶部40、アクティブユーザ情報記憶部42、画面遷移判定情報記憶部43、及び表示画面情報記憶部44には、第1の実施形態と同様の情報が記憶され(換言すれば、図3、図5、図6及び図7に示した情報が各記憶部に記憶されている)、ユーザ動作履歴記憶部41には図13に示した情報が記憶されているものとする。
【0075】
ステップS201〜S208,S210〜S214は、表示対象(遷移元)の画像IDや遷移先の画像IDといった情報の値は異なるものの、処理としては、前述したステップS101〜S108,S109〜S113と同様に実行される。本実施形態は、第1の実施形態に比べ、遷移可能条件に基づく判定のステップS209を有する点が異なる。以下、順次説明する。
【0076】
いま、クライアント端末1は、表示対象の画面情報(例、Probrem_1_Markの問題1の解答画面)の表示中、ユーザの操作に応じて、遷移先の画面情報(例、Summaryのまとめ画面)を指定するURL、及びセッションIDを含むリクエスト情報をWebアプリケーションサーバ装置2に送信する。
【0077】
Webアプリケーション装置2では、画面遷移制御装置4内のリクエスト情報登録部45が、送信されたリクエスト情報を取得する(ステップS201)。
【0078】
リクエスト情報登録部45は、取得したリクエスト情報のうち、リクエスト情報取得項目記憶部40に予め記憶された取得項目の情報であるセッションID「sessionId02」及びURL「http://xxx.co.jp/learn/Summary.do」を図15に示すようにユーザ動作履歴記憶部41に書き込む(ステップS202)。このURL「http://xxx.co.jp/learn/Summary.do」によれば、ユーザによって指定された遷移先の画面のURLが「http://xxx.co.jp/learn/Summary.do」であることと、このURL内の画面ID「Summary」から遷移先の画面として「まとめ」画面が指定されたことが示される。
【0079】
しかる後、リクエスト情報登録部45は、取得したリクエスト情報をビジネスロジック部3に送出する。ビジネスロジック部3は、このリクエスト情報内のURLに応じて遷移先の画面情報を示す遷移先の画面IDを画面遷移制御装置4に送出する。
【0080】
画面遷移制御装置4では、画面遷移判定部47が、送出された遷移先の画面ID「Summary」を取得する(ステップS203)。
【0081】
また、画面遷移判定部47は、アクティブユーザ情報記憶部42から、ステップS202で書き込まれたセッションID「sessionId02」に対応するユーザID「user02」及びロール「public」を取得する(ステップS204)。
【0082】
さらに、画面遷移判定部47は、ユーザ動作履歴記憶部41から、ステップS202で取得されたセッションID「sessionId02」と同一のセッションIDに関連付けられた遷移順序、画面ID及びURLからなる組データを取得する(ステップS205)。この場合、遷移順序、画面ID及びURLの組データとして、(1,Problem_1,http://xxx.co.jp/learn/Problem_1_Hint.do)、(2,Problem_1_Hint,http://xxx.co.jp/learn/Problem_1.do)、(3,Problem_1,http://xxx.co.jp/learn/Problem_1_Mark.do)及び(4,Problem_1_Mark,http://xxx.co.jp/learn/Summary)が取得される。
【0083】
また、画面遷移判定部47は、ステップS203で取得した遷移先の画面ID、ステップS204で取得したユーザID、及びステップS205で取得した遷移順序、画面ID、及びURLの組に基づいて、画面遷移判定情報記憶部43内のルール番号を検索する(ステップS206)。この場合、ステップS203で取得した遷移先の画面ID「Summary」、ステップS204で取得したユーザID「user02」、及びステップS205で取得した表示対象の画面ID「Problem_1_Mark」をルール検索のキーとして、ルール番号が検索される。
【0084】
なお、ルール検索のキーとして用いられる表示対象の画面IDは、ステップS205で取得した組データのうち、遷移順序の値が最も大きい組データの画面IDである。
【0085】
ステップS206の検索の結果、ルール番号がある場合(ステップS206:「ルール番号有」)には、画面遷移判定部47は、検索されたルール番号のルール情報を取得する(ステップS207)。この場合、ルール番号“6”のルール情報が画面遷移判定情報記憶部43から取得される。一方、ステップS206の検索の結果、ルール番号が無い場合(ステップS206:「ルール番号無」)にはステップS210へと進む。
【0086】
続いて、画面遷移判定部47は、ステップS207で取得したルール情報に基づいて、画面遷移が可能であるか否かを判定する(ステップS208)。この場合、ルール番号“6”のルール情報の遷移可否情報が「可」を示すため、画面遷移が可能と判定される。なお、ステップS208での判定結果が「否」である場合(ステップS207でNo)にはステップS210へと進む。
【0087】
また、ステップS208での判定結果が「可」の場合(ステップS207でYes)には、画面遷移判定部47は、ステップS207で取得したルール情報に基づいて、当該画面遷移処理が画面遷移可能条件を満たしているか否かを判定する(ステップS209)。
【0088】
ここで、ルール番号“6”のルール情報の遷移可能条件は、図6に示したように「(未遷移,Problem_1,Problem_1_Hint)」である。この遷移可能条件は、遷移元(表示対象)の画面ID「Problem_1」の画面から遷移先の画面ID「Problem_1_Hint」の画面へ画面遷移処理を実行していない場合に遷移可能、とすることを意味する。すなわち、遷移可能条件を用いた判定は、所定の画面遷移(問題1の解答画面(Probrem_1_Mark)からまとめ画面(Summary)への画面遷移)を常に可能とするのではなく、ヒント画面に遷移していない場合に限り、可能とするように動的に画面遷移を制御することを意味している。ここで、図15を参照すると、セッションID「sessionId02」に関連付けて記憶された、遷移順序「1」から遷移順序「2」の画面遷移処理が、表示対象(遷移元)の画面ID「Problem_1」の画面から遷移先の画面ID「Problem_1_Hint」の画面への画面遷移処理であることが示される。従って、この場合、ルール番号“6”のルール情報の遷移可能条件は満たされていない。
【0089】
ステップS209での判定結果が「満たす」である場合(ステップS209でYes)にはステップS211へと進む。一方、ステップS209での判定結果が「満たさない」である場合(ステップS209でNo)には、画面遷移判定部47は、遷移先の画面IDを「Exception」に変更する(ステップS210)。
【0090】
この例では、遷移可能条件が満たされていないため、遷移先の画面ID「Summary」が画面ID「Exception」に変更される。
【0091】
次に、画面遷移判定情報変更部48は、ステップS207で取得したルール情報に基づいて、画面遷移判定情報記憶部43内のルール情報の内容を変更する(ステップS211)。この場合、画面遷移判定情報変更部48は、図6に示したように、ルール番号“6”のルール情報におけるルール書換え情報が無いため、ルール情報を変更しない。
【0092】
画面情報登録部49は、ステップS206、S208及びS209での判定結果に基づいて、セッションID、組データ内の最大の遷移順序より1だけ大きい遷移順序及び遷移先の画面IDからなる表示対象の画面IDをユーザ動作履歴記憶部41に書き込む(ステップS212)。この場合、ステップS209での判定結果が「満たさない」であったので、画面情報登録部49は、図16に示すように、セッションID「sessionId02」、遷移順序「5」、及び画面ID「Exception」をユーザ動作履歴記憶部41に書き込む。この画面ID「Exception」は、セッションID「sessionId02」で識別される一連の通信を実行中のクライアント端末1における表示画面が「エラー」画面となることを示している。
【0093】
画面表示制御部50は、図14に示すように、表示画面記憶部44から、ステップS212でユーザ動作履歴記憶部41に書き込まれた画面ID「Exception」に対応する画面ファイルパス「/exception/exception.jsp」を取得する(ステップS213)。
【0094】
しかる後、画面表示制御部50は、この画面ファイルパス「/exception/exception.jsp」に基づいて、クライアント端末1に対する表示画面の画面情報を生成し、この画面情報をクライアント端末1に送信する(ステップS214)。
【0095】
クライアント端末1は、この画面情報に基づいて、エラー画面を表示する。
【0096】
上述したように第2の実施形態によれば、実行したい画面遷移の可否判定に用いたルール情報に含まれる遷移可能条件に基づいて、過去の画面遷移の履歴に応じて画面遷移の可否を判定することができる。
【0097】
また、以上説明した各実施形態によれば、ルール書換え情報による遷移可否情報の書換え、又は遷移可否情報以外の遷移可能条件に基づく判定の如き、遷移可否情報に基づく判定処理を制御する構成により、実行した画面遷移の履歴に応じて画面遷移を制御するといった動的な画面遷移制御を実行することができる。
【0098】
上述した各実施形態で述べた各種の機能や処理手順は、コンピュータプログラムとして、コンピュータにより読み取り可能な記憶媒体(例えば磁気ディスク,光ディスク,半導体メモリ)に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。
【0099】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0100】
1…クライアント端末、2…アプリケーションサーバ、3…ビジネスロジック部、4…画面遷移制御装置、40…リクエスト情報取得項目記憶部、41…ユーザ動作履歴記憶部、42…アクティブユーザ情報記憶部、43…画面遷移判定情報記憶部、44…表示画面情報記憶部、45…リクエスト情報登録部、46…画面遷移管理部、47…画面遷移判定部、48…画面遷移判定情報変更部、49…画面情報登録部、50…画面表示制御部。

【特許請求の範囲】
【請求項1】
表示対象の画面情報の表示中、ユーザの操作に応じて、遷移先画面指定情報及びセッションIDを含むリクエスト情報を送信し、遷移先の画面情報を受信するクライアント端末と、
前記リクエスト情報を受けると、このリクエスト情報内の遷移先画面指定情報に応じて遷移先の画面情報を示す遷移先の画面IDを送出するビジネスロジック部と
の間に設けられ、前記画面情報の遷移を制御する画面遷移制御装置であって、
前記クライアント端末から送信されたリクエスト情報のうち、前記遷移先画面指定情報及びセッションIDの項目を定義した取得項目情報を記憶する取得項目記憶手段と、
前記遷移先画面指定情報、前記セッションID、遷移順序、及び前記表示対象の画面情報を示す表示対象の画面IDを含む動作履歴情報を記憶するための動作履歴記憶手段と、
前記ビジネスロジック部にログインしているユーザのユーザID及びセッションIDを記憶するログインユーザ記憶手段と、
ルール番号毎に、ユーザID、遷移元の画面ID、遷移先の画面ID、及び遷移の可否を示す遷移可否情報を含むルール情報を記憶しており、前記ルール情報の少なくとも一つは、前記遷移可否情報に基づく遷移の可否の判定を制御するための制御情報、を更に含んでいるルール記憶手段と、
画面IDと、当該画面IDが示す画面情報を有する画面ファイルの記憶位置を示す画面ファイルパスとを関連付けて記憶する画面ファイルパス記憶手段と、
前記送信されたリクエスト情報を受けると、前記取得項目情報に基づいて、前記リクエスト情報から遷移先画面指定情報及びセッションIDを取得する手段と、
前記取得された遷移先画面指定情報を、前記取得されたセッションIDと同一のセッションID及び最大の遷移順序に関連付けて前記動作履歴記憶手段に書き込むと、前記リクエスト情報を前記ビジネスロジック部に送出する手段と、
前記送出されたリクエスト情報を受けたビジネスロジック部から遷移先の画面IDを受けると、前記取得されたセッションIDと同一のセッションIDに関連付けられたユーザIDを前記ログインユーザ記憶手段から読み出す手段と、
前記取得されたセッションIDと同一のセッションIDに関連付けられた前記遷移先画面指定情報、遷移順序、及び前記表示対象の画面IDからなる動作履歴の組データを前記動作履歴記憶手段から読み出す手段と、
前記読み出されたユーザIDと、前記読み出された動作履歴の組データで最大の遷移順序に関連付けられた表示対象の画面IDと、前記ビジネスロジック部から受けた遷移先の画面IDとにそれぞれ同一のユーザID、遷移元の画面ID及び遷移先の画面IDを含むルール情報を前記ルール記憶手段から読み出す手段と、
前記読み出されたルール情報内の遷移可否情報に基づいて、遷移の可否を判定する判定手段と、
この判定結果が遷移の可を示すとき、前記取得されたセッションIDと、前記読み出された動作履歴の組データ内の最大の遷移順序より1だけ大きい遷移順序と、前記ビジネスロジック部から受けた遷移先の画面IDからなる表示対象の画面IDとを関連付けて前記動作履歴記憶手段に書き込む動作履歴書込手段と、
前記動作履歴記憶手段に書き込まれた表示対象の画面IDと同一の画面IDに関連付けられた画面ファイルパスを前記画面ファイルパス記憶手段から読み出し、当該読み出した画面ファイルパスに基づいて画面情報を取得し、この画面情報を前記クライアント端末に送信する手段と、
を備えたことを特徴とする画面遷移制御装置。
【請求項2】
請求項1に記載の画面遷移制御装置において、
前記制御情報は、書換え対象のルール情報を示すルール番号及びこのルール情報内の遷移可否情報の書換え内容を含むルール書換え情報、を含んでおり、
前記読み出されたルール情報が前記ルール書換え情報を含むとき、このルール書換え情報内のルール番号と同一のルール番号を含む書換え対象のルール情報を前記ルール記憶手段から読み出し、当該書換え対象のルール情報に含まれる遷移可否情報を、当該ルール書換え情報に含まれる書換え内容に従って書き換える手段、
を更に備えたことを特徴とする画面遷移制御装置。
【請求項3】
請求項1又は請求項2に記載の画面遷移制御装置において、
前記制御情報は、動作履歴の組データを特定するための遷移元の画面ID及び遷移先の画面IDと、当該特定される動作履歴の組データの有無に応じた遷移の可とを示す遷移可能条件、を含んでおり、
前記判定手段は、前記読み出されたルール情報が前記遷移可能条件を含むとき、前記読み出された動作履歴の組データが前記遷移可能条件を満たし、且つ当該ルール情報内の遷移可否情報が遷移の可を示す場合に、遷移の可を判定することを特徴とする画面遷移制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate