(57)【特許請求の範囲】
【請求項１】
ウェブサービス依頼装置とウェブサービス提供装置とがネットワークを介して接続され、メッセージの送受信を行うウェブサービスシステムであって、
前記ウェブサービス依頼装置は、
ユーザを一意に識別するユーザ情報および前記ユーザ情報の認証に必要な情報を含んだログイン要求をユーザ端末から受信すると、前記ユーザ情報および前記ユーザ情報の認証に必要な情報が付加されたログイン依頼を、前記ウェブサービス提供装置に送信するログイン依頼手段と、
サービス要求をユーザ端末から受信すると、前記ユーザ情報を、サービス依頼に関連付け、ログアウト要求をユーザ端末から受信すると、前記ユーザ情報を、ログアウト依頼に関連付けるユーザ情報関連付け手段と、
前記ユーザ情報が付加されたサービス依頼を、前記ウェブサービス提供装置に送信するサービス依頼手段と、
前記ユーザ情報が付加されたログアウト依頼を、前記ウェブサービス提供装置に送信するログアウト依頼手段と、
を具備し、
前記ウェブサービス提供装置は、
前記ユーザ情報ごとにログイン時刻およびログアウト時刻を保持する接続状況テーブルと、
前記ログイン依頼を受信した際、前記ユーザ情報の認証が成功した場合には、現在時刻を前記ログイン時刻として、かつ前記ログイン時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを登録し、前記サービス依頼を受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていなければ、前記現在時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新し、前記ログアウト依頼を受信した際、現在時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新する接続状況管理手段と、
を具備することを特徴とするウェブサービスシステム。
【請求項２】
前記ウェブサービス提供装置が具備する前記接続状況管理手段は、更に、前記サービス依頼を受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていれば、前記サービス依頼に対する処理を終了させることを特徴とする請求項１に記載のウェブサービスシステム。
【請求項３】
ウェブサービス依頼装置とネットワークを介して接続され、メッセージの送受信を行うウェブサービスシステムに用いられるウェブサービス提供装置であって、
ユーザを一意に識別するユーザ情報ごとにログイン時刻およびログアウト時刻を保持する接続状況テーブルと、
前記ユーザ情報および前記ユーザ情報の認証に必要な情報を含んだログイン要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報および前記ユーザ情報の認証に必要な情報が付加されたログイン依頼を受信した際、前記ユーザ情報の認証が成功した場合には、現在時刻を前記ログイン時刻として、かつ前記ログイン時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを登録し、サービス要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報が付加されたサービス依頼を受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていなければ、前記現在時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新し、ログアウト要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報が付加されたログアウト依頼を受信した際、現在時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新する接続状況管理手段と、
を具備することを特徴とするウェブサービス提供装置。
【請求項４】
前記接続状況管理手段は、更に、前記ユーザ情報が付加されたサービス依頼を前記ウェブサービス依頼装置から受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていれば、前記サービス依頼に対する処理を終了させることを特徴とする請求項３に記載のウェブサービス提供装置。
【請求項５】
コンピュータを請求項３または請求項４のいずれかに記載のウェブサービス提供装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサービス依頼装置とウェブサービス提供装置とがネットワークを介して接続され、メッセージの送受信を行うウェブサービスシステム、ウェブサービス提供装置およびプログラムに関する。
【背景技術】
【０００２】
ウェブサービスとは、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）と呼ばれるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のプロトコルを用いて、インターネット上のアプリケーション同士がメッセージの送受信を行う技術、またはその技術を適用したサービスを指す。以下では、ウェブサービスを利用したシステムをウェブサービスシステムと呼ぶこととする。
【０００３】
ＳＯＡＰは、アプリケーション同士がメッセージを交換するためのプロトコルであり、いくつかのメッセージを相互作用させることによって、リモートプロシージャコール（遠隔手続呼び出し）を実現する。特に、ＳＯＡＰを用いることによって、互いのアプリケーションの環境（ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、プログラミング言語等）に依存することなく、メッセージの送受信を行うことができる。
【０００４】
一方、ウェブアプリケーションシステムとは、ウェブの機能や特徴を利用したアプリケーションシステムである。ウェブアプリケーションシステムでは、サーバとユーザ端末との間の通信手段は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）である。
【０００５】
多くのウェブアプリケーションシステムでは、セッションの管理が必要であることから、様々な方法によってセッションの管理を実現している。ここで、セッションとは、ユーザがシステムにログインしてからログアウトするまで、またはタイムアウト（＝ユーザが何もせずに所定の時間が経過すること）するまでのユーザの一連の動作を指す。
【０００６】
これに対し、ウェブサービスシステムの前提となるＳＯＡＰでは、セッションの管理について何ら規定されておらず、多くのウェブサービスシステムにおいても、セッションの管理は行われていない。
【０００７】
こうした中、昨今では、大規模なシステムをサービスの集まりとして構築する設計手法（＝サービス指向アーキテクチャ）が注目を浴びており、ウェブアプリケーションシステムからウェブサービスシステムへの移行がなされつつある（特許文献１参照）。
【０００８】
しかしながら、前述したように、ウェブアプリケーションシステムの多くは、ＳＯＡＰが規定していないセッションの管理を行っている。そして、セッションの管理は、サーバのＯＳ、プログラム言語、またはＨＴＴＰの仕様に依存する形で実現されている。例としては、サーバが発行するセッションＩＤを利用する方法がある。これは、ユーザがシステムにログインすると、サーバが一意のセッションＩＤを発行し、以後、セッションＩＤの情報を用いてセッションの管理を行うというものである。そして、ユーザ端末側でセッションＩＤを保持する方法としては、Ｃｏｏｋｉｅの利用（特許文献１参照）、またはＦＯＲＭタグのｈｉｄｄｅｎフィールド（ＪＡＶＡ（登録商標）言語であれば、＜ｈｔｍｌ：ｆｏｒｍ＞タグのｈｉｄｄｅｎフィールド）の利用などがある。
【０００９】
特許文献１では、既存のウェブアプリケーションシステムが行っているセッションの管理を踏襲する形で、ウェブサービスシステムに移行している。これでは、ウェブサービスの最大の利点であった「互いのアプリケーションの環境に依存しないメッセージの送受信」を行うことができない。すなわち、サービスを提供する側の環境に依存して、サービスを依頼する側の環境を合わせる必要が生じることになる。
【特許文献１】特開２００５−５６０５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このような問題を回避するためには、ＳＯＡＰのステートレスな通信という思想に基づき、セッションの管理を行わないことが一番である。しかしながら、サービスを提供する側としては、少なくとも最初にユーザの認証を行い、以後はユーザがシステムに正しく接続しているかどうかを把握したいという要望がある。
【００１１】
本発明は、前述した問題点に鑑みてなされたもので、その目的は、互いのアプリケーションの環境に依存しないメッセージの送受信を行うことができ、かつユーザの接続状況を管理できるウェブサービスシステム等を提供することである。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために第１の発明は、ウェブサービス依頼装置とウェブサービス提供装置とがネットワークを介して接続され、メッセージの送受信を行うウェブサービスシステムであって、前記ウェブサービス依頼装置は、ユーザを一意に識別するユーザ情報および前記ユーザ情報の認証に必要な情報を含んだログイン要求をユーザ端末から受信すると、前記ユーザ情報および前記ユーザ情報の認証に必要な情報が付加されたログイン依頼を、前記ウェブサービス提供装置に送信するログイン依頼手段と、サービス要求をユーザ端末から受信すると、前記ユーザ情報を、サービス依頼に関連付け、ログアウト要求をユーザ端末から受信すると、前記ユーザ情報を、ログアウト依頼に関連付けるユーザ情報関連付け手段と、前記ユーザ情報が付加されたサービス依頼を、前記ウェブサービス提供装置に送信するサービス依頼手段と、前記ユーザ情報が付加されたログアウト依頼を、前記ウェブサービス提供装置に送信するログアウト依頼手段と、を具備し、前記ウェブサービス提供装置は、前記ユーザ情報ごとにログイン時刻およびログアウト時刻を保持する接続状況テーブルと、前記ログイン依頼を受信した際、前記ユーザ情報の認証が成功した場合には、現在時刻を前記ログイン時刻として、かつ前記ログイン時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを登録し、前記サービス依頼を受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていなければ、前記現在時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新し、前記ログアウト依頼を受信した際、現在時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新する接続状況管理手段と、を具備することを特徴とするウェブサービスシステムである。
【００１３】
第２の発明は、ウェブサービス依頼装置とネットワークを介して接続され、メッセージの送受信を行うウェブサービスシステムに用いられるウェブサービス提供装置であって、ユーザを一意に識別するユーザ情報ごとにログイン時刻およびログアウト時刻を保持する接続状況テーブルと、前記ユーザ情報および前記ユーザ情報の認証に必要な情報を含んだログイン要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報および前記ユーザ情報の認証に必要な情報が付加されたログイン依頼を受信した際、前記ユーザ情報の認証が成功した場合には、現在時刻を前記ログイン時刻として、かつ前記ログイン時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを登録し、サービス要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報が付加されたサービス依頼を受信した際、付加されている前記ユーザ情報に係る前記ログアウト時刻を確認し、前記ログアウト時刻が現在時刻を過ぎていなければ、前記現在時刻にタイムアウト設定時間を加算した時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新し、ログアウト要求のユーザ端末からの受信に応じて前記ウェブサービス依頼装置から送信された、前記ユーザ情報が付加されたログアウト依頼を受信した際、現在時刻を前記ログアウト時刻として、付加されている前記ユーザ情報に係る前記接続状況テーブルのレコードを更新する接続状況管理手段と、を具備することを特徴とするウェブサービス提供装置である。
【００１４】
第３の発明は、コンピュータを第２の発明のウェブサービス提供装置として機能させるプログラムである。
【発明の効果】
【００１５】
本発明により、互いのアプリケーションの環境に依存しないメッセージの送受信を行うことができ、かつユーザの接続状況を管理できるウェブサービスシステムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下図面に基づいて、本発明の実施の形態を詳細に説明する。
【００１７】
まず、図１を参照しながら、本発明の実施の形態に係るウェブサービスシステム１の概略構成について説明する。
【００１８】
図１は、ウェブサービスシステム１の概略構成を示す図である。
本発明の実施の形態では、ウェブアプリケーションサーバ７がウェブサービス依頼装置であり、ウェブサービスサーバ３およびデータベースサーバ５がウェブサービス提供装置である。ユーザ端末９は、ウェブサービスサーバ３を意識せず、ウェブアプリケーションサーバ７との通信のみを行うことになる。但し、ウェブサービスサーバ３が接続状況を把握する対象は、ユーザ端末９を使用するユーザである。尚、ウェブサービス依頼装置は、ウェブアプリケーションシステムに係るサーバに限られない。例えば、ＨＴＴＰ以外の規定に従った通信を行うクライアントサーバシステムに係るサーバ等であっても良い。以下では、混乱を避けるために、ウェブサービス依頼装置は、ウェブアプリケーションサーバ７のみとする。
【００１９】
図１に示すように、ウェブサービスシステム１は、少なくとも、ウェブサービスサーバ３、ウェブアプリケーションサーバ７およびユーザ端末９がネットワーク１１を介して接続される。データベースサーバ５は、ウェブサービスサーバ３と直接通信を行っても良いし、ネットワーク１１を介して通信を行っても良い。
【００２０】
ウェブサービスサーバ３は、ウェブアプリケーションサーバ７等からの依頼メッセージを受信し、ウェブサービスを提供する。また、データベースサーバ５は、ウェブサービスに係るデータベースを保持する。ここで、ウェブサービスの内容は、多種多様である。例えば、ウェブサービスシステム１が商品管理システムである場合、データベースサーバ５は商品情報のデータベースを保持し、ウェブサービスサーバ３は商品情報のデータベースの検索、登録、更新または削除といったサービスを提供する。
【００２１】
ウェブサービスに係るインタフェースの情報は、一般には、ＸＭＬをベースとした言語仕様であるＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によって記述されて、公開される。ウェブサービスに係るインタフェースの情報には、そのウェブサービスがどこにあるのか、そのウェブサービスが提供するサービスの内容は何か、そのウェブサービスはどのようなフォーマットのメッセージを使って利用するのか等が含まれる。
【００２２】
ウェブアプリケーションサーバ７は、ユーザ端末９とＨＴＴＰによる通信を行い、ユーザに対してウェブアプリケーションの画面を提供する。また、ウェブアプリケーションサーバ７は、ウェブサービス依頼装置として、ウェブサービス提供装置であるウェブサービスサーバ３とＳＯＡＰによるメッセージの送受信を行う。ここで、ウェブアプリケーションの画面は、多種多様である。例えば、ウェブサービスシステム１が商品管理システムである場合、商品の一覧表示画面、商品の検索条件の入力画面、商品の検索結果の表示画面、または商品の登録情報、商品の更新情報もしくは商品の削除情報の入力画面等を提供する。
【００２３】
ユーザ端末９は、ウェブ閲覧ソフトによってウェブアプリケーションサーバ７とＨＴＴＰによる通信を行い、ウェブアプリケーションの機能を利用する。本発明の実施の形態では、ユーザ端末９を利用するユーザは、ウェブサービスシステム１のユーザとして既に登録されていることを前提とする。
【００２４】
ネットワーク１１は、インターネット、ローカルエリアネットワーク（ＬＡＮ）等によって構成されており、有線、無線を問わない。
【００２５】
次に、図２を参照しながら、ウェブサービスサーバ３等のハードウェア構成を説明する。
【００２６】
図２は、ウェブサービスサーバ３を実現するコンピュータのハードウェア構成図である。尚、図２のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
ウェブサービスサーバ３は、制御部１３、記憶部１５、メディア入出力部１７、通信制御部１９、入力部２１、表示部２３、周辺機器Ｉ／Ｆ部２５等が、バス２７を介して接続される。
【００２７】
制御部１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２８】
ＣＰＵは、記憶部１５、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス２７を介して接続された各装置を駆動制御し、ウェブサービスサーバ３が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部１５、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１３が各種処理を行う為に使用するワークエリアを備える。
【００２９】
記憶部１５は、ＨＤＤ（ハードディスクドライブ）であり、制御部１３が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述の処理に相当するアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部１３により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３０】
メディア入出力部１７（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
【００３１】
通信制御部１９は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク１１間の通信を媒介する通信インタフェースであり、ネットワーク１１を介して、他のコンピュータ間との通信制御を行う。
【００３２】
入力部２１は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部２１を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
【００３３】
表示部２３は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３４】
周辺機器Ｉ／Ｆ（インタフェース）部２５は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部２５を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部２５は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
【００３５】
バス２７は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３６】
また、データベースサーバ５、ウェブアプリケーションサーバ７およびユーザ端末９のハードウェア構成は、前述のウェブサービスサーバ３のハードウェア構成と同様である。
【００３７】
次に、図３を参照しながら、ウェブサービスシステム１において利用されるデータについて説明する。
【００３８】
図３は、接続状況テーブル５３が保持するデータの一例を示す図である。
図３に示すように、接続状況テーブル５３は、ユーザ情報６１、ログイン時刻６３、ログアウト時刻６５等のデータ項目を保持する。
【００３９】
ユーザ情報６１は、ユーザを一意に識別する情報であり、例えば、ユーザＩＤである。ログイン時刻６３は、ユーザがウェブサービスシステム１にログインした時刻である。ログアウト時刻６５は、通常は、タイムアウトの判断に用いられる時刻である。但し、ユーザが正当な手順によってウェブサービスシステム１をログアウトした場合、ログアウトした時刻を示す。
【００４０】
ウェブサービスシステム１では、前述の接続状況テーブル５３の他に、ユーザの認証用テーブルを利用する。ユーザの認証用テーブルは、少なくとも、ユーザ情報６１およびユーザ情報６１の認証に必要な情報を保持する。ユーザ情報６１の認証に必要な情報とは、例えば、パスワードである。また、その他に、ウェブサービスシステム１では、ウェブサービスに特有のテーブルを利用する。
【００４１】
次に、図４から図６を参照しながら、ウェブサービスサーバ３、データベースサーバ５およびウェブアプリケーションサーバ７の機能を実現する構成について説明する。
【００４２】
図４は、ウェブアプリケーションサーバ７の機能の概要を示すブロック図である。
図４に示すように、ウェブアプリケーションサーバ７は、ログイン依頼手段７１、サービス依頼手段７３、ログアウト依頼手段７５、ユーザ情報関連付け手段７７等を具備する。尚、図中の矢印は、矢印の元に係る機能が、矢印の先に係る機能を呼び出す関係にあることを示している。
【００４３】
ログイン依頼手段７１は、ユーザ端末９等から受信したログイン要求に対し、ユーザ情報関連付け手段７７を呼び出し、ユーザ情報関連付け手段７７によってユーザ情報６１およびユーザ情報６１の認証に必要な情報が付加されたログイン依頼を、ウェブサービスサーバ３に送信する。ここで、ログイン要求とは、ウェブサービスシステム１へのログインを要求するＨＴＴＰリクエストである。また、ログイン依頼とは、ウェブサービスサーバ３にログイン処理を依頼するＳＯＡＰの規約に従ったメッセージである。
【００４４】
サービス依頼手段７３は、ユーザ端末９等から受信したサービス要求に対し、ユーザ情報関連付け手段７７を呼び出し、ユーザ情報関連付け手段７７によってユーザ情報６１が付加されたサービス依頼を、ウェブサービスサーバ３に送信する。ここで、サービス要求とは、ウェブサービスシステム１が提供するサービスを要求するＨＴＴＰリクエストである。また、サービス依頼とは、ウェブサービスサーバ３にサービスを依頼するＳＯＡＰの規約に従ったメッセージである。
【００４５】
ログアウト依頼手段７５は、ユーザ端末９等から受信したログアウト要求に対し、ユーザ情報関連付け手段７７を呼び出し、ユーザ情報関連付け手段７７によってユーザ情報６１が付加されたログアウト依頼を、ウェブサービスサーバ３に送信する。ここで、ログアウト要求とは、ウェブサービスシステム１からのログアウトを要求するＨＴＴＰリクエストである。また、ログアウト依頼とは、ウェブサービスサーバ３にログアウト処理を依頼するＳＯＡＰの規約に従ったメッセージである。
【００４６】
ユーザ情報関連付け手段７７は、ユーザ情報６１を、サービス依頼またはログアウト依頼に付加する。また、ユーザ情報関連付け手段７７は、ユーザ情報６１およびユーザ情報６１の認証に必要な情報を、ログイン依頼に付加する。但し、ログイン依頼については、ログイン要求の中に、ユーザ情報６１およびユーザ情報６１の認証に必要な情報が含まれていることから、ログイン依頼手段７１が付加するようにしても良い。
【００４７】
ユーザ情報関連付け手段７７を具体的に実現するためには、ウェブアプリケーションサーバ７とユーザ端末９との間でユーザ情報６１を持ち回るか、またはウェブアプリケーションサーバ７が受信したＨＴＴＰリクエストとユーザ情報６１とを関連付ける情報を保持する必要がある。前者の実現方法としては、例えば、Ｃｏｏｋｉｅの利用（特許文献１参照）などがある。また、後者の実現方法としては、ユーザ端末９を特定するＩＰアドレスがユーザに一意に割り当てられている場合には、ユーザ情報６１とＩＰアドレスとを対応付けるリストを保持するといったことが考えられる。但し、本発明に係る技術的な思想は、ユーザ情報関連付け手段７７に特別な技術的特徴があるわけではなく、どのような実現方法を選択するかは設計事項に過ぎない。
【００４８】
ウェブアプリケーションサーバ７は、前述の機能の他に、ＨＴＴＰレスポンスとしてのウェブページを生成し、ユーザ端末９等に送信する機能等を具備する。
【００４９】
図５は、ウェブサービスサーバ３の機能の概要を示すブロック図である。
図５に示すように、ウェブサービスサーバ３は、ログイン処理手段３１、サービス処理手段３３、ログアウト処理手段３５、接続状況管理手段３７等を具備する。尚、図中の矢印は、矢印の元に係る機能が、矢印の先に係る機能を呼び出す関係にあることを示している。
【００５０】
ログイン処理手段３１は、ウェブアプリケーションサーバ７等から受信したログイン依頼に対して、ユーザ情報６１の認証を行い、接続状況管理手段３７を呼び出す。尚、ユーザ情報６１の認証が失敗した場合、ログイン処理手段３１は、接続状況管理手段３７を呼び出さずに処理を終了する。
【００５１】
サービス処理手段３３は、ウェブアプリケーションサーバ７等から受信したサービス依頼に対して、接続状況管理手段３７を呼び出し、サービスを実行する。尚、接続状況管理手段３７から処理終了の結果が返された場合、サービス処理手段３３は、サービスを実行せずに処理を終了する。
【００５２】
ログアウト処理手段３５は、ウェブアプリケーションサーバ７等から受信したログアウト依頼に対して、接続状況管理手段３７を呼び出す。
【００５３】
接続状況管理手段３７は、ユーザの接続状況を管理する。具体的には、ログイン処理手段３１、サービス処理手段３３、ログアウト処理手段３５から呼び出されて、以下に示す３つの場面で処理を行う。
【００５４】
第１に、ログイン処理手段３１に呼び出された場合、すなわち、ログイン依頼を受信した際、ユーザ情報６１の認証が成功した場合には、接続状況管理手段３７は、現在時刻をログイン時刻６３として、かつログイン時刻６３にタイムアウト設定時間を加算した時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを登録する。尚、タイムアウト設定時間は、予め定められたものである。
【００５５】
第２に、サービス処理手段３３に呼び出された場合、すなわち、サービス依頼を受信した際には、接続状況管理手段３７は、付加されているユーザ情報６１に係るログアウト時刻６５を確認し、ログアウト時刻６５が現在時刻を過ぎていなければ、現在時刻にタイムアウト設定時間を加算した時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを更新する。
一方、サービス依頼を受信した際、接続状況管理手段３７は、付加されているユーザ情報６１に係るログアウト時刻６５を確認し、ログアウト時刻６５が現在時刻を過ぎていれば、サービス依頼に対する処理を終了させるメッセージをサービス処理手段３３に返却する。
【００５６】
第３に、ログアウト処理手段３５に呼び出された場合、すなわち、ログアウト依頼を受信した際には、接続状況管理手段３７は、現在時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを更新する。
【００５７】
ウェブサービスサーバ３は、前述の機能の他に、ＳＯＡＰの規約に従いウェブアプリケーションサーバ７等とメッセージを送受信する機能等を具備する。
【００５８】
図６は、データベースサーバ５の機能の概要を示すブロック図である。
図６に示すように、データベースサーバ５は、データベースアクセス手段５１、接続状況テーブル５３、ウェブサービス特有テーブル群５５等を具備する。尚、図中の矢印は、矢印の元に係る機能が、矢印の先に係る機能を呼び出す関係にあることを示している。
【００５９】
データベースアクセス手段５１は、データベースサーバ５が保持する各種テーブルのレコードの検索、登録、更新、削除等を行う。接続状況テーブル５３は、図３の説明にて前述したとおりである。また、ウェブサービス特有テーブル群５５は、図３の説明にて前述したユーザの認証用テーブル、ウェブサービスに特有のテーブル等が含まれる。
【００６０】
次に、図７から図９を参照しながら、ウェブサービスシステム１に係る処理の詳細について説明する。
【００６１】
図７は、ログイン処理の詳細を示す図である。
図７に示すように、ウェブアプリケーションサーバ７は、ユーザ端末９からログイン要求を受信すると（Ｓ１０１）、ログイン依頼をウェブサービスサーバ３に送信する（Ｓ１０２）。ここで、ログイン要求およびログイン依頼には、ユーザ情報６１およびユーザ情報６１の認証に必要な情報が含まれる。
【００６２】
次に、ウェブサービスサーバ３は、ユーザ情報６１の認証を行う（Ｓ１０３）。ユーザ情報６１の認証は、ログイン依頼に含まれるユーザ情報６１およびユーザ情報６１の認証に必要な情報が、ユーザの認証用テーブルに登録されている情報と一致するかどうかによって行う。
ユーザ情報６１の認証に成功した場合、Ｓ１０４に進む。
ユーザ情報６１の認証に失敗した場合、その旨のメッセージをウェブアプリケーションサーバ７に送信する（図示しない）。そして、ウェブアプリケーションサーバ７は、ログイン失敗時に表示するウェブページをユーザ端末９に送信する（図示しない）。
【００６３】
次に、ウェブサービスサーバ３は、接続状況テーブル５３にユーザ情報６１の登録を行う（Ｓ１０４）。ここで、登録するレコードに係る接続状況テーブル５３のデータ項目の値は、ユーザ情報６１がログイン依頼に含まれるもの、ログイン時刻６３が現在時刻、ログアウト時刻６５がログイン時刻６３にタイムアウト設定時間を加算した時刻である。
【００６４】
次に、ウェブサービスサーバ３は、ログイン成功の戻り値をウェブアプリケーションサーバ７に送信し（Ｓ１０５）、ウェブアプリケーションサーバ７は、ログイン後に表示するウェブページをユーザ端末９に送信する（Ｓ１０６）。
【００６５】
図８は、サービス処理の詳細を示す図である。
図８に示すように、ウェブアプリケーションサーバ７は、ユーザ端末９からサービス要求を受信すると（Ｓ２０１）、サービス依頼をウェブサービスサーバ３に送信する（Ｓ２０２）。ここで、サービス依頼には、ユーザ情報６１が含まれる。
【００６６】
次に、ウェブサービスサーバ３は、サービス依頼に含まれるユーザ情報６１に係る接続状況テーブル５３のレコードを検索し、ログアウト時刻６５を確認する（Ｓ２０３）。
ログアウト時刻６５が現在時刻を過ぎていない場合、Ｓ２０４に進む。
ログアウト時刻６５が現在時刻を過ぎている場合、サービス依頼に対する処理を終了し、当該ユーザはタイムアウトである旨のメッセージをウェブアプリケーションサーバ７に送信する（図示しない）。そして、ウェブアプリケーションサーバ７は、タイムアウト時に表示するウェブページをユーザ端末９に送信する（図示しない）。
【００６７】
次に、ウェブサービスサーバ３は、接続状況テーブル５３の更新を行う（Ｓ２０４）。ここで、更新するレコードに係る接続状況テーブル５３のデータ項目の値は、ユーザ情報６１がサービス依頼に含まれるもの、ログアウト時刻６５が現在時刻にタイムアウト設定時間を加算した時刻である。
【００６８】
次に、ウェブサービスサーバ３は、サービス依頼に対する処理を実行する（Ｓ２０５）。ここでの実行内容は、サービス依頼ごとに異なる。
【００６９】
次に、ウェブサービスサーバ３は、サービス依頼に対する処理の結果をウェブアプリケーションサーバ７に送信し（Ｓ２０６）、ウェブアプリケーションサーバ７は、サービス要求に対する応答のウェブページをユーザ端末９に送信する（Ｓ２０７）。
【００７０】
図９は、ログアウト処理の詳細を示す図である。
図９に示すように、ウェブアプリケーションサーバ７は、ユーザ端末９からログアウト要求を受信すると（Ｓ３０１）、ログアウト依頼をウェブサービスサーバ３に送信する（Ｓ３０２）。ログアウト依頼には、ユーザ情報６１が含まれる。
【００７１】
次に、ウェブサービスサーバ３は、接続状況テーブル５３の更新を行う（Ｓ３０３）。ここで、更新するレコードに係る接続状況テーブル５３のデータ項目の値は、ユーザ情報６１がログアウト依頼に含まれるもの、ログアウト時刻６５が現在時刻である。
【００７２】
次に、ウェブサービスサーバ３は、ログアウト成功の戻り値をウェブアプリケーションサーバ７に送信し（Ｓ３０４）、ウェブアプリケーションサーバ７は、ログアウト後に表示するウェブページをユーザ端末９に送信する（Ｓ３０５）。
【００７３】
以上説明したように、本発明の実施の形態によれば、ウェブサービス依頼装置であるウェブアプリケーションサーバ７は、ユーザ情報６１およびユーザ情報６１の認証に必要な情報が付加されたログイン依頼を、ウェブサービス提供装置であるウェブサービスサーバ３に送信する。そして、ウェブサービスサーバ３は、ログイン依頼を受信した際、ユーザ情報６１の認証が成功した場合には、現在時刻をログイン時刻６３として、かつログイン時刻６３にタイムアウト設定時間を加算した時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを登録する。これによって、ウェブサービスサーバ３は、ウェブサービスシステム１を利用するユーザの認証を行うことができるとともに、ログイン後のユーザの接続状況を把握するための初期情報を取得することができる。
【００７４】
また、ウェブサービス依頼装置であるウェブアプリケーションサーバ７は、ユーザ情報６１をサービス依頼に付加し、ユーザ情報６１が付加されたサービス依頼をウェブサービス提供装置であるウェブサービスサーバ３に送信する。そして、ウェブサービスサーバ３は、サービス依頼を受信した際、付加されているユーザ情報６１に係るログアウト時刻６５を確認し、ログアウト時刻６５が現在時刻を過ぎていなければ、現在時刻にタイムアウト設定時間を加算した時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを更新する。これによって、ウェブサービスサーバ３は、タイムアウトしていないユーザに対して、新たにタイムアウトを判断するための時刻であるログアウト時刻６５を設定することができ、継続的にユーザの接続状況を把握しながら、サービスを提供することができる。
【００７５】
一方、ウェブサービスサーバ３は、サービス依頼を受信した際、付加されているユーザ情報６１に係るログアウト時刻６５を確認し、ログアウト時刻６５が現在時刻を過ぎていれば、サービス依頼に対する処理を終了する。これによって、ウェブサービスサーバ３は、タイムアウトしているユーザに対して、サービスを提供することを防ぐことができる。更に言えば、ユーザが正しい手順によってログアウトしていない場合であっても、ユーザ情報６１を不正に入手した者によるなりすまし行為等の不正行為を防止することができる。
【００７６】
更に、ウェブサービス依頼装置であるウェブアプリケーションサーバ７は、ユーザ情報６１が付加されたログアウト依頼を、ウェブサービス提供装置であるウェブサービスサーバ３に送信する。そして、ウェブサービスサーバ３は、ログアウト依頼を受信した際、現在時刻をログアウト時刻６５として、付加されているユーザ情報６１に係る接続状況テーブル５３のレコードを更新する。これによって、ウェブサービスサーバ３は、ユーザが実際にログアウトした時刻を正確に把握しながら、サービスを提供することができる。
【００７７】
そして、以上の説明から分かるように、ウェブアプリケーションサーバ７とウェブサービスサーバ３との間で送受信されるメッセージには、特定のベンダの独自技術、特定のプログラム言語等に依存した情報は含まれていない。すなわち、本実施の形態に係るウェブサービスシステム１では、互いのアプリケーションの環境に依存しないメッセージの送受信が実現できている。
【００７８】
また、このように互いのアプリケーションの環境に依存しない構成によってシステムを構築することで、副次的な効果もある。例えば、システムを利用するユーザから画面レイアウトの変更の要望があった場合でも、ウェブアプリケーションサーバ７のみを変更すれば良い。この場合、必要があれば、ウェブアプリケーションサーバ７に係るＯＳを異なるベンダのものとすることもできるし、アプリケーションプログラムを異なるプログラム言語によって記述することもできる。また、例えば、既に構築されている他のシステムにおいて、アプリケーションプログラムをほとんど変更せずに、ウェブサービスサーバ３が提供するサービスを利用することができる。
【００７９】
以上、添付図面を参照しながら、本発明に係るウェブサービスシステム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００８０】
【図１】ウェブサービスシステム１の概略構成を示す図
【図２】コンピュータのハードウェア構成図
【図３】接続状況テーブル５３が保持するデータの一例を示す図
【図４】ウェブアプリケーションサーバ７の機能の概要を示すブロック図
【図５】ウェブサービスサーバ３の機能の概要を示すブロック図
【図６】データベースサーバ５の機能の概要を示すブロック図
【図７】ログイン処理の詳細を示す図
【図８】サービス処理の詳細を示す図
【図９】ログアウト処理の詳細を示す図
【符号の説明】
【００８１】
１………ウェブサービスシステム
３………ウェブサービスサーバ
５………データベースサーバ
７………ウェブアプリケーションサーバ
９………ユーザ端末
１１………ネットワーク
１３………制御部
１５………記憶部
１７………メディア入出力部
１９………通信制御部
２１………入力部
２３………表示部
２５………周辺機器Ｉ／Ｆ部
２７………バス
３１………ログイン処理手段
３３………サービス処理手段
３５………ログアウト処理手段
３７………接続状況管理手段
５１………データベースアクセス手段
５３………接続状況テーブル
５５………ウェブサービス特有テーブル群
６１………ユーザ情報
６３………ログイン時刻
６５………ログアウト時刻
７１………ログイン依頼手段
７３………サービス依頼手段
７５………ログアウト依頼手段
７７………ユーザ情報関連付け手段
【図１】
0005194670.tif 000002
【図２】
0005194670.tif 000003
【図３】
0005194670.tif 000004
【図４】
0005194670.tif 000005
【図５】
0005194670.tif 000006
【図６】
0005194670.tif 000007
【図７】
0005194670.tif 000008
【図８】
0005194670.tif 000009
【図９】
0005194670.tif 000010