(57)【要約】【課題】Ｗｅｂサービスでサービス要求に用いられるデータに関する個々のＷｅｂサービス依存の条件を反映した画面データを生成することができるようにする。【解決手段】Ｗｅｂサービスにサービス提供を要求するサーバ装置を設け、サーバ装置で提供されるＷｅｂサービスの分野に対応したテンプレートを用意する。サーバ装置はテンプレートにクライアント端末を操作する利用者が指定したＷｅｂサービスのサービス提供装置が必要とするデータの入力エリア、入力項目名を追加する。さらに利用者が指定したＷｅｂサービスのサービス提供装置がポリシーとして規定する個々の入力項目に関する入力条件をテンプレートに追加してＨＴＭＬのような利用者端末にあるブラウザが処理できる形式のデータとして利用者のクライアント端末へ送付するデータ入力画面の情報を完成させる。【選択図】図３
2007316759.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを提供するサービス提供装置に対して送信するデータである要求データを入力する入力欄を有する画面を表示するための画面データを生成する方法であって、
画面データを生成する情報処理装置は、前記要求データを特定する情報である要求データ名に対応付けて、前記入力欄を特定する情報であるフィールド名をメモリに記憶し、
前記要求データ名と前記要求データに対する条件とが含まれるポリシーデータを前記メモリに記憶し、
前記ポリシーデータに含まれる前記要求データ名に対応する前記フィールド名を前記メモリから読み出し、
読み出した前記フィールド名により特定される前記入力欄に前記条件を満たす入力データが入力されるように、前記入力データを入力する利用者を誘導するための情報を追加した前記画面データを生成すること、
を特徴とする画面データ生成方法。
【請求項２】
請求項１に記載の画面データ生成方法であって、
前記ポリシーデータには第１の表現形式により前記条件が記述されており、
前記情報処理装置は、前記第１の表現形式で記述された前記条件であるポリシー表現データに対応付けて、前記画面に表示する第２の表現形式で記述された前記条件である画面表現データを前記メモリに記憶し、
前記ポリシーデータに含まれている前記ポリシー表現データに対応する前記画面表現データを前記メモリから読み出し、
読み出した前記画面表現データを追加した前記画面データを生成すること、
を特徴とする画面データ生成方法。
【請求項３】
請求項１に記載の画面データ生成方法であって、
前記情報処理装置は、前記条件を示す情報に対応付けて、前記画面を表示する情報処理装置において実行される、前記入力データが前記条件を満たすかどうかを判定するためのプログラムを前記メモリに記憶し、
前記ポリシーデータに含まれる前記条件を示す情報に対応する前記プログラムを前記メモリから読み出し、
読み出した前記プログラムを付帯させた前記画面データを生成すること、
を特徴とする画面データ生成方法。
【請求項４】
請求項１に記載の画面データ生成方法であって、
前記ポリシーデータに含まれる前記条件が、前記要求データが取り得る値を所定の選択肢に限定するものである場合、前記情報処理装置は、前記選択肢のリストから選択させるように動作する前記入力欄を表示するためのデータを追加した前記画面データを生成すること、
を特徴とする画面データ生成方法。
【請求項５】
請求項１に記載の画面データ生成方法であって、
前記サービス提供装置に対して前記ポリシーデータの取得要求を送信し、
前記サービス提供装置から前記取得要求に応じて送信される前記ポリシーデータを受信し、
受信した前記ポリシーデータを前記メモリに記憶すること、
を特徴とする画面データ生成方法。
【請求項６】
請求項１に記載の画面データ生成方法であって、
前記情報処理装置は、
前記要求データ名と、複数の前記フィールド名を示す情報である仮想フィールド名とを対応付けて前記メモリに記憶し、
前記ポリシーデータに含まれる前記要求データ名に対応する前記仮想フィールド名を前記メモリから読み出し、
読み出した前記仮想フィールド名により示される前記フィールド名のそれぞれについて、前記フィールド名により特定される前記入力欄に前記条件を満たす前記入力データが入力されるように、前記利用者を誘導するための前記情報を追加した前記画面データを生成すること、
を特徴とする画面データ生成方法。
【請求項７】
請求項３に記載の画面データ生成方法であって、
前記情報処理装置は画面データを作成するためのテンプレートを保持し、
前記テンプレートに含まれる拡張タグを前記プログラムに置換すること，
を特徴とする画面データ生成方法。
【請求項８】
請求項４に記載の画面データ生成方法であって、
前記情報処理装置は画面データを作成するためのテンプレートを保持し、
前記テンプレートに含まれる拡張タグを前記選択肢のリストから選択させるように動作する前記入力欄を表示するためのデータに置換すること，
を特徴とする画面データ生成方法。
【請求項９】
Ｗｅｂサービスを提供するサービス提供装置に対して送信するデータである要求データを入力する入力欄を有する画面を表示するための画面データを生成するためのプログラムであって、
情報処理装置に前記要求データを特定する情報である要求データ名に対応付けて、前記入力欄を特定する情報であるフィールド名メモリに記憶するステップと、
前記要求データ名と前記要求データに対する条件とが含まれるポリシーデータを前記メモリに記憶するステップと、
前記ポリシーデータに含まれる前記要求データ名に対応する前記フィールド名を前記メモリから読み出すステップと、
読み出した前記フィールド名により特定される前記入力欄に前記条件を満たす入力データが入力されるように、前記入力データを入力する利用者を誘導するための情報を追加した前記画面データを生成するステップと、
を実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムであって、
前記ポリシーデータには第１の表現形式により前記条件が記述されており、
前記情報処理装置に、
前記第１の表現形式で記述された前記条件であるポリシー表現データに対応付けて、前記画面に表示する第２の表現形式で記述された前記条件である画面表現データを前記メモリに記憶するステップと、
前記ポリシーデータに含まれている前記ポリシー表現データに対応する前記画面表現データを前記メモリから読み出すステップと、
をさらに実行させ、
前記画面データを生成するステップにおいて、前記情報処理装置に、前記画面表現データを追加した前記画面データを生成させること、
を特徴とするプログラム。
【請求項１１】
請求項９に記載のプログラムであって、
前記情報処理装置に前記条件を示す情報に対応付けて、前記画面を表示する情報処理装置において実行される、前記入力データが前記条件を満たすかどうかを判定するためのプログラムであるモジュールを前記メモリに記憶するステップと、
前記ポリシーデータに含まれる前記条件を示す情報に対応する前記モジュールを前記メモリから読み出すステップとをさらに実行させ、
前記画面データを生成するステップにおいて、前記情報処理装置に、前記モジュールを追加した前記画面データを生成させること、
を特徴とするプログラム。
【請求項１２】
請求項９に記載のプログラムであって、
前記画面データを生成するステップにおいて、前記ポリシーデータに含まれる前記条件が、前記要求データが取り得る値を所定の選択肢に限定するものである場合、前記情報処理装置に、前記選択肢のリストから一つを選択させるように動作する前記入力欄を表示するためのデータを追加した前記画面データを生成させること、
を特徴とするプログラム。
【請求項１３】
Ｗｅｂサービスを提供するサービス提供装置に対して送信するデータである要求データを入力する入力欄を有する画面を表示するための画面データを生成する情報処理システムであって、
前記要求データを特定する情報である要求データ名に対応付けて、前記入力欄を特定する情報であるフィールド名を記憶するマッピングデータベースと、
前記要求データ名と前記要求データに対する条件とが含まれるポリシーデータを記憶するポリシーデータ記憶部と、
前記ポリシーデータに含まれる前記要求データ名に対応する前記フィールド名を前記マッピングデータベースから読み出し、
読み出した前記フィールド名により特定される前記入力欄に前記条件を満たす入力データが入力されるように、前記入力データを入力する利用者を誘導するための情報を追加した前記画面データを生成する画面データ生成部と、
を備えることを特徴とする情報処理システム。
【請求項１４】
請求項１３に記載の情報処理システムであって、
前記ポリシーデータには第１の表現形式により前記条件が記述されており、
前記第１の表現形式で記述された前記条件であるポリシー表現データに対応付けて、前記画面に表示する第２の表現形式で記述された前記条件である画面表現データを記憶するヒントデータベースと、
前記ポリシーデータに含まれている前記ポリシー表現データに対応する前記画面表現データを前記ヒントデータベースから読み出す画面表現データ取得部と、
を備え、
前記画面データ生成部は、読み出した前記画面表現データを追加した前記画面データを生成すること、
を特徴とする情報処理システム。
【請求項１５】
請求項１３に記載の情報処理システムであって、
前記条件を示す情報に対応付けて、前記画面を表示する情報処理装置において実行される、前記入力データが前記条件を満たすかどうかを判定するためのプログラムを記憶するプログラム記憶部と、
前記ポリシーデータに含まれる前記条件を示す情報に対応する前記プログラムを前記プログラム記憶部から読み出すプログラム取得部と、
前記画面データ生成部は、読み出した前記プログラムを追加した前記画面データを生成すること、
を特徴とする情報処理システム。
【請求項１６】
請求項１３に記載の情報処理システムであって、
前記画面データ生成部は、前記ポリシーデータに含まれる前記条件が、前記要求データが取り得る値を所定の選択肢に限定するものである場合に、前記選択肢のリストから一つを選択させるように動作する前記入力欄を表示するためのデータを追加した前記画面データを生成すること、
を特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ入力のための画面データ生成方法、画面データ生成システム、及びプログラムに関する。
【背景技術】
【０００２】
近年情報処理サービスにおいてＷｅｂサービスが多用されている。Ｗｅｂサービスを提供するサービスプロバイダは、ＳＯＡＰ（Simple Object Access Protocol）に規定されるメッセージ（ＳＯＡＰメッセージと呼ばれる。）に含まれるデータについての条件（ポリシーとも呼ばれる。）を規定している。したがって、Ｗｅｂサービスを利用するシステムでは、ＳＯＡＰメッセージを作成する際に、データが条件を満たしているかどうかチェックすることが求められている。従来データをチェックする仕組みが各種提案されており、例えば非特許文献１には、画面の入力フォームに入力されたデータが所定の条件を満たすかどうかを判定する仕組みが記載されている。
【非特許文献１】The Apache Software Foundation，「Struts Validator Guide」内の 「Pluggable Validators」の節，[online]，[2006年1月23日検索]，インターネット＜URL：http://struts.apache.org/struts-doc-1.2.x/userGuide/dev_validator.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１に記載の技術では、利用者がホテル予約、飛行機の座席予約等のようなＷｅｂサービスに対してクライアント端末からサービスを受けるのに必要なデータを入力する際に必要なデータの条件は、予め、提供されるサービス毎にクライアント端末へ送付する画面情報として準備しておく必要があった。また、各Ｗｅｂサービスはポリシーとして利用者が入力するデータの条件を定めており、入力可能な利用者の氏名の文字数もＷｅｂサービス毎に異なっている。このポリシー毎にクライアント端末へ送付する画面情報を用意するには手間がかかるという問題があった。
【０００４】
さらに、ポリシーとして規定されるクレジットカードの種別のような条件は頻繁に変更される可能性が高く、タイムリーに修正内容を反映した画面情報を間違い無く用意するのは困難であった。
【０００５】
本発明は、このような背景に鑑みてなされたものであり、Ｗｅｂサービスで提供されるサービスを受けるのに必要なデータ入力に用いられるデータの条件に基づいて画面データを生成することのできる画面データ生成方法、画面データ生成システム、及びプログラムを提供すること目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、Ｗｅｂサービスにサービス提供を要求するサーバ装置を設け、サーバ装置で提供されるＷｅｂサービスの分野に対応したテンプレートを用意する。
【０００７】
サーバ装置はテンプレートにクライアント端末を操作する利用者が指定したＷｅｂサービスのサービス提供装置が必要とするデータの入力エリア、入力項目名を追加する。
【０００８】
さらに利用者が指定したＷｅｂサービスのサービス提供装置がポリシーとして規定する個々の入力項目に関する入力条件をテンプレートに追加してＨＴＭＬのような利用者端末にあるブラウザが処理できる形式のデータとして利用者のクライアント端末へ送付するデータ入力画面の情報を完成させる。
【０００９】
利用者はクライアント端末に表示されたデータ入力画面で入力条件に従った氏名、電話番号、住所のようなデータを入力することにより、希望のＷｅｂサービスのサービス要求に必要なデータを入力する。このデータをクライアント端末から受け取ったサーバ装置はＸＭＬのようなＷｅｂサービスを提供するサービス提供装置が受け付けることができる形式のデータに変換し、サービス提供装置へ利用者のサービス要求をサービス提供装置が受け付けることができるポリシーに記載された条件で送付することができる。
【００１０】
データ入力画面の作成には必ずしもテンプレートを用意する必要は無いが、入力項目の記載順序、画面上のレイアウト位置等に関する規則であるデータ入力画面作成ポリシーをサーバ装置に備えることにより、Ｗｅｂサービスを提供するサービス提供装置のサービスをうけるのに必要なデータをサービス提供装置から入手できれば、サービス提供装置のポリシーも反映したデータ入力画面情報をダイレクトに生成することも可能である。
【発明の効果】
【００１１】
本発明によれば、Ｗｅｂサービスに用いられるサービス提供装置の条件に応じて画面入力データを生成することができる。
【発明を実施するための最良の形態】
【００１２】
図１は本実施形態に係る情報処理システムの全体構成を示す図である。本実施形態の情報処理システムでは、ホテルの宿泊予約サービスを例に説明する。
【００１３】
図１に示すように、本実施形態の情報処理システムは、クライアント装置１０、サーバ装置２０、Ｗｅｂサービス提供装置３０(1・・・n)を含んで構成されている。クライアント装置１０及びサーバ装置２０、サーバ装置２０及びＷｅｂサービス提供装置３０は、それぞれ通信ネットワーク４０を介して互いに通信可能に接続されている。通信ネットワーク４０は、例えば、インターネットや専用線、フレームリレー網などである。
【００１４】
なお、図１では、クライアント装置１０及びサーバ装置２０を接続する通信ネットワーク４０と、サーバ装置２０及びＷｅｂサービス提供装置３０を接続する通信ネットワーク４０とが分かれて示されているが、例えば、インターネットなどの１つの通信ネットワーク４０にクライアント装置１０、サーバ装置２０、及びＷｅｂサービス提供装置３０が接続する形態としてもよい。また、クライアント装置１０、サーバ装置２０、Ｗｅｂサービス提供装置３０は、それぞれ別体のコンピュータとして実現されてもよいし、１台あるいは複数台のコンピュータとして実現されてもよい。
【００１５】
Ｗｅｂサービス提供装置３０は、ホテルにより運用され、ホテルの宿泊の申し込みを受け付けるＷｅｂサービスを提供するコンピュータである。Ｗｅｂサービス提供装置３０としては、例えば、ワークステーションやパーソナルコンピュータなどを用いることができる。Ｗｅｂサービス提供装置３０は、ホテルに対する宿泊の申し込みをＳＯＡＰ（Simple Object Access Protocol）に規定される形式でＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記載されたメッセージ（以下、ＳＯＡＰメッセージという。）を受け付ける。本実施形態においてＷｅｂサービスとは、ＳＯＡＰメッセージに応じて情報処理を行うことをいう。
【００１６】
クライアント装置１０は、宿泊予約サービスの利用者が使用するコンピュータである。クライアント装置１０としては、例えば、パーソナルコンピュータや携帯電話、ＰＤＡ（Personal Digital Assistant）、ワークステーションなどを用いることができる。クライアント装置１０はＷｅｂブラウザを備えており、利用者はＷｅｂブラウザを操作して、サーバ装置２０にアクセスする。
【００１７】
サーバ装置２０は、Ｗｅｂサーバとして機能し、Ｗｅｂサービス提供装置３０が提供するＷｅｂサービスを利用して利用者に宿泊予約サービスを提供するコンピュータである。サーバ装置２０としては、例えば、ワークステーションやパーソナルコンピュータなどを用いることができる。サーバ装置２０は、クライアント装置１０からのアクセスに応じて、ホテルの宿泊予約に必要なデータを入力する画面を表示するための画面データを生成してクライアント装置１０に送信する。本実施形態において、サーバ装置２０が生成する画面データは、ＨＴＭＬ（Hyper Text Markup Language）形式により記述された、いわゆるＷｅｂページを想定している。また、サーバ装置２０は、クライアント装置１０から宿泊予約に必要な申込データを受信し、受信した申込データに基づいてＳＯＡＰメッセージを生成し、生成したＳＯＡＰメッセージをＷｅｂサービス提供装置３０に送信することによりホテルの宿泊予約を行う。
【００１８】
ここで、Ｗｅｂサービス提供装置３０に送信されるＳＯＡＰメッセージに含まれるデータ（以下、要求データという。）には、各種の条件（以下、ポリシーともいう。）を満たしたデータでなければならない。例えば、宿泊予約に電話番号の省略が不可である場合には、利用者の電話番号に係る要求データが空であってはならない。  
また、使用可能なクレジットカードがＡＢＣとＸＹＺとの２種類だけである場合には、クレジットカードの種類に係る要求データについて、ＡＢＣ又はＸＹＺの何れかが選択されていなければならない。
【００１９】
このような要求データについてのポリシーは、例えばファイル（以下、ポリシーファイルという。）に記述される。ポリシーファイルは、例えば、WS-PolicyConstraintsと呼ばれる形式で記述される。ポリシーファイルは、Ｗｅｂサービス提供装置３０が管理している。サーバ装置２０は、後述するように、Ｗｅｂサービス提供装置３０からポリシーファイルを取得して、各ホテルのポリシーに適合するデータが利用者から入力されるように、利用者を誘導するための情報を含む画面データを生成する。
【００２０】
本実施形態では、ホテルのポリシーに適合するデータが利用者から入力されるように、利用者を誘導するための情報としては、画面データの入力欄（入力フィールドとも呼ばれる。）に入力されるデータのポリシーについての説明（以下、ヒントともいう。）と、クライアント装置１０で実行される、入力されたデータがポリシーに該当するかどうかを検査するプログラム（以下、チェックモジュールという。）とがある。また、本実施形態では、チェックモジュールは、ＪａｖａＳｃｒｉｐｔ言語により記述されることを想定している。
【００２１】
図２にサーバ装置２０のハードウェア構成例を示す。なお、クライアント装置１０やＷｅｂサービス提供装置３０のハードウェア構成も、図２に示すサーバ装置２０のハードウェア構成と同様である。図２に示すように、サーバ装置２０は、ＣＰＵ２０１、メモリ２０２、記憶装置２０３、通信装置２０４を備えている。記憶装置２０３は、プログラムやデータを記憶する、例えば、ハードディスクドライブやＣＤ−ＲＯＭドライブ、フラッシュメモリなどである。ＣＰＵ２０１は記憶装置２０３に記憶されているプログラムをメモリ２０２に読み出して実行することにより各種の機能を実現する。通信装置２０４は、通信ネットワーク４０に接続するためのインタフェースである。通信装置２０４としては、例えば、イーサネット（登録商標）に接続するためのネットワークアダプタや、公衆電話回線に接続するためのモデムなどを採用することができる。なお、サーバ装置２０は、例えば、キーボードやマウスなどの入力装置、ディスプレイやプリンタなどの出力装置を備えるようにしてもよい。
【００２２】
図３は、サーバ装置２０のソフトウェアの構成例を示す図である。同図に示すように、サーバ装置２０は、画面取得要求受信部２１１、利用サービス特定部２１２、ポリシー取得部２１３、条件データ生成部２１４、画面データ生成部２１５、画面データ送信部２１６、プロバイダデータベース２５１、フィールド定義データベース２５２、フィールドマッピングデータベース２５３、入力補助パターンデータベース２５４、テンプレートデータベース２５５を備えている。上記の各機能部２１１〜２１６は、サーバ装置２０が備えるＣＰＵ２０１が、記憶装置２０３に記憶されているプログラムをメモリ２０２に読み出して実行することにより実現される。また、上記の各データベース２５１〜２５５は、メモリ２０２や記憶装置２０３が提供する記憶領域に格納される。  
さらにサーバ装置２０はキーボード、マウス等の入力装置２０５、ディスプレイ、プリンタ等の出力装置２０６、ネットワーク接続を行うための通信装置２０４を備えている。
【００２３】
画面取得要求受信部２１１は、申込データを入力するのに必要な画面データを取得するためのコマンド（以下、画面取得要求）をクライアント装置１０から受信する。画面取得要求は、例えば、ＨＴＴＰ（HyperText Transfer Protocol）のリクエストである。
【００２４】
プロバイダデータベース２５１は、Ｗｅｂサービスを特定する情報を保持する。図６にプロバイダデータベース２５１の構成例を示す。同図に示すように、プロバイダデータベース２５１には、サービスＩＤ２５１１に対応付けて、Ｗｅｂサービス提供装置３０が提供するＷｅｂサービスのＵＲＬ２５１２が記憶されている。サービスＩＤ２５１１は、Ｗｅｂサービスを特定する識別子であり、ＵＲＬ２５１２は、Ｗｅｂサービスが提供されているネットワーク上の場所を特定する情報である。
【００２５】
利用サービス特定部２１２は、利用者から指定されたＷｅｂサービスを特定する。本実施形態において、利用サービス特定部２１２は、クライアント装置１０から送信される画面取得要求にサービスＩＤが付帯されている場合に、そのサービスＩＤに対応するＷｅｂサービスのＵＲＬをプロバイダデータベース２５１から取得する。
【００２６】
ポリシー取得部２１３は、Ｗｅｂサービス提供装置３０からポリシーファイル２６６を取得する。本実施形態では、ポリシー取得部２１３は、利用サービス特定部２１２が特定したＷｅｂサービスに対して、ポリシーファイル２６６を取得するためのコマンド（以下、ポリシー要求という。）を送信し、ポリシー要求に応じてＷｅｂサービス提供装置３０から送信されるポリシーファイル２６６を受信する。受信したポリシーファイル２６６はメモリ２０２が提供する記憶領域（ポリシーデータ記憶部）に記憶される。
【００２７】
ポリシーファイル２６６の一例を図７に示す。同図に示すように、ポリシーファイル２６６では、要素ＩＤ２６１１と制約条件２６１２とが対応付けられている。要素ＩＤ２６１１は、ＳＯＡＰメッセージに含まれる要求データを特定する情報である。ＳＯＡＰメッセージはＸＭＬで記述されるので、要素ＩＤ２６１１は、ＳＯＡＰメッセージにおけるＸＭＬのパスで表現される。制約条件２６１２は、要素ＩＤ２６１１により特定される要求データに対する条件である。本実施形態において、制約条件２６１２は関数として記述されるものとし、要求データの取り得る最大データ長を指定する「ｍａｘＬｅｎｇｔｈ（データ長）」、要求データの省略が不可である（例えば、データ長が「０」よりも大きい）ことを指定する「ｒｅｑｕｉｒｅｄ（）」、要求データを所定の選択肢から選択するように指定する「ｉｓＩｎ（選択肢のリスト）」のいずれかであるものとする。図７の例では、「／Ｏｒｄｅｒ／Ｎａｍｅ」で識別される要求データについては、「データ長が１０文字以下」であり、「／Ｏｒｄｅｒ／Ｔｅｌ」で識別される要求データについては「省略不可」であり、「／Ｏｒｄｅｒ／Ｃａｒｄ」で識別される要求データについては、「ＡＢＣ」又は「ＸＹＺ」の何れかであるとするポリシーが設定されている。
【００２８】
なお、本実施形態では、簡単のため、ポリシーファイル２６６は図７に示すように表形式であるものとするが、ＸＭＬ形式で記述してもよい。
【００２９】
また、本実施形態では、制約条件は上記の３種類に限るものとしたが、これに限らず、例えば、「ｍｉｎＬｅｎｇｔｈ（ｎ）」により、要求データのデータ長の最小値ｎを指定するようにしたり、「ｌｅｓｓＴｈａｎ（ｎ）」により、数値の要求データについて所定の閾値ｎよりも小さくすることを指定したり、「ｂｅｆｏｒｅ（ｙｙｙｙ／ｍｍ／ｄｄ）」により、要求データが日付である場合に特定の日付ｙｙｙｙ／ｍｍ／ｄｄよりも前であることを指定するようにしたりすることもできる。
【００３０】
フィールド定義データベース２５２は、Ｗｅｂサービス提供装置３０に送信する要求データの入力画面に設けられる入力フィールドに関する情報（以下、フィールド定義情報という。）を記憶する。図８にフィールド定義データベース２５２に記憶されるフィールド定義情報の構成例を示す。同図に示すように、フィールド定義情報は、フィールド名２５２２、及び表示名２５２３が含まれている。フィールド名２５２２は、入力フィールドを特定する情報である。本実施形態では、画面データはＨＴＭＬにより記述されるので、フィールド名２５２２は、入力フィールドを表すＨＴＭＬのタグ（例えば、＜ｉｎｐｕｔ＞タグや＜ｔｅｘｔａｒｅａ＞タグ）の名称（ｎａｍｅ属性に設定される値）である。表示名２５２３は、入力フィールドに入力される要求データの名称であり、クライアント装置１０の画面に表示する任意の表現形式で記述されている。
【００３１】
フィールドマッピングデータベース２５３は、入力フィールドと、Ｗｅｂサービス提供装置３０に送信されるＳＯＡＰメッセージに含まれる要求データとを対応付ける情報（以下、フィールドマッピング情報という。）を記憶する。図９にフィールドマッピングデータベース２５３に記憶されるフィールドマッピング情報の構成例を示す。同図に示すように、フィールドマッピング情報では、サービスＩＤ２５３１、要素ＩＤ２５３２、フィールド名２５３３が対応付けられている。
【００３２】
条件データ生成部２１４は、入力フィールドについての条件を示す情報（以下、条件データという。）を生成する。図１０に条件データ生成部２１４が生成する条件データ２８０の構成例を示す。同図に示すように、条件データ２８０には、フィールド名２６２１、表示名２６２２、制約条件２６２３が含まれる。具体的には、条件データ生成部２１４は、フィールド定義情報をフィールド定義データベース２５２から読み出し、読み出したフィールド定義情報のフィールド名２５２２及び表示名２５２３を含む条件データ２８０を生成する。条件データ生成部２１４は、取得したポリシーファイル２６６に含まれる各ポリシーについて，次の処理を行なう。
【００３３】
まず，フィールドマッピングデータベース２５３に含まれるフィールドマッピング情報のうち，サービスＩＤ２５３１の値が，利用サービス特定部２１２が特定したＷｅｂサービスのサービスＩＤと一致するものを取得する。次に，条件データ生成部２１４は，取得したフィールドマッピング情報のうち，要素ＩＤ２５３２の値が，前記ポリシーの要素ＩＤ２６１１と一致するものを取得する。このようにして取得したフィールドマッピング情報のフィールド名２５３３の値と一致するフィールド名を持つ条件データ２８０の制約条件２６２３として，前記ポリシーの制約条件２６１２の値を設定する。このようにして、条件データ生成部２１４は、条件データ２８０を生成する。なお、条件データ生成部２１４が生成した条件データ２８０は、後述する画面データの生成時に用いられる。
【００３４】
入力補助パターンデータベース２５４（本発明のヒントデータベースに該当する。）は、要求データの入力画面において、ユーザがポリシーに応じた要求データを入力するように誘導するための情報（以下、入力補助パターン情報という。）を記憶する。図１１に入力補助パターンデータベース２５４に記憶される入力補助パターン情報の構成例を示す。同図に示すように、入力補助パターン情報には、制約条件２５４１、ヒント２５４２、チェックモジュール２５４３が含まれている。制約条件２５４１は、要求データに対する条件をポリシーファイル２６６に記述する場合の表現形式による条件を示す情報（ポリシー表現データ）であり、ヒント２５４２は、要求データに対する条件を画面に表示する場合の表現形式による条件を示す情報（画面表現データ）である。後述するように、チェックモジュール２５４３は、画面データの生成時に画面データ中に挿入される。
【００３５】
テンプレートデータベース２５５は、サーバ装置２０が生成する画面データの雛形を記憶する。図１２にテンプレートデータベース２５５の構成例を示す。同図に示すように、テンプレートデータベース２５５は、パス名２５５１に対応付けて、ホテル予約、空室照会、音楽データ購入、オークション参加等のサービス分野に対応した画面データの雛形となるテンプレート情報２５５２を記憶している。パス名２５５１は、サーバ装置２０において、テンプレートが記憶されている場所を特定するための情報である。テンプレートはサービス分野毎に一意に特定されている必要はなく、ホテル予約テンプレートのように複数の種類のテンプレートがあっても良い。
【００３６】
テンプレートは、ＨＴＭＬ形式で記述されるが、ＨＴＭＬに規定されていない４つのタグ、＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグ、＜ｄｉｓｐｌａｙ＞タグ、＜ｄｆｏｒｍ＞タグ及び＜ｈｉｎｔ＞タグ（以下、これらの４つのタグを拡張タグという。）も含まれうる。テンプレートの例を図１６に示す。図１６の例には，＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグ、＜ｄｉｓｐｌａｙ＞タグ、＜ｄｆｏｒｍ＞タグ及び＜ｈｉｎｔ＞タグの４つの拡張タグが含まれている。＜ｄｉｓｐｌａｙ＞タグ，＜ｄｆｏｒｍ＞タグ，＜ｈｉｎｔ＞タグは，フィールド名を表す値が設定されるｋｅｙ属性を持つ。例えば図１６の＜ｄｉｓｐｌａｙ＞タグ７２２は，”ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ”という値を持つｋｅｙ属性を持っている。＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグがテンプレートに含まれていた場合には、このタグは、条件データ２８０の制約条件２６２３に応じて、上述した入力補助パターンデータベース２５４に記憶されているチェックモジュール２５４３に置換される。＜ｄｉｓｐｌａｙ＞タグがテンプレートに含まれていた場合、このタグは、ｋｅｙ属性に設定されている値に応じて、条件データ２８０の表示名２６２２に置換される。＜ｄｆｏｒｍ＞タグがテンプレートに含まれていた場合、このタグは、条件データ２８０の制約条件２６２３に応じて、画面の入力欄を表示するためのデータ（以下、フォームデータという。）に置換される。＜ｈｉｎｔ＞タグがテンプレートに含まれていた場合、このタグは、条件データ２８０の制約条件２６２３に応じて、上述した入力補助パターンデータベース２５４に記憶されているヒント２５４２に置換される。なお、これらの置換処理の詳細については後述する。
【００３７】
なお、ＨＴＭＬに規定されるタグと、上記の拡張タグとを区別するために、拡張タグの名前に名前空間を用いるようにしてもよい。
【００３８】
画面データ生成部２１５は、画面取得要求受信部２１１が受信した画面取得要求に応じて画面データを生成する。画面データ生成部２１５は、テンプレートデータベース２５５から、画面取得要求に含まれるパス名に対応するテンプレートを取得し、取得したテンプレートに含まれている上述の拡張タグを置換することで画面データを生成する。なお、画面データの生成処理の詳細については後述する。
【００３９】
画面データ送信部２１６は、画面取得要求受信部２１１が受信した画面取得要求に対する応答として、画面データ生成部２１５が生成した画面データをクライアント装置１０に送信する。
【００４０】
以下、本実施形態の情報処理システムにおける処理について説明する。図１３は、情報処理システムにおいて利用者の宿泊予約が行われる処理の流れの例を示す図である。
【００４１】
クライアント装置１０は、ＨＴＴＰにより画面取得要求をサーバ装置２０に送信する（Ｓ５０１）。前記画面取得要求には，サーバ装置２０におけるリソースの位置を示すパス名が含まれている。サーバ装置２０は、クライアント装置１０から送信される画面取得要求に含まれるパス名に応じて、宿泊予約を行うことができるＷｅｂサービスを選択する入力画面の画面データをクライアント装置１０に送信する（Ｓ５０２）。Ｗｅｂサービスの一覧を表示する入力画面７１の一例を図１４に示す。
【００４２】
図１４の例では、入力画面７１はＷｅｂサービスを提供しているホテル名の選択欄７１１を備えており、利用者は選択欄７１１から「ホテルＡ」又は「ホテルＢ」の何れかを選択する。選択欄７１１のラジオボタンには、それぞれ「Ａ」及び「Ｂ」のサービスＩＤが対応付けられており、送信ボタン７１２が押下されると、クライアント装置１０は、選択されたラジオボタンに対応付けられているサービスＩＤを付帯させた画面取得要求をサーバ装置２０に送信する（Ｓ５０３）。また，前記画面取得要求には，サーバ装置２０におけるリソースの位置を示すパス名が含まれている。
【００４３】
サーバ装置２０は、クライアント装置１０からサービスＩＤが付帯された画面取得要求を受信すると、受信した画面取得要求に付帯されているサービスＩＤ（以下、要求サービスＩＤという。）に対応するＷｅｂサービス提供装置３０をプロバイダデータベース２５１から特定する。サーバ装置２０は、特定したＷｅｂサービス提供装置３０に対してポリシー取得要求を送信する（Ｓ５０５）。  
Ｗｅｂサービス提供装置３０は、ポリシー取得要求に応じてＷｅｂサービス提供装置３０が管理するポリシーファイル２６６をサーバ装置２０に送信する（Ｓ５０６）。  
サーバ装置２０は、Ｗｅｂサービス提供装置３０からポリシーファイルを受信し、受信したポリシーファイルに応じた画面データを生成する（Ｓ５０７）。  
ポリシーファイルに応じた画面データの生成処理の流れを図１５に示す。
【００４４】
Ｓ５０３においてクライアントから送信される画面取得要求には，サーバ装置２０におけるリソースの位置を示すパス名が含まれている。サーバ装置２０は、Ｓ５０３において画面取得要求を受信すると、テンプレートデータベース２５５から，クライアントから送信された画面取得要求に含まれるパス名と一致するパス名２５５１に対応するテンプレートを取得する（Ｓ５２１）。パス名に対応するテンプレートの一例を図１６に示す。
【００４５】
サーバ装置２０は、Ｗｅｂサービス提供装置３０から受信したポリシーファイル２６６に含まれる要素ＩＤ２６１１のそれぞれについて以下の処理を行う。
【００４６】
サーバ装置２０は、フィールドマッピングデータベース２５３から、要求サービスＩＤと要素ＩＤ２６１１とに対応するフィールド名２５３３を取得する（Ｓ５２２）。サーバ装置２０は、フィールド定義データベース２５２から、取得したフィールド名２５３３とに対応する表示名２５２３を取得する（Ｓ５２３）。サーバ装置２０は、上記のフィールド名２５３３及び表示名２５２３、並びに、ポリシーファイル２６６の要素ＩＤ２６１１に対応する制約条件２６１２を対応付けて条件データ２８０を生成する（Ｓ５２４）。
【００４７】
サーバ装置２０は、上記の処理を繰り返して、ポリシーファイル２６６に含まれる各要素ＩＤ２６１１について、条件データ２８０を生成し、テンプレートに、ポリシーファイル２６６で定義された要素ＩＤに対応するフィールド名、表示名、制約条件を埋め込む。
【００４８】
図１６の例に示すテンプレート７２には、拡張タグとして＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグ７２１、＜ｄｉｓｐｌａｙ＞タグ７２２、＜ｄｆｏｒｍ＞タグ７２３、及び＜ｈｉｎｔ＞タグ７２４が含まれている。サーバ装置２０は、取得したテンプレートに含まれる拡張タグの置換処理を行う（Ｓ５２５）。
【００４９】
拡張タグの置換処理の流れを図１７に示す。サーバ装置２０は、テンプレートを構成している各タグについて、以下の処理を行う。
【００５０】
タグが＜ｄｉｓｐｌａｙ＞タグであれば（Ｓ５４１：ＹＥＳ）、サーバ装置２０は、＜ｄｉｓｐｌａｙ＞タグの置換処理を行う（Ｓ５４２）。  
＜ｄｉｓｐｌａｙ＞タグの置換処理の流れを図１８に示す。サーバ装置２０は、＜ｄｉｓｐｌａｙ＞タグのｋｅｙ属性値を取得して（Ｓ５６１）、フィールド定義データベース２５２から、ｋｅｙ属性値に対応する表示名２５２３を取得し（Ｓ５６２）、取得した表示名２５２３を、テンプレート中の＜ｄｉｓｐｌａｙ＞タグと置換する（Ｓ５６３）。
【００５１】
タグが＜ｄｆｏｒｍ＞タグであれば（Ｓ５４３：ＹＥＳ）、サーバ装置２０は、＜ｄｆｏｒｍ＞タグの置換処理を行う（Ｓ５４４）。  
＜ｄｆｏｒｍ＞タグの置換処理の流れを図１９に示す。サーバ装置２０は、＜ｄｆｏｒｍ＞タグのｋｅｙ属性値を取得し（Ｓ５８１）、条件データ２８０からｋｅｙ属性値に対応する制約条件２６２３を取得する（Ｓ５８２）。制約条件２６２３が、複数の選択肢から１つを選択させる「ｉｓＩｎ」でなければ（Ｓ５８３：ＮＯ）、＜ｄｆｏｒｍ＞タグを＜ｉｎｐｕｔ＞タグに置換し、置換した＜ｉｎｐｕｔ＞タグのｎａｍｅ属性に、上記のｋｅｙ属性値を設定し、ｔｙｐｅ属性に「ｔｅｘｔ」を設定する（Ｓ５８４）。
【００５２】
一方、制約条件２６２３が「ｉｓＩｎ」であった場合（Ｓ５８３：ＹＥＳ）、サーバ装置２０は、＜ｄｆｏｒｍ＞タグを＜ｓｅｌｅｃｔ＞タグに置換し、置換した＜ｓｅｌｅｃｔ＞タグのｎａｍｅ属性に、上記のｋｅｙ属性値を設定する（Ｓ５８５）。サーバ装置２０は、ｉｓＩｎ（）の引数のそれぞれについて、置換した＜ｓｅｌｅｃｔ＞タグの子として、＜ｏｐｔｉｏｎ＞タグを追加し、追加した＜ｏｐｔｉｏｎ＞タグのｖａｌｕｅ属性と、タグの内容とのそれぞれにｉｓＩｎ（）の引数を設定する（Ｓ５８６）。  
また、タグが＜ｈｉｎｔ＞タグであれば（Ｓ５４５：ＹＥＳ）、サーバ装置２０は、＜ｈｉｎｔ＞タグの置換処理を行う（Ｓ５４６）。
【００５３】
＜ｈｉｎｔ＞タグの置換処理の流れを図２０に示す。サーバ装置２２は、＜ｈｉｎｔ＞タグのｋｅｙ属性値を取得し（Ｓ６０１）、条件データ２８０から、ｋｅｙ属性値に対応する制約条件２６２３を取得する（Ｓ６０２）。サーバ装置２０は、入力補助パターンデータベース２５４から、制約条件２５４１に対応するヒント２５４２を取得し（Ｓ６０３）、＜ｈｉｎｔ＞タグをヒント２５４２に置換する（Ｓ６０４）。  
タグが＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグであれば（Ｓ５４７：ＹＥＳ）、サーバ装置２０は、＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグの置換処理を行う（Ｓ５４８）。
【００５４】
＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグの置換処理の流れを図２１に示す。サーバ装置２０は、＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグを＜ｓｃｒｉｐｔ＞タグに置換し、置換した＜ｓｃｒｉｐｔ＞タグのｔｙｐｅ属性に「ｔｅｘｔ／ｊａｖａｓｃｒｉｐｔ」を設定する（Ｓ６２１）。サーバ装置２０は、条件データ２８０に含まれている制約条件２６２３のそれぞれについて、入力補助パターンデータベース２５４から、制約条件２６２３に対応するチェックモジュール２５４３を読み出し（Ｓ６２２）、読み出したチェックモジュール２５４３に記述されている関数の引数として、制約条件２６２３に記述されている関数の引数と上記のフィールド名２６２１とを追加する（Ｓ６２３）。サーバ装置２０は、引数を追加したチェックモジュール２５４３を、上記の＜ｓｃｒｉｐｔ＞タグの内容として挿入する（Ｓ６２４）。
【００５５】
以上のようにして、サーバ装置２０により、図１３の画面データの生成処理（Ｓ５０７）において、ポリシーに適合する宿泊予約の申込に必要な要求データが入力されるように利用者を誘導するための情報が埋め込まれた画面データが生成される。
【００５６】
図１６に示したテンプレート７２について上記の処理が行われた結果の画面データ７３の一例を図２２に示す。
【００５７】
図２２の例に示す画面データ７３には、図１６のテンプレート７２に含まれていた＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグ７２１（＜ｃｈｅｃｋｍｏｄｕｌｅ／＞）は、ＪａｖａＳｃｒｉｐｔによるチェックモジュールが内容として記述された＜ｓｃｒｉｐｔ＞タグに置換されている。また、＜ｄｉｓｐｌａｙ＞タグ７２２（＜ｄｉｓｐｌａｙ  ｋｅｙ＝ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ”／＞）は、「氏名」との表記７３２に置換されており、＜ｄｆｏｒｍ＞タグ（＜ｄｆｏｒｍ  ｋｅｙ＝” ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ”＞）は、＜ｉｎｐｕｔ＞タグ（＜ｉｎｐｕｔ  ｔｙｐｅ＝”ｔｅｘｔ”  ｎａｍｅ＝” ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ”／＞）に置換されている。＜ｈｉｎｔ＞タグ（＜ｈｉｎｔ  ｋｅｙ＝” ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ”／＞）は、「最大文字数１０文字」の表記７３３に置換されている。さらに、条件データ２８０において制約条件２６２３がｉｓＩｎ（）と設定されていた「ＣＡＲＤ」についての＜ｄｆｏｒｍ＞タグ（＜ｄｆｏｒｍ  ｋｅｙ＝” ｂｏｏｋｉｎｇＦｏｒｍ．ＣＡＲＤ”／＞）は、「ＡＢＣ」及び「ＸＹＺ」の＜ｏｐｔｉｏｎ＞タグが設定された＜ｓｅｌｅｃｔ＞タグ（＜ｓｅｌｅｃｔ  ｎａｍｅ＝” ｂｏｏｋｉｎｇＦｏｒｍ．ＣＡＲＤ”＞＜ｏｐｔｉｏｎ  ｖａｌｕｅ＝”ＡＢＣ”＞ＡＢＣ＜／ｏｐｔｉｏｎ＞＜ｏｐｔｉｏｎ  ｖａｌｕｅ＝”ＸＹＺ”＞ＸＹＺ＜／ｏｐｔｉｏｎ＞＜／ｓｅｌｅｃｔ＞）に置換されている。
【００５８】
サーバ装置２０は、上記のようにして生成した画面データをクライアント装置１０に送信する（Ｓ５０８）。  
クライアント装置１０は、サーバ装置２０から画面データを受信すると、受信した画面データに基づいて、要求データの入力画面を表示し、利用者からのデータの入力を受け付ける（Ｓ５０９）。
【００５９】
図２３に拡張タグが置換された画面データ(図２２)に基づいてクライアント装置１０に表示される入力画面７４の一例を示す。同図に示すように、入力画面７４は、氏名の入力欄７４１、電話番号の入力欄７４２、及びクレジットカードの種類の入力欄７４３を備えている。各入力欄に対応付けて、＜ｄｉｓｐｌａｙ＞タグに置換された入力欄の名称や、制約条件に対応するヒントやリストボックスなども表示されている。氏名の入力欄７４１と電話番号の入力欄７４２とに値が入力され、カード種別の入力欄７４３からカードの種類が選択されて、送信ボタン７４４が押下されると、クライアント装置１０は、ＨＴＴＰにより、入力された要求データを含む画面取得要求をサーバ装置２０に送信する（Ｓ５１０）。
【００６０】
図２４にクライアント装置１０から送信される要求データを含む画面取得要求の一例を示す。図２４に示す画面取得要求７５では、「ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ」により特定される氏名の入力欄７４１には「Ｔａｒｏ」が入力され（７５１）、「ｂｏｏｋｉｎｇＦｏｒｍ．ＤＥＮＷＡ」により特定される電話番号の入力欄７４２には「０１２」が入力され（７５２）、「ｂｏｏｋｉｎｇＦｏｒｍ．ＣＡＲＤ」により特定されるクレジットカードの種類を選択する入力欄７４３からは「ＡＢＣ」が選択されたこと（７５３）が示されている。
【００６１】
サーバ装置２０は、クライアント装置１０から、要求データを含む画面取得要求に基づいて、ＳＯＡＰメッセージを生成する。サーバ装置２０は、例えば、入力欄７４１を示す「ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ」と要求サービスＩＤとに対応する要素ＩＤをフィールドマッピングデータベース２５３から取得し、取得した要素ＩＤを名称とするタグの内容に、要求データを設定してＳＯＡＰメッセージを生成する（Ｓ５１１）。
【００６２】
ＳＯＡＰメッセージに含まれるＸＭＬ形式で記述された要求データ（ＳＯＡＰエンベロープとも呼ばれる。）の一例を図２５に示す。同図に示すように、ＳＯＡＰエンベロープ７６には、「ｂｏｏｋｉｎｇＦｏｒｍ．ＮＡＭＡＥ」の入力欄に対応する、「／Ｏｒｄｅｒ／Ｎａｍｅ」で特定される要素７６１の内容に、図２４に示した画面取得要求７５の要求データ７５１（Ｔａｒｏ）が設定されている。また「ｂｏｏｋｉｎｇＦｏｒｍ．ＤＥＮＷＡ」に対応する、「／Ｏｒｄｅｒ／Ｔｅｌ」で特定される要素７６２の内容に、要求データ７５２（０１２）が設定され、「ｂｏｏｋｉｎｇＦｏｒｍ．ＣＡＲＤ」に対応する「／Ｏｒｄｅｒ／Ｃａｒｄ」で特定される要素７６３の内容に、要求データ７５３（ＡＢＣ）が設定されている。
【００６３】
サーバ装置２０は、生成したＳＯＡＰメッセージをＷｅｂサービス提供装置３０に送信する（Ｓ５１２）。Ｗｅｂサービス提供装置３０では、サーバ装置２０から受信したＳＯＡＰメッセージに応じてホテルの予約処理が行われる。上記のようにして、本実施形態の情報処理システムにおいて利用者の宿泊予約が行われる。
【００６４】
本実施形態のサーバ装置２０によれば、ポリシーファイル２６６に応じて、入力されるデータがポリシーを満たすように利用者を誘導するための情報を含む画面データを生成することができる。したがって、クライアント装置１０に入力されるデータがポリシーを満たすようになることが期待できるので、サーバ装置２０は、ポリシーを満たす要求データを設定したＳＯＡＰメッセージをＷｅｂサービス提供装置３０に送信することができる。よって、例えば、ユーザの入力した要求データがポリシーの要求に見合わないことにより、一度Ｗｅｂサービス提供装置に送信した要求データがＷｅｂサービス提供装置で受け付けられず、再度クライアント装置でユーザが再入力を行うような状況を回避することが可能となり、情報処理システム全体の効率を高めることができる。
【００６５】
また，本発明のサーバ装置２０は，同じサービス分野のＷｅｂサービスを提供する他のＷｅｂサービスが新たに追加された場合，プロバイダデータベース２５１とフィールドマッピングデータベース２５３を更新するだけで，新たなＷｅｂサービスを利用することができる。その際，新たなに追加されたＷｅｂサービス用に別途テンプレートを作成する必要はなく，既存のＷｅｂサービスで用いていたテンプレートをそのまま使用することができる。
【００６６】
また、本実施形態のサーバ装置２０では、Ｗｅｂサービス提供装置３０からポリシーファイル２６６を取得するので、従来のように予め入力されるデータについての条件を設定しておく必要がない。したがって、設定に係る手間を省くことができるので、多くのＷｅｂサービス提供装置３０と連携をする場合や、入力されるデータの種類が多い場合にも容易に対応することができる。また、Ｗｅｂサービスの提供側でポリシーが変化した場合にも柔軟に対応することができる。
【００６７】
また、本実施形態のサーバ装置２０は、画面に入力するデータに対する条件を、ヒントとして表示する画面データを生成するので、入力者はどのような条件のデータを入力すればよいかを容易に把握することができる。
【００６８】
また、本実施形態のサーバ装置２０は、チェックモジュールを画面データに挿入することができるので、クライアント装置１０側においてチェックモジュールが実行され、利用者からの入力データがポリシーを満たすようにチェックすることができる。したがって、サーバ装置２０側において入力データのチェックにかかる処理負荷を低減することができる。
【００６９】
また、本実施形態のサーバ装置２０は、要求データについてのポリシーが、要求データが取り得る値を所定の選択肢に限定するｉｓＩｎ（）である場合には、ポリシーに指定されている選択肢から一つを選択するためのリストボックスを表示する＜ｓｅｌｅｃｔ＞タグを画面データに挿入することができる。したがって、利用者は、確実に指定された選択肢から要求データを入力することができる。
【００７０】
また、本実施形態のサーバ装置２０は、ＳＯＡＰメッセージに含める要求データの名称と、入力欄に割り当てる名称との対応付けをフィールドマッピングデータベース２５３に管理しているので、これらの名称を一致させる必要がない。したがって、サーバ装置２０での情報処理サービスに係るプログラム開発者や画面のデザイナは、Ｗｅｂサービス提供装置３０に送信するデータの名称を気にすることなく、画面のデザインやアプリケーションプログラムの開発を行うことができる。また、Ｗｅｂサービスの提供元において、必要となる要求データの名称が変更になった場合でも、サーバ装置２０において動作するアプリケーションプログラムに変更を加えることなく、フィールドマッピングデータベース２５３を更新するだけで、柔軟に各種のＷｅｂサービスに対応することができる。
【００７１】
なお、本実施形態では、ホテルの宿泊予約を行う情報処理サービスを提供する情報処理システムについて説明したが、これに限らず、例えば、オンラインショッピングやチケットの購入サービス、オンデマンドでの映像データや音楽データの配信サービスなど、Ｗｅｂサービスを用いる各種の情報処理サービスに適用することができる。
【００７２】
また、本実施形態では、ＷＳＤＬなどにより記載される、Ｗｅｂサービスのインタフェース定義とは異なるファイルとしてポリシーファイルを管理するものとしたが，インタフェース定義内にポリシーを記述してもよい。
【００７３】
また、本実施形態では、クライアント装置１０からＷｅｂブラウザによりサーバ装置２０にアクセスするものとしたが、これに限らず、任意のアプリケーションプログラムからサーバ装置２０にアクセスするようにしてもよい。
【００７４】
また、本実施形態では、サーバ装置２０は、クライアント装置１０からサービスＩＤが付帯された画面取得要求を受信する度に、Ｗｅｂサービス提供装置３０からポリシーファイル２６６を取得するものとしたが、Ｗｅｂサービス提供装置３０から取得したポリシーファイル２６６を所定期間サーバ装置のデータベース等に記憶しておくようにしてもよい。これにより、Ｗｅｂサービス提供装置３０に対するアクセス数を低減して、情報処理サービスの処理効率を向上することができる。
【００７５】
図４にＷｅｂサービス提供装置３０のブロック図の例を示す。Ｗｅｂサービス提供装置３０はポリシー取得要求受信部２６１を備え、サーバ装置からのポリシー取得要求を受け付ける。記憶装置２６５にはポリシーデータベース２６６を備え、Ｗｅｂサービス提供装置３０が提供するサービスのサービス要求を受け付けるときに必要な各データの入力条件をポリシーとして格納している。複数のサービスをＷｅｂサービス提供装置で提供している場合にはポリシー取得要求に含まれるサービスＩＤなどのサービスの種別を指定する情報を基に、当該サービスに対応したポリシーをポリシーデータベースから選択するポリシー選択部を設け、複数のサービスを提供することもできる。さらに、ポリシー取得要求に応えてポリシーをサーバ装置に送信するポリシー送信部２６２、サービス要求をサービス提供に必要な情報とともに受信するＳＯＡＰメッセージ受信部２６３を備える。
【００７６】
図５にクライアント装置１０のブロック図の例を示す。クライアント装置１０は画面取得要求送信部２８１、画面データ受信部２８２、画面表示部２８３、入力データ送信部２８４を備えている。通常はＷｅｂブラウザのようなプログラムとして各々の処理部はＰＣ，ＰＤＡ等に実装される。画面取得要求送信部２８１は通信装置２８９を経由してサーバ装置２０へＷｅｂサービス一覧表示画面等を要求し、画面データ受信部２８２が通信装置２８９経由で画面データを受信する。受信された画面データが画面表示部２８３によりディスプレイ等の出力装置２８８へ表示される。入力データ送信部２８４は入力装置２８７からユーザの入力した情報をサーバ装置２０へ送信する。画面取得要求送信部２８１、画面データ受信部２８２、画面表示部２８３、入力データ送信部２８４はＣＰＵ２９０で実行されるプログラムとして実装しても良いし、ハードウェアとして実装しても良い。
【００７７】
＝＝変形例＝＝
上述した本実施形態の情報処理システムでは、クライアント装置１０において表示される画面が有する入力フォームのフィールドと、Ｗｅｂサービス提供装置３０が受け付けるＳＯＡＰリクエストに含まれる要求データとが１対１で対応することを想定したが、１対１の対応ではなく，複数のフィールドから計算される値と要求データが対応している場合にも本発明を適用することができる。
【００７８】
この場合、サーバ装置２０は、複数の入力フィールドから何らかの計算により求めることのできる値（以下，仮想フィールド）の名称と、入力フィールドから仮想フィールドを求めるための計算方法を示した情報（以下，実体）とをフィールド定義データベース２５２に管理するようにする。この場合における、フィールド定義データベース２５２の他の構成例を図２６に示す。同図に示すように、フィールド定義データベース２５２に記憶するフィールド定義情報には、フィールド名２５２２、及び表示名２５２３に加えて、フィールド名２５２２を求めるための計算方法を示した実体２５２４を含めるようにする。ここで，「ｃａｔ（Ｎ，Ｍ）」は，フィールドＮとフィールドＭの文字列結合を表す。すなわち，図２６に示すフィールド定義は，「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」フィールドの値と「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」フィールドの値を結合した文字列が「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」仮想フィールドであることを表す。
【００７９】
ここで、サーバ装置２０は、図２１に示した上述の＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグの置換処理において、計算により入力フィールドから仮想フィールドを求めるモジュールと，チェックモジュール２５４３に記述されているプログラムの引数として、仮想フィールドを与えたチェックモジュールを追加するようにする。例えば、図２７に示すように「／Ｏｒｄｅｒ／Ｎａｍｅ」により特定されるＳＯＡＰメッセージに含まれる要求データが、「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」に対応することがフィールドマッピング情報として登録されている場合、サーバ装置２０は、図２６の例において仮想フィールド「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」の値を「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」フィールドと「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」フィールドから計算により求め，求められた仮想フィールド「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」をチェックモジュール「ｍａｘＬｅｎｇｔｈ（）」の引数に設定するようにするようなチェックモジュールを追加する。
【００８０】
このときの動作に用いるテンプレートと生成される画面データの例を図２８及び図２９に示す。図２８に示すように、テンプレート７７が、＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグ７７１、「ＦｕｌｌＮａｍｅ」に対応する「ＦｉｒｓｔＮａｍｅ」の入力欄を示す＜ｉｎｐｕｔ＞タグ７７３、及び「ＬａｓｔＮａｍｅ」の入力欄を示す＜ｉｎｐｕｔ＞タグ７７２、＜ｄｉｓｐｌａｙ＞タグ７７４、並びに＜ｈｉｎｔ＞タグ７７５を含んでいるとする。図２７に示すように、上述したサーバ装置２０の処理により生成される画面データ７８では、＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグに代えて、仮想フィールド「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」の値を「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」フィールドと「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」フィールドの結合により求めるフィールドと，ポリシーファイル２６６に指定されていた「／Ｏｒｄｅｒ／Ｎａｍｅ」に対する制約「ｍａｘＬｅｎｇｔｈ（１０）」の「１０」と、前記の計算により求められた「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」が引数として設定された，入力補助パターン情報のチェックモジュール２５４３に記述されている関数「ｍａｘＬｅｎｇｔｈＣｈｅｃｋ（）」に置換される。また、＜ｄｉｓｐｌａｙ＞タグ７７４は、「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」のフィールド名２５２２に対応する表示名２５２３である「フルネーム」の文字列７８２と置換され、＜ｈｉｎｔ＞タグ７７５は、「ｍａｘＬｅｎｇｔｈ（１０）」に対応する入力補助パターン情報のヒント２５４２である「最大文字数１０文字」の文字列７８３と置換されている。
【００８１】
クライアント装置１０が画面データ７８に基づいて表示する入力画面７９の一例を図３０に示す。入力画面７９は、「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」に対応する苗字の入力欄７９１及び「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」に対応する名前の入力欄７９２を備えている。また、入力画面７９には、「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」に対応する表示名７９３及びヒント７９４が表示されている。入力画面７９の入力欄７９１及び入力欄７９２に入力されたデータはそれぞれ、「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」及び「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」に対応付けてサーバ装置２０に送信される。サーバ装置２０は、「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｉｒｓｔＮａｍｅ」及び「ｂｏｏｋｉｎｇＦｏｒｍ．ＬａｓｔＮａｍｅ」に対応する入力データを結合して要求データを作成し、作成した要求データを「ｂｏｏｋｉｎｇＦｏｒｍ．ＦｕｌｌＮａｍｅ」に対応付けてＳＯＡＰメッセージに設定する。
【００８２】
上記のようにして、複数の入力フォームに入力されるデータを結合して１つの要求データを生成する場合に、結合した要求データに対する条件を満たすためのプログラムやヒントを画面データに挿入することができる。この場合、ＳＯＡＰメッセージに設定する要求データと、画面の入力欄とが１対１に対応していない場合にも柔軟に対応することができる。
【００８３】
なお、上記の変形例において、実体２５２４は、フィールド名２５２２の文字列結合をあらわす関数「ｃａｔ（Ｎ，Ｍ）」を用いて記述したが，他の計算を行なう関数を用いてもよい。例えば、フィールドＮおよびフィールドＭが数値を取る場合，足し算を表す関数「ａｄｄ（Ｎ，Ｍ）」などを用いてもよい。また、上記のような関数以外にも、任意の関数を利用して、要求データと入力欄との対応付けを柔軟に行うようにすることもできる。
【００８４】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００８５】
【図１】本実施形態に係る情報処理システムの構成の例を示すブロック図である。
【図２】サーバ装置２０の構成例を示すブロック図である。
【図３】サーバ装置２０の詳細な構成例を示すブロック図である。
【図４】Ｗｅｂサービス提供装置３０の構成例を示すブロック図である。
【図５】クライアント装置１０の構成例を示すブロック図である。
【図６】プロバイダデータベース２５１の構成例を示す図である。
【図７】ポリシーファイル２６６の例を示す図である。
【図８】フィールド定義データベース２５２の例を示す図である。
【図９】フィールドマッピングデータベース２５３の例を示す図である。
【図１０】条件データ２８０の例を示す図である。
【図１１】入力補助パターンデータベース２５４の例を示す図である。
【図１２】テンプレートデータベース２５５の例を示す図である。
【図１３】実施例のシステムにおいて宿泊予約を行う処理の例を示す図である。
【図１４】Ｗｅｂサービスの一覧を表示する入力画面７１の例である。
【図１５】ポリシーファイルに応じた画面データの生成処理の例を示す流れ図である。
【図１６】要求サービスＩＤに対応するテンプレートの例を示す図である。
【図１７】拡張タグの置換処理の例を示す流れ図である。
【図１８】＜ｄｉｓｐｌａｙ＞タグの置換処理の例を示す流れ図である。
【図１９】＜ｄｆｏｒｍ＞タグの置換処理の例を示す流れ図である。
【図２０】＜ｈｉｎｔ＞タグの置換処理の例を示す流れ図である。
【図２１】＜ｃｈｅｃｋｍｏｄｕｌｅ＞タグの置換処理の例を示す流れ図である。
【図２２】画面データ７３の例を示す図である。
【図２３】クライアント装置１０に表示される入力画面７４の例を示す図である。
【図２４】クライアント装置１０から送信される要求データを含む画面取得要求の例を示す図である。
【図２５】ＳＯＡＰエンベロープの例を示す図である。
【図２６】フィールド定義データベース２５２の例を示す図である。
【図２７】フィールドマッピングデータベース２５３の例を示す図である。
【図２８】テンプレート７７の例を示す図である。
【図２９】画面データ７８の例を示す図である。
【図３０】画面データ７８に基づいて表示される入力画面７９の例を示す図である。
【符号の説明】
【００８６】
１０  クライアント装置                    ２０  サーバ装置
３０  Ｗｅｂサービス提供装置              ７１  入力画面
７２  テンプレート                        ７３  画面データ
７４  入力画面                            ７５  画面取得要求
７６  ＳＯＡＰエンベロープ                ７７  テンプレート
７８  画面データ                          ７９  クライアント装置の入力画面
２０１  ＣＰＵ                            ２０２  メモリ
２０３  記憶装置                          ２０４  通信装置
２０５  入力装置                          ２０６  出力装置
２１１  画面取得要求受信部                ２１２  利用サービス特定部
２１３  ポリシー取得部                    ２１４  条件データ生成部
２１５  画面データ生成部                  ２１６  画面データ送信部
２５１  プロバイダデータベース            ２５２  フィールド定義データベース
２５３  フィールドマッピングデータベース  ２５４  入力補助パターンデータベース
２５５  テンプレートデータベース          ２６０  ＣＰＵ
２６１  ポリシー取得要求受信部            ２６２  ポリシー送信部
２６３  ＳＯＡＰメッセージ受信部          ２６４  メモリ
２６５  記憶装置                          ２６６  ポリシーファイル
２６７  入力装置                          ２６８  出力装置
２６９  通信装置                          ２８０  条件データ
２８１  画面取得要求送信部                ２８２  画面データ受信部
２８３  画面表示部                        ２８４  入力データ送信部
２８５  メモリ                            ２８６  記憶装置
２８７  入力装置                          ２８８  出力装置
２８９  通信装置                          ２９０  ＣＰＵ
２５１１  サービスＩＤ                    ２５１２  ＵＲＬ
２５２２  フィールド名                    ２５２３  表示名
２５３１  サービスＩＤ                    ２５３２  要素ＩＤ
２５３３  フィールド名                    ２５４１  制約条件
２５４２  ヒント                          ２５４３  チェックモジュール
２５５１  パス名                          ２５５２  テンプレート情報
２６１１  要素ＩＤ                        ２６１２  制約条件
２６２１  フィールド名                    ２６２２  表示名
２６２３  制約条件
【図１】
2007316759.tif 000003
【図２】
2007316759.tif 000004
【図３】
2007316759.tif 000005
【図４】
2007316759.tif 000006
【図５】
2007316759.tif 000007
【図６】
2007316759.tif 000008
【図７】
2007316759.tif 000009
【図８】
2007316759.tif 000010
【図９】
2007316759.tif 000011
【図１０】
2007316759.tif 000012
【図１１】
2007316759.tif 000013
【図１２】
2007316759.tif 000014
【図１３】
2007316759.tif 000015
【図１４】
2007316759.tif 000016
【図１５】
2007316759.tif 000017
【図１６】
2007316759.tif 000018
【図１７】
2007316759.tif 000019
【図１８】
2007316759.tif 000020
【図１９】
2007316759.tif 000021
【図２０】
2007316759.tif 000022
【図２１】
2007316759.tif 000023
【図２２】
2007316759.tif 000024
【図２３】
2007316759.tif 000025
【図２４】
2007316759.tif 000026
【図２５】
2007316759.tif 000027
【図２６】
2007316759.tif 000028
【図２７】
2007316759.tif 000029
【図２８】
2007316759.tif 000030
【図２９】
2007316759.tif 000031
【図３０】
2007316759.tif 000032