説明

ネットワークシステム、サーバ、クライアント端末、タイムアウト時間情報提供方法、タイムアウト時間情報表示方法、およびプログラム

【課題】オンラインショッピングなどのWebアプリケーションの処理において、Webのタイムアウト(Httpセッションタイムアウト)をユーザに知らしめ、また、タイムアウトの時間をユーザが変更できることにより、不意のWebタイムアウトを未然に防ぎ、Webによる確実なビジネス処理を可能とする。
【解決手段】ネットワーク20を介してアプリケーションサービスを提供するアプリケーションシステム(サーバ)30と、ネットワーク20を介してアプリケーションサービスの提供を受けるクライアント10とを備え、このアプリケーションシステム(サーバ)30は、アプリケーションサービスにおけるWebセッションのタイムアウトに関する情報を表示するウィンドウを生成するためのプログラムをクライアント10に送信し、このクライアント10は、受信されるプログラムに基づいて、このウィンドウを表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webを使用したアプリケーションを提供するサーバ等に係り、より詳しくは、Webアプリケーションに対するユーザビリティを向上させるアプリケーションサーバ等に関する。
【背景技術】
【0002】
近年、インターネットの利用者は爆発的に増大し、また、インターネットの利用の仕方もより高度化され、ユーザが例えばWebページを用いて商品を購入することが一般的になってきた。かかる状況から、企業が個人消費者を相手に行う電子商取引である企業対消費者(BtoC:Business to Consumer)市場も急激に成長しており、バーチャルモールに多くの企業が参入している。
【0003】
このようなBtoCの分野では、Webを使用した様々なアプリケーションが存在している。例えば、Webを用いた航空券の予約や、ホテル、レンタカー、パッケージツアー等の旅行予約、あるいは、各種小売販売等を含む一般的なオンラインショッピング等々、その枚挙にはいとまがない。このようなWebを用いたアプリケーションを利用するに際し、ユーザは、クライアントマシンからWebブラウザの画面入力によって、各種検索や必要事項の決定、入力作業等を行っている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−315189号公報
【非特許文献】
【0005】
【非特許文献1】「松山貴之,「ソリューションの軌跡 ソフマップのECサイト「ソフマップ・ドットコム」」,日経オープンシステム,No.95,日経BP社,2001年2月15日,p.180−p.185」
【非特許文献2】「西沢直木,「ASPポケットリファレンス」,株式会社技術評論社,2001年6月14日,初版,p.14,p.100−p.111」
【非特許文献3】「Ron Ben-Natan他,「WebSphere活用による 最新Web Application構築術」,第1版,株式会社コンピュータ・エージ社,2001年5月30日,p.125−p.130」
【非特許文献4】「ハーバート・シルト著,山本信雄監訳,「Windows 2000 プログラミング標準講座」,初版,株式会社翔泳社,2000年9月30日,p.154−p.166」
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、複雑な手続きが必要となる証券取引やオークション、トラベルチケットの購入等では、かかるWebブラウザの画面入力に際して、ユーザが入力に手間取り予想以上に時間が経過する場合がある。このように入力に際して長時間が経過した後に次の画面に移ろうとしたときに、例えば「Data Missing」や「この画面はもう有効ではありません。」等のメッセージが表示され、それまでのデータ入力が全く無駄になってしまう。これは、Webページを提供するアプリケーションサーバにて、クライアント毎の情報を格納するオブジェクト(Httpセッションオブジェクト)がタイムアウトにより無効になっているためであり、アプリケーションサーバの標準機能として備えられているものである。
【0007】
ここで、従来のアプリケーションモデルでは、このタイムアウトはアプリケーションサーバ側だけで管理されている。その結果、ユーザにとってはタイムアウトが生じていることを認識することなしに入力作業等を繰り返すこととなり、時間をかけて無駄なデータ入力を行ったことによるユーザの不満が多発していた。また、企業側にとっては、貴重なビジネスチャンスを失うことにもなりかねず、激化する競争に打ち勝つためにもシステムの改善が強く望まれていた。
【0008】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、Webアプリケーションに対するユーザビリティを大きく向上させ、Webアプリケーションの付加価値を高めることにある。
【課題を解決するための手段】
【0009】
かかる目的のもと、本発明は、オンラインショッピングなどのWebアプリケーションの処理において、Webのタイムアウト(Httpセッションタイムアウト)をユーザに知らしめる手段、また、タイムアウトの時間をユーザが変更できる手段を提供することにより、不意のWebタイムアウトを未然に防ぎ、Webによる確実なビジネス処理を可能とするものである。即ち、本発明が適用されるネットワークシステムは、ネットワークを介してアプリケーションサービスを提供するサーバと、ネットワークを介してアプリケーションサービスの提供を受けるクライアント端末とを備え、このサーバは、アプリケーションサービスにおけるWebセッションのタイムアウトに関する情報を表示するウィンドウを生成するためのプログラムをクライアント端末に送信し、このクライアント端末は、受信されるプログラムに基づいてウィンドウを表示することを特徴としている。
【0010】
また、本発明は、ネットワークを介してクライアントに対しWebアプリケーションを提供するサーバであって、クライアントを特定する特定情報が格納されるセッションオブジェクトを作成するセッションオブジェクト作成手段と、セッションオブジェクトの有するタイムアウトに関する情報を表示するウィンドウのプログラムをネットワークを介してクライアントに提供するウィンドウ提供手段と、クライアントに対するセッションオブジェクトからタイムアウトまでの時間情報を取得する時間情報取得手段と、取得されたこの時間情報をクライアントに対して送信する時間情報送信手段と、ウィンドウに対してなされる延長の指示をネットワークを介して受信する延長指示受信手段と、受信された延長の指示に基づき、セッションオブジェクトにおけるタイムアウトまでの残り時間を引き延ばす時間延長手段と、引き延ばされた結果であるタイムアウトの更新時間をクライアントに送信する更新時間送信手段を備えたことを特徴としている。
【0011】
他の観点から把えると、本発明が適用されるサーバは、クライアントから受信したクライアント情報に基づいてセッションオブジェクトを作成すると共に、セッションオブジェクトのタイムアウトまでの残り時間に関する情報を表示するウィンドウのプログラムをクライアントに提供する第1の手段と、このウィンドウに表示される残り時間に関する情報をクライアントに提供する第2の手段と、クライアントからの時間延長要求に基づいて、更新された残り時間に関する情報をクライアントに提供する第3の手段とを備えることを特徴としている。
【0012】
一方、本発明は、ネットワークに接続されるクライアント端末から把握することができる。即ち、本発明が適用されるクライアント端末は、ネットワークに接続されるウェブサーバのURLにアクセスし、初期画面を表示するための初期画面プログラムを受信する初期画面プログラム受信手段と、この初期画面プログラムからユーザ名およびパスワードを入力してウェブサーバに送信するユーザ情報送信手段と、Webセッションのタイムアウトに関する時間情報を提供するためのウィンドウを生成するウィンドウプログラムとデータエントリのためのデータエントリプログラムとをウェブサーバから受信するプログラム受信手段と、受信されたデータエントリプログラムに基づいてデータエントリのための画面を表示すると共に、ウィンドウプログラムに基づいてウィンドウを表示する表示手段と、表示手段に表示されたウィンドウに基づき、タイムアウトまでの残り時間の延長を指示する延長指示手段とを備えたことを特徴としている。
【0013】
ここで、この表示手段に表示されるウィンドウは、データエントリのための画面を表示するブラウザ画面内の一分割画面として表示されることを特徴とすることができる。また、一方で、このウィンドウは、データエントリのための画面を表示するブラウザとは別ウィンドウで表示されることを特徴とすることができる。
【0014】
また、本発明が適用されるクライアント端末は、WebアプリケーションにおけるWebセッションのタイムアウトに関する時間情報を取得する取得手段と、この取得手段により取得された時間情報を表示する表示手段と、この表示手段に表示される時間情報に対する延長の指示を受けてアプリケーションサーバから引き延ばされた更新時間情報を取得する更新時間情報取得手段とを備え、この表示手段は、更新時間情報取得手段により取得された更新時間情報を表示することを特徴とすることができる。
【0015】
更に本発明は、タイムアウト時間情報提供方法として把握することができる。即ち、ネットワークを介して受信されるクライアント情報に基づいてセッションオブジェクトを作成し、セッションオブジェクトにおけるタイムアウトまでの時間情報を表示するためのウィンドウのプログラムをクライアントに送信し、セッションオブジェクトからタイムアウトまでの残り時間情報を取得し、取得した残り時間情報をクライアントに送信することを特徴とする。
【0016】
ここで、このクライアントからの残り時間の延長要求を受信し、セッションオブジェクトによりタイムアウトまでの残り時間を延長し、延長された残り時間による更新残り時間情報をクライアントに送信することを特徴とすれば、クライアントに対してタイムアウト時間を延長させる機会を与え、クライアントの意思にかかわらずオブジェクト自体が消滅してしまう問題点に対処することができる。
【0017】
また本発明が適用されるタイムアウト時間情報表示方法は、ネットワークに接続されたアプリケーションサーバからWebセッションにおけるタイムアウトまでの残り時間を受信し、アプリケーションサーバから受信した残り時間を表示し、内部タイマをスタートさせ、この内部タイマによる更新イベント毎に残り時間を更新して表示し、表示される残り時間に対する延長要求のイベントを受け、延長要求に対する更新された残り時間をアプリケーションサーバから受信して表示することを特徴としている。
【0018】
一方、本発明は、コンピュータに所定の機能を実行させるプログラムとして把握することができる。この機能としては、ネットワークを介して受信されるクライアント情報に基づいて作成されるセッションオブジェクトを作成する機能と、このセッションオブジェクトにおけるタイムアウトまでの情報を表示するためのウィンドウのプログラムをクライアントに送信する機能と、このセッションオブジェクトのAPI(Application Program Interface)を使用してタイムアウトまでの残り時間情報を取得する機能と、残り時間情報をクライアントに送信する機能と、クライアントからの残り時間の延長要求を受信する機能と、この延長要求に基づいてセッションオブジェクトによりタイムアウトまでの残り時間を延長する機能と、延長された残り時間による更新残り時間情報をクライアントに送信する機能とがある。
【0019】
このプログラムの提供方法としては、コンピュータに実行させるプログラムをこのコンピュータが読取可能に記憶した記憶媒体にて提供する形態が考えられる。この記憶媒体としては、例えばCD−ROM媒体等が該当し、コンピュータにおけるCD−ROM読取装置によってプログラムが読み取られ、例えば、サーバ側のコンピュータにおけるハードディスクにこのプログラムが格納され、実行される形態が考えられる。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介してサーバ側のコンピュータ装置に提供される形態が考えられる。このプログラム伝送装置としては、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えていれば足りる。
【0020】
一方、本発明は、アプリケーションサーバに対してネットワークを介して接続されるコンピュータに、アプリケーションサーバのWebセッションにおけるタイムアウトまでの残り時間をネットワークを介して取得する機能と、受信した残り時間を表示する機能と、内部タイマをスタートさせてタイマ更新イベント毎に残り時間を更新して表示する機能と、更新して表示される残り時間に対する延長要求のイベントを受ける機能と、この延長要求に対する更新された残り時間をアプリケーションサーバからネットワークを介して受信して表示する機能とを実現させるためのプログラムとして把えることができる。このプログラムは、ネットワークを介してアプリケーションサーバ等のプログラム伝送装置から、アプリケーション毎にまたはアプリケーションとは別に提供される形態の他、所定の記憶媒体を介して提供される形態も考えられる。
【発明の効果】
【0021】
本発明によれば、Webアプリケーションの付加価値を高めることが可能となり、Webアプリケーションに対するユーザビリティを向上させることができる。
【図面の簡単な説明】
【0022】
【図1】本実施の形態が適用されるネットワークシステムの全体構成を示した図である。
【図2】アプリケーションサーバの構成を示した図である。
【図3】ログインサーブレット(Servlet01)にてなされる処理を示したフローチャートである。
【図4】セッションタイマ取得サーブレット(Servlet02)にてなされる処理を示したフローチャートである。
【図5】セッションタイマセットサーブレット(Servlet03)にてなされる処理を示したフローチャートである。
【図6】クライアントにてなされる処理を示したフローチャートである。
【図7】WebPadの処理を示したフローチャートである。
【図8】WebPad.htmlの構成要素を示した図である。
【図9】WebPad.htmlにおける処理を示したフローチャートである。
【図10】(a),(b)は、ステップ304にて呼び出される関数1(func1)の処理を示したフローチャートである。
【図11】WebPad.htmlにおいて、タイマイベント割り込みがあった場合における関数3(func3)の処理を示したフローチャートである。
【図12】(a),(b)は、WebPad.htmlにおいて、延長時間が設定されて送信ボタンがクリックされ、イベント割り込みがなされた場合における関数2(func2)の処理を示したフローチャートである。
【図13】(a),(b)は、クライアントのブラウザ上にて表示されるデータエントリ画面の表示例を示した図である。
【発明を実施するための形態】
【0023】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図1は、本実施の形態が適用されるネットワークシステムの全体構成を示した図である。このネットワークシステムでは、アプリケーションサービスを受けるユーザ端末であるクライアント10がインターネット等のネットワーク20を介して接続され、また、このネットワーク20にはアプリケーションシステム30が接続されている。アプリケーションシステム30は、役割分担から見ると、HTMLのサービスを提供するWebサーバ40と、アプリケーションサービスを提供するアプリケーションサーバ50とを備えている。但し、Webサーバ40とアプリケーションサーバ50とをまとめて、アプリケーションシステム30を1つのサーバとして把握することも可能である。
【0024】
図2は、アプリケーションサーバ50の構成を示した図である。本実施の形態が適用されるアプリケーションサーバ50は、ログインサーブレット(Servlet01)51、セッションタイマ取得サーブレット(Servlet02)52、セッションタイマセットサーブレット(Servlet03)53を備えている。また、顧客のIDとパスワード(PW)が格納された顧客データベース(DB)55を備えている。
【0025】
このログインサーブレット(Servlet01)51は、クライアント10のユーザ情報を格納できるオブジェクト(Sess01)とクライアント10を特定するためのクッキー(Cookie01)を作成し、Webセッションのタイムアウトまでの残り時間を表示するウィンドウ(WebPadと呼ぶ)を生成するアプレット(Applet)を含むHTMLをクライアント10に送信する。このウィンドウであるWebPadは、本実施の形態における最も特徴的な構成であり、タイムアウト値を一定周期で提示し、ユーザが望む場合には、その時間を変更できるような手段を備えたものである。このタイムアウト値は、クライアント10とサーバであるアプリケーションシステム30との間に通信がない場合に、ユーザの意思に関わらずオブジェクト自体が消滅してしまう時間である。WebPadは、オペレーティングシステムからみると単なるウィンドウ(ソフトウェア)として実装されることから、ウィンドウシステムを持っているあらゆるオペレーティングシステムへの実装が可能である。
【0026】
セッションタイマ取得サーブレット(Servlet02)52は、Httpセッションオブジェクト(Sess01)のAPI(Application Program Interface)を使用してタイムアウトまでの残り時間を取得し、クライアント10に送信している。また、セッションタイマセットサーブレット(Servlet03)53は、Httpセッションオブジェクト(Sess01)のAPIを使用してタイムアウトまでの残り時間を引き延ばし、更新された残り時間をクライアント10に送信している。
【0027】
図3は、ログインサーブレット(Servlet01)51にてなされる処理を示したフローチャートである。まず、クライアント10からユーザIDとパスワードを受信し(ステップ101)、顧客データベース55を参照して受信されたユーザIDとパスワードを確認する(ステップ102)。確認の結果、ユーザとして問題がないかどうか(OKか否か)が判断され(ステップ103)、OKではない場合には、エラー画面のリプライ(Reply:応答)がなされる(ステップ104)。OKである場合には、クライアント10のユーザ情報を格納できるHttpセッションオブジェクト(Sess01)の作成がなされる(ステップ105)。そして、クライアント10を特定するためのクッキー(Cookie01)が作成され(ステップ106)、アプリケーションのHTML(APP01.html)がリプライ(Reply)される。即ち、アプリケーションに関するデータのエントリを行うためのプログラムと共にウィンドウ(WebPad)を生成するためのプログラムが送信される。このアプリケーションのHTML(APP01.html)は、WebPadのHTMLをフレームの画面分割として含む一つのHTMLであり、Entry.htmlとWebPad.htmlから構成されている。
【0028】
尚、ユーザ認証については、ログインサーブレット(Servlet01)51にてなされる方法以外に、チャレンジ・レスポンス認証等のWebサーバ40による機能の他、ベリサイン(米国ベリサイン社)などからの証明書による認証等がある。
【0029】
図4は、セッションタイマ取得サーブレット(Servlet02)52にてなされる処理を示したフローチャートである。セッションタイマ取得サーブレット(Servlet02)52では、まず、クライアント10からのHttpリクエストに付加されているクッキー(Cookie01)からHttpセッションオブジェクト(Sess01)を特定する(ステップ111)。次に、ログインサーブレット(Servlet01)51にて作成されたHttpセッションオブジェクト(Sess01)のAPI(GetMaxInActiveInterval())を使用して、タイムアウトまでの残り時間T1を取得する(ステップ112)。そして、取得された残り時間T1をリプライ(Reply:応答)する(ステップ113)。
【0030】
図5は、セッションタイマセットサーブレット(Servlet03)53にてなされる処理を示したフローチャートである。セッションタイマセットサーブレット(Servlet03)53では、まず、クライアント10からのHttpリクエストに付加されているクッキー(Cookie01)からHttpセッションオブジェクト(Sess01)を特定する(ステップ121)。次に、ログインサーブレット(Servlet01)51にて作成されたHttpセッションオブジェクト(Sess01)のAPI(SetMaxInActiveInterval())を使用して、タイムアウトまでの残り時間T1をT2まで引き延ばす(ステップ122)。そして、GetMaxInActiveInterval()の呼び出しで更新された残り時間T3を取得後、クライアント10にリプライ(Reply)する(ステップ123)。
【0031】
次に、クライアント10にてなされる処理について説明する。
図6は、クライアント10にてなされる処理を示したフローチャートである。ユーザは、クライアント10の端末からWebサーバ40のURLにアクセスし(ステップ201)、ログイン画面(Login.html)をダウンロードして、ディスプレイに初期画面を表示する(ステップ202)。そして、ユーザIDとパスワードを入力し、Webサーバ40(アプリケーションシステム30)に送信する(ステップ203)。ユーザIDとパスワードに問題があれば、アプリケーションシステム30からError.htmlが送信され、エラー表示がなされる。
【0032】
ユーザIDとパスワードに問題がなければ、アプリケーションシステム30から、アプリケーションサーバ50で生成されたアプリケーションHTML(APP01.html)とクッキー(Cookie01)が受信され(ステップ204)、WebPadを含むデータエントリ画面が表示される(ステップ205)。その後、データのエントリ処理(ステップ206)と、WebPadの処理(ステップ207)がなされる。受信されるアプリケーションHTML(APP01.html)の中には、Frameタグで2つのHTML(Entry.html、WebPad.html)が設定されている。ユーザは、WebPadの処理によって実行される画面上のWebPad表示を参照して、タイムアウト時間を確認しながらデータ入力を行うことができる。時間が不足と判断した際には、例えばWebPad上に延長時間を入力し、送信ボタンをクリックしてアプリケーションサーバ50に送信することで、タイムアウトまでの時間を延ばすことができる。このとき、Httpセッションはタイムアウトを発生していないことから、データミッシングを起こすことなく、処理を継続することが可能となる。
【0033】
図7は、WebPadの処理を示したフローチャートである。WebPadの処理では、まず、アプリケーションサーバ50のHttpセッションにおけるタイムアウト時間(タイムアウトまでの残り時間)を取得する(ステップ211)。即ち、WebPadは、生成直後にアプリケーションサーバ50のセッションタイマ取得サーブレット(Servlet02)52を呼び出し、セッションタイマ取得サーブレット(Servlet02)52によって呼び出されたGetMaxInActiveInterval()で取得された残り時間T1を受信する。次に、アプリケーションサーバ50から受信した残り時間T1が表示され、タイマをスタートし(ステップ212)、タイマ更新イベント毎に、残り時間の更新と残り時間の表示がなされる(ステップ213)。
【0034】
次に、延長ボタンクリックイベントが発生したか否かが判断される(ステップ214)。延長ボタンクリックイベントが発生していない場合にはステップ213へ戻り、延長ボタンクリックイベントが発生している場合には、延長時間のエントリフィールドからの時間T2の読み取りと、時間T2の妥当性チェックがなされる(ステップ215)。そして、時間T2をパラメータとして、セッションタイマセットサーブレット(Servlet03)53を呼び出す(ステップ216)。その後、更新された残り時間T3を表示し、タイマをスタートさせ(ステップ217)、ステップ213に戻る。
【0035】
次に、WebPadの実装HTMLであるWebPad.htmlについて説明する。図8は、WebPad.htmlの構成要素を示した図である。WebPad.htmlは、前述のように、アプリケーションサーバ50のログインサーブレット(Servlet01)51からリプライされるアプリケーションHTML(APP01.html)の中に設定されている。図8に示すように、WebPad.htmlは、セッションタイムアウト値の表示や内部タイマによる更新を行うメインJavaScript60(Java及びJavaを含む名称は商標又は登録商標)の他に、表示処理用スクリプト(Script)である関数1(func1)61、延長ボタン処理用Scriptである関数2(func2)62、タイムアウト処理用Scriptである関数3(func3)63等の各スクリプト(Script)関数、アプレットタグ情報65等から構成される。
【0036】
関数1(func1)61は、表示処理用の関数(function)であり、セッションタイマ取得サーブレット(Servlet02)52を起動するアプレット(Aplt01)を呼び出し、セッション(Session)タイムアウト時間を取得後、セッションタイマ値をグローバル変数値SSTMにセットする。関数2(func2)62は、延長ボタンがクリックされたとき(その他、延長時間が設定されて送信ボタンがクリックされたとき等)に走るイベントハンドラから呼ばれる関数であり、この関数内でSession時間の延長処理を行うアプレット(Aplt02)を呼び出し、延長したSession時間をグローバル変数値SSTMに書き出している。関数3(func3)63は、内部タイマがタイムアウトしたときに呼ばれる関数であり、Sessionタイムアウト時間TM01の更新(内部タイマを1分としたときに(SSTM−1)分)と再表示、および次の内部タイマのセット(1分)をする。
【0037】
また、アプレットタグ情報65によって呼び出されるJavaアプレットとしては、Aplt01、Aplt02がある。Aplt01は、String型のCookieを引数とするメソッドGetter()を持つJavaアプレットである。Getterは、URLオブジェクト(Host,Port等を引数)およびURLコネクションオブジェクトを作成し、このオブジェクトにHttpリクエストヘッダ、Cookieをセットし、セッションタイマ取得サーブレット(Servlet02)52を呼び出す。サーブレットからの戻り値は、セッションタイムアウト値としてGetter()メソッドの戻り値とする。Aplt02は、String型のCookieとInteger型の延長時間T1を引数とするメソッドSetter()を持つJavaアプレットである。Setterは、URLオブジェクト(Host,Port等を引数)およびURLコネクションオブジェクトを作成し、このオブジェクトにHttpリクエストヘッダ、Cookieをセットし、セッションタイマセットサーブレット(Servlet03)53を呼び出す。サーブレットからの戻り値は、新しいセッションタイムアウト値としてSetter()メソッドの戻り値とされる。
【0038】
図9は、図8に示すような構成要素を備えるWebPad.htmlにおける処理を示したフローチャートである。WebPad.htmlでは、まず、GUIパーツ(ボタン・入力域)の宣言がなされ(ステップ301)、使用するアプレット(Aplt01/Aplt02)の宣言がなされる(ステップ302)。次に、スクリプト(Script)の宣言を行い(ステップ303)、セッションタイムアウト時間を取得する関数1(func1)61を呼び出す(ステップ304)。その後、内部タイマ値(1分)とタイムアウト後に呼び出される関数3(func3)63を内部タイマ設定用のAPI(例えばWindowオブジェクトのsetTimeout)にセットする(ステップ305)。
【0039】
図10(a),(b)は、ステップ304にて呼び出される関数1(func1)61の処理を示したフローチャートである。図10(a)は関数1(func1)61の主要な処理の流れを示し、図10(b)は関数1(func1)61によって呼び出されるJavaアプレット(Aplt01)のメソッドGetterの処理を示している。関数1(func1)61は、図10(a)に示すように、まず、クッキー(Cookie)が取得され(ステップ401)、このCookie値を引数としてJavaアプレット(Aplt01)のメソッドGetterの呼び出しがなされる(ステップ402)。その後、図10(b)に示す処理により得られたセッションタイマ値をグローバル変数値SSTMに保存する(ステップ403)。
【0040】
ステップ402によって呼び出されたJavaアプレット(Aplt01)のメソッドGetter(String Cookie)は、図10(b)に示すように、まず、ホスト名、ポート番号およびサーブレット名を引数としてURLオブジェクトが作成され(ステップ411)、このURLオブジェクトからURLコネクションが作成される(ステップ412)。そして、URLコネクションオブジェクトに対して必要なHttpヘッダ・Cookieを設定し、アプリケーションサーバ50のセッションタイマ取得サーブレット(servlet02)52に起動リクエストを出す(ステップ413)。その後、セッションタイマ取得サーブレット(servlet02)52からの戻りのセッションタイムアウト値をStreamで受け取り、リターン(Return)値とする(ステップ414)。このリターン値は、図10(a)のステップ403の処理に用いられる。
【0041】
図11は、WebPad.htmlにおいて、タイマイベント割り込みがあった場合における関数3(func3)63の処理を示したフローチャートである。タイマイベント割り込みがあると、関数3(func3)63では、まず、セッションタイマのグローバル変数値SSTMの更新(−1分)がなされ(ステップ501)、更新されたSSTMを残りタイムアウト時間として表示する(ステップ502)。そして、このSSTMが0か否かが判断され(ステップ503)、0である場合には処理が終了し、0でない場合には、内部タイマ値の再セットとタイムアウト後に呼び出される関数3(func3)63をセットして、内部タイマを再スタートさせる(ステップ504)。
【0042】
図12(a),(b)は、WebPad.htmlにおいて、ユーザから延長時間が設定されて送信ボタンがクリックされ、イベント割り込みがなされた場合における関数2(func2)62の処理を示したフローチャートである。図12(a)は関数2(func2)62の主要な処理の流れを示し、図12(b)は関数2(func2)62によって呼び出されるJavaアプレット(Aplt02)のメソッドSetterの処理を示している。
【0043】
図12(a)に示すように、イベント割り込みがあると、関数2(func2)62は、延長時間エントリフィールドから時間T2を取得し(ステップ601)、この時間T2が妥当であるか否かが判断される(ステップ602)。時間T2が妥当でない場合には関数2(func2)62の処理が終了し、時間T2が妥当である場合には、Cookieが取得される(ステップ603)。そして、取得されたCookie値および延長時間T2を引数としてJavaアプレット(Aplt02)のメソッドSetterが呼び出される(ステップ604)。そのSetter()メソッドからの戻り値をセッションタイマSSTMにセットする(ステップ605)。
【0044】
ステップ604で呼び出されたJavaアプレット(Aplt02)のメソッドSetterでは、図12(b)に示すように、ホスト名、ポート番号およびサーブレット(Servlet)名を引数としてURLオブジェクトが作成され(ステップ611)、このURLオブジェクトからURLコネクションが作成される(ステップ612)。次に、URLコネクションオブジェクトに対して必要なHttpヘッダ、Cookie、および新しいタイマ値を設定し、セッションタイマセットサーブレット(Servlet03)53に起動リクエストを出す(ステップ613)。その後、セッションタイマセットサーブレット(Servlet03)53から戻されたセッションタイムアウト値をStreamで受け取り、リターン値とする(ステップ614)。このリターン値は、図1212(a)のステップ605の処理に用いられる。
【0045】
図13(a),(b)は、クライアント10のブラウザ上にて表示されるデータエントリ画面の表示例を示した図であり、図13(a)はWebPadを含むデータエントリ画面を示し、図13(b)はWebPadのGUI(Graphical User Interface)例を示している。図13(a)に示すデータエントリ画面は、アプリケーションサーバ50のログインサーブレット(Servlet01)51から得られるアプリケーションHTML(APP01.html)に基づいて表示され、その表示には、例えば旅行予約等の一般的な入力画面の他に、Webセッションのタイムアウトまでの残り時間を表示するウィンドウであるWebPad表示70が含まれている。このWebPad表示70は、フレームタグ指定により、クライアント10にて実行されるブラウザ画面内の一分割画面として表示される。
【0046】
図13(b)に示すWebPad表示70には、タイムアウトまでの時間情報である時間表示71と、ユーザが希望する延長を入力するための延長入力表示72がある。クライアント10では、WebPadウィンドウをクライアント10のマシン上のブラウザで生成して表示する。この時間表示71では、まず、アプリケーションサーバ50のセッションタイマ取得サーブレット(Servlet02)52から得られた残り時間T1が表示され、その後、タイマ更新イベント毎による残り時間が更新されて、例えば1分単位で表示される。延長入力表示72では、ユーザが希望する延長時間の入力を、例えば1分単位で受け付け、送信ボタンをクリックすることによって、ユーザが希望する延長を受け付けることができる。この送信ボタンのクリックによって、図12(a),(b)に示した関数2(func2)62の処理が実行される。
【0047】
尚、図13(b)では、延長時間をユーザが入力するように構成したが、例えばラジオボタンにより、即ち、例えば10分単位や5分単位からなる複数のボタンを表示し、所定のボタンをクリックすることによって延長を受け付けるように構成することも可能である。また、時間表示71の代わりに、または時間表示71と共に、例えば時計の針やバーの長さのような表示(アナログ表示等)によって、タイムアウトまでの時間に関する情報を表示するように構成しても構わない。
【0048】
尚、ここでは、ブラウザ画面内の一分割画面として表示される例を示したが、このフレーム分割以外に、JavaScriptのWindowオブジェクト関数Openを使用することにより、このWebPad表示70自体を別ウィンドウにすることや、例えば、タイムアウト時間はもとのウィンドウとし、延長パネルだけを別ウィンドウにすることもできる。この別ウィンドウにする際には、JavaScriptの機能によって、2〜3行のスクリプトで表示することが可能となる。
【0049】
このように本実施の形態では、クライアント10からの要求を受けてアプリケーションサーバ50のWebアプリケーションが開始したときに、Httpセッションオブジェクト(Sess01)が通常備えるタイムアウト値を一定周期で提示するウィンドウ(WebPadと呼ぶ)をユーザ(クライアント10)に提供している。そして、ユーザが望む場合には、そのウィンドウから延長したい時間を入力してサーバに送信し、Webのセッションタイムまでの時間を延長することにより、旅行予約等の入力を継続することが可能となる。即ち、このWebPadの利用によって、BtoCアプリケーションの付加価値、信頼性、効率性の向上が期待できる。
【0050】
尚、本実施の形態では、Webサーバ40とアプリケーションサーバ50とによってアプリケーションシステム30が構成される場合について説明したが、アプリケーションシステム30として1つのサーバとすることも可能である。また、物理的にWebサーバ40とアプリケーションサーバ50とが分かれている場合であっても、その機能としては両者が絡み合い、実際には、各機能が明確に分かれるものではない。
【符号の説明】
【0051】
10…クライアント、20…ネットワーク、30…アプリケーションシステム、40…Webサーバ、50…アプリケーションサーバ、51…ログインサーブレット(Servlet01)、52…セッションタイマ取得サーブレット(Servlet02)、53…セッションタイマセットサーブレット(Servlet03)、55…顧客データベース、60…メインJavaScript、61…関数1(func1)、62…関数2(func2)、63…関数3(func3)、65…アプレットタグ情報、70…WebPad表示、71…時間表示、72…延長入力表示

【特許請求の範囲】
【請求項1】
ネットワークを介してWebアプリケーションサービスを提供するサーバと、
前記ネットワークを介して前記Webアプリケーションサービスの提供を受けるクライアント端末とを備え、
前記サーバは、前記WebアプリケーションサービスにおけるHttpセッションオブジェクトのタイムアウトまでの残り時間を表示するウィンドウを生成するためのプログラムを前記クライアント端末に送信し、
前記クライアント端末は、受信される前記プログラムに基づいて前記ウィンドウを表示することを特徴とするネットワークシステム。
【請求項2】
前記サーバは、前記Webアプリケーションサービスに関するデータのエントリを行うためのプログラムと共に前記ウィンドウを生成するためのプログラムを送信することを特徴とする請求項1記載のネットワークシステム。
【請求項3】
前記サーバは、前記クライアント端末に対するHttpセッションオブジェクトからタイムアウトまでの残り時間を取得し、当該クライアント端末に対して当該残り時間を送信することを特徴とする請求項1記載のネットワークシステム。
【請求項4】
前記ウィンドウは、タイムアウトまでの残り時間を延長させるための指示を入力可能に構成されていることを特徴とする請求項1記載のネットワークシステム。
【請求項5】
ネットワークを介してクライアントに対しWebアプリケーションを提供するサーバであって、
前記クライアントを特定する特定情報が格納されるHttpセッションオブジェクトを作成するセッションオブジェクト作成手段と、
前記Httpセッションオブジェクトの有するタイムアウトまでの残り時間を表示するウィンドウを生成するためのプログラムを前記ネットワークを介して前記クライアントに提供するウィンドウ提供手段と
を備えたことを特徴とするサーバ。
【請求項6】
前記クライアントに対する前記Httpセッションオブジェクトからタイムアウトまでの残り時間を取得する時間情報取得手段と、
前記時間情報取得手段により取得された前記残り時間を前記クライアントに対して送信する時間情報送信手段と
を更に備えたことを特徴とする請求項5記載のサーバ。
【請求項7】
前記ウィンドウに対してなされる延長の指示を前記ネットワークを介して受信する延長指示受信手段と、
前記延長指示受信手段により受信された前記延長の指示に基づき、前記Httpセッションオブジェクトの前記タイムアウトまでの残り時間を引き延ばす時間延長手段と
を更に備えたことを特徴とする請求項5記載のサーバ。
【請求項8】
引き延ばされた結果である前記タイムアウトまでの残り時間の更新時間を前記クライアントに送信する更新時間送信手段を更に備えたことを特徴とする請求項7記載のサーバ。
【請求項9】
ネットワークを介してクライアントに対しWebアプリケーションを提供するサーバであって、
前記クライアントから受信したクライアント情報に基づいてHttpセッションオブジェクトを作成すると共に、当該Httpセッションオブジェクトのタイムアウトまでの残り時間を表示するウィンドウを生成するためのプログラムを前記クライアントに提供する第1の手段と、
前記ウィンドウに表示される残り時間に関する情報を前記クライアントに提供する第2の手段と、
前記クライアントからの時間延長要求に基づいて、更新された残り時間に関する情報を当該クライアントに提供する第3の手段と
を備えることを特徴とするサーバ。
【請求項10】
前記第1の手段は、前記クライアント情報に基づいてクッキー情報を作成して前記クライアントに送信し、
前記第2の手段および前記第3の手段は、前記クライアントから受信された前記クッキー情報に基づいて前記Httpセッションオブジェクトを特定することを特徴とする請求項9記載のサーバ。
【請求項11】
ネットワークに接続されるウェブサーバのURLにアクセスし、初期画面を表示するための初期画面プログラムを受信する初期画面プログラム受信手段と、
前記初期画面プログラムからユーザ名およびパスワードを入力して前記ウェブサーバに送信するユーザ情報送信手段と、
Httpセッションオブジェクトのタイムアウトまでの残り時間を提供するためのウィンドウを生成するためのウィンドウプログラムと、データエントリのためのデータエントリプログラムとを前記ウェブサーバから受信するプログラム受信手段と、
受信された前記データエントリプログラムに基づいてデータエントリのための画面を表示すると共に、前記ウィンドウプログラムに基づいて前記ウィンドウを表示する表示手段と
を備えたことを特徴とするクライアント端末。
【請求項12】
前記表示手段に表示されたウィンドウに基づき、前記タイムアウトまでの残り時間の延長を指示する延長指示手段を更に備えたことを特徴とする請求項11記載のクライアント端末。
【請求項13】
前記表示手段に表示される前記ウィンドウは、前記データエントリのための画面を表示するブラウザ画面内の一分割画面として表示されることを特徴とする請求項11記載のクライアント端末。
【請求項14】
前記表示手段に表示される前記ウィンドウは、前記データエントリのための画面を表示するブラウザとは別ウィンドウで表示されることを特徴とする請求項11記載のクライアント端末。
【請求項15】
ネットワークを介してアプリケーションサーバからWebアプリケーションの提供を受けるクライアント端末であって、
前記WebアプリケーションにおけるHttpセッションオブジェクトのタイムアウトまでの残り時間を取得する取得手段と、
前記取得手段により取得された時間情報を表示する表示手段と、
前記表示手段に表示される時間情報に対する延長の指示を受けて前記アプリケーションサーバから引き延ばされた更新時間情報を取得する更新時間情報取得手段とを備え、
前記表示手段は、前記更新時間情報取得手段により取得された更新時間情報を表示することを特徴とするクライアント端末。
【請求項16】
サーバのコンピュータ装置におけるCPUがメモリを用いて実行し、ネットワークを介して当該サーバからクライアントになされるタイムアウト時間情報の提供方法であって、
前記クライアントのユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する処理と、
前記Httpセッションオブジェクトのタイムアウトまでの残り時間を前記クライアントにて表示するためのウィンドウを生成するためのプログラムを当該クライアントに送信する処理と、
前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を取得する処理と、
取得された前記残り時間情報を前記クライアントに送信する処理と
を有することを特徴とするタイムアウト時間情報提供方法。
【請求項17】
前記クライアントから前記ネットワークを介して前記Httpセッションオブジェクトの残り時間の延長要求を受信する処理と、
前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を延長する処理と、
延長された前記残り時間による更新残り時間情報を前記ネットワークを介して前記クライアントに送信する処理と、
を更に有することを特徴とする請求項16記載のタイムアウト時間情報提供方法。
【請求項18】
前記クライアントに送信される前記ウィンドウを生成するためのプログラムは、前記クライアントにおけるブラウザ画面内の一分割画面として当該ウィンドウを生成して表示することを特徴とする請求項16記載のタイムアウト時間情報提供方法。
【請求項19】
前記クライアントに送信される前記ウィンドウを生成するためのプログラムは、前記クライアントにおけるブラウザ画面とは別ウィンドウにて前記時間情報を表示することを特徴とする請求項16記載のタイムアウト時間情報提供方法。
【請求項20】
ネットワークに接続されるクライアントのコンピュータ装置にてCPUがメモリを用いて実行するタイムアウト時間情報の表示方法であって、
前記ネットワークに接続されたアプリケーションサーバからHttpセッションオブジェクトのタイムアウトまでの残り時間を受信する処理と、
前記アプリケーションサーバから受信した前記Httpセッションオブジェクトのタイムアウトまでの残り時間を画面上に表示する処理と、
クライアント側の内部タイマをスタートさせる処理と、
スタートさせた前記内部タイマによる更新イベント毎に前記残り時間を更新して表示する処理と
を有することを特徴とするタイムアウト時間情報表示方法。
【請求項21】
表示される残り時間に対する延長要求のイベントの発生を認識する処理と、
イベントの発生があった前記延長要求に対するHttpリクエストを前記アプリケーションサーバに送信する処理と、
前記アプリケーションサーバにて更新された残り時間を当該アプリケーションサーバから受信して表示する処理と
を更に有することを特徴とする請求項20記載のタイムアウト時間情報表示方法。
【請求項22】
コンピュータに、
ネットワークを介して接続されるクライアントのユーザ情報を格納できるHttpセッションオブジェクトを作成してメモリに格納する機能と、
前記Httpセッションオブジェクトにおけるタイムアウトまでの残り時間を前記クライアントにて表示するためのウィンドウを生成するためのプログラムを当該クライアントに送信する機能と、
前記HttpセッションオブジェクトのAPI(Application Program Interface)を使用して当該Httpセッションオブジェクトのタイムアウトまでの残り時間を取得する機能と、
取得された前記残り時間情報を前記クライアントに送信する機能と
を実現させるためのプログラム。
【請求項23】
前記コンピュータに、更に、
前記クライアントから前記ネットワークを介して前記Httpセッションオブジェクトの残り時間の延長要求を受信する機能と、
受信された前記延長要求に基づいて前記メモリに格納された前記Httpセッションオブジェクトのタイムアウトまでの残り時間を延長する機能と、
延長された前記残り時間による更新残り時間情報を前記ネットワークを介して前記クライアントに送信する機能と
を実現させるための請求項22記載のプログラム。
【請求項24】
アプリケーションサーバに対してネットワークを介して接続されるコンピュータに、
前記アプリケーションサーバのHttpセッションオブジェクトのタイムアウトまでの残り時間を前記ネットワークを介して取得する機能と、
受信した前記Httpセッションオブジェクトのタイムアウトまでの残り時間を画面上に表示する機能と、
クライアント側の内部タイマをスタートさせてタイマ更新イベント毎に前記残り時間を更新して表示する機能と、
更新して表示される前記残り時間に対する延長要求のイベントの発生を認識する機能と、
認識された前記延長要求に対する更新された残り時間を前記アプリケーションサーバから前記ネットワークを介して受信して表示する機能と
を実現させるためのプログラム。

【図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


【公開番号】特開2010−15587(P2010−15587A)
【公開日】平成22年1月21日(2010.1.21)
【国際特許分類】
【出願番号】特願2009−194488(P2009−194488)
【出願日】平成21年8月25日(2009.8.25)
【分割の表示】特願2001−339945(P2001−339945)の分割
【原出願日】平成13年11月5日(2001.11.5)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
【Fターム(参考)】