説明

Webアプリケーション管理システム、およびWebアプリケーション管理方法、およびWebアプリケーション管理プログラム

【課題】Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開を可能とする。
【解決手段】クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる退避部207と、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについて前回ログイン時から途中中断時までに退避させたURL情報群をクライアントに送信し、ユーザが選択したURL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して復元しWebアプリケーションを再開する途中再開部204からWebアプリケーション管理システム5を構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webアプリケーション管理システム、およびWebアプリケーション管理方法、およびWebアプリケーション管理プログラムに関するものであり、具体的には、Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開を可能とする技術に関する。
【背景技術】
【0002】
Webサーバ上で動作するWebアプリケーションが、インターネット利用の拡大と共に広く利用されるようになった。Webアプリケーションを利用するユーザは、Webブラウザを利用してWebサーバにアクセスし、そのアプリケーションを利用することが可能である。Webアプリケーション本体はWebサーバにてインストールおよび運用されており、一方、クライアント側ではWebブラウザさえあればよいため、Webアプリケーションに関するメンテナンスの手間やコストを抑制できるとされる。
【0003】
こうしたWebアプリケーションとクライアントとの間を結びつける通信プロトコルがHTTP(HyperText Transfer Protocol)であり、このHTTPはリクエスト−レスポンス型のプロトコルである。そのため、クライアントがWebサーバにリクエストを送信し、Webサーバはこれにレスポンスを返す。そしてレスポンスを返した時点で接続は解除される(非特許文献1)。
【0004】
しかし、こうした手法におけるWebサーバは、クライアントからリクエストを受け取ってレスポンスを返す瞬間のみデータを保持する。そのため、例えば電子商取引サイトを提供するWebサーバにおいて、ユーザのログインからログアウトまでの間、データを保持し続ける必要があるWebアプリケーションでは問題がある。そこで、Webアプリケーションを用いてクライアント端末に複雑なサービスを提供する際の、セッション管理の仕組みが設けられている(非特許文献2)。
【0005】
このセッション管理は、Webサーバ側で発行されたセッションIDをクライアントのCookieに持たせることで特定ユーザの識別を行う。一般的なセッション管理では、クライアント側で一定時間通信が途絶えている場合、タイムアウトと認定され、セッション関連データが削除される。このような場合、ユーザは再度ログインを行い、削除されたセッション関連データを再度作成するためにWebアプリケーションの操作を最初から行わなければならない。この問題に対して、例えばセッションがタイムアウトした後の自動的な再接続を可能とする技術が挙げられている(特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−272471号公報
【非特許文献】
【0007】
【非特許文献1】HTTPプロトコル、[online]、平成14年、情報処理推進機構、<URL:http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap6/6_protocol-1.html>
【非特許文献2】セッション管理、[online]、平成14年、情報処理推進機構、<URL:http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap6/6_session-1.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
クライアントにおけるWebアプリケーションの操作中、Webサーバに対して一定時間通信が途絶え、タイムアウトが認定されてしまった場合、例えば特許文献1の方法を用いれば自動的な再開を行うことができる。しかし、Webアプリケーションの操作を行い、途中中断した後、所定時間が経過するとユーザはそれまでの操作詳細を忘却していることが多く、中断画面から作業を再開しても作業の継続が難しくなることがある。
【0009】
そこで本発明は上記事情に鑑みてなされたものであり、Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開を可能とする技術の提供を主たる目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決する本発明のWebアプリケーション管理システムは、Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置であり、Webアプリケーションと、ユーザの認証情報とを格納する記憶部と、クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる退避部と、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する途中再開部と、を備えることを特徴とする。
【0011】
なお、前記Webアプリケーション管理システムにおいて、前記退避部が、クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、URL情報、およびWebアプリケーションが使用するテーブルの更新情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させ、前記途中再開部が、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、セッション、およびテーブルの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、セッション、およびテーブルとして復元しWebアプリケーションを再開する、としてもよい。
【0012】
また、前記Webアプリケーション管理システムにおいて、前記途中再開部が、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点より以降に退避させたURL、リクエスト、およびセッションの各情報を記憶部から削除し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する、としてもよい。
【0013】
また、本発明のWebアプリケーション管理方法は、Webアプリケーションと、ユーザの認証情報とを格納する記憶部を備え、Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置が、クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる処理と、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する処理と、を実行することを特徴とする。
【0014】
また、本発明のWebアプリケーション管理プログラムは、Webアプリケーションと、ユーザの認証情報とを格納する記憶部を備え、Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置に、クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる処理と、前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する処理と、を実行させることを特徴とする。
【0015】
その他、本願が開示する課題、およびその解決方法は、発明を実施するための最良の形態の欄、および図面により明らかにされる。
【発明の効果】
【0016】
したがって本発明によれば、Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開が可能となる。
【図面の簡単な説明】
【0017】
【図1】本実施形態におけるWebアプリケーション管理システムを含むネットワーク構成図である。
【図2】本実施形態におけるクライアントPCの構成図である。
【図3】本実施形態におけるWebサーバの構成図である。
【図4】本実施形態におけるDBサーバの構成図である。
【図5】本実施形態におけるリクエスト情報テーブルの構造例と遷移状況を示す図である。
【図6】本実施形態におけるURL情報テーブルの構造例と遷移状況を示す図である。
【図7】本実施形態におけるセッション情報テーブルの構造例と遷移状況を示す図である。
【図8】本実施形態におけるユーザテーブルの構成例である。
【図9】本実施形態における施設予約申請テーブルの構造例と遷移状況例1を示す図である。
【図10】本実施形態における施設予約申請テーブルの構造例と遷移状況例1を示す図である。
【図11】本実施形態における画面例1を示す図である。
【図12】本実施形態における画面例2を示す図である。
【図13】本実施形態における画面例3を示す図である。
【図14】本実施形態における画面例4を示す図である。
【図15】本実施形態における画面例5を示す図である。
【図16】本実施形態における画面例6を示す図である。
【図17】本実施形態における画面例7を示す図である。
【図18】本実施形態のWebアプリケーション管理方法の処理手順例1を示すフロー図である。
【図19】本実施形態のWebアプリケーション管理方法の処理手順例2を示すフロー図である。
【図20】本実施形態のWebアプリケーション管理方法の処理手順例3を示すフロー図である。
【図21】本実施形態のWebアプリケーション管理方法の処理手順例4を示すフロー図である。
【図22】本実施形態のWebアプリケーション管理方法の処理手順例5を示すフロー図である。
【図23】本実施形態のWebアプリケーション管理方法の処理手順例6を示すフロー図である。
【図24】本実施形態のWebアプリケーション管理方法の処理手順例7を示すフロー図である。
【図25】本実施形態におけるリクエスト情報の構造例である。
【図26】本実施形態におけるリクエスト情報の具体例である。
【図27】本実施形態におけるレスポンス情報の例である。
【発明を実施するための形態】
【0018】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態のWebアプリケーション管理システム5を含むネットワーク構成図である。図1に示すWebアプリケーション管理システム5(以下、システム5)は、Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開を可能とするコンピュータシステムである。
【0019】
前記システム5は例えば複数のサーバ群で構成されたコンピュータシステムであり、各サーバらはハードディスクドライブやメモリなどで構成される記憶部、CPUなどの制御部、通信部たるネットワークインターフェイス部らがBUSにより互いに接続されて構成されている。本実施形態における前記システム5は、Webサーバ002、DBサーバ003とがネットワーク14で互いに協働する構成としている。前記ネットワーク14には、Webアプリケーションを利用するユーザが使用する、複数のクライアントPC001が接続されている。なお、本実施形態では前記システム5を複数のサーバで構成した例を示すが、1つのサーバ装置に前記サーバ002〜003らの機能を集約して構成するとしても勿論問題ない。
【0020】
以下、各装置の構成例について説明する。図2はクライアントPC001の構成図である。前記クライアントPC001は、CPUなどで構成される制御部100、ディスプレイ103、キーボード104、およびマウス105を持ち、ハードディスクドライブやメモリ等で構成した記憶部101に格納されるWebブラウザ102の実行、操作が可能である。前記Webブラウザ102はネットワークインターフェイス部106を経由し、Webサーバ002のWebアプリケーション205を使用することができる。
【0021】
図3はWebサーバ002の構成図である。前記Webサーバ002は制御部200、記憶部201、およびネットワークインターフェイス部206を備えており、前記記憶部201には、リクエスト・URL情報管理部202およびセッション情報管理部203からなる退避部207と、途中再開部204、およびWebアプリケーション205を備えている。前記退避部207は、クライアントPC001からの要求に応じてユーザについてのログイン認証を記憶部(ここではDBサーバ003のユーザテーブル305)の認証情報に基づき実行した後、該当クライアントPC001に提供しているWebアプリケーション205に関して、クライアントPC001のWebブラウザ102からの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部(ここではDBサーバ003の記憶部301)に格納して退避させる。
【0022】
なお、前記退避部207は、クライアントPC001からの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントPC001に提供しているWebアプリケーション205に関して、クライアントPC001のWebブラウザ102からの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、URL情報、およびWebアプリケーション205が使用するテーブルの更新情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させ、タイムアウトによる前記Webアプリケーション205の途中中断の事象を該当ユーザおよびWebアプリケーション205に対応付けて記憶部に記録するとしてもよい。
【0023】
こうした退避部207の機能のうち、前記クライアントPC001のWebブラウザ102から当該Webサーバ002にアクセスが発生した際に動作し、前記Webブラウザ102からのリクエスト情報とそのURLをDBサーバ003に格納する機能を担うプログラムがリクエスト・URL情報管理部202である。また、セッション情報をDBサーバ003に格納するプログラムがセッション情報管理部203である。
【0024】
また、前記途中再開部204は、ユーザがWebサーバ002に対するログイン操作を行った際に動作し、途中中断後における、Webアプリケーション205の任意の画面からの再開処理を担うプログラムである。より詳細に述べると、この途中再開部204は、前記情報の退避がなされているWebアプリケーション205に関し(例:前記DBサーバ003のURL情報テーブル303でレコードが存在するもの)、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部(例:DBサーバ003のURL情報テーブル303)から読み出してクライアントPC001に送信し、ユーザが前記URL情報群より選択したURL情報をクライアントPC001から受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部(DBサーバ003のリクエスト情報テーブル302、URL情報テーブル303、セッション情報テーブル304)から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーション205を再開することとなる。
【0025】
なお、前記途中再開部204は、前記情報の退避がなされているWebアプリケーション205に関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントPC001に送信し、ユーザが前記URL情報群より選択したURL情報をクライアントPC001から受信し、該当URL情報が示す時点でのURL、リクエスト、セッション、およびテーブルの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、セッション、およびテーブルとして復元しWebアプリケーション205を再開するとしてもよい。
【0026】
また、前記途中再開部204は、前記情報の退避がなされているWebアプリケーション205に関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントPC001に送信し、ユーザが前記URL情報群より選択したURL情報をクライアントPC001から受信し、該当URL情報が示す時点より以降に退避させたURL、リクエスト、およびセッションの各情報を記憶部から削除し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーション205を再開する、としてもよい。
【0027】
なお、本実施形態においては、前記Webアプリケーション205として電子申請を受け付けて処理する電子申請部205を想定している。
【0028】
これら各部202〜207はネットワークインターフェイス部206を経由し、DBサーバ003にアクセスし、記憶部301に格納されている各テーブルを適宜変更するものとする。
【0029】
続いてDBサーバ003について説明する。図4はDBサーバ003の構成図である。前記DBサーバ003は制御部300と記憶部301、およびネットワークインターフェイス部307を備えており、前記記憶部301にはリクエスト情報を格納するリクエスト情報テーブル302を備える。このリクエスト情報テーブル302が格納するリクエスト情報は、図25に示す構造のリクエスト情報を復元するための情報である。例えば、URL[http://test/institution.jsp]にアクセスするリクエスト情報は図26の通りになり、リクエスト情報テーブル302へは図26のデータが格納されることとなる。このリクエスト情報テーブル302は、図5にも示すように、項目としてリクエスト情報を送信してきたクライアントPC001に関して認証されたユーザのID、前記ユーザがログインした時刻、リクエスト情報を格納した時刻(=現時刻)、上記Webブラウザ102が送信したリクエスト情報を持つ。
【0030】
また、前記DBサーバ003は、記憶部301においてURL情報を格納するURL情報テーブル303を備えている。このURL情報テーブル303は、図6にも示すように、項目としてリクエスト情報を送信してきたクライアントPC001に関して認証されたユーザのID、前記ユーザがログインした時刻、リクエスト情報を格納した時刻、リクエスト情報に格納されたURLの情報、リクエストに応じて作成されるレスポンスのtitleタグの値(図27の例であれば、「地区の選択」)を格納する画面名称、の各項目を持つ。
【0031】
また、前記DBサーバ003は、記憶部301において、セッション情報を格納するセッション情報テーブル304を備えている。このセッション情報テーブル304は、図7にも示すように、項目として、格納するセッションを使用するユーザのユーザID、そのユーザがログインした時刻、セッションを格納する時刻、セッション関連データ(=セッション情報)を持つ。なお、これら各テーブル302〜304において、ユーザID、ログイン時刻、格納時刻の各項目に関しては、同ユーザの同時期における同Webアプリケーションの利用に関して共通となる。
【0032】
また、前記DBサーバ003は、記憶部301において、ユーザの認証情報を格納するユーザテーブル305を備えている。このユーザテーブル305は、ユーザを一意に決定できるユーザID、ユーザの氏名、およびパスワードを項目として持つ。
【0033】
また、前記DBサーバ003は、記憶部301において、施設予約の電子申請の状態を格納するテーブルとして施設予約申請テーブル306を備えている。この施設予約申請テーブル306は、項目として、申請を行ったユーザのID、申請番号、対象施設所在地を示す地区ID、対象施設を示す施設ID、および予約日を項目として持つ。
【0034】
なお、前記DBサーバ003は、ネットワークインターフェイス部307を介して受けるアクセスに応じて前記テーブル類を操作することとなる。
【0035】
これまで示した前記システム5における各部202〜207はハードウェアとして実現してもよいし、メモリやHDD(Hard Disk Drive)などの適宜な記憶部に格納したプログラムとして実現するとしてもよい。この場合、CPUなど制御部がプログラム実行に合わせて記憶部より該当プログラムを読み出して、これを実行することとなる。
【0036】
−−−処理手順例1−−−
以下、本実施形態におけるWebアプリケーション管理方法の実際手順について図を用いながら説明する。以下で説明するWebアプリケーション管理方法に対応する各種動作は、前記システム5を構成するサーバらの制御部が実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。なお、本実施形態においては、Webアプリケーション205として施設予約についてユーザから受け付けて処理する電子申請部を想定しているため、処理手順の流れとしても施設予約の電子申請を例にあげて説明を行う。勿論、他のWebアプリケーション利用を伴う種々の状況にも本実施形態のWebアプリケーション管理方法を適用できる。ここで、施設予約の電子申請は、1.ログイン、2.電子申請のメニューの選択、3.予約する施設の地区の選択、4.予約する施設の選択、5.予約日の選択、6.申請の完了確認、の各操作をユーザが行っていくことで完了する。以下には、上記の3.〜5.の各操作時にシステム5において退避処理をし、途中中断にも対応して途中再開を可能にする例を説明する。
【0037】
図18は本実施形態のWebアプリケーション管理方法の処理手順例1を示すフロー図であり、具体的には、Webアプリケーションの途中中断がなされるまでの処理フローを示す図である。この場合、施設予約を行いたいユーザが、自身のクライアントPC001でWebブラウザ102を起動し、ログインURLを入力したとする。ここで前記クライアントPC001は、Webブラウザ102により該当URLに対応したWebサーバ002にアクセスする(S601)。
【0038】
一方、Webサーバ002は前記クライアントPC001に対してログイン画面をレスポンスとして返す(S602)。ログイン画面(図11)が表示されたクライアントPC001で、前記ユーザはWebブラウザ102にて、例えば、ユーザIDとして「123456」、パスワードとして「******」を入力し、これら認証情報の送信指示を行う。この送信指示を受けたクライアントPC001は前記認証情報をWebサーバ002に送信する(S603)。
【0039】
前記Webサーバ002は、クライアントPC001から受信したユーザID、パスワードを含む認証情報を、DBサーバ003のユーザテーブル305に照合するログイン認証の処理を行う(S604)。ログイン認証に成功したならば、前記退避部207は途中再開判定処理(S605)を実行する。この途中再開処理は、図22に示すフローに対応した処理となる。ここで前記退避部207は、DBサーバ003にアクセスしてURL情報テーブル303からログインユーザIDと同じユーザIDを取得する(S521)。本実施形態における現状では、前記URL情報テーブル303には図6のテーブル313の状態、つまりレコードが皆無の開始状態となっているため、レコードは取得できない。そこで前記退避部207は、ログイン後の電子申請のメニュー画面を記憶部から呼び出してレスポンスとして返す(S606)。
【0040】
クライアントPC001では図12のように申請メニュー画面を表示する。この画面を閲覧した前記ユーザは、例えば施設予約の申請ボタンを押下する。この時、クライアントPC001は前記押下されたボタンの情報をリクエストとしてWebサーバ002に送信する(S607)。
【0041】
一方、Webサーバ002は、前記リクエストを受信してリクエスト・URL情報管理部202に対応したプログラムを実行する(S608)。リクエスト・URL情報管理部202は、図20に示す処理フローを実行することとなる。ここで、リクエスト・URL情報管理部202は、クライアントPC001から送信されたリクエスト情報(図26参照)を取得する(S501)。次に、前記リクエスト・URL情報管理部202は、ログインユーザIDがユーザIDであり、ログインした時刻をログイン時刻であり、現在時刻が格納時刻であり、取得したリクエスト情報がリクエスト情報となるレコードをリクエスト情報テーブル302に追加する(S502)。このとき、ログインユーザIDが「123456」であり、ログインした時刻が「2009/03/13 10:11:11」であり、現在時刻が「2009/03/13/10 10:11:14」であるため、リクエスト情報テーブル302は、図5におけるテーブル312からテーブル322へと遷移する。
【0042】
次に、前記リクエスト・URL情報管理部202は、前記リクエスト情報からURLを取得し、そのURLのレスポンスから画面名称としてタイトルタグの値(例:図27における「施設の選択」)を取得する(S503)。
【0043】
また、前記リクエスト・URL情報管理部202は、ログインユーザIDが「ユーザID」で、ログインした時刻が「ログイン時刻」で、現在時刻が「格納時刻」で、取得したURLが「URL情報」で、取得した画面名称が「画面名称」となるレコードをURL情報テーブル303に追加する(S504)。このとき、ログインユーザIDが「123456」であり、ログインした時刻が「2009/03/13 10:11:11」であり、現在時刻が「2009/03/13/10 10:11:14」であり、リクエスト情報から取得したURLが「http://test/area.jsp」であるため、URL情報テーブル303は図6のテーブル313からテーブル323へと遷移する。そして、前記リクエスト・URL情報管理部202は、地区の選択画面(記憶部に予め保持)のレスポンスを前記クライアントPC001に返す(S609)。
【0044】
他方、クライアントPC001では、図13のように地区の選択画面を表示する。前記ユーザは、この選択画面において例えば「A地区」のボタンを押下したとする。この時、クライアントPC001は、押下されたボタンの情報をリクエストとしてWebサーバ002に送信する(S610)。
【0045】
Webサーバ002は前記リクエストをクライアントPC001から受信すると、前記ステップS608と同様に、リクエスト・URL情報管理部202に対応したプログラムを実行し(S611)、図5のテーブル322からテーブル332への遷移と、図6のテーブル323からテーブル333への遷移が発生する。
【0046】
次に、クライアントPC001で押下された地区の情報を保持するために、セッション関連データとして地区の情報を格納する。この場合、クライアントPC001で「地区の情報」の選択動作がなされ、つまりセッション関連データに変更が発生したとして、Webサーバ002はセッション情報管理部203のプログラムを実行する(S612)。この場合、前記セッション情報管理部203は図21に示す処理フローを実行することとなる。ここで前記セッション情報管理部203はセッション管理データを記憶部等に保持し(S511)、ログインユーザIDが「ユーザID」であり、ログインした時刻が「ログイン時刻」であり、現在時刻が「格納時刻」であり、取得したセッション関連データが「」セッション関連データ」となるレコードをセッション情報テーブル304に追加する(S512)。このとき、ログインユーザIDが「123456」であり、ログインした時刻が「2009/03/13 10:11:11」であり、現在時刻が「2009/03/13/10 10:11:34」であるため、図7のテーブル314からテーブル324への遷移が発生する。そして前記セッション情報管理部203は施設の選択画面(記憶部に予め保持)のレスポンスを前記クライアントPC001に返す(S613)。
【0047】
前記クライアントPC001では図14のように施設の選択画面を表示する。この選択画面を閲覧したユーザは、前記選択画面において例えば「施設B」のボタンを押下したとする。この時、クライアントPC001は、前記押下されたボタンの情報をリクエストとしてWebサーバ002に送信する(S614)。
【0048】
Webサーバ002は前記リクエストをクライアントPC001から受信すると、前記S608と同様にリクエスト・URL情報管理部202のプログラムを実行し(S615)、図5のテーブル332からテーブル342への遷移と図6の333から343への遷移が発生する。
【0049】
次に、前記クライアントPC001で押下された施設の情報を保持するために、セッション関連データとして施設の情報を格納する。この場合、前記ステップS612と同様に、セッション関連データに変更が発生するため、セッション情報管理部203のプログラムを実行し(S616)、図7のテーブル324からテーブル334への遷移が発生する。そして前記セッション情報管理部203は、予約日の選択画面(記憶部に予め保持)をレスポンスとして前記クライアントPC001に返す(S617)。一方、クライアントPC001は図14のように施設の選択画面を表示するが、ここでは、ユーザがWebブラウザ102を閉じ、電子申請を中断したとする(S618)。或いは、ユーザが一定時間以上操作を行わず、タイムアウトとなったとする。
【0050】
−−−処理手順例2−−−
図19は本実施形態のWebアプリケーション管理方法の処理手順例1を示すフロー図であり、具体的には、途中再開の処理フローを示す図である。この場合、上述の処理手順例1で述べた電子申請の途中中断後、一定期間が経過したとする。電子申請の再開を思い立ったユーザは、クライアントPC001でWebブラウザ102を起動し、ログインURLを入力する。クライアントPC001はこの入力を受けて、前記ログインURLに基づいてWebサーバ002にアクセスする(S619)。Webサーバ002ではログイン画面をレスポンスとしてクライアントPC001に返す(S620)。
【0051】
ログイン画面(図11)が表示されたクライアントPC001では、前記ユーザが、Webブラウザ102において、ユーザIDとして「123456」、パスワードとして「******」を入力したとする。この時、クライアントPC001はWebブラウザ102を介して前記ユーザID、パスワードを含む認証情報をWebサーバ002に送信する(S621)。
【0052】
Webサーバ002は前記クライアントPC001から受信したユーザID、パスワードと、DBサーバ003のユーザテーブル305のユーザID、パスワードとの照合処理を実行してログイン認証を行う(S622)。このログイン認証に成功した後、途中再開部204は、途中再開判定処理を実行する(S623)。この途中再開処理は、図22に示す処理フローに対応したものであり、ここで前記途中再開部204は、DBサーバ003のURL情報テーブル303からログインユーザIDと同じユーザIDを取得する(S521)。この時点でのURL情報テーブル303は、図5のテーブル342の状態である。そのため途中再開部204はレコードを3件取得できる(S522:YES)。もし、URL情報テーブル303に該当レコードが格納されていない場合、途中再開部204はレコードを取得できず(S522:NO)、ログイン後の電子申請のメニュー画面をレスポンスとしてクライアントPC001に返す(S524)。
【0053】
前記ステップ(S522:YES)に続いて、前記途中再開部204は、各レコードのURL、格納時間、画面名称を取得し、図17の途中再開画面(記憶部に予め保持)の該当項目に設定した上でレスポンスとしてクライアントPC001に返す(S523、S624)。
【0054】
一方、クライアントPC001は図17の途中再開画面を表示する。この画面を閲覧したユーザは、時刻が「2009/03/13/ 10:11:34」、画面名称が「施設の選択」、URLが「http://test/institution.jsp」の行の「再開」ボタンを押下したとする。クライアントPC001は、該当行の情報をリクエストとしてWebサーバ002に送信する(S625)。
【0055】
前記リクエストを受信したWebサーバ002の途中再開部204は、途中再開処理を実行する(S626)。この途中再開処理は、図23に示す処理フローに対応した処理である。ここで、前記途中再開部204は、前記途中再開画面で選択されたレコードと同じユーザIDと格納時刻のレコードを、リクエスト情報テーブル302のレコードより取得し、ここで取得したレコードが含むデータ=リクエスト退避領域のデータを現在のリクエストとして復元する(S531)。このとき、リクエスト情報テーブル302は図6のテーブル342の状態であるため、ログイン時刻が「2009/03/13/ 10:11:34」のレコードのリクエスト情報が復元される。
【0056】
次に前記途中再開部204は、ログインユーザIDとユーザIDが等しく、かつ、途中再開画面で選択されたレコードが示す格納時刻以前のレコードを、セッション情報テーブル304のレコードより取得する(S532)。このとき、セッション情報テーブル304は図7のテーブル334の状態であり、格納時刻「2009/03/13/ 10:11:34」のレコードが取得されることとなる。
【0057】
そして、前記途中再開部204は、前記ステップS532にて取得したセッション情報テーブル304のレコードの内、格納時刻が最も新しいレコードのデータ=セッション退避領域のデータを、現在のセッションのデータとして復元する(S533)。取得したレコードの内、格納時刻が最も新しいレコードは格納時刻「2009/03/13/ 10:11:34」のレコードであるため、このレコードのセッション関連データを復元する。
【0058】
続いて、前記途中再開部204は、前記途中再開画面で選択されたレコードが示す格納時刻より後に格納されたものであり、かつ、同じユーザIDのURL情報テーブル303のレコードを削除する(S534)。これによって、図6のURL情報テーブル303において、テーブル343からテーブル353への遷移が発生する。次に、前記途中再開部204は、前記途中再開画面で選択されたレコードが示す格納時刻より後に格納されたものであり、かつ、同じユーザIDのレコードを前記リクエスト情報テーブル302のレコード中より削除する(S535)。これによって、図5のリクエスト情報テーブル302において、テーブル342からテーブル352への遷移が発生する。
【0059】
続いて、前記途中再開部204は、前記途中再開画面で選択されたレコードが示す格納時刻より後に格納されたものであり、かつ、同じユーザIDのレコードを、前記セッション情報テーブル304のレコード中より削除する(S536)。これによって、図7のセッション情報テーブル304においてテーブル334から344への遷移が発生する。
【0060】
そして、前記途中再開部204は、前記途中再開画面で選択されたレコードが示すURLに対応した画面データをレスポンスとしてクライアントPC001に送信する(S357)。このとき、Webサーバ002の途中再開部204は、施設の選択画面のレスポンスをクライアントPC001に返す(S627)。
【0061】
一方、クライアントPC001は図14のように施設の選択画面を表示する。この画面を閲覧したユーザは、例えば、「施設C」のボタンを押下したとする。そこでクライアントPC001は、押下されたボタンの情報をリクエストとしてWebサーバ002に送信する(S628)。
【0062】
Webサーバ002は前記リクエストをクライアントPC001から受信すると、前記ステップS608と同様に、リクエスト・URL情報管理部202に対応したプログラムを実行し(S629)、図5のリクエスト情報テーブル302におけるテーブル352から362への遷移と、図6のURL情報テーブル303におけるテーブル353から363への遷移が発生する。
【0063】
続いて、前記ステップS628にてクライアントPC001で押下された施設の情報を保持するために、前記システム5はセッション関連データとして前記施設の情報を格納する。ここで、セッション関連データに変更が発生するため、前記ステップS612と同様に、Webサーバ002は前記セッション情報管理部203のプログラムを実行し(S630)、図7のセッション情報テーブル304においてテーブル344からテーブル354への遷移が発生する。そしてこのセッション情報管理部203は予約日の選択画面(予め記憶部に保持)をレスポンスとしてクライアントPC001に返す(S631)。
【0064】
一方、クライアントPC001は図15のように予約日の選択画面を表示する。この画面を閲覧したユーザが、西暦の年月日を入力し、決定ボタンを押下したとする。この時、クライアントPC001は、前記入力および決定ボタン押下を受けて、西暦の年月日の情報をリクエストとしてWebサーバ002に送信する(S632)。
【0065】
Webサーバ002は前記リクエストをクライアントPC001から受信すると、前記ステップS608と同様に、リクエスト・URL情報管理部202のプログラムを実行し(S633)、図5のリクエスト情報テーブル302におけるテーブル362からテーブル372への遷移と、図6のURL情報テーブル303におけるテーブル363から373への遷移が発生する。
【0066】
次に、前記クライアントPC001で入力された西暦の年月日の情報を保持するために、セッション関連データとして西暦の年月日の情報を格納することとなる。セッション関連データに変更が発生するため、前記ステップS612と同様に、前記Webサーバ002は、セッション情報管理部203のプログラムを実行し(S634)、図7のセッション情報テーブル304におけるテーブル354からテーブル364への遷移が発生する。そして、前記セッション情報管理部203は、申請の完了確認画面(記憶部に予め保持)をレスポンスとしてクライアントPC001に返す(S635)。
【0067】
前記クライアントPC001は、図16のように申請の完了確認画面を表示する。この画面を閲覧したユーザは、「申請する」ボタンを押下したとする。この時、前記クライアントPC001は、押下されたボタンの情報をリクエストとしてWebサーバ002に送信する(S636)。
【0068】
一方、Webサーバ002の途中再開部204は、施設予約申請テーブル306の更新を行う(S637)。このとき途中再開部204は、ログインユーザIDを「ユーザID」とし、セッション関連データとして保持されている建物ID、施設ID、予約日からなるレコードを施設予約申請テーブル306に追加する。なお、「申請番号」は自動的にWebサーバ002が発番しシリアルに設定されるものとする。
【0069】
続いて、ユーザによる申請が完了し途中再開の必要はなくなるため、前記途中再開部204は、途中再開のためのテーブルのクリア処理を行う(S637)。このテーブルクリア処理は、図24の処理フローに示すものとなる。ここで途中再開部204は、リクエスト情報テーブル302におけるレコードで、その格納時刻が現在の時刻以前であり、かつ、ログインユーザIDと「ユーザID」が等しいレコードを全て削除する(S541)。これによって、図5のリクエスト情報テーブル302においてテーブル372からテーブル382への遷移が発生する。
【0070】
次に、前記途中再開部204は、前記URL情報テーブル303のレコードのうち、その格納時刻が現在の時刻以前であり、かつ、ログインユーザIDと「ユーザID」が等しいレコードを全て削除する(S542)。これによって図6のURL情報テーブル303においてテーブル373から383への遷移が発生する。そして、前記途中再開部204は、セッション情報テーブル304のレコードのうち、その格納時刻が現在の時刻以前であり、かつ、ログインユーザIDと「ユーザID」が等しいレコードを全て削除する(S543)。これによって、図7のセッション情報テーブル304においてテーブル364からテーブル374への遷移が発生する。最後に途中再開部204は、メニュー画面(予め記憶部に保持)のレスポンスをクライアントPC001へ返す(S637)。
【0071】
−−−他の実施例−−−
その他の実施例として、例えば、ユーザによる電子申請の作業中に、施設予約申請テーブル306に電子申請の情報を逐次格納する形態に関し説明する。ここでは、先に記述した処理手順例1および2の説明と異なる箇所のみ説明する。この場合、図10の施設予約申請テーブル306に示す通り、「更新時刻」をテーブルの項目に追加し、更新の履歴を全て保持する。図18のフローに沿った説明であれば、前記ステップS612の前の処理で、セッション関連データに「A地区」の情報が格納されるタイミングで、前記Webサーバ002は、前記施設予約申請テーブル306にユーザIDが「123456」、更新時刻が「2009/03/13 10:11:34」、地区IDが「A101」、申請番号、施設ID、予約日が「―」のレコードを追加し、図10の施設予約申請テーブル306においてテーブル336からテーブル346への遷移が発生する。
【0072】
そして、前記ステップS616の前の処理の、セッション関連データに「B施設」の情報が格納されるタイミングで、前記Webサーバ002は、施設予約申請テーブル306に、ユーザIDが「123456」、更新時刻が「2009/03/13 10:11:52」、地区IDが「A101」、施設IDが「B204」、申請番号、予約日が「―」のレコードを追加し、図10の施設予約申請テーブル306においてテーブル346からテーブル356への遷移が発生する。
【0073】
また、図19のフローにおける前記ステップS626の途中再開処理では、前記Webサーバ002は、前記ステップS534でリクエスト情報テーブル302を、前記ステップS535でURL情報テーブル303を、前記ステップS536でセッション情報テーブル304を、前記ステップS625で選択した時刻と同じ状態にする。これと同様に、前記Webサーバ002は、前記施設予約申請テーブル306を、前記ステップS625で選択した時刻と同じ状態にするために、図23の前記ステップS537の処理の後に、次の処理を追加する。追加する処理は、「更新時刻」が途中再開画面で選択されたレコードの格納時刻より後であり、かつ、同じユーザIDのレコードを、施設予約申請テーブル306のレコード中より削除する処理である。この処理がステップS626で実行されたとき、図7のセッション情報テーブル304においてテーブル334からテーブル344への遷移が発生する。
【0074】
次に、前記ステップS630の前の処理の、セッション関連データに「C施設」の情報が格納されるタイミングで、Webサーバ002は、施設予約申請テーブル306に、ユーザIDが「123456」、更新時刻が「2009/03/13 10:21:34」、地区IDが「A101」、施設IDが「C204」、申請番号、予約日が「―」のレコードを追加し、図10の施設予約申請テーブル306においてテーブル366からテーブル376への遷移が発生する。
【0075】
次に、前記ステップS634の前の処理での、セッション関連データに予約日の情報が格納されるタイミングで、Webサーバ002は、施設予約申請テーブル306に、ユーザIDが「123456」、更新時刻が「2009/03/13 10:21:52」、地区IDが「A101」、施設IDが「C204」、予約日が「2009/04/02」、申請番号が「―」のレコードを追加し、図10の施設予約申請テーブル306においてテーブル376からテーブル386への遷移が発生する。最後に前記ステップS637の処理で、申請番号がシリアルに付けられ、施設予約申請テーブル306でユーザIDが「123456」、更新時刻が「2009/03/13 10:22:11」、地区IDが「A101」、施設IDが「C204」、予約日が「2009/04/02」、申請番号が「000001」のレコードが追加される。上述のように、Webアプリケーションにおける一連の作業で、作業完了以前でも申請用のデータを退避させて格納する場合、ログイン後から中断するまでの任意の画面から、申請データを取り出して作業再開が可能となる。
【0076】
以上、本発明の実施形態によれば、Webアプリケーションの途中中断から所定時間経過後のユーザに関し、前回ログイン時から中断時までの間の任意の時点からの作業再開が可能となる。
【0077】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0078】
5 Webアプリケーション管理システム
14 ネットワーク
100、200、300 制御部
101、201、301 記憶部
106、206、307 ネットワークインターフェイス部
001 クライアントPC
002 Webサーバ
003 DBサーバ
102 Webブラウザ
103 ディスプレイ(出力部)
104 キーボード(入力部)
105 マウス(入力部)
202 リクエスト・URL管理部
203 セッション情報管理部
204 途中再開部
205 Webアプリケーション(電子申請部)
207 退避部
302 リクエスト情報テーブル
303 URL情報テーブル
304 セッション情報テーブル
305 ユーザテーブル
306 施設予約申請状況テーブル

【特許請求の範囲】
【請求項1】
Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置であり、
Webアプリケーションと、ユーザの認証情報とを格納する記憶部と、
クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる退避部と、
前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する、途中再開部と、
を備えることを特徴とするWebアプリケーション管理システム。
【請求項2】
前記退避部が、
クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、URL情報、およびWebアプリケーションが使用するテーブルの更新情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させ、
前記途中再開部が、
前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、セッション、およびテーブルの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、セッション、およびテーブルとして復元しWebアプリケーションを再開する、
ことを特徴とする請求項1に記載のWebアプリケーション管理システム。
【請求項3】
前記途中再開部が、
前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点より以降に退避させたURL、リクエスト、およびセッションの各情報を記憶部から削除し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する、
ことを特徴とする請求項1または2に記載のWebアプリケーション管理システム。
【請求項4】
Webアプリケーションと、ユーザの認証情報とを格納する記憶部を備え、Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置が、
クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる処理と、
前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する処理と、
を実行することを特徴とするWebアプリケーション管理方法。
【請求項5】
Webアプリケーションと、ユーザの認証情報とを格納する記憶部を備え、Webアプリケーションをネットワークを介してクライアントに提供するサーバ装置に、
クライアントからの要求に応じてユーザについてのログイン認証を記憶部の認証情報に基づき実行した後、該当クライアントに提供しているWebアプリケーションに関して、クライアントのWebブラウザからの指示を受けて画面遷移処理をする度に、その際のセッション情報、リクエスト情報、およびURL情報を、ログイン認証時に判明したユーザ識別情報、ログイン時刻、および現時刻と共に記憶部に格納して退避させる処理と、
前記情報の退避がなされているWebアプリケーションに関し、該当ユーザについてのログイン認証を実行する際、前回ログイン時から途中中断時までに退避させたURL情報群を記憶部から読み出してクライアントに送信し、ユーザが前記URL情報群より選択したURL情報をクライアントから受信し、該当URL情報が示す時点でのURL、リクエスト、およびセッションの各情報を記憶部から読み出して、それぞれ現在のURL、リクエスト、およびセッションとして復元しWebアプリケーションを再開する処理と、
を実行させるWebアプリケーション管理プログラム。

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

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2011−128890(P2011−128890A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−286751(P2009−286751)
【出願日】平成21年12月17日(2009.12.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】