(57)【特許請求の範囲】
【請求項１】
ネットワークを介してアプリケーションサービスを提供するサーバと、
前記ネットワークを介して前記アプリケーションサービスの提供を受けるクライアント端末とを備え、
前記サーバは、前記クライアント端末からのHttpリクエストによりHttpセッションオブジェクトを特定し、当該クライアント端末と当該サーバとの間に通信がない場合に当該Httpセッションオブジェクト自体が消滅してしまう時間であるHttpセッションオブジェクトのタイムアウトまでの残り時間を表示するウィンドウを生成するためのプログラムを前記クライアント端末に送信し、前記クライアント端末に対する前記Httpセッションオブジェクトからタイムアウトまでの残り時間を取得し、当該クライアント端末に対して当該残り時間を送信し、
前記クライアント端末は、受信される前記プログラムに基づいて前記ウィンドウを表示するとともに、当該ウィンドウは前記タイムアウトまでの残り時間を延長させるための指示を入力可能に構成されていることを特徴とするネットワークシステム。
【請求項２】
ネットワークを介してクライアント端末に対しＷｅｂアプリケーションを提供するサーバであって、
前記クライアント端末を特定する特定情報が格納されるHttpセッションオブジェクトを作成するセッションオブジェクト作成手段と、
前記クライアント端末からのHttpリクエストによりHttpセッションオブジェクトを特定し、当該クライアント端末と当該サーバとの間に通信がない場合に当該Httpセッションオブジェクト自体が消滅してしまう時間であるHttpセッションオブジェクトのタイムアウトまでの残り時間を表示するウィンドウを生成するためのプログラムを前記ネットワークを介して前記クライアント端末に提供するウィンドウ提供手段と、
前記クライアント端末に対する前記Httpセッションオブジェクトから、前記タイムアウトまでの残り時間を取得する時間取得手段と、
前記時間取得手段により取得された前記残り時間を前記クライアント端末に対して送信する時間送信手段と、
前記ウィンドウに対してなされる延長の指示を前記ネットワークを介して受信する延長指示受信手段と、
前記延長指示受信手段により受信された前記延長の指示に基づき、前記Httpセッションオブジェクトの前記タイムアウトまでの残り時間を延長する時間延長手段と、
延長された前記残り時間を前記クライアント端末に送信する更新時間送信手段と
を備えたことを特徴とするサーバ。
【請求項３】
サーバのコンピュータ装置におけるＣＰＵがメモリを用いて実行し、ネットワークを介して当該サーバからクライアント端末になされるタイムアウト時間情報の提供方法であって、
前記クライアント端末のユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する処理と、
前記クライアント端末からのHttpリクエストによりHttpセッションオブジェクトを特定し、当該クライアント端末と当該サーバとの間に通信がない場合に当該Httpセッションオブジェクト自体が消滅してしまう時間である前記Httpセッションオブジェクトのタイムアウトまでの残り時間を前記クライアント端末にて表示するウィンドウを生成するためのプログラムを当該クライアント端末に送信する処理と、
前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を取得する処理と、
取得された前記残り時間を前記クライアント端末に送信する処理と、
前記クライアント端末から前記ネットワークを介して前記Httpセッションオブジェクトのタイムアウトまでの残り時間の延長要求を受信する処理と、
前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を延長する処理と、
延長された前記残り時間を前記ネットワークを介して前記クライアント端末に送信する処理と
を備えたことを特徴とするタイムアウト時間情報提供方法。
【請求項４】
前記クライアント端末に送信される前記ウィンドウのプログラムは、前記クライアント端末におけるブラウザ画面内の一分割画面として当該ウィンドウを生成して表示することを特徴とする請求項３記載のタイムアウト時間情報提供方法。
【請求項５】
前記クライアント端末に送信される前記ウィンドウのプログラムは、前記クライアント端末におけるブラウザ画面とは別ウィンドウにて前記残り時間を表示することを特徴とする請求項３記載のタイムアウト時間情報提供方法。
【請求項６】
コンピュータに、
ネットワークを介して接続されるクライアント端末のユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する機能と、
前記クライアント端末からのHttpリクエストによりHttpセッションオブジェクトを特定し、当該クライアント端末と当該サーバとの間に通信がない場合に当該Httpセッションオブジェクト自体が消滅してしまう時間である前記Httpセッションオブジェクトのタイムアウトまでの残り時間を前記クライアント端末にて表示するためのウィンドウを生成するためのプログラムを当該クライアント端末に送信する機能と、
前記HttpセッションオブジェクトのＡＰＩ(Application Program Interface)を使用して当該Httpセッションオブジェクトのタイムアウトまでの残り時間を取得する機能と、
取得された前記残り時間を前記クライアント端末に送信する機能と、
前記クライアント端末から前記ネットワークを介して前記Httpセッションオブジェクトの残り時間の延長要求を受信する機能と、
受信された前記延長要求に基づいて前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を延長する機能と、
延長された前記残り時間を前記ネットワークを介して前記クライアント端末に送信する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗｅｂを使用したアプリケーションを提供するサーバ等に係り、より詳しくは、Ｗｅｂアプリケーションに対するユーザビリティを向上させるアプリケーションサーバ等に関する。
【０００２】
【従来の技術】
近年、インターネットの利用者は爆発的に増大し、また、インターネットの利用の仕方もより高度化され、ユーザが例えばＷｅｂページを用いて商品を購入することが一般的になってきた。かかる状況から、企業が個人消費者を相手に行う電子商取引である企業対消費者(ＢtoＣ：Business to Consumer)市場も急激に成長しており、バーチャルモールに多くの企業が参入している。
【０００３】
このようなＢtoＣの分野では、Ｗｅｂを使用した様々なアプリケーションが存在している。例えば、Ｗｅｂを用いた航空券の予約や、ホテル、レンタカー、パッケージツアー等の旅行予約、あるいは、各種小売販売等を含む一般的なオンラインショッピング等々、その枚挙にはいとまがない。このようなＷｅｂを用いたアプリケーションを利用するに際し、ユーザは、クライアントマシンからＷｅｂブラウザの画面入力によって、各種検索や必要事項の決定、入力作業等を行っている。
【０００４】
【発明が解決しようとする課題】
しかしながら、複雑な手続きが必要となる証券取引やオークション、トラベルチケットの購入等では、かかるＷｅｂブラウザの画面入力に際して、ユーザが入力に手間取り予想以上に時間が経過する場合がある。このように入力に際して長時間が経過した後に次の画面に移ろうとしたときに、例えば「Data Missing」や「この画面はもう有効ではありません。」等のメッセージが表示され、それまでのデータ入力が全く無駄になってしまう。これは、Ｗｅｂページを提供するアプリケーションサーバにて、クライアント毎の情報を格納するオブジェクト(Httpセッションオブジェクト)がタイムアウトにより無効になっているためであり、アプリケーションサーバの標準機能として備えられているものである。
【０００５】
ここで、従来のアプリケーションモデルでは、このタイムアウトはアプリケーションサーバ側だけで管理されている。その結果、ユーザにとってはタイムアウトが生じていることを認識することなしに入力作業等を繰り返すこととなり、時間をかけて無駄なデータ入力を行ったことによるユーザの不満が多発していた。また、企業側にとっては、貴重なビジネスチャンスを失うことにもなりかねず、激化する競争に打ち勝つためにもシステムの改善が強く望まれていた。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、Ｗｅｂアプリケーションに対するユーザビリティを大きく向上させ、Ｗｅｂアプリケーションの付加価値を高めることにある。
【０００７】
【課題を解決するための手段】
かかる目的のもと、本発明は、オンラインショッピングなどのＷｅｂアプリケーションの処理において、Ｗｅｂのタイムアウト(Httpセッションタイムアウト)をユーザに知らしめる手段、また、タイムアウトの時間をユーザが変更できる手段を提供することにより、不意のＷｅｂタイムアウトを未然に防ぎ、Ｗｅｂによる確実なビジネス処理を可能とするものである。即ち、本発明が適用されるネットワークシステムは、ネットワークを介してアプリケーションサービスを提供するサーバと、ネットワークを介してアプリケーションサービスの提供を受けるクライアント端末とを備え、このサーバは、アプリケーションサービスにおけるＷｅｂセッションのタイムアウトに関する情報を表示するウィンドウを生成するためのプログラムをクライアント端末に送信し、このクライアント端末は、受信されるプログラムに基づいてウィンドウを表示することを特徴としている。
【０００８】
また、本発明は、ネットワークを介してクライアントに対しＷｅｂアプリケーションを提供するサーバであって、クライアントを特定する特定情報が格納されるセッションオブジェクトを作成するセッションオブジェクト作成手段と、セッションオブジェクトの有するタイムアウトに関する情報を表示するウィンドウのプログラムをネットワークを介してクライアントに提供するウィンドウ提供手段と、クライアントに対するセッションオブジェクトからタイムアウトまでの時間情報を取得する時間情報取得手段と、取得されたこの時間情報をクライアントに対して送信する時間情報送信手段と、ウィンドウに対してなされる延長の指示をネットワークを介して受信する延長指示受信手段と、受信された延長の指示に基づき、セッションオブジェクトにおけるタイムアウトまでの残り時間を引き延ばす時間延長手段と、引き延ばされた結果であるタイムアウトの更新時間をクライアントに送信する更新時間送信手段を備えたことを特徴としている。
【０００９】
他の観点から把えると、本発明が適用されるサーバは、クライアントから受信したクライアント情報に基づいてセッションオブジェクトを作成すると共に、セッションオブジェクトのタイムアウトまでの残り時間に関する情報を表示するウィンドウのプログラムをクライアントに提供する第１の手段と、このウィンドウに表示される残り時間に関する情報をクライアントに提供する第２の手段と、クライアントからの時間延長要求に基づいて、更新された残り時間に関する情報をクライアントに提供する第３の手段とを備えることを特徴としている。
【００１０】
一方、本発明は、ネットワークに接続されるクライアント端末から把握することができる。即ち、本発明が適用されるクライアント端末は、ネットワークに接続されるウェブサーバのＵＲＬにアクセスし、初期画面を表示するための初期画面プログラムを受信する初期画面プログラム受信手段と、この初期画面プログラムからユーザ名およびパスワードを入力してウェブサーバに送信するユーザ情報送信手段と、Ｗｅｂセッションのタイムアウトに関する時間情報を提供するためのウィンドウを生成するウィンドウプログラムとデータエントリのためのデータエントリプログラムとをウェブサーバから受信するプログラム受信手段と、受信されたデータエントリプログラムに基づいてデータエントリのための画面を表示すると共に、ウィンドウプログラムに基づいてウィンドウを表示する表示手段と、表示手段に表示されたウィンドウに基づき、タイムアウトまでの残り時間の延長を指示する延長指示手段とを備えたことを特徴としている。
【００１１】
ここで、この表示手段に表示されるウィンドウは、データエントリのための画面を表示するブラウザ画面内の一分割画面として表示されることを特徴とすることができる。また、一方で、このウィンドウは、データエントリのための画面を表示するブラウザとは別ウィンドウで表示されることを特徴とすることができる。
【００１２】
また、本発明が適用されるクライアント端末は、ＷｅｂアプリケーションにおけるＷｅｂセッションのタイムアウトに関する時間情報を取得する取得手段と、この取得手段により取得された時間情報を表示する表示手段と、この表示手段に表示される時間情報に対する延長の指示を受けてアプリケーションサーバから引き延ばされた更新時間情報を取得する更新時間情報取得手段とを備え、この表示手段は、更新時間情報取得手段により取得された更新時間情報を表示することを特徴とすることができる。
【００１３】
更に本発明は、タイムアウト時間情報提供方法として把握することができる。即ち、本発明は、サーバのコンピュータ装置におけるＣＰＵがメモリを用いて実行し、ネットワークを介してサーバからクライアントになされるタイムアウト時間情報の提供方法であって、クライアントのユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する処理と、このHttpセッションオブジェクトのタイムアウトまでの時間情報をクライアントにて表示するためのウィンドウのプログラムをクライアントに送信する処理と、メモリに格納されたHttpセッションオブジェクトのタイムアウトまでの残り時間情報を取得する処理と、取得された残り時間情報をクライアントに送信する処理とを有することを特徴とする。
【００１４】
ここで、このクライアントからネットワークを介してHttpセッションオブジェクトの残り時間の延長要求を受信する処理と、メモリに格納されたHttpセッションオブジェクトのタイムアウトまでの残り時間を延長する処理と、延長された残り時間による更新残り時間情報をネットワークを介してクライアントに送信する処理とを更に有することを特徴とすれば、クライアントに対してタイムアウト時間を延長させる機会を与え、クライアントの意思にかかわらずオブジェクト自体が消滅してしまう問題点に対処することができる。
【００１５】
また本発明は、ネットワークに接続されるクライアントのコンピュータ装置にてＣＰＵがメモリを用いて実行するタイムアウト時間情報の表示方法であって、ネットワークに接続されたアプリケーションサーバからHttpセッションオブジェクトのタイムアウトまでの残り時間を受信する処理と、アプリケーションサーバから受信したHttpセッションオブジェクトのタイムアウトまでの残り時間を画面上に表示する処理と、クライアント側の内部タイマをスタートさせる処理と、スタートさせた内部タイマによる更新イベント毎に残り時間を更新して表示し、表示される残り時間に対する延長要求のイベントを受け、延長要求に対する更新された残り時間をアプリケーションサーバから受信して表示する処理とを有することを特徴としている。
【００１６】
一方、本発明は、コンピュータに所定の機能を実行させるプログラムとして把握することができる。この機能としては、ネットワークを介して接続されるクライアントのユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する機能と、このHttpセッションオブジェクトにおけるタイムアウトまでの情報を表示するためのウィンドウのプログラムをクライアントに送信する機能と、このHttpセッションオブジェクトのＡＰＩ(Application Program Interface)を使用してHttpセッションオブジェクトのタイムアウトまでの残り時間情報を取得する機能と、取得された残り時間情報をクライアントに送信する機能と、クライアントからネットワークを介してHttpセッションオブジェクトの残り時間の延長要求を受信する機能と、受信された延長要求に基づいてメモリに格納されたHttpセッションオブジェクトのタイムアウトまでの残り時間を延長する機能と、延長された残り時間による更新残り時間情報をネットワークを介してクライアントに送信する機能とがある。
【００１７】
このプログラムの提供方法としては、コンピュータに実行させるプログラムをこのコンピュータが読取可能に記憶した記憶媒体にて提供する形態が考えられる。この記憶媒体としては、例えばＣＤ−ＲＯＭ媒体等が該当し、コンピュータにおけるＣＤ−ＲＯＭ読取装置によってプログラムが読み取られ、例えば、サーバ側のコンピュータにおけるハードディスクにこのプログラムが格納され、実行される形態が考えられる。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介してサーバ側のコンピュータ装置に提供される形態が考えられる。このプログラム伝送装置としては、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えていれば足りる。
【００１８】
一方、本発明は、アプリケーションサーバに対してネットワークを介して接続されるコンピュータに、アプリケーションサーバのHttpセッションオブジェクトのタイムアウトまでの残り時間をネットワークを介して取得する機能と、受信したHttpセッションオブジェクトのタイムアウトまでの残り時間を画面上に表示する機能と、クライアント側の内部タイマをスタートさせてタイマ更新イベント毎に残り時間を更新して表示する機能と、更新して表示される残り時間に対する延長要求のイベントの発生を認識する機能と、認識された延長要求に対する更新された残り時間をアプリケーションサーバからネットワークを介して受信して表示する機能とを実現させるためのプログラムとして把えることができる。このプログラムは、ネットワークを介してアプリケーションサーバ等のプログラム伝送装置から、アプリケーション毎にまたはアプリケーションとは別に提供される形態の他、所定の記憶媒体を介して提供される形態も考えられる。
【００１９】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図１は、本実施の形態が適用されるネットワークシステムの全体構成を示した図である。このネットワークシステムでは、アプリケーションサービスを受けるユーザ端末であるクライアント１０がインターネット等のネットワーク２０を介して接続され、また、このネットワーク２０にはアプリケーションシステム３０が接続されている。アプリケーションシステム３０は、役割分担から見ると、ＨＴＭＬのサービスを提供するＷｅｂサーバ４０と、アプリケーションサービスを提供するアプリケーションサーバ５０とを備えている。但し、Ｗｅｂサーバ４０とアプリケーションサーバ５０とをまとめて、アプリケーションシステム３０を１つのサーバとして把握することも可能である。
【００２０】
図２は、アプリケーションサーバ５０の構成を示した図である。本実施の形態が適用されるアプリケーションサーバ５０は、ログインサーブレット(Servlet01)５１、セッションタイマ取得サーブレット(Servlet02)５２、セッションタイマセットサーブレット(Servlet03)５３を備えている。また、顧客のＩＤとパスワード(ＰＷ)が格納された顧客データベース(ＤＢ)５５を備えている。
【００２１】
このログインサーブレット(Servlet01)５１は、クライアント１０のユーザ情報を格納できるオブジェクト(Sess01)とクライアント１０を特定するためのクッキー(Cookie01)を作成し、Ｗｅｂセッションのタイムアウトまでの残り時間を表示するウィンドウ(WebPadと呼ぶ)を生成するアプレット(Applet)を含むＨＴＭＬをクライアント１０に送信する。このウィンドウであるWebPadは、本実施の形態における最も特徴的な構成であり、タイムアウト値を一定周期で提示し、ユーザが望む場合には、その時間を変更できるような手段を備えたものである。このタイムアウト値は、クライアント１０とサーバであるアプリケーションシステム３０との間に通信がない場合に、ユーザの意思に関わらずオブジェクト自体が消滅してしまう時間である。WebPadは、オペレーティングシステムからみると単なるウィンドウ(ソフトウェア)として実装されることから、ウィンドウシステムを持っているあらゆるオペレーティングシステムへの実装が可能である。
【００２２】
セッションタイマ取得サーブレット(Servlet02)５２は、Httpセッションオブジェクト(Sess01)のＡＰＩ(Application Program Interface)を使用してタイムアウトまでの残り時間を取得し、クライアント１０に送信している。また、セッションタイマセットサーブレット(Servlet03)５３は、Httpセッションオブジェクト(Sess01)のＡＰＩを使用してタイムアウトまでの残り時間を引き延ばし、更新された残り時間をクライアント１０に送信している。
【００２３】
図３は、ログインサーブレット(Servlet01)５１にてなされる処理を示したフローチャートである。まず、クライアント１０からユーザＩＤとパスワードを受信し(ステップ１０１)、顧客データベース５５を参照して受信されたユーザＩＤとパスワードを確認する(ステップ１０２)。確認の結果、ユーザとして問題がないかどうか(ＯＫか否か)が判断され(ステップ１０３)、ＯＫではない場合には、エラー画面のリプライ(Reply：応答)がなされる(ステップ１０４)。ＯＫである場合には、クライアント１０のユーザ情報を格納できるHttpセッションオブジェクト(Sess01)の作成がなされる(ステップ１０５)。そして、クライアント１０を特定するためのクッキー(Cookie01)が作成され(ステップ１０６)、アプリケーションのＨＴＭＬ(APP01.html)がリプライ(Reply)される。即ち、アプリケーションに関するデータのエントリを行うためのプログラムと共にウィンドウ(WebPad)を生成するためのプログラムが送信される。このアプリケーションのＨＴＭＬ(APP01.html)は、WebPadのＨＴＭＬをフレームの画面分割として含む一つのＨＴＭＬであり、Entry.htmlとWebPad.htmlから構成されている。
【００２４】
尚、ユーザ認証については、ログインサーブレット(Servlet01)５１にてなされる方法以外に、チャレンジ・レスポンス認証等のＷｅｂサーバ４０による機能の他、ベリサイン(米国ベリサイン社)などからの証明書による認証等がある。
【００２５】
図４は、セッションタイマ取得サーブレット(Servlet02)５２にてなされる処理を示したフローチャートである。セッションタイマ取得サーブレット(Servlet02)５２では、まず、クライアント１０からのHttpリクエストに付加されているクッキー(Cookie01)からHttpセッションオブジェクト(Sess01)を特定する(ステップ１１１)。次に、ログインサーブレット(Servlet01)５１にて作成されたHttpセッションオブジェクト(Sess01)のＡＰＩ(GetMaxInActiveInterval())を使用して、タイムアウトまでの残り時間Ｔ１を取得する(ステップ１１２)。そして、取得された残り時間Ｔ１をリプライ(Reply：応答)する(ステップ１１３)。
【００２６】
図５は、セッションタイマセットサーブレット(Servlet03)５３にてなされる処理を示したフローチャートである。セッションタイマセットサーブレット(Servlet03)５３では、まず、クライアント１０からのHttpリクエストに付加されているクッキー(Cookie01)からHttpセッションオブジェクト(Sess01)を特定する(ステップ１２１)。次に、ログインサーブレット(Servlet01)５１にて作成されたHttpセッションオブジェクト(Sess01)のＡＰＩ(SetMaxInActiveInterval())を使用して、タイムアウトまでの残り時間Ｔ１をＴ２まで引き延ばす(ステップ１２２)。そして、GetMaxInActiveInterval()の呼び出しで更新された残り時間Ｔ３を取得後、クライアント１０にリプライ(Reply)する(ステップ１２３)。
【００２７】
次に、クライアント１０にてなされる処理について説明する。
図６は、クライアント１０にてなされる処理を示したフローチャートである。ユーザは、クライアント１０の端末からＷｅｂサーバ４０のＵＲＬにアクセスし(ステップ２０１)、ログイン画面(Login.html)をダウンロードして、ディスプレイに初期画面を表示する(ステップ２０２)。そして、ユーザＩＤとパスワードを入力し、Ｗｅｂサーバ４０(アプリケーションシステム３０)に送信する(ステップ２０３)。ユーザＩＤとパスワードに問題があれば、アプリケーションシステム３０からError.htmlが送信され、エラー表示がなされる。
【００２８】
ユーザＩＤとパスワードに問題がなければ、アプリケーションシステム３０から、アプリケーションサーバ５０で生成されたアプリケーションＨＴＭＬ(APP01.html)とクッキー(Cookie01)が受信され(ステップ２０４)、WebPadを含むデータエントリ画面が表示される(ステップ２０５)。その後、データのエントリ処理(ステップ２０６)と、WebPadの処理(ステップ２０７)がなされる。受信されるアプリケーションＨＴＭＬ(APP01.html)の中には、Frameタグで２つのＨＴＭＬ(Entry.html、WebPad.html)が設定されている。ユーザは、WebPadの処理によって実行される画面上のWebPad表示を参照して、タイムアウト時間を確認しながらデータ入力を行うことができる。時間が不足と判断した際には、例えばWebPad上に延長時間を入力し、送信ボタンをクリックしてアプリケーションサーバ５０に送信することで、タイムアウトまでの時間を延ばすことができる。このとき、Httpセッションはタイムアウトを発生していないことから、データミッシングを起こすことなく、処理を継続することが可能となる。
【００２９】
図７は、WebPadの処理を示したフローチャートである。WebPadの処理では、まず、アプリケーションサーバ５０のHttpセッションにおけるタイムアウト時間(タイムアウトまでの残り時間)を取得する(ステップ２１１)。即ち、WebPadは、生成直後にアプリケーションサーバ５０のセッションタイマ取得サーブレット(Servlet02)５２を呼び出し、セッションタイマ取得サーブレット(Servlet02)５２によって呼び出されたGetMaxInActiveInterval()で取得された残り時間Ｔ１を受信する。次に、アプリケーションサーバ５０から受信した残り時間Ｔ１が表示され、タイマをスタートし(ステップ２１２)、タイマ更新イベント毎に、残り時間の更新と残り時間の表示がなされる(ステップ２１３)。
【００３０】
次に、延長ボタンクリックイベントが発生したか否かが判断される(ステップ２１４)。延長ボタンクリックイベントが発生していない場合にはステップ２１３へ戻り、延長ボタンクリックイベントが発生している場合には、延長時間のエントリフィールドからの時間Ｔ２の読み取りと、時間Ｔ２の妥当性チェックがなされる(ステップ２１５)。そして、時間Ｔ２をパラメータとして、セッションタイマセットサーブレット(Servlet03)５３を呼び出す(ステップ２１６)。その後、更新された残り時間Ｔ３を表示し、タイマをスタートさせ(ステップ２１７)、ステップ２１３に戻る。
【００３１】
次に、WebPadの実装ＨＴＭＬであるWebPad.htmlについて説明する。図８は、WebPad.htmlの構成要素を示した図である。WebPad.htmlは、前述のように、アプリケーションサーバ５０のログインサーブレット(Servlet01)５１からリプライされるアプリケーションＨＴＭＬ(APP01.html)の中に設定されている。図８に示すように、WebPad.htmlは、セッションタイムアウト値の表示や内部タイマによる更新を行うメインJavaScript６０の他に、表示処理用スクリプト(Script)である関数１(func1)６１、延長ボタン処理用Scriptである関数２(func2)６２、タイムアウト処理用Scriptである関数３(func3)６３等の各スクリプト(Script)関数、アプレットタグ情報６５等から構成される。
【００３２】
関数１(func1)６１は、表示処理用の関数(function)であり、セッションタイマ取得サーブレット(Servlet02)５２を起動するアプレット(Aplt01)を呼び出し、セッション(Session)タイムアウト時間を取得後、セッションタイマ値をグローバル変数値ＳＳＴＭにセットする。関数２(func2)６２は、延長ボタンがクリックされたとき(その他、延長時間が設定されて送信ボタンがクリックされたとき等)に走るイベントハンドラから呼ばれる関数であり、この関数内でSession時間の延長処理を行うアプレット(Aplt02)を呼び出し、延長したSession時間をグローバル変数値ＳＳＴＭに書き出している。関数３(func3)６３は、内部タイマがタイムアウトしたときに呼ばれる関数であり、Sessionタイムアウト時間ＴＭ０１の更新(内部タイマを１分としたときに(ＳＳＴＭ−１)分)と再表示、および次の内部タイマのセット(１分)をする。
【００３３】
また、アプレットタグ情報６５によって呼び出されるJavaアプレットとしては、Aplt01、Aplt02がある。Aplt01は、String型のCookieを引数とするメソッドGetter()を持つJavaアプレットである。Getterは、ＵＲＬオブジェクト(Host,Port等を引数)およびＵＲＬコネクションオブジェクトを作成し、このオブジェクトにHttpリクエストヘッダ、Cookieをセットし、セッションタイマ取得サーブレット(Servlet02)５２を呼び出す。サーブレットからの戻り値は、セッションタイムアウト値としてGetter()メソッドの戻り値とする。Aplt02は、String型のCookieとInteger型の延長時間Ｔ１を引数とするメソッドSetter()を持つJavaアプレットである。Setterは、ＵＲＬオブジェクト(Host,Port等を引数)およびＵＲＬコネクションオブジェクトを作成し、このオブジェクトにHttpリクエストヘッダ、Cookieをセットし、セッションタイマセットサーブレット(Servlet03)５３を呼び出す。サーブレットからの戻り値は、新しいセッションタイムアウト値としてSetter()メソッドの戻り値とされる。
【００３４】
図９は、図８に示すような構成要素を備えるWebPad.htmlにおける処理を示したフローチャートである。WebPad.htmlでは、まず、ＧＵＩパーツ(ボタン・入力域)の宣言がなされ(ステップ３０１)、使用するアプレット(Aplt01/Aplt02)の宣言がなされる(ステップ３０２)。次に、スクリプト(Script)の宣言を行い(ステップ３０３)、セッションタイムアウト時間を取得する関数１(func1)６１を呼び出す(ステップ３０４)。その後、内部タイマ値(１分)とタイムアウト後に呼び出される関数３(func3)６３を内部タイマ設定用のＡＰＩ(例えばWindowオブジェクトのsetTimeout)にセットする(ステップ３０５)。
【００３５】
図１０(ａ),(ｂ)は、ステップ３０４にて呼び出される関数１(func1)６１の処理を示したフローチャートである。図１０(ａ)は関数１(func1)６１の主要な処理の流れを示し、図１０(ｂ)は関数１(func1)６１によって呼び出されるJavaアプレット(Aplt01)のメソッドGetterの処理を示している。関数１(func1)６１は、図１０(ａ)に示すように、まず、クッキー(Cookie)が取得され(ステップ４０１)、このCookie値を引数としてJavaアプレット(Aplt01)のメソッドGetterの呼び出しがなされる(ステップ４０２)。その後、図１０(ｂ)に示す処理により得られたセッションタイマ値をグローバル変数値ＳＳＴＭに保存する(ステップ４０３)。
【００３６】
ステップ４０２によって呼び出されたJavaアプレット(Aplt01)のメソッドGetter(String Cookie)は、図１０(ｂ)に示すように、まず、ホスト名、ポート番号およびサーブレット名を引数としてＵＲＬオブジェクトが作成され(ステップ４１１)、このＵＲＬオブジェクトからＵＲＬコネクションが作成される(ステップ４１２)。そして、ＵＲＬコネクションオブジェクトに対して必要なHttpヘッダ・Cookieを設定し、アプリケーションサーバ５０のセッションタイマ取得サーブレット(servlet02)５２に起動リクエストを出す(ステップ４１３)。その後、セッションタイマ取得サーブレット(servlet02)５２からの戻りのセッションタイムアウト値をStreamで受け取り、リターン(Return)値とする(ステップ４１４)。このリターン値は、図１０(ａ)のステップ４０３の処理に用いられる。
【００３７】
図１１は、WebPad.htmlにおいて、タイマイベント割り込みがあった場合における関数３(func3)６３の処理を示したフローチャートである。タイマイベント割り込みがあると、関数３(func3)６３では、まず、セッションタイマのグローバル変数値ＳＳＴＭの更新(−１分)がなされ(ステップ５０１)、更新されたＳＳＴＭを残りタイムアウト時間として表示する(ステップ５０２)。そして、このＳＳＴＭが０か否かが判断され(ステップ５０３)、０である場合には処理が終了し、０でない場合には、内部タイマ値の再セットとタイムアウト後に呼び出される関数３(func3)６３をセットして、内部タイマを再スタートさせる(ステップ５０４)。
【００３８】
図１２(ａ),(ｂ)は、WebPad.htmlにおいて、ユーザから延長時間が設定されて送信ボタンがクリックされ、イベント割り込みがなされた場合における関数２(func2)６２の処理を示したフローチャートである。図１２(ａ)は関数２(func2)６２の主要な処理の流れを示し、図１２(ｂ)は関数２(func2)６２によって呼び出されるJavaアプレット(Aplt02)のメソッドSetterの処理を示している。
【００３９】
図１２(ａ)に示すように、イベント割り込みがあると、関数２(func2)６２は、延長時間エントリフィールドから時間Ｔ２を取得し(ステップ６０１)、この時間Ｔ２が妥当であるか否かが判断される(ステップ６０２)。時間Ｔ２が妥当でない場合には関数２(func2)６２の処理が終了し、時間Ｔ２が妥当である場合には、Cookieが取得される(ステップ６０３)。そして、取得されたCookie値および延長時間Ｔ２を引数としてJavaアプレット(Aplt02)のメソッドSetterが呼び出される(ステップ６０４)。そのSetter()メソッドからの戻り値をセッションタイマＳＳＴＭにセットする(ステップ６０５)。
【００４０】
ステップ６０４で呼び出されたJavaアプレット(Aplt02)のメソッドSetterでは、図１２(ｂ)に示すように、ホスト名、ポート番号およびサーブレット(Servlet)名を引数としてＵＲＬオブジェクトが作成され(ステップ６１１)、このＵＲＬオブジェクトからＵＲＬコネクションが作成される(ステップ６１２)。次に、ＵＲＬコネクションオブジェクトに対して必要なHttpヘッダ、Cookie、および新しいタイマ値を設定し、セッションタイマセットサーブレット(Servlet03)５３に起動リクエストを出す(ステップ６１３)。その後、セッションタイマセットサーブレット(Servlet03)５３から戻されたセッションタイムアウト値をStreamで受け取り、リターン値とする(ステップ６１４)。このリターン値は、図１２(ａ)のステップ６０５の処理に用いられる。
【００４１】
図１３(ａ),(ｂ)は、クライアント１０のブラウザ上にて表示されるデータエントリ画面の表示例を示した図であり、図１３(ａ)はWebPadを含むデータエントリ画面を示し、図１３(ｂ)はWebPadのＧＵＩ(Graphical User Interface)例を示している。図１３(ａ)に示すデータエントリ画面は、アプリケーションサーバ５０のログインサーブレット(Servlet01)５１から得られるアプリケーションＨＴＭＬ(APP01.html)に基づいて表示され、その表示には、例えば旅行予約等の一般的な入力画面の他に、Ｗｅｂセッションのタイムアウトまでの残り時間を表示するウィンドウであるWebPad表示７０が含まれている。このWebPad表示７０は、フレームタグ指定により、クライアント１０にて実行されるブラウザ画面内の一分割画面として表示される。
【００４２】
図１３(ｂ)に示すWebPad表示７０には、タイムアウトまでの時間情報である時間表示７１と、ユーザが希望する延長を入力するための延長入力表示７２がある。クライアント１０では、WebPadウィンドウをクライアント１０のマシン上のブラウザで生成して表示する。この時間表示７１では、まず、アプリケーションサーバ５０のセッションタイマ取得サーブレット(Servlet02)５２から得られた残り時間Ｔ１が表示され、その後、タイマ更新イベント毎による残り時間が更新されて、例えば１分単位で表示される。延長入力表示７２では、ユーザが希望する延長時間の入力を、例えば１分単位で受け付け、送信ボタンをクリックすることによって、ユーザが希望する延長を受け付けることができる。この送信ボタンのクリックによって、図１２(ａ),(ｂ)に示した関数２(func2)６２の処理が実行される。
【００４３】
尚、図１３(ｂ)では、延長時間をユーザが入力するように構成したが、例えばラジオボタンにより、即ち、例えば１０分単位や５分単位からなる複数のボタンを表示し、所定のボタンをクリックすることによって延長を受け付けるように構成することも可能である。また、時間表示７１の代わりに、または時間表示７１と共に、例えば時計の針やバーの長さのような表示(アナログ表示等)によって、タイムアウトまでの時間に関する情報を表示するように構成しても構わない。
【００４４】
尚、ここでは、ブラウザ画面内の一分割画面として表示される例を示したが、このフレーム分割以外に、JavaScriptのWindowオブジェクト関数Openを使用することにより、このWebPad表示７０自体を別ウィンドウにすることや、例えば、タイムアウト時間はもとのウィンドウとし、延長パネルだけを別ウィンドウにすることもできる。この別ウィンドウにする際には、JavaScriptの機能によって、２〜３行のスクリプトで表示することが可能となる。
【００４５】
このように本実施の形態では、クライアント１０からの要求を受けてアプリケーションサーバ５０のＷｅｂアプリケーションが開始したときに、Httpセッションオブジェクト(Sess01)が通常備えるタイムアウト値を一定周期で提示するウィンドウ(WebPadと呼ぶ)をユーザ(クライアント１０)に提供している。そして、ユーザが望む場合には、そのウィンドウから延長したい時間を入力してサーバに送信し、Ｗｅｂのセッションタイムまでの時間を延長することにより、旅行予約等の入力を継続することが可能となる。即ち、このWebPadの利用によって、ＢtoＣアプリケーションの付加価値、信頼性、効率性の向上が期待できる。
【００４６】
尚、本実施の形態では、Ｗｅｂサーバ４０とアプリケーションサーバ５０とによってアプリケーションシステム３０が構成される場合について説明したが、アプリケーションシステム３０として１つのサーバとすることも可能である。また、物理的にＷｅｂサーバ４０とアプリケーションサーバ５０とが分かれている場合であっても、その機能としては両者が絡み合い、実際には、各機能が明確に分かれるものではない。
【００４７】
【発明の効果】
以上説明したように、本発明によれば、Ｗｅｂアプリケーションの付加価値を高めることが可能となり、Ｗｅｂアプリケーションに対するユーザビリティを向上させることができる。
【図面の簡単な説明】
【図１】  本実施の形態が適用されるネットワークシステムの全体構成を示した図である。
【図２】  アプリケーションサーバの構成を示した図である。
【図３】  ログインサーブレット(Servlet01)にてなされる処理を示したフローチャートである。
【図４】  セッションタイマ取得サーブレット(Servlet02)にてなされる処理を示したフローチャートである。
【図５】  セッションタイマセットサーブレット(Servlet03)にてなされる処理を示したフローチャートである。
【図６】  クライアントにてなされる処理を示したフローチャートである。
【図７】  WebPadの処理を示したフローチャートである。
【図８】  WebPad.htmlの構成要素を示した図である。
【図９】  WebPad.htmlにおける処理を示したフローチャートである。
【図１０】  (ａ),(ｂ)は、ステップ３０４にて呼び出される関数１(func1)の処理を示したフローチャートである。
【図１１】  WebPad.htmlにおいて、タイマイベント割り込みがあった場合における関数３(func3)の処理を示したフローチャートである。
【図１２】  (ａ),(ｂ)は、WebPad.htmlにおいて、延長時間が設定されて送信ボタンがクリックされ、イベント割り込みがなされた場合における関数２(func2)の処理を示したフローチャートである。
【図１３】  (ａ),(ｂ)は、クライアントのブラウザ上にて表示されるデータエントリ画面の表示例を示した図である。
【符号の説明】
１０…クライアント、２０…ネットワーク、３０…アプリケーションシステム、４０…Ｗｅｂサーバ、５０…アプリケーションサーバ、５１…ログインサーブレット(Servlet01)、５２…セッションタイマ取得サーブレット(Servlet02)、５３…セッションタイマセットサーブレット(Servlet03)、５５…顧客データベース、６０…メインJavaScript、６１…関数１(func1)、６２…関数２(func2)、６３…関数３(func3)、６５…アプレットタグ情報、７０…WebPad表示、７１…時間表示、７２…延長入力表示
【図１】
0004493249.tif 000002
【図２】
0004493249.tif 000003
【図３】
0004493249.tif 000004
【図４】
0004493249.tif 000005
【図５】
0004493249.tif 000006
【図６】
0004493249.tif 000007
【図７】
0004493249.tif 000008
【図８】
0004493249.tif 000009
【図９】
0004493249.tif 000010
【図１０】
0004493249.tif 000011
【図１１】
0004493249.tif 000012
【図１２】
0004493249.tif 000013
【図１３】
0004493249.tif 000014