(57)【特許請求の範囲】
【請求項１】
クライアント端末とインターネットで接続される少なくとも１つ以上のＷｅｂアプリケーションを実行するＷｅｂアプリケーションサーバと、
ウェブブラウザを搭載する前記クライアント端末と、
前記クライアント端末にイントラネットで接続されるデータベースサーバと
を含むＷｅｂサービス提供システムであって、
前記Ｗｅｂアプリケーションサーバは、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するユーザ情報管理部と、
前記属性に対応する個人データの格納先を定義するセキュリティポリシーを管理するセキュリティポリシー管理部であって、所定の属性に対応する個人データの格納先として前記データベースサーバを定義するセキュリティポリシーと、該属性以外の他の属性に対応する個人データの格納先としてＷｅｂアプリケーションサーバを定義するセキュリティポリシーとを管理する、セキュリティポリシー管理部と、
前記ウェブブラウザから送信された前記ユーザＩＤに対応付けられた前記属性に対応するセキュリティポリシーを取得するセキュリティポリシー取得部と、
取得した前記セキュリティポリシーに基づいてＨＴＭＬファイルを生成するＨＴＭＬファイル生成部と、
を含み、
前記ＨＴＭＬファイル生成部は、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記データベースサーバである場合に、前記データベースサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記Ｗｅｂアプリケーションサーバである場合に、前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
前記ウェブブラウザは、
前記Ｗｅｂアプリケーションサーバから受信した前記ＨＴＭＬファイルの内容に応じて前記データベースサーバまたは前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得し、該個人データを反映したＨＴＭＬページを生成する、
Ｗｅｂサービス提供システム。
【請求項２】
ウェブブラウザを搭載しデータベースサーバにイントラネットで接続されるクライアント端末とインターネットを介して接続されるＷｅｂアプリケーションサーバであって、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するユーザ情報管理部と、
前記属性に対応する個人データの格納先を定義するセキュリティポリシーを管理するセキュリティポリシー管理部であって、所定の属性に対応する個人データの格納先として前記データベースサーバを定義するセキュリティポリシーと、該属性以外の他の属性に対応する個人データの格納先としてＷｅｂアプリケーションサーバを定義するセキュリティポリシーとを管理する、セキュリティポリシー管理部と、
前記ウェブブラウザから送信された前記ユーザＩＤに対応付けられた前記属性に対応するセキュリティポリシーを取得するセキュリティポリシー取得部と、
取得した前記セキュリティポリシーに基づいてＨＴＭＬファイルを生成するＨＴＭＬファイル生成部と、
を含み、
前記ＨＴＭＬファイル生成部は、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記データベースサーバである場合に、前記データベースサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記Ｗｅｂアプリケーションサーバである場合に、前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
前記ＨＴＭＬファイル生成部によって生成したＨＴＭＬファイルを前記ウェブブラウザに読み込ませるために前記クライアント端末へ送信する、
Ｗｅｂアプリケーションサーバ。
【請求項３】
ウェブブラウザを搭載しデータベースサーバにイントラネットで接続されるクライアント端末とインターネットを介して接続されるＷｅｂアプリケーションサーバに対してＷｅｂサービスの提供を実行させるための方法であって、
前記Ｗｅｂアプリケーションサーバに、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するための機能手段と、
前記属性に対応する個人データの格納先を定義するセキュリティポリシーを管理するための機能手段であって、所定の属性に対応する個人データの格納先として前記データベースサーバを定義するセキュリティポリシーと、該属性以外の他の属性に対応する個人データの格納先としてＷｅｂアプリケーションサーバを定義するセキュリティポリシーとを管理する、機能手段と、
前記ウェブブラウザから送信された前記ユーザＩＤに対応付けられた前記属性に対応するセキュリティポリシーを取得するための機能手段と、
取得した前記セキュリティポリシーに基づいてＨＴＭＬファイルを生成するための機能手段と、
前記生成したＨＴＭＬファイルを前記ウェブブラウザに読み込ませるために前記クライアント端末へ送信するための機能手段と、
を実現する方法であって、
前記ＨＴＭＬファイルを生成するための機能手段は、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記データベースサーバである場合に、前記データベースサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記Ｗｅｂアプリケーションサーバである場合に、前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成する、
機能手段である、
方法。
【請求項４】
コンピュータに請求項３に記載の各機能手段を実現させるためのコンピュータ実行可能なプログラム。
【請求項５】
クライアント端末とインターネットで接続される少なくとも１つ以上のＷｅｂアプリケーションを実行するＷｅｂアプリケーションサーバと、
ウェブブラウザを搭載する前記クライアント端末と、
データベースを格納する前記クライアント端末のローカルストレージと
を含むＷｅｂサービス提供システムであって、
前記Ｗｅｂアプリケーションサーバは、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するユーザ情報管理部と、
前記属性に対応する個人データの格納先を定義するセキュリティポリシーを管理するセキュリティポリシー管理部であって、所定の属性に対応する個人データの格納先として前記ローカルストレージに格納される前記データベースを定義するセキュリティポリシーと、該属性以外の他の属性に対応する個人データの格納先としてＷｅｂアプリケーションサーバを定義するセキュリティポリシーとを管理する、セキュリティポリシー管理部と、
前記ウェブブラウザから送信された前記ユーザＩＤに対応付けられた前記属性に対応するセキュリティポリシーを取得するセキュリティポリシー取得部と、
取得した前記セキュリティポリシーに基づいてＨＴＭＬファイルを生成するＨＴＭＬファイル生成部と、
を含み、
前記ＨＴＭＬファイル生成部は、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記ローカルストレージに格納される前記データベースである場合に、前記データベースからユーザの個人データを取得するＨＴＭＬファイルを生成し、
取得した前記セキュリティポリシーに定義される前記個人データの格納先が前記Ｗｅｂアプリケーションサーバである場合に、前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
前記ウェブブラウザは、前記Ｗｅｂアプリケーションサーバから受信した前記ＨＴＭＬファイルの内容に応じて前記データベースまたは前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得し、該個人データを反映したＨＴＭＬページを生成する、
Ｗｅｂサービス提供システム。
【請求項６】
クライアント端末とインターネットで接続される少なくとも１つ以上のＷｅｂアプリケーションを実行するＷｅｂアプリケーションサーバと、
ウェブブラウザを搭載する前記クライアント端末と、
前記クライアント端末にイントラネットで接続されるデータベースサーバと、
前記クライアント端末にイントラネットで接続されるセキュリティポリシーサーバと
を含むＷｅｂサービス提供システムであって、
前記Ｗｅｂアプリケーションサーバは、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するユーザ情報管理部と、
前記属性に対応付けて前記セキュリティポリシーサーバのＵＲＬを管理するセキュリティポリシーサーバ管理部と、
ＨＴＭＬファイルを生成するＨＴＭＬファイル生成部と、
を含み、
前記セキュリティポリシーサーバは、
前記属性に対応する個人データの格納先を定義するセキュリティポリシーを管理し、所定の属性に対応する個人データの格納先として前記データベースサーバを定義するセキュリティポリシーと、該属性以外の他の属性に対応する個人データの格納先としてＷｅｂアプリケーションサーバを定義するセキュリティポリシーを管理し、
前記ＨＴＭＬファイル生成部は、
前記セキュリティポリシーサーバから前記ユーザの属性に対応する前記セキュリティポリシーを取得した後、取得した該セキュリティポリシーに定義される前記個人データの格納先が前記データベースサーバである場合に前記データベースサーバからユーザの個人データを取得し、該個人データの格納先が前記Ｗｅｂアプリケーションサーバである場合に前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成し、
前記ウェブブラウザは、前記Ｗｅｂアプリケーションサーバから受信した前記ＨＴＭＬファイルの内容に応じて前記データベースサーバまたは前記Ｗｅｂアプリケーションサーバからユーザの個人データを取得し、該個人データを反映したＨＴＭＬページを生成する、
Ｗｅｂサービス提供システム。
【請求項７】
前記セキュリティポリシー管理部は、前記クライアント端末にイントラネットで接続されるアプリケーションサーバを個人データの格納先として定義するセキュリティポリシーを管理し、
前記ＨＴＭＬファイル生成部は、前記アプリケーションサーバからユーザの個人データを取得するＨＴＭＬファイルを生成する、請求項１に記載のＷｅｂサービス提供システム。
【請求項８】
少なくとも１つ以上のＷｅｂアプリケーションを実行するＷｅｂアプリケーションサーバと、
ユーザの個人データをインターネットに接続された第一の格納先またはイントラネットに接続された第二の格納先のいずれかから取得することによって前記Ｗｅｂアプリケーションサーバが提供するＷｅｂサービスを利用するウェブブラウザを搭載するクライアント端末と、
を含むＷｅｂサービス提供システムであって、
ユーザＩＤとユーザが所属する組織に関する属性を対応付けて管理するユーザ情報管理部と、
複数の異なる前記属性を管理し、少なくとも1以上の前記属性と前記イントラネットに接続された第二の格納先を示すユーザの個人データの格納先を関連付けて管理する格納先管理部と、
前記クライアント端末が前記個人データを取得するために、前記格納先に基づいてＨＴＭＬファイルを生成するＨＴＭＬファイル生成部と、
を有し、
前記ウェブブラウザは、
前記Ｗｅｂサービスを利用するために前記ウェブブラウザから送信された前記ユーザＩＤに前記ユーザ情報管理部において対応付けられた前記属性が、
前記格納先管理部において前記第二の格納先に関連付けられている場合に前記属性に基づいて前記第二の格納先を特定する情報を含む前記ＨＴＭＬファイル生成部によって生成されたＨＴＭＬファイルを取得し、該取得したＨＴＭＬファイルに含まれる前記第二の格納先を特定する情報に基づいて、前記ユーザの個人データを取得するために前記イントラネットに接続された第二の格納先へアクセスし、
前記格納先管理部において前記第二の格納先に関連付けられていない場合に前記属性に基づいて前記第一の格納先から前記ユーザの個人データを取得
することを特徴とする
Ｗｅｂサービス提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサービス提供システムに関し、より詳細には、情報漏洩やデータ喪失等のセキュリティリスクを低減することのできるＷｅｂサービス提供システムに関する。
【背景技術】
【０００２】
近年、ＳａａＳ（Software as a Service)と呼ばれるインターネットを介したソフトウェアの新しい利用形態が注目を集めている。従来、ユーザは、ソフトウェアを利用する際、ソフトウェア・パッケージを購入し、これを自身のパーソナル・コンピュータにインストールして利用していた。一方、ＳａａＳにおいては、ソフトウェアは、外部のＷｅｂサービス提供業者が管理するＷｅｂアプリケーションサーバ上でのみ稼働し、ユーザは、当該Ｗｅｂアプリケーションサーバにインターネット接続されたクライアント端末のウェブ・ブラウザを介してそのソフトウェアの機能を利用する。ＳａａＳによれば、サーバ設置に伴うイニシャルコストおよびその後の保守管理コストが不要となり、また、システム規模の拡大・縮小にも柔軟に対応しうることから、近年、メールやグループウェアなどの業務用アプリケーションをＳａａＳに切替える企業が増えてきている。
【０００３】
しかしながら、ＳａａＳにおいては、データは社内（クライアント側）に残らず、社外のＷｅｂサービス提供業者のデータベースにのみ保存されることから、情報漏洩やデータ喪失等のセキュリティリスクを危惧し、その採用を敬遠する企業も少なくない。この点について、社内でＳａａＳ型のサービスを構築する社内ＳａａＳというソリューションが提案されてはいるが、この方法では、ＳａａＳの特徴であるコストメリットが失われることに加え、社外との情報共有ができないという問題がある。
【０００４】
この点につき、特開２００９−７００１５号公報（特許文献１）は、社外ＳａａＳと同じアプリケーションをインストールしたＳａａＳサーバを社内に設置し、社内外で共有したいデータについて、社内のデータベースと社外のデータベースを同期させることを特徴とするシステムを開示する。
【０００５】
しかしながら、特許文献１のシステムにおいても、社内にＳａａＳサーバを設置する必要があるためコストメリット喪失の問題は依然として解決されておらず、さらに加えて、ユーザは、社外用ＳａａＳアプリケーションと社内用ＳａａＳアプリケーションを意識して使い分ける必要があるため、ユーザビリティが低くならざるを得ないという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、ＳａａＳのコストメリットを維持しつつ、同時にセキュリティリスクを低減することのできる新規なＷｅｂサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者は、ＳａａＳのコストメリットを維持しつつ、同時にセキュリティリスクを低減することのできる新規なＷｅｂサービス提供システムにつき鋭意検討した結果、社内にＷｅｂサービスのデータを管理するデータベースサーバを設け、予め定義されたセキュリティポリシーに基づいて、データを社内外の保存先に振分ける構成を見出し、本発明に至ったのである。
【０００８】
すなわち、本発明によれば、Ｗｅｂアプリケーションを実行するＷｅｂアプリケーションサーバと、ウェブ・ブラウザを搭載するクライアント端末と、前記クライアント端末にイントラネットで接続されるデータベースサーバとを含むＷｅｂサービス提供システムであって、前記Ｗｅｂアプリケーションサーバは、ユーザＩＤと属性を対応付けて管理するユーザ情報管理部と、前記属性に対応付けてセキュリティポリシーを管理するセキュリティポリシー管理部であって、該セキュリティポリシーは、前記Ｗｅｂアプリケーションサーバまたは前記データベースサーバを個人データの格納先として定義する、セキュリティポリシー管理部と、前記ウェブ・ブラウザから送信された前記ユーザＩＤに対応付けられた前記属性に基づいてセキュリティポリシーを取得するセキュリティポリシー取得部と、取得した前記セキュリティポリシーに基づいてＨＴＭＬファイルを生成するＨＴＭＬファイル生成部とを含み、前記ＨＴＭＬファイル生成部は、前記個人データの格納先が前記データベースサーバである場合に、前記データベースサーバのＵＲＬを指定するクロスドメイン通信を実行してユーザの個人データを取得するためのスクリプトを埋め込んだＨＴＭＬファイルを生成し、前記ウェブ・ブラウザは、前記Ｗｅｂアプリケーションサーバから受信した前記ＨＴＭＬファイルの前記スクリプトを実行することによって前記データベースサーバからユーザの個人データを取得し、該個人データを反映したＨＴＭＬページを生成するＷｅｂサービス提供システムが提供される。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態のＷｅｂサービス提供システムのネットワーク図。
【図２】第１実施形態のＷｅｂサービス提供システムを構成する各装置の機能ブロック図。
【図３】第１実施形態におけるユーザ情報管理テーブルを示す図。
【図４】第１実施形態におけるセキュリティポリシー管理テーブルを示す図。
【図５】第１実施形態のＷｅｂサービス提供システムが実行する処理のシーケンス図。
【図６】本実施形態におけるウェブ・ブラウザが表示する画面を示す図。
【図７】本実施形態におけるウェブ・ブラウザが表示する画面を示す図。
【図８】本実施形態におけるウェブ・ブラウザが表示する画面を示す図。
【図９】第２実施形態におけるセキュリティポリシー管理テーブルを示す図。
【図１０】第２実施形態のＷｅｂサービス提供システムが実行する処理のシーケンス図。
【図１１】第３実施形態のＷｅｂサービス提供システムのネットワーク図。
【図１２】第３実施形態におけるセキュリティポリシー管理テーブルを示す図。
【図１３】第３実施形態のＷｅｂサービス提供システムが実行する処理のシーケンス図。
【図１４】第４実施形態のＷｅｂサービス提供システムのネットワーク図。
【図１５】第４実施形態におけるセキュリティポリシー管理テーブルを示す図。
【発明を実施するための形態】
【００１０】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【００１１】
図１は、本発明の実施形態であるＷｅｂサービス提供システム１０のネットワーク図を示す。本実施形態のＷｅｂサービス提供システム１０は、ＳａａＳサーバとして参照することができるＷｅｂアプリケーションサーバ１００と、ＳａａＳサービスのユーザ端末として参照することができるクライアント端末２００と、ユーザの管理下にあるデータベースサーバ３００とを含んで構成されている。なお、Ｗｅｂアプリケーションサーバ１００とクライアント端末２００とはインターネット１２を介して接続され、クライアント端末２００とデータベースサーバ３００とはイントラネット１４を介して接続されている。
【００１２】
本実施形態のＷｅｂサービス提供システム１０において、Ｗｅｂアプリケーションサーバ１００は、少なくとも１つのＷｅｂサービスをクライアント端末２００が搭載するウェブ・ブラウザを介してユーザに提供する。具体的には、まず、クライアント端末２００のウェブ・ブラウザからＷｅｂアプリケーションサーバ１００に対してＨＴＴＰリクエストが送信される。Ｗｅｂアプリケーションサーバ１００は、ＨＴＴＰリクエストの内容に基づいてデータベースを検索し、所定のビジネスロジック処理を実行して、その実行結果を示すＨＴＭＬファイルを生成する。生成されたＨＴＭＬファイルは、ＨＴＴＰレスポンスとしてウェブ・ブラウザに送信され、ウェブ・ブラウザがこれを解析してＨＴＭＬページを表示する。
【００１３】
上述したＷｅｂサービス提供システム１０において、Ｗｅｂサービスに使用されるデータは、基本的には、社外に設置されたＷｅｂアプリケーションサーバ１００側の図示しないデータベースに保管されることになるが、データの内容によっては、それを社外に置くことが好ましくない場合がある。この点につき、本実施形態のＷｅｂサービス提供システム１０によれば、社外に設置されたＷｅｂアプリケーションサーバ１００が提供するアプリケーション機能を利用しつつ、セキュリティー要求の高い一部の情報については、選択的に、社内に設置したデータベースサーバ３００に保存することによって、情報漏洩やデータ喪失等のセキュリティリスクを好適に低減する。以下、この点について詳細に説明する。
【００１４】
図２は、本実施形態のＷｅｂサービス提供システム１０を構成する各装置の機能ブロック図を示す。
【００１５】
Ｗｅｂアプリケーションサーバ１００は、ログイン認証部３０、セキュリティポリシー取得部３２、ＨＴＭＬファイル生成部３４を含むアプリケーション層、ならびに、ユーザ情報管理部３６、セキュリティポリシー管理部３８、およびＷｅｂアプリケーション・データベース３９を含むデータ層を備え、少なくとも１つのＷｅｂサービスをユーザに提供する。なお、図２においては、説明の便宜上、アプリケーション層とデータ層とが一体化されたＷｅｂアプリケーションサーバをＷｅｂサービス提供システムとして示したが、一般的には、Ｗｅｂサービス提供側のシステムは、アプリケーション層の機能に特化したアプリケーションサーバとこれと通信するデータベースサーバによって構成される。
【００１６】
最初に、Ｗｅｂアプリケーションサーバ１００のデータ層について説明する。本実施形態におけるユーザ情報管理部３６は、図３に示すユーザ情報管理テーブル５００を備える。図３に例示するユーザ情報管理テーブル５００には、ログイン情報としてユーザＩＤおよびパスワードが格納され、さらに、ユーザＩＤに対応付けてユーザの属性（ユーザ名、会社名、部門、役職）が格納されている。なお、属性の項目の種類は、図３に示す態様に限定されるものではなく、セキュリティポリシー策定の観点から適切な項目を適宜設定することができる。
【００１７】
次に、本実施形態におけるセキュリティポリシー管理部３８は、図４に示すセキュリティポリシー管理テーブル６００を備える。図４に例示するセキュリティポリシー管理テーブル６００は、Ｗｅｂアプリケーションサーバ１００が提供する各サービスについて定義されたセキュリティポリシーをユーザの属性に対応付けて管理している。なお、本実施形態におけるセキュリティポリシーは、データの格納場所（社内・社外）とその格納先（アクセス先）ＵＲＬを記述する。データの格納先ＵＲＬの欄には、データの格納場所が社内である場合には、クライアント端末２００とイントラネット接続されている社内データベースサーバ３００のＵＲＬが記述される。また、データの格納場所が社外である場合には、ウェブ・ブラウザが表示する現在のページのＵＲＬを通信先として維持する設定（図４において当該設定を「−」と示す）が記述される。なお、上述したユーザ情報管理テーブル５００およびセキュリティポリシー管理テーブル６００に格納する情報の設定は、ユーザ側の管理責任者（ＩＴマネージャーなど）がＷｅｂアプリケーションサーバ１００を管理するＷｅｂサービス提供業者に依頼して行う。
【００１８】
最後に、Ｗｅｂアプリケーション・データベース３９は、各Ｗｅｂサービスを実現するために使用される個人データを含む各種データを保存・管理する。
【００１９】
続いて、Ｗｅｂアプリケーションサーバ１００のアプリケーション層について説明する。本実施形態におけるログイン認証部３０は、ウェブ・ブラウザ２０から受信したユーザＩＤおよびパスワード（ログイン情報）を上述したユーザ情報管理テーブル５００に格納されたログイン情報と照合して認証処理を実行する。セキュリティポリシー取得部３２は、ウェブ・ブラウザ２０からのＨＴＴＰリクエストに応答して、受信したユーザＩＤに対応付けられた属性をキーとして図４に示したセキュリティポリシー管理テーブル６００を検索し、当該属性に対応するセキュリティポリシーを取得する。ＨＴＭＬファイル生成部３４は、取得したセキュリティポリシーに基づいてＨＴＭＬファイルを生成し、ＨＴＴＰレスポンスとしてウェブ・ブラウザ２０に送信する。
【００２０】
次に、本実施形態におけるクライアント端末２００について説明する。本実施形態におけるクライアント端末２００は、パーソナル・コンピュータとして構成することができ、ウェブ・ブラウザ２０を搭載する。本実施形態におけるウェブ・ブラウザ２０は、Ajax(Asynchronous Javascript（登録商標）+XML）に対応し、サーバとの非同期通信を実行することができる。また、本実施形態におけるウェブ・ブラウザ２０には、表示されたページと異なるドメインのサーバとのＨＴＴＰ通信を可能にするクロスドメイン通信機能が実装されている。上述したＡｊａｘ機能およびクロスドメイン通信機能を備えるウェブ・ブラウザ２０としては、XMLHttpRequest Level2を実装したFirefox3.5、Google Chrome3、Safari4や、XDomainRequestを実装したInternetExplorer8を挙げることができる。図２においては、ウェブ・ブラウザ２０の機能のうち、社内データベースサーバ３００と非同期通信を行ってユーザの個人データを取得する機能部をＡｊａｘエンジン２２として示し、ＨＴＴＰユーザエージェント、パーサ、レンダラなどの基本機能をＨＴＭＬエンジン２４として示している。
【００２１】
以上、本実施形態のＷｅｂサービス提供システム１０を構成する各装置の機能手段について説明してきたが、次に、本実施形態のＷｅｂサービス提供システム１０が実行する処理の具体的な内容について説明する。なお、以下の説明においては、Ｗｅｂアプリケーションサーバ１００は、「カレンダー」、「議事録」および「写真管理」という３つのＷｅｂサービスを提供するものとし、図３に示したユーザ情報管理テーブル５００に登録された「Ａ社の山田」が、Ｗｅｂサービス「カレンダー」を利用する場合を例にとって説明する。
【００２２】
図５は、Ｗｅｂサービス提供システム１０が実行する処理のシーケンス図を示す。まず、クライアント端末２００のユーザである「山田」は、図６（ａ）に示すように、ウェブ・ブラウザ２０を介してユーザＩＤ「USER-A1」およびパスワード「123abc(******)」を入力し、ログインアイコンをクリックしてログイン情報（ユーザＩＤおよびパスワード）をＷｅｂアプリケーションサーバ１００に送信する（ステップ１０１）。
【００２３】
Ｗｅｂアプリケーションサーバ１００は、受信したユーザＩＤおよびパスワードをユーザ情報管理テーブル５００に格納されたログイン情報と照合してユーザ認証処理を実行する（ステップ１０２）。ユーザ認証が成功すると、Ｗｅｂアプリケーションサーバ１００は、サービスリストページをウェブ・ブラウザ２０に送信し（ステップ１０３）、ウェブ・ブラウザ２０がこれを表示する。図６（ｂ）は、表示されたサービスリストページを示す。サービスリストページには、Ｗｅｂアプリケーションサーバ１００が提供することのできる３つのＷｅｂサービス（「カレンダー」、「議事録」、「写真管理」）の選択アイコンが表示されている。ユーザが「カレンダー」アイコンをクリックすると、ウェブ・ブラウザ２０からサービスページ要求がＷｅｂアプリケーションサーバ１００に送信される（ステップ１０４）。
【００２４】
Ｗｅｂアプリケーションサーバ１００は、サービスページ要求を受信すると、ユーザ情報管理テーブル５００を検索して受信したユーザＩＤに対応付けられた属性を取得し、取得した属性をキーとしてセキュリティポリシー管理テーブル６００を検索して当該属性に対応するセキュリティポリシーを取得する（ステップ１０５）。ここで図３を参照すると、ユーザ「山田」のユーザＩＤ「USER-A1」に対応付けられた属性は、「ユーザ名＝山田、会社名＝Ａ社、部門＝営業部、役職＝部長」であり、これらの属性をキーとして図４に示すセキュリティポリシー管理テーブル６００を検索することによって、図４中の矢印が指し示すフィールドに格納されたセキュリティポリシー「格納場所＝社内、URL=intra.acompany.co.jp/calender」が取得される。
【００２５】
次に、Ｗｅｂアプリケーションサーバ１００は、取得したセキュリティポリシーに基づいてＨＴＭＬファイルを生成する。具体的には、Ｗｅｂアプリケーション・データベース３９に格納された各種データを使用して図６（ｃ）に示すカレンダーページを表示するためのＨＴＭＬファイルを生成する。ここで、ユーザ「山田」のセキュリティポリシーによれば、情報の格納先は「社内」であるため、ユーザ「山田」の個人データはＷｅｂアプリケーション・データベース３９には置かれていない。したがって、Ｗｅｂアプリケーションサーバ１００は、図６（ｃ）に示すように、カレンダーページにＡ社の共有情報（10/4 創立記念日，10/22 カジュアルデー）を反映させることはできるものの、このままでは、ユーザ「山田」の個人的なスケジュールがカレンダーページに反映されない。
【００２６】
この点につき、本実施形態においては、ユーザの個人データを社内データベースサーバ３００から取得するためのJavascript（登録商標）を埋め込んだＨＴＭＬファイルを以下の手順で生成する（ステップ１０６）。まず、取得したセキュリティポリシーに記述された「格納場所」が社内であるか社外であるかが判断される。図４中の矢印が指し示すように、「格納場所＝社内」であるので、これを受けてXMLHttpRequestの通信先をＡ社の社内データベースサーバ３００に指定したクロスドメイン通信を実行して「山田」の個人データを取得するためのJavascript（登録商標）が生成される。ここで、XMLHttpRequestの通信先として取得したセキュリティポリシーに記述されたのURL（=intra.acompany.co.jp/calender）が指定される。最後に、生成されたJavascript（登録商標）を図６（ｃ）に示すカレンダーページを表示するためのＨＴＭＬファイルに埋め込むことによってＨＴＭＬファイルが完成する。なお、上記ＨＴＭＬファイルにおいては、XMLHttpRequestのトリガとして適切なイベントを指定する。本実施形態においては、「ページの読込み」および「個人データの入力」をXMLHttpRequestのトリガとすることができる。生成されたＨＴＭＬファイルは、ＨＴＴＰレスポンスとしてウェブ・ブラウザ２０に送信される（ステップ１０７）。
【００２７】
ウェブ・ブラウザ２０が受信したＨＴＭＬファイルを読み込むと（ステップ１０８）、当該イベントをトリガとしてJavascript（登録商標）が実行され、指定されたＡ社の社内データベースサーバ３００のＵＲＬ（=intra.acompany.co.jp/calender）を通信先としたXMLHttpRequestでユーザ「山田」の個人データが要求される（ステップ１０９）。社内データベースサーバ３００には、図７（ｂ）に示すように、Ａ社の各ユーザの個人データ（個人的なスケジュール等）がユーザＩＤ毎に管理されている。社内データベースサーバ３００は、ウェブ・ブラウザ２０からの要求に応答してユーザ「山田」の個人データ（＝10/13 9:00-11:00 会議）を読み出し（ステップ１１０）、XMLHttpRequestでウェブ・ブラウザ２０に送信する（ステップ１１１）。
【００２８】
ウェブ・ブラウザ２０は、社内データベースサーバ３００から受信したユーザ「山田」の個人データ（＝10/13 9:00-11:00 会議）と先にＷｅｂアプリケーションサーバ１００から受信されキャッシュに保存された図７（ａ）が示すページを表示するためのＨＴＭＬファイルをバインディングしてカレンダーページを生成する。（ステップ１１２）図７（ｃ）は、バインディングして生成されたカレンダーページを示す。図７（ｃ）に示されるように、バインディング後のカレンダーページには、Ａ社の共有情報（10/4 創立記念日，10/22 カジュアルデー）に加えて、ユーザ「山田」の個人的なスケジュール（＝10/13 9:00-11:00 会議）が反映されている。
【００２９】
次に、ユーザがカレンダーページを表示した後、同じセッション内で個人データを入力した場合について説明する。ユーザ「山田」がウェブ・ブラウザ２０が提供する所定の個人データ入力インターフェースを介して個人データを入力すると（ステップ１１３）、当該イベントをトリガとしてJavascript（登録商標）が実行され、指定されたＡ社の社内データベースサーバ３００のＵＲＬ（=intra.acompany.co.jp/calender）を通信先としたXMLHttpRequestで入力された個人データをユーザ「山田」のファイルに書き込み、書き込んだ個人データを読み出す要求が送信される（ステップ１１４）。これを受けて、社内データベースサーバ３００は、図８（ｂ）に示すように、新たに入力された個人データ（＝10/15 大阪出張）をユーザ「山田」のファイル（User-A1)に書き込んで更新し（ステップ１１５）、さらに、書き込んだ個人データ（＝10/15 大阪出張）を読み出してウェブ・ブラウザ２０に送信する（ステップ１１６）。
【００３０】
ウェブ・ブラウザ２０は、社内データベースサーバ３００から受信したユーザ「山田」の個人データ（＝10/15 大阪出張）とキャッシュに保存された図８（ａ）が示すＨＴＭＬページデータとをバインディングしてカレンダーページを更新する。（ステップ１１７）図８（ｃ）は、更新されたカレンダーページを示す。図８（ｃ）に示されるように、カレンダーページには、Ａ社の共有情報（10/4 創立記念日，10/22 カジュアルデー）、ユーザ「山田」の個人的なスケジュール（＝10/13 9:00-11:00 会議）に加えて、ユーザ「山田」が新たに入力した個人的なスケジュール（＝10/15 大阪出張）が反映されている。
【００３１】
以上、説明したように、本実施形態のＷｅｂサービス提供システム１０によれば、セキュリティー要求が高くない情報については、従前の社外ＳａａＳと同様に、社外のＳａａＳサーバを介して共有することができ、一方でセキュリティー要求の高い一部の情報については、自動的に社内に保存される。
【００３２】
一方、本発明によれば、例えば、社内においても公開できないような機密性の高い個人データの格納先を、クライアント端末２００にローカル接続されるローカルストレージ４００（図２参照）が格納するデータベースとすることもできる。以下、個人データの格納先をローカルストレージとする第２の実施形態について説明する。
【００３３】
図９は、第２の実施形態におけるセキュリティポリシー管理テーブル６２０を示す。図９に例示するセキュリティポリシー管理テーブル６２０におけるセキュリティポリシーは、データの格納場所の選択肢として、社内・社外に加えて「ローカル（すなわち、クライアント端末２００にローカル接続されるローカルストレージ４００）」が設けられており、この行のＵＲＬのフィールドは空欄とされる。
【００３４】
ここで、図１０に示すシーケンス図に基づいて、「Ｃ社の経理部長」がＷｅｂサービス「カレンダー」を利用する場合を例にとって第２の実施形態を説明する。なお、図１０においては、図５に基づいて説明したのと同じ処理について、同じステップ番号を付してその説明を省略するものとし、ここでは、異なる処理についてのみ説明する。
【００３５】
Ｗｅｂアプリケーションサーバ１００は、ログインした「Ｃ社の経理部長」の属性（会社名＝Ｃ社、部門＝経理部、役職＝部長）をキーとして図９に示すセキュリティポリシー管理テーブル６２０を検索する。その結果、図中の矢印が指し示すフィールドに格納されたセキュリティポリシー「格納場所＝ローカル」が取得される。
【００３６】
セキュリティポリシーが「格納場所＝ローカル」であった場合、Ｗｅｂアプリケーションサーバ１００は、ユーザの個人データをローカルストレージ４００から取得するためのJavascript（登録商標）を埋め込んだＨＴＭＬファイルを生成する（ステップ１０６−２）。このようなＨＴＭＬファイルは、ＨＴＭＬ５で導入されたクライアントサイド・データベースストレージ（Client-side database storage）という仕様に従って生成することができる。生成されたＨＴＭＬファイルは、ＨＴＴＰレスポンスとしてウェブ・ブラウザ２０に送信される（ステップ１０７）。
【００３７】
ウェブ・ブラウザ２０が受信したＨＴＭＬファイルを読み込むと（ステップ１０８）、当該イベントをトリガとしてJavascript（登録商標）が実行され、「Ｃ社の経理部長」のクライアント端末２００に接続されるローカルストレージ４００に保存された「Ｃ社の経理部長」の個人データが要求される（ステップ１０９−２）。
【００３８】
ユーザがカレンダーページを表示した後、同じセッション内で個人データを入力した場合には、ユーザ「Ｃ社の経理部長」がウェブ・ブラウザ２０が提供する所定の個人データ入力インターフェースを介して個人データを入力すると（ステップ１１３）、当該イベントをトリガとしてJavascript（登録商標）が実行され、入力された個人データを「Ｃ社の経理部長」のクライアント端末２００に接続されるローカルストレージ４００に保存された「Ｃ社の経理部長」のファイルに書き込み、書き込んだ個人データを読み出す要求が送信される（ステップ１１４−２）。
【００３９】
以上、説明したように、第２の実施形態によれば、より機密性の高い情報については、クライアントのローカルストレージに自動的に保存することによって、情報漏洩リスクを低減することができる。
【００４０】
さらに、本発明の第３の実施形態によれば、セキュリティポリシーをＷｅｂサービス提供業者の管理下に置くのではなく、社内で管理することができる。図１１は、第３の実施形態であるＷｅｂサービス提供システム４０のネットワーク図を示す。本実施形態のＷｅｂサービス提供システム４０は、図１に示した構成に加えて、イントラネット１４に接続された社内ポリシーサーバ４２０を含んで構成されている。
【００４１】
本実施形態においては、Ｗｅｂアプリケーションサーバ１００のセキュリティポリシー管理部３８は、図１２（ａ）に示すセキュリティポリシー管理テーブル６４０を備える。図１２（ａ）に例示するセキュリティポリシー管理テーブル６４０においては、ユーザの属性とセキュリティポリシー（個人データの格納場所およびそのＵＲＬ）を紐付けて管理することに加えて、ユーザの属性とセキュリティポリシー自体の参照先ＵＲＬを紐付けて管理することができるように構成されている。
【００４２】
一方、社内ポリシーサーバ４２０は、自社のセキュリティポリシーを維持・管理する。図１２（ｂ）は、Ｃ社の社内ポリシーサーバ４２０が管理するセキュリティポリシー管理テーブル７００を例示する。セキュリティポリシー管理テーブル７００の内容は、自社のセキュリティポリシーのみを管理する点以外は、以前に説明したＷｅｂアプリケーションサーバ１００のセキュリティポリシー管理テーブル６００と同等の構成を備える。ここで、図１３に示すシーケンス図に基づいて、「Ｃ社の経理部長」がＷｅｂサービス「カレンダー」を利用する場合を例にとって第３の実施形態を説明する。なお、図１３においては、図５に基づいて説明したのと同じ処理については、同じステップ番号を付してその説明を省略するものとし、ここでは、異なる処理についてのみ説明する。
【００４３】
Ｗｅｂアプリケーションサーバ１００は、ログインした「Ｃ社の経理部長」の属性（会社名＝Ｃ社、部門＝経理部、役職＝部長）をキーとして図１２（ａ）に示すセキュリティポリシー管理テーブル６４０を検索して当該属性に対応するセキュリティポリシーのフィールドを参照する。図１２（ａ）に示す例においては、図中の矢印が指し示すように、Ｃ社の全員（部門、役職はワイルドカード）に対して、セキュリティポリシーの参照先としてＣ社のイントラネット内に配置される社内ポリシーサーバ４２０のＵＲＬ（intra.ccompany.co.jp/policy）が紐付けられている。Ｗｅｂアプリケーションサーバ１００は、この社内ポリシーサーバ４２０のＵＲＬを取得した後（ステップ１０４−２）、当該ＵＲＬ（社内ポリシーサーバ４２０）にセキュリティポリシーを問い合わせるためのクロスドメイン通信、ならびに、問い合わせたセキュリティポリシーに記述された個人データの格納場所をアクセス先とするクロスドメイン通信を実行するスクリプトを生成する（ステップ１０６−２）。
【００４４】
生成されたＨＴＭＬファイルは、ウェブ・ブラウザ２０に送信される（ステップ１０７）。ウェブ・ブラウザ２０が受信したＨＴＭＬファイルを読み込むと（ステップ１０８）、当該イベントをトリガとしてJavascript（登録商標）を実行され、Ｃ社の社内ポリシーサーバ４２０に対して「Ｃ社の経理部長」の属性をキーとしたセキュリティポリシーの問い合わせが実行される（ステップ１０８−２）。この問い合わせは、ＵＲＬ（intra.ccompany.co.jp/policy）を問い合わせ先とするクロスドメイン通信によって行われる。
【００４５】
Ｃ社の社内ポリシーサーバ４２０は、この問い合わせに応答して、受領した「Ｃ社の経理部長」の属性をキーとして図１２（ｂ）に示すセキュリティポリシー管理テーブル７００を検索し、図中の矢印が指し示すフィールドに格納されたセキュリティポリシー「格納場所＝社内、URL=intra.ccompany.co.jp/calender」を内容とするポリシーデータをウェブ・ブラウザ２０に返す（ステップ１０８−２）。ウェブ・ブラウザ２０は、受信したポリシーデータから「Ｃ社の経理部長」の個人データの格納場所およびそのURLを取得し、当該URL（＝intra.ccompany.co.jp/calender）を通信先としたXMLHttpRequestで「Ｃ社の経理部長」の個人データを要求する（ステップ１０９−２）。
【００４６】
次に、「Ｃ社の経理部長」が個人データを入力すると（ステップ１１３）、当該イベントをトリガとしてJavascript（登録商標）が実行され、先と同様に、Ｃ社の社内ポリシーサーバ４２０に対して「Ｃ社の経理部長」の属性の属性をキーとしたセキュリティポリシーの問い合わせが実行される。Ｃ社の社内ポリシーサーバ４２０は、この問い合わせに応答して、セキュリティポリシー管理テーブル７００を検索し、「Ｃ社の経理部長」の属性に対応する「格納場所＝社内、URL=intra.ccompany.co.jp/calender」を内容とするポリシーデータをウェブ・ブラウザ２０に返す（ステップ１１３−２）。ウェブ・ブラウザ２０は、受信したポリシーデータから「Ｃ社の経理部長」の個人データの格納場所およびそのURLを取得し、当該URL（＝intra.ccompany.co.jp/calender）を通信先としたXMLHttpRequestで入力された個人データをユーザ「山田」のファイルに書き込み、書き込んだ個人データを読み出す要求を送信する（ステップ１１４−２）。
【００４７】
以上、説明したように、第３の実施形態によれば、セキュリティポリシー情報を社外のＳａａＳサーバに置く必要が無くなり、その変更についても社内で自由に行うことができるのでユーザビリティが向上する。
【００４８】
最後に、本発明の第４の実施形態について説明する。例えば、Ｗｅｂアプリケーションサーバ１００が提供するＷｅｂサービス「議事録」に社員のアドレス帳アプリをリンクすれば、議事録アプリに参加するメンバのメールアドレスをすぐに参照することができて便利である。しかし、社員のアドレス帳をＷｅｂアプリケーションサーバ１００に置くことはセキュリティリスクを生じさせる。この点につき、本発明の第４の実施形態によれば、社外に置かれたＷｅｂアプリケーションサーバと社内に置かれたアプリケーションサーバを連携させることによってこの問題を解決することができる。以下、この点について説明する。
【００４９】
図１４は、第４の実施形態であるＷｅｂサービス提供システム５０のネットワーク図を示す。本実施形態のＷｅｂサービス提供システム５０は、図１に示した構成に加えて、イントラネット１４に接続された社内アプリケーションサーバ４５０を含んで構成されている。社内アプリケーションサーバ４５０は、アドレス帳アプリ、認証アプリ、スケジューラアプリなどを搭載することができ、イントラネット１４を介して社内クライアントのウェブブラウザからのみアクセス可能に構成されている。
【００５０】
本実施形態においては、Ｗｅｂアプリケーションサーバ１００のセキュリティポリシー管理部３８は、図１５（ａ）に示すように、Ｗｅｂアプリケーションサーバ１００が提供する各サービスについて定義されたセキュリティポリシーを管理するセキュリティポリシー管理テーブル６００に加えて、社内アプリケーションサーバ４５０が提供するサービス（例示においてはアドレス帳アプリ）について定義されたセキュリティポリシーを管理するセキュリティポリシー管理テーブル８００を管理する。
【００５１】
ここで、セキュリティポリシー管理テーブル８００とセキュリティポリシー管理テーブル６００の間には構成上の相違はなく、単に、格納されている値が異なる。具体的には、図１５（ｂ）に示すように、セキュリティポリシー管理テーブル８００における属性情報には会社名だけが記述されており（部門、役職についてはワイルドカード）、各会社名に紐付けてデータの格納場所およびそのＵＲＬが管理されている。ここで、データの格納場所については、全て「社内」とされており、ＵＲＬのフィールドには、各社のアドレス帳アプリのＵＲＬが記述されている。
【００５２】
ここで、「Ａ社営業部の鈴木」が、Ｗｅｂサービス「議事録」を利用する場合を例にとって説明する。Ｗｅｂアプリケーションサーバ１００は、ログインした「Ａ社の鈴木」の属性（ユーザ名＝鈴木、会社名＝Ａ社、部門＝営業部、役職＝なし」）をキーとして図１５（ａ）に示すセキュリティポリシー管理テーブル６００を検索し、図中の矢印が指し示すフィールドに格納されたセキュリティポリシー「格納場所＝社外、URL=―」を取得する。この場合、「Ａ社営業部の鈴木」がＷｅｂサービス「議事録」を利用するにあたり、その個人データは、Ｗｅｂアプリケーションサーバ１００（社外）で管理される。
【００５３】
ここで、本実施形態においては、Ｗｅｂアプリケーションサーバ１００は、Ｗｅｂサービス「議事録」につき、「Ａ社営業部の鈴木」の個人データについては、Ｗｅｂアプリケーションサーバ１００に格納されたデータにアクセスする一方で、Ａ社のアドレス帳アプリ（Ａ社の社内アプリケーションサーバ４５０）に対してクロスドメイン通信でアクセスしてＡ社の社員のメールアドレスを取得するようにＨＴＭＬファイルを生成する。その結果、Ｗｅｂアプリと社内アプリがリンクされる。そのために、Ｗｅｂアプリケーションサーバ１００は、「Ａ社の鈴木」の属性（ユーザ名＝鈴木、会社名＝Ａ社、部門＝営業部、役職＝なし」）をキーとして図１５（ｂ）に示すセキュリティポリシー管理テーブル８００を検索し、図中の矢印が指し示すフィールドに格納されたＡ社のアドレス帳アプリのＵＲＬを取得する。
【００５４】
以上、説明したように、第４の実施形態によれば、セキュリティリスクを生じさせることなく、Ｗｅｂアプリケーションサーバ１００が提供するＷｅｂアプリケーションの中からこれに関連する社内アプリケーション（データベース）を自由に呼び出すことができる。
【００５５】
以上、説明したように、本発明のＷｅｂサービス提供システムによれば、セキュリティー要求が高くない情報については、従前の社外ＳａａＳと同様に、社外のＳａａＳサーバを介して共有することができ、一方でセキュリティー要求の高い一部の情報については、これを社内で管理することができる。一連の手順は、ユーザに気づかれることなく自動的に行われる。したがって、本発明によれば、社内ユーザのユーザビリティを犠牲にすることなく、社内の情報セキュリティリスクを確実に低減することが可能になる。
【００５６】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００５７】
なお、上述した実施形態の各機能は、アセンブリ言語、Ｃ、Ｖｉｓｕａｌ  Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａｓｃｒｉｐｔ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなど、レガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【符号の説明】
【００５８】
１０,４０,５０…Ｗｅｂサービス提供システム
１２…インターネット
１４…イントラネット
２０…ウェブ・ブラウザ
２２…Ａｊａｘエンジン
２４…ＨＴＭＬエンジン
３０…ログイン認証部
３２…セキュリティポリシー取得部
３４…ＨＴＭＬファイル生成部
３６…ユーザ情報管理部
３８…セキュリティポリシー管理部
３９…Ｗｅｂアプリケーション・データベース
１００…Ｗｅｂアプリケーションサーバ
２００…クライアント端末
３００…社内データベースサーバ
４００…ローカルストレージ
４２０…社内ポリシーサーバ
４５０…社内アプリケーションサーバ
５００…ユーザ情報管理テーブル
６００,６２０,６４０,７００,８００…セキュリティポリシー管理テーブル
【先行技術文献】
【特許文献】
【００５９】
【特許文献１】特開２００９−７００１５号公報
【図１】
0005821298.tif 000002
【図２】
0005821298.tif 000003
【図３】
0005821298.tif 000004
【図４】
0005821298.tif 000005
【図５】
0005821298.tif 000006
【図６】
0005821298.tif 000007
【図７】
0005821298.tif 000008
【図８】
0005821298.tif 000009
【図９】
0005821298.tif 000010
【図１０】
0005821298.tif 000011
【図１１】
0005821298.tif 000012
【図１２】
0005821298.tif 000013
【図１３】
0005821298.tif 000014
【図１４】
0005821298.tif 000015
【図１５】
0005821298.tif 000016