(57)【要約】【課題】複数の記録装置に記録され、互いに対応関係にあるＷｅｂサービスに関するデータを整合させる。【解決手段】本発明のプログラム１２は、コンピュータに、記録装置１６に記録されているＷｅｂサービスＡに関するデータ１９ａと記録装置２０に記録されているＷｅｂサービスＡに関するデータ２３ａとの対応関係を示す関係データを取得する機能と、記録装置１６から検索されたデータ１９ａを取得する機能、関係データに基づいてデータ１９ａと対応関係のあるデータ２３ａの検索を依頼し、記録装置２０から検索されたデータ２３ａを取得する機能、データ１９ａ、２３ａの間で整合性を確保するデータ項目と整合性確保処理を表すルールＲ１に基づいてデータ１９ａ、２３ａの整合性を判断する機能１５ｃ、整合性がない場合にルールＲ１にしたがって整合性確保処理を実行する機能１５ｄを実現させる。【選択図】    図１
2004280447.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の記録装置に記録されているＷｅｂサービスに関する第１データと前記第１の記録装置とは別の第２の記録装置に記録されている前記Ｗｅｂサービスに関する第２データとが対応関係にある旨を示し関係データ記録装置に記録されている関係データを取得する関係データ取得機能と、
前記第１の記録装置から検索された第１データを取得する第１のデータ取得機能と、
前記関係データに基づいて、前記第１データと対応関係のある前記第２データの検索を依頼し、前記第２の記録装置から検索された第２データを取得する第２のデータ取得機能と、
前記第１データと前記第２データとの間で前記Ｗｅｂサービスに関する登録内容に不整合が発生した場合の対処方法を定めており整合性確保ルール記録装置に記録されている整合性確保ルールに基づいて、前記第１データと前記第２データとの間で整合性の有無を判断する比較機能と、
前記比較機能によって整合性がないと判断された場合に、前記整合性確保ルールにしたがって、前記整合性を確保するための処理を実行する処理機能と
を実現させるためのデータ整合プログラム。
【請求項２】
請求項１記載のデータ整合プログラムにおいて、
前記整合性確保ルールは、前記第１データと前記第２データとの間で整合性を確保するデータ項目と整合性を確保するための処理の内容とを表すことを特徴とするデータ整合プログラム。
【請求項３】
請求項２記載のデータ整合プログラムにおいて、
前記整合性を確保するための処理は、前記第２データの内容で前記第１データの内容を更新する処理であることを特徴とするデータ整合プログラム。
【請求項４】
請求項１乃至請求項３のいずれか１項記載のデータ整合プログラムにおいて、
前記第１データは前記関係データを含み、
前記第１の取得機能は、前記関係データ取得機能としても動作し、前記関係データ記録装置としての役割と前記第１の記録装置としての役割とを果たす記録装置から前記関係データを含む前記第１データを取得する
ことを特徴とするデータ整合プログラム。
【請求項５】
請求項１乃至請求項４のいずれか１項記載のデータ整合プログラムにおいて、
前記第１の記録装置は、特定の条件を満たすデータのみが登録されるローカルレジストリであり、
前記第２の記録装置は、前記特定の条件を満たさないデータであっても登録されるパブリックレジストリである
ことを特徴とするデータ整合プログラム。
【請求項６】
Ｗｅｂサービスに関するデータを記録する第１の記録装置と前記第１の記録装置とは別に前記Ｗｅｂサービスに関するデータを記録する第２の記録装置との間でデータの整合性を確保するデータ整合システムにおいて、
前記第１の記録装置に記録されている第１データと前記第２の記録装置に記録されている第２データとが対応関係にある旨を示し関係データ記録装置に記録されている関係データを取得する関係データ取得手段と、
前記第１の記録装置から検索された第１データを取得する第１のデータ取得手段と、
前記関係データに基づいて、前記第１データと対応関係のある前記第２データの検索を依頼し、前記第２の記録装置から検索された第２データを取得する第２のデータ取得手段と、
前記第１データと前記第２データとの間で前記Ｗｅｂサービスに関する登録内容に不整合が発生した場合の対処方法を定めており整合性確保ルール記録装置に記録されている整合性確保ルールに基づいて、前記第１データと前記第２データとの間で整合性の有無を判断する比較手段と、
前記比較手段によって整合性がないと判断された場合に、前記整合性確保ルールにしたがって、前記整合性を確保するための処理を実行する処理手段と
を具備するデータ整合システム。
【請求項７】
Ｗｅｂサービスに関するデータを記録する第１の記録装置と前記第１の記録装置とは別に前記Ｗｅｂサービスに関するデータを記録する第２の記録装置との間でデータの整合性を確保するためにコンピュータシステムに実行させるデータ整合方法において、
前記第１の記録装置から検索された第１データを取得するとともに、前記第１データと前記第２の記録装置に記録されている第２データとが対応関係にある旨を示し関係データ記録装置に記録されている関係データを取得し、
前記関係データに基づいて、前記第１データと対応関係のある前記第２データの検索を依頼し、前記第２の記録装置から検索された第２データを取得し、
前記第１データと前記第２データとの間で前記Ｗｅｂサービスに関する登録内容に不整合が発生した場合の対処方法を定めており整合性確保ルール記録装置に記録されている整合性確保ルールに基づいて、前記第１データと前記第２データとの間で整合性の有無を判断し、
整合性がないと判断された場合に、前記整合性確保ルールにしたがって、前記整合性を確保するための処理を実行する
ことを特徴とするデータ整合方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗｅｂサービスに関するデータの検索結果を提供する複数のレジストリ間で、データの整合性を確保するためのデータ整合プログラム及びシステム並びに方法に関する。
【０００２】
【従来の技術】
インターネット上で柔軟に企業間システムを連携する技術への要望が高まっている。激化するグローバル競争の下で、企業グループは統合や再編を繰り返している。各企業は自社の得意分野に集中し、他分野では他社と連携を図る傾向にある。
【０００３】
提携企業間では、単なる物の売買に限らず、例えば部品会社と組み立て会社が設計段階から協調するなどのように、より密なコラボレーションが求められる。
【０００４】
このため、企業間のシステムを迅速に連携させ、かつビジネス環境の変化に柔軟に対応するための技術が求められ、このような技術の一つとしてＷｅｂサービスが注目されている。
【０００５】
Ｗｅｂサービスの一例として、インターネットなどのようなネットワーク上でＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のメッセージを送受信してシステムを連携させる技術がある。
【０００６】
図１４は、一般的なＷｅｂシステムの構成の一例を示すブロック図である。
【０００７】
一般的なＷｅｂシステムでは、Ｗｅｂアプリケーション１ａによるサービスやホームページ１ｂがＷｅｂサーバ１からネットワーク２を経由してＷｅｂブラウザ３に通知され、利用者４に提供される。
【０００８】
一方、図１５は、Ｗｅｂサービスの一例を示すブロック図である。
【０００９】
Ｗｅｂサービスでは、一方のシステム５ａのサービスアプリケーション６ａと他方のシステム５ｂのサービスアプリケーション６ｂとがＸＭＬデータ（ＸＭＬメッセージ）７を送受信し、直接連携して動作する。
【００１０】
ＸＭＬデータ７は、システム５ａとシステム５ｂとの間で、例えばＨＴＴＰなどのようなインターネット標準プロトコルにしたがって送受信されるため、ファイアウォールも容易に通過可能である。
【００１１】
Ｗｅｂサービスでは、ネットワーク２として例えばインターネットが利用されるため、従来から企業間のデータ交換に使われてきたＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）よりも構築コストがかからない。
【００１２】
Ｗｅｂサービスによって企業間システムを迅速かつ柔軟に連携させるために、様々な標準化が進んでいる。
【００１３】
主な標準として、企業間で交換するＸＭＬデータの形式、ビジネスプロセスの標準、ＸＭＬデータを送受信するためのメッセージングプロトコル標準、サービス登録又は検索するためのレジストリ標準などがある。
【００１４】
これらの標準が実装され、適切な運用体制が整うと、第１にオープンかつダイナミックな企業間システム連携機構が構築可能となる。第２にインターネット上のサービスを部品として利用するシステム開発パラダイムが実現可能となる。
【００１５】
図１６は、Ｗｅｂサービスに関するレジストリの適用例を示す図である。
【００１６】
ホテルや航空会社などのＷｅｂサービスの提供者は、自社のシステム７ａ〜７ｄによって提供されるサービスをＷｅｂサービスとしてインターネットなどのネットワーク２上に公開する。サービス提供者は、自社のＷｅｂサービスをレジストリ８に登録する。
【００１７】
Ｗｅｂサービスの利用者である旅行代理店のシステム９は、レジストリ８を検索してＷｅｂサービスを選択し、標準ビジネスプロセスにしたがって選択されたＷｅｂサービスを利用する。
【００１８】
Ｗｅｂサービスのレジストリ標準として、ＵＤＤＩ（Ｕｎｉｖｅｒｓａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｄｉｓｃｏｖｅｒｙ，  ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎ）がある。
【００１９】
ＵＤＤＩとは、Ｗｅｂサービスの記述、発見、統合を実現するためのレジストリ仕様である。
【００２０】
図１７は、ＵＤＤＩにしたがったレジストリの一例を示す図である。レジストリ８は、Ｗｅｂサービスの電話帳としてもディレクトリサービスを提供する。
【００２１】
複数の会社が共同でパブリックレジストリを運営する場合がある。Ｗｅｂサービスの提供者は、自己のＷｅｂサービスに関するデータをパブリックレジストリに登録し、Ｗｅｂサービスの利用者は、自己の利用したいＷｅｂサービスに関するデータをパブリックレジストリから検索し、Ｗｅｂサービスを利用する。
【００２２】
【非特許文献１】
ユーディーディーアイ・バージョン３．０（ＵＤＤＩ  Ｖｅｒｓｉｏｎ  ３．０  ｐｕｂｌｉｓｈｅｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ），  ［ｏｎｌｉｎｅ］，  ２００２年７月１９日、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｕｄｄｉ．ｏｒｇ／ｐｕｂｓ／ｕｄｄｉ−ｖ３．００−ｐｕｂｌｉｓｈｅｄ−２００２０７１９．ｐｄｆ＞
【００２３】
【非特許文献２】
ウェブ・サービスズ・ディスクリプション・ランゲージ（ダブリューエスディーエル）１．１（Ｗｅｂ  ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  （ＷＳＤＬ）  １．１），  ダブリュースリーシー・ノート（Ｗ３Ｃ  Ｎｏｔｅ），  ［ｏｎｌｉｎｅ］，  ２００１年３月１５日、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｗｓｄｌ＞
【００２４】
【非特許文献３】
川村隆浩、長谷川哲夫、大須賀昭彦、山本純一（Ｔ．  Ｋａｗａｍｕｒａ，  Ｔ．  Ｈａｓｅｇａｗａ，  Ａ  Ｏｈｓｕｇａ，  Ｊ．  Ｙａｍａｍｏｔｏ）：  プロポーザル・オブ・セマンティックス−ベースト・ウェブ・サービス・マッチメーキング（Ｐｒｏｐｏｓａｌ  ｏｆ  Ｓｅｍａｎｔｉｃｓ−ｂａｓｅｄ  Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｍａｔｃｈｍａｋｉｎｇ），プロシーディングス・オブ・インターナショナル・コンファレンス・オン・コンピューショナル・インテリジェンス・アンド・マルチメディア・アプリケーションズ  ２００１（アイシーシーアイエムエー）（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｎｄ  Ｍｕｌｔｉｍｅｄｉａ  Ａｐｐｌｉｃａｔｉｏｎｓ  ２００１  （ＩＣＣＩＭＡ  ０１）），  アイトリプルイー（ＩＥＥＥ），  ｐｐ．８７−９２，  Ｎｏｖ，  ２００１．
【００２５】
【非特許文献４】
ダブリューエスエムイー・ウェブ・サービスズ・マッチメーキング・エンジン（ＷＳＭＥ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｍａｔｃｈｍａｋｉｎｇ  Ｅｎｇｉｎｅ），  ［ｏｎｌｉｎｅ］，  ２００２年７月１６日、インターネット＜ｈｔｔｐ：／／ｄｗｄｅｍｏｓ．ａｌｐｈａｗｏｒｋｓ．ｉｂｍ．ｃｏｍ／ｗｓｔｋ／ｃｏｍｍｏｎ／ｗｓｔｋｄｏｃ／ｓｅｒｖｉｃｅｓ／ｄｅｍｏｓ／ｗｓｍｅ／ｗｓｍｅ．ｐｄｆ＞
【００２６】
【発明が解決しようとする課題】
パブリックレジストリには、誰でも自由にＷｅｂサービスを登録できる。したがって、登録されたＷｅｂサービスについての品質や信頼性は補償されない。パブリックレジストリから検索されたＷｅｂサービスの品質や信頼性のチェックは、サービス利用者に委ねられている。
【００２７】
しかしながら、サービス利用者にとって検索のたびにＷｅｂサービスの品質や信頼性をチェックすることは困難である。
【００２８】
登録自由なパブリックレジストリとは対象的に、ある特定の業界や特定の企業のポリシーにしたがって、登録されるＷｅｂサービスを統制するローカルレジストリがある。
【００２９】
図１８は、ローカルレジストリとパブリックレジストリとの関係の一例を示す図である。
【００３０】
例えば、旅行代理店は、企業内にローカルレジストリ１０を所有している。この旅行代理店の従業者やシステム９は、原則としてパブリックレジストリ１１ではなく、ローカルレジストリ１０を用いてＷｅｂサービスに関するデータを検索する。
【００３１】
新たなＷｅｂサービスをローカルレジストリ１０に登録したい旅行代理店の従業者は、その旨をローカルレジストリ１０の管理者に申請する。
【００３２】
ローカルレジストリ１０の管理者は、ローカルレジストリ１０に新規登録候補のＷｅｂサービスを登録する前に、この新規登録候補のＷｅｂサービスの品質や信頼性を調査して所定の基準を満たす場合に登録を許可する。
【００３３】
登録する場合には、調査結果なども補足データとしてローカルレジストリ１０に登録する。
【００３４】
このような手順で登録作業が行われることで、ローカルレジストリ１０の利用者（企業の従業者や自社システム）は、品質や信頼性の保証されたＷｅｂサービスに関するデータのみを検索できる。
【００３５】
ローカルレジストリ１０とパブリックレジストリ１１とが実現される場合、図１９に示すように双方の整合性の確保が必要になる場合がある。
【００３６】
この図１９において、ホテル業者が自社予約サービスをパブリックレジストリ１１に登録する。旅行代理店におけるローカルレジストリ１０の管理者は、パブリックレジストリ１１に登録されている予約サービスに関するデータを検索し、この予約サービスに関するデータを自社のローカルレジストリ１０に登録する。
【００３７】
次に、ホテル業者は、パブリックレジストリ１１内の自社の登録内容を更新したとする。例えば、ホテル業者は、予約サービスへのアクセスＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ）を変更する。
【００３８】
この時点で、パブリックレジストリ１１にはホテル業者の更新後の予約サービスに関するデータが登録されているのに対し、旅行代理店のローカルレジストリ１０にはホテル業者の更新前の予約サービスに関するデータが登録されている。したがって、ローカルレジストリ１０とパブリックレジストリ１１の登録内容に不整合が生じる。
【００３９】
本発明は、以上のような実情に鑑みてなされたもので、ローカルレジストリとパブリックレジストリとの登録内容を整合させるデータ整合プログラム及びシステム並びに方法を提供することを目的とする。
【００４０】
【課題を解決するための手段】
本発明を実現するにあたって講じた具体的手段について以下に説明する。
【００４１】
本発明のデータ整合プログラムは、コンピュータに、第１の記録装置に記録されているＷｅｂサービスに関する第１データと第１の記録装置とは別の第２の記録装置に記録されているＷｅｂサービスに関する第２データとが対応関係にある旨を示し関係データ記録装置に記録されている関係データを取得する関係データ取得機能と、第１の記録装置から検索された第１データを取得する第１のデータ取得機能と、関係データに基づいて、第１データと対応関係のある第２データの検索を依頼し、第２の記録装置から検索された第２データを取得する第２のデータ取得機能と、第１データと第２データとの間でＷｅｂサービスに関する登録内容に不整合が発生した場合の対処方法を定めており整合性確保ルール記録装置に記録されている整合性確保ルールに基づいて、第１データと第２データとの間で整合性の有無を判断する比較機能と、比較機能によって整合性がないと判断された場合に、整合性確保ルールにしたがって、整合性を確保するための処理を実行する処理機能とを実現させる。
【００４２】
これにより、Ｗｅｂサービスに関するデータを複数の記録装置間で整合させることができる。
【００４３】
なお、本発明において、整合性確保ルールは、第１データと第２データとの間で整合性を確保するデータ項目と整合性を確保するための処理の内容とを表すとしてもよい。この場合、整合性を確保するための処理は、前記第２データの内容で前記第１データの内容を更新する処理であるとしてもよい。これにより、第２の記録装置の登録内容を変更するのみで第１の記録装置の登録内容も変更できる。
【００４４】
また、本発明において、第１データは関係データを含み、第１の取得機能は、関係データ取得機能としても動作し、関係データ記録装置としての役割と第１の記録装置としての役割とを果たす記録装置から関係データを含む第１データを取得するとしてもよい。
【００４５】
また、本発明において、第１の記録装置は特定の条件を満たすデータのみが登録されるローカルレジストリであり、第２の記録装置は特定の条件を満たさないデータであっても登録されるパブリックレジストリであるとしてもよい。これにより、ローカルレジストリとパブリックレジストリとの間でＷｅｂサービスに関するデータを整合させることができる。
【００４６】
なお、本発明のデータ整合プログラム又はこのプログラムを記録した記録媒体を用いることによって、上記各機能を有していないコンピュータ、コンピュータシステム、サーバ、クライアントに対しても、簡単にこれらの機能を付加することができる。
【００４７】
本発明で実現される機能と同様の動作を実現する手段をデータ整合システムに具備することにより、同様の作用効果を得ることができる。
【００４８】
本発明のデータ整合プログラム又はこのプログラムを記録した記録媒体をコンピュータに適用することによって、Ｗｅｂサービスに関するデータを複数の記録装置間で整合させるデータ整合方法がコンピュータ上で実施される。
【００４９】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００５０】
以下の各図において同一の部分については同一の符号を付してその説明を省略し、異なる部分についてのみ詳しく説明する。
【００５１】
本実施の形態においては、ローカルレジストリに登録されたＷｅｂサービスに関するデータ（以下、「ローカルデータ」という）がパブリックレジストリに登録されたＷｅｂサービスに関するデータ（以下、「パブリックデータ」という）と不整合になった場合に、ローカルデータを更新し、双方のレジストリを整合させるデータ整合システムについて説明する。
【００５２】
図１は、本実施の形態に係るデータ整合システムの構成の一例を示すブロック図である。
【００５３】
データ整合プログラム１２は、記録媒体１３に記録されており、ローカルレジストリ１４としての機能を実現する計算機システムに読み込まれ、起動することにより、データ整合システム１５として動作する。
【００５４】
ローカルレジストリ１４は、サービスデータ記録部１６、サービス管理部１７、サービス検索部１８、データ整合システム１５を具備する。
【００５５】
本実施の形態においては、ＷｅｂサービスＡ〜Ｃのうち、ＷｅｂサービスＡ、Ｃに関するデータがローカルレジストリ１４に登録されている。ローカルレジストリ１２に登録されているＷｅｂサービスＡ、Ｃに関するデータは、それぞれローカルデータ１９ａ、１９ｃである。
【００５６】
ローカルデータ１９ａ、１９ｃは、サービス管理部１７を介してサービスデータ記録部１６に登録される。サービスデータ記録部１６に登録されたローカルデータ１９ａ、１９ｃは、サービス検索部１８による検索対象となる。
【００５７】
パブリックレジストリ１１は、サービスデータ記録部２０、サービス管理部２１、サービス検索部２２を具備する。
【００５８】
本実施の形態においては、ＷｅｂサービスＡ、Ｂに関するデータがパブリックレジストリ１１に登録されている。パブリックレジストリ１１に登録されているＷｅｂサービスＡ、Ｂに関するデータは、それぞれパブリックデータ２３ａ、２３ｂである。
【００５９】
ローカルレジストリ１４とパブリックレジストリ１１において、同じＷｅｂサービスに関するデータが登録されている場合、このＷｅｂサービスに関するローカルデータとパブリックデータとは対応関係を持つ。対応関係を持つローカルデータとパブリックデータとは、データ整合システム１５による整合性確保の対象となる。
【００６０】
上記図１の例では、ローカルレジストリ１４とパブリックレジストリ１１の双方に登録されているＷｅｂサービスＡに関するローカルデータ１９ａとパブリックデータ２３ａについては整合性確保の対象となり、ローカルレジストリ１４とパブリックレジストリ１１とのうち一方にのみ登録されているＷｅｂサービスＢに関するパブリックデータ２３ｂとＷｅｂサービスＣに関するローカルデータ１９ｃについては整合性確保の対象外となる。
【００６１】
整合性確保の対象となっているＷｅｂサービスＡに関するローカルデータ１９ａには、ローカルレジストリ１４とパブリックレジストリ１１との間でＷｅｂサービスＡに関する登録内容に不整合が発生した場合に、対処方法を定めた整合性確保ルールを指定するルール指定データが含まれている。
【００６２】
さらに、整合性確保の対象となっているＷｅｂサービスＡに関するローカルデータ１９ａには、対応関係にあるパブリックデータ２３ａを指定する関係データが含まれている。
【００６３】
データ整合システム１５は、不整合が発生した場合に、指定されている整合性確保ルールにしたがって整合性確保処理を実行する。
【００６４】
なお、不整合の発生したローカルデータにルール指定データが含まれていない場合、データ整合システム１５は、デフォルトの整合性確保ルールにしたがって整合性確保処理を実行する。
【００６５】
本実施の形態においては、ＵＤＤＩ  Ｖｅｒｓｉｏｎ１．０  仕様（以下、「ＵＤＤＩ仕様」という）に基づくパブリックレジストリ１１とローカルレジストリ１４との間で整合性を確保する機構について説明する。
【００６６】
ＵＤＤＩ仕様では、サービスの登録、更新、削除、検索の４種類のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）がＸＭＬ形式で規定される。また、ＵＤＤＩ仕様では、この４種類のＡＰＩにしたがってやり取りされるデータ形式も規定されている。
【００６７】
データ整合システム１５は、主に、ローカルデータ取得部１５ａ、パブリックデータ取得部１５ｂ、比較部１５ｃ、処理部１５ｄとを具備する。また、比較部１５ｃ、処理部１５ｄは、整合性確保ルールＲ１〜Ｒｎの記録されている整合性確保ルール記録部２４をアクセスする。
【００６８】
ローカルデータ取得部１５ａは、サービス検索部１８を介してローカルレジストリ１４のサービスデータ記録部１６を検索し、検索されたローカルデータを取得する。
【００６９】
本実施の形態においては、ローカルデータには関係データが含まれている場合があるため、ローカルデータ取得部１５ａは、関係データの取得機能も実現する。
【００７０】
パブリックデータ取得部１５ｂは、パブリックレジストリを検索し、検索されたパブリックデータを取得する。
【００７１】
比較部１５ｃは、取得されたローカルデータに含まれているルール指定データによって指定された整合性確保ルールにしたがって、同一のＷｅｂサービスに関するローカルデータとパブリックデータとを比較し、不整合の有無を判定する。
【００７２】
なお、整合性確保ルールには、ローカルデータとパブリックデータとの間で整合性を確保する項目についても指定されている。
【００７３】
処理部１５ｄは、不整合が発生した場合に、整合性確保ルールにしたがった整合性確保処理を実行する。
【００７４】
図２は、本実施の形態においてローカルレジストリ及びパブリックレジストリとで扱われるデータの構造の一例を示す図である。
【００７５】
ローカルレジストリ１４及びパブリックレジストリ１１は、ＵＤＤＩ仕様のレジストリとする。
【００７６】
ローカルレジストリ１４及びパブリックレジストリ１１では、ｂｕｓｉｎｅｓｓＥｎｔｒｙ、ｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅ、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ、ｔＭｏｄｅｌという４種類のデータが扱われる。
【００７７】
会社名、業種などの各企業に関するデータは、ｂｕｓｉｎｅｓｓＥｎｔｒｙという単位で表現される。
【００７８】
各企業についてのｂｕｓｉｎｅｓｓＥｎｔｒｙには、この企業の提供するＷｅｂサービスを表現するｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅが少なくとも一つ含まれる。一つのｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅは、互いに関連するＷｅｂサービスの集合を表現する。なお、一つのｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅが一つのＷｅｂサービスを表現するとしてもよい。
【００７９】
例えば、ある旅行代理店を表すｂｕｓｉｎｅｓｓＥｎｔｒｙには、ホテル予約サービスを表すｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅやレンタカー予約サービスを表すｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅなどが含まれる。
【００８０】
そして、ホテル予約サービスを表すｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅは、空き部屋照合サービス、部屋予約サービス、キャンセルサービスなどの互いに関連するＷｅｂサービスから構成される。
【００８１】
各ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅには、ｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅを構成する各Ｗｅｂサービスのアクセス先、アクセス方法などの詳細データが記述されている。なお、一つのｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅは、例えばインターネットからのアクセス、ＦＡＸによるアクセスなどのように複数のアクセス方法を持つ場合もある。このため、一つのｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅが複数のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅを持つ場合がある。
【００８２】
ｔＭｏｄｅｌには、各Ｗｅｂサービスの厳密なインタフェース仕様が規定されている。
【００８３】
本実施の形態においては、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの整合性を確保する場合について説明するが、ｂｕｓｉｎｅｓｓＥｎｔｒｙ、ｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅ、ｔＭｏｄｅｌなどの他の種類のデータの整合性を確保する場合も同様である。
【００８４】
なお、ＵＤＤＩ仕様では、ＡＰＩと論理的なデータ構造が規定されているが、レジストリの実装方法については規定されていない。すなわち、ＡＰＩにしたがってやり取りされるＸＭＬデータの論理的な形式は規定されているが、実際にデータをレジストリに記録する方法については規定されていない。
【００８５】
そこで本実施の形態においては、論理的なデータ構造について説明し、この論理的なデータ構造を実装する方法は問わないものとして説明する。例えば、実装の方法としては、リレーショナルデータベースを使った実装、オブジェクト指向データベースを使った実装などがある。
【００８６】
以下に、Ｗｅｂサービスに関する論理的なデータ構造について説明する。なお、本実施の形態においてはＵＤＤＩ仕様で定義されているデータ種類のうちｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの構造と処理手順を例として説明するが、ｂｕｓｉｎｅｓｓＥｎｔｒｙ、ｂｕｓｉｎｅｓｓＳｅｒｖｉｃｅ、ｔＭｏｄｅｌなどの他の種類のデータの構造と処理手順についても同様である。
【００８７】
表１に、ＵＤＤＩ仕様で規定されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのデータ構造を示す。
【００８８】
【表１】
2004280447.tif 000003
【００８９】
表１中のｂｉｎｄｉｎｇＫｅｙは、各ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのＩＤである。ａｃｃｅｓｓＰｏｉｎｔはこのＷｅｂサービスへのアクセスポイント（ＵＲＬなど）を記述するためのオプション属性である。
【００９０】
ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性には、別のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのｂｉｎｄｉｎｇＫｅｙが記述される。このｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒは、ａｃｃｅｓｓＰｏｉｎｔにアクセスポイントを記述することなく、別のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅを参照することを目的として用意されている。
【００９１】
ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅでは、ａｃｃｅｓｓＰｏｉｎｔとｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒとのうち少なくとも一方に値が設定される必要がある。
【００９２】
ｄｅｓｃｒｉｐｔｉｏｎ属性は、Ｗｅｂサービスに関するデータを文字列で記述するために用意されている。このｄｅｓｃｒｉｐｔｉｏｎには、２５５文字以内の文字列が設定され、例えば言語毎に説明を記述できる。
【００９３】
図３は、ＵＤＤＩ仕様で規定されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのデータ構造を用いた本実施の形態に係るローカルデータとパブリックデータの一例を示すブロック図である。この図３においては、上記図１のＷｅｂサービスＡがホテル予約サービスに対応し、ローカルデータ１９ａがローカルレジストリ１４に登録されたホテル予約サービスに関するｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５に対応し、パブリックデータ２３ａがパブリックレジストリ１１に登録されたホテル予約サービスに関するｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６に対応する。ローカルデータ１９ａは、パブリックデータ２３ａとの間の関係データを含む。この場合、ローカルデータ１９ａと関係データとはともに記録装置に記録され、関係データを含むローカルデータ１９ａが記録装置から読み出される。
【００９４】
本実施の形態においては、整合性確保を目的として上記の属性を以下のように利用する。
【００９５】
ローカルレジストリ１４に登録されたｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５からパブリックレジストリ１１に登録されたｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６を参照するために、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に、対応関係にあるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６を識別するためのデータが与えられる。このｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に設定される値は、関係データに対応する。
【００９６】
ホテル予約サービスに関するｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６は、パブリックレジストリ１１に登録されており、このｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６のＩＤ、すなわちｂｉｎｄｉｎｇＫｅｙ属性の値は、ｐｕｂｌｉｃｋｅｙ＿１２３である。
【００９７】
ホテル予約サービスに関するｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５は、ローカルレジストリ１４に登録されている。ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のＩＤは、ｌｏｃａｌｋｅｙ＿００１である。
【００９８】
ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５は、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６を参照している。すなわち、ｂｕｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性には、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６のＩＤであるｐｕｂｌｉｃｋｅｙ＿１２３が設定されている。
【００９９】
本実施の形態において、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のｄｅｓｃｒｉｐｔｉｏｎ属性には、整合性確保ルールを識別するためのデータが設定される。例えば、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のｄｅｓｃｒｉｐｔｉｏｎ属性には、ｒｕｌｅ：ｒｕｌｅ＿１が設定されている。この設定により、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５はｒｕｌｅ＿１で指定される整合性確保ルールＲ１にしたがって整合性が確保される。
【０１００】
本実施の形態においては、ローカルデータのｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５とパブリックデータのｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６との間で整合性を確保するが、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５とｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６とは、全ての属性（データ項目）で値が一致している必要はない。
【０１０１】
この図３の例では、ａｃｃｅｓｓＰｏｉｎｔ属性の値は双方とも「ｈｔｔｐ：／／ｗｗｗ．ａｂｃ．ｃｏｍ／ｅｆｇ」で一致しているがｄｅｓｃｒｉｐｔｉｏｎ属性の値は異なる。この例において、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のｄｅｓｃｒｉｐｔｉｏｎ属性には、「部屋の質は高い」というコメントが設定されており、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６のｄｅｓｃｒｉｐｔｉｏｎ属性には、「部屋予約のサービス」というコメントが設定されている。
【０１０２】
ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅにおけるどの属性が整合性確保の対象となるかについては、ｒｕｌｅ＿１で指定される整合性確保ルールＲ１で定義されている。
【０１０３】
図４は、ＸＭＬ形式で記述されたローカルデータであるｂｕｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５の一例を示す図である。
【０１０４】
この図４の例に示すように、ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値が設定されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅが整合性確保の対象となるローカルデータである。
【０１０５】
ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値が設定されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅに対しては、ｄｅｓｃｒｉｐｔｉｏｎ属性で指定されている整合性確保ルールに基づいて整合性確保処理が実行される。
【０１０６】
処理部１５ｄは、整合性確保ルールにおける定義内容によって異なる整合性確保処理を実行する。具体的な整合性確保処理を実行するまでの処理の流れについて以下に説明する。
【０１０７】
図５は、データ整合システム１５の動作の例を示すシーケンス図である。この図５における縦線は上記図１、３に示す構成要素とシステム外部アクタ（ローカルレジストリ１４の管理者と利用者）を表し、上から下に向かって時間の流れを表す。特に説明がない限り、図５に示す構成要素はローカルレジストリ１４に具備されている要素であるとする。
【０１０８】
ＵＤＤＩ仕様をベースとしたサービス検索部１８には、いくつかのタイプの検索機能が備わっている。この図５では、キーワードによりローカルレジストリ１４に登録されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅが検索される場合を例として示している。
【０１０９】
ローカルレジストリ１４の利用者（ローカルレジストリ１４にアクセスする人間又はシステム）は、キーワード「ホテル予約」を引数としてｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの検索を試みる。
【０１１０】
サービス検索部１８は、サービスデータ記録部１６からキーワード「ホテル予約」にマッチしたｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの一覧を求める。
【０１１１】
ローカルレジストリ１４の利用者は、キーワード「ホテル予約」に適合したｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの一覧を取得する。このｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの一覧には、この一覧を構成する各ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの概要（サービス名、ｂｉｎｄｉｎｇＫｅｙ属性の値など）のリストが含まれる。
【０１１２】
一覧を構成する各ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅの詳細データを取得するために、さらにｂｉｎｄｉｎｇＫｅｙを引数として詳細データを取得する必要がある。
【０１１３】
この図５の例では、利用者は、あるＷｅｂサービスのｂｉｎｄｉｎｇＫｅｙ属性の値ｌｏｃａｌｋｅｙ＿００１を引数として詳細データの取得を試みている。
【０１１４】
サービス検索部１８は、利用者からの詳細データの取得要求をデータ整合システム１５に転送する。
【０１１５】
データ整合システム１５は、サービスデータ記録部１６からｂｉｎｄｉｎｇＫｅｙ属性の値がｌｏｃａｌｋｅｙ＿００１であるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５を取り出す。
【０１１６】
ここから先の整合性確保処理の内容は、整合性確保ルールに応じた内容となる。
【０１１７】
例えば、ある整合性確保ルールで定義された内容にしたがって、データ整合システム１５は、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５と対応関係にあるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６をパブリックレジストリ１１から取り出し、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５とｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６と比較し、比較項目について不整合があったらパブリックレジストリ１１のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６の内容でローカルレジストリ１４のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５の内容を更新するとしてもよい。
【０１１８】
また、例えば別の整合性確保ルールで定義された内容にしたがって、データ整合システム１５は、不整合があってもローカルレジストリ１４のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５を更新することなく、不整合がある旨をローカルレジストリ１４の管理者に通知するとしてもよい。
【０１１９】
このように、整合性確保処理の具体的な内容は整合性確保ルールに依存するが、整合性確保処理を実行するまでの動作は全整合性確保ルールで共通化することができる。
【０１２０】
図６は、詳細データ取得要求を受け付けた後におけるデータ整合システム１５の動作の一例を示すフローチャートである。
【０１２１】
ステップＳ１において、データ整合システム１５は、ローカルレジストリ１４に登録されているローカルデータ（例えばｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ）を取得する。
【０１２２】
ステップＳ２において、データ整合システム２５は、ローカルデータに含まれている関係データ（例えばｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性の値）を調べる。
【０１２３】
ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値が設定されていない場合、データ整合システム１５は、ローカルデータと対応関係のあるパブリックデータはないと判断し、ステップＳ３において、データ整合システム１５は、ローカルデータを返却する。
【０１２４】
ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値が設定されている場合、ステップＳ４において、データ整合システム１５は、その値をキー（ｂｉｎｄｉｎｇＫｅｙ）としてパブリックレジストリ１１の検索を要求し、パブリックレジストリ１１に公開されているパブリックデータ（例えばｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ）を取得する。
【０１２５】
ステップＳ５において、データ整合システム１５は、ローカルデータに含まれているルール指定データ（例えばｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのｄｅｓｃｒｉｐｔｉｏｎ属性の値）に基づいて、整合性確保ルールを取得する。
【０１２６】
ステップＳ６において、データ整合システム１５は、取得した整合性確保ルールに基づいて、ローカルデータとパブリックデータを比較する。
【０１２７】
不整合がない場合、上記ステップＳ３と同様に、データ整合システム１５は、ローカルデータを返却する。
【０１２８】
不整合がある場合、ステップＳ７において、データ整合システム１５は、取得した整合性確保ルールに基づいて整合性確保処理を実行し、ステップＳ８において、処理後のローカルデータ又はパブリックデータを返却する。
【０１２９】
以下に、整合性確保ルールＲ１〜Ｒｎについて説明する。
【０１３０】
上述したように、整合性確保処理の内容は、整合性確保ルールＲ１〜Ｒｎに依存する。
【０１３１】
図７は、本実施の形態に係る整合性確保ルールＲ１〜Ｒｎの一例を示す図である。
【０１３２】
本実施の形態において各整合性確保ルールＲ１〜Ｒｎには、整合性確保の処理内容と比較項目とが設定される。
【０１３３】
整合性確保の処理内容としては、例えば「不整合が生じたらローカルデータを即座に更新する」旨の命令、「不整合が生じたらローカルレジストリの管理者に通知する」旨の命令などが記述されている。
【０１３４】
比較項目では、ローカルデータとパブリックデータとが整合しているか否かの判定対象となる項目が特定されている。
【０１３５】
この図７の例では、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのａｃｃｅｓｓＰｏｉｎｔ属性の値が比較され、整合性が判定される。
【０１３６】
本実施の形態に係る整合性確保の処理内容は、汎用のプログラミング言語で実装してもよく、処理内容を記述するための特定のスクリプト言語を定義し、そのスクリプト言語を使って処理内容を記述してもよい。
【０１３７】
また、本実施の形態において、比較項目は、ＸＭＬ形式で記述されているが、他の形式で記述されてもよい。
【０１３８】
また、本実施の形態において、整合性確保ルールＲ１〜Ｒｎでは、処理内容と比較項目が設定されているが、他の事項が設定されるとしてもよい。例えば、一日一回整合性を調査する旨などの整合性確保処理の実行タイミングが設定されてもよい。
【０１３９】
以下に、整合性確保ルールＲ１〜Ｒｎにおいて定義されている整合性確保処理の内容について３つの例を挙げて説明する。
【０１４０】
第１の例は、「ローカルデータを無視し、パブリックデータのみを参照する」旨を定めた整合性確保ルールである。
【０１４１】
図８は、この第１の例に係る整合性確保ルールにしたがって実行される整合性確保処理を示すシーケンス図である。
【０１４２】
データ整合システム１５は、検索したローカルデータと対応関係にあるパブリックデータの取得をパブリックレジストリ１１のサービス検索部２２に依頼し、パブリックデータを取得する。
【０１４３】
データ整合システム１５は、検索したローカルデータを無視して、取得したパブリックデータをローカルレジストリ１４のサービス検索部１８に返す。
【０１４４】
サービス検索部１８は、データ整合システム１５から取得したパブリックデータを利用者に提供する。
【０１４５】
図９は、第１の例に係る整合性確保ルールとローカルデータとパブリックデータの関係の例を示す図である。
【０１４６】
ローカルデータであるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５には、ｒｕｌｅ＿１で指定される整合性確保ルールＲ１を使用する旨が記述されており、ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値ｐｕｂｌｉｃｋｅｙ＿１２３が設定されている。
【０１４７】
この場合、データ整合システム１５は、ｂｉｎｄｉｎｇＫｅｙ属性の値がｐｕｂｌｉｃｋｅｙ＿１２３のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６をパブリックレジストリ１１で検索し、整合性確保ルールＲ１にしたがって、ローカルデータは無視して検索したパブリックデータを返却する。
【０１４８】
第２の例は、「ローカルデータとパブリックデータとの間で比較項目に不整合が発生した場合に、パブリックデータにあわせてローカルデータを即座に更新し、更新後のローカルデータを返却する」旨を定めた整合性確保ルールである。
【０１４９】
図１０は、この第２の例に係る整合性確保ルールにしたがって実行される整合性確保処理を示すシーケンス図である。
【０１５０】
データ整合システム１５は、検索したローカルデータと対応関係にあるパブリックデータの取得をパブリックレジストリ１１のサービス検索部２２に依頼し、パブリックデータを取得する。
【０１５１】
データ整合システム１５は、検索したローカルデータとパブリックデータとの比較項目について、整合性の有無を判定し、整合性がない場合は、パブリックデータにおける比較項目の値でローカルデータにおける比較項目の値を更新する。
【０１５２】
そして、データ整合システム１５は、更新後のローカルデータをサービス検索部１８に返す。
【０１５３】
サービス検索部１８は、データ整合システム１５から取得した更新後のローカルデータを利用者に提供する。
【０１５４】
図１１は、第２の例に係る整合性確保ルールとローカルデータとパブリックデータの関係の例を示す図である。
【０１５５】
ローカルデータであるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５には、ｒｕｌｅ＿２で指定される整合性確保ルールＲ２を使用する旨が記述されており、ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値ｐｕｂｌｉｃｋｅｙ＿１２３が設定されている。
【０１５６】
この場合、データ整合システム１５は、ｂｉｎｄｉｎｇＫｅｙ属性の値がｐｕｂｌｉｃｋｅｙ＿１２３のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６をパブリックレジストリ１１で検索する。
【０１５７】
次に、データ整合システム１５は、整合性確保ルールＲ２の比較項目で指定されているａｃｃｅｓｓＰｏｉｎｔ属性に関して、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５とｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６との間で値を比較する。
【０１５８】
この例では、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５のａｃｃｅｓｓＰｏｉｎｔ属性には「ｈｔｔｐ：／／ｗｗｗ．ａｂｃ．ｃｏｍ／ｅｆｇ」が設定されており、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６のａｃｃｅｓｓＰｏｉｎｔ属性には「ｈｔｔｐ：／／ｗｗｗ．ａｂｃ．ｃｏｍ／ｈｉｊ」が設定されているため、比較項目であるａｃｃｅｓｓＰｏｉｎｔ属性の値が異なっている。
【０１５９】
そこで、データ整合システム１５は、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５におけるａｃｃｅｓｓＰｏｉｎｔ属性の値をｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６におけるａｃｃｅｓｓＰｏｉｎｔ属性の値で更新し、更新されたｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５を返却する。
【０１６０】
なお、比較項目で指定されていない属性に関しては、比較対象外である。例えば、この例において、ｂｉｎｄｉｎｇＫｅｙ属性、ｄｅｓｃｒｉｐｔｉｏｎ属性の値もローカルデータとパブリックデータとで異なるが、この値については整合性確保の対象外である。
【０１６１】
第３の例は、「ローカルデータとパブリックデータとの間で比較項目に不整合が発生した場合に、ローカルデータを更新することなく、不整合が発生した旨の通知をローカルレジストリの管理者に通知する」旨を定めた整合性確保ルールである。
【０１６２】
図１２は、この第３の例に係る整合性確保ルールにしたがって実行される整合性確保処理を示すシーケンス図である。
【０１６３】
データ整合システム１５は、検索したローカルデータと対応関係にあるパブリックデータの取得をパブリックレジストリ１１のサービス検索部２２に依頼し、パブリックデータを取得する。
【０１６４】
データ整合システム１５は、検索したローカルデータをサービス検索部１８に返す。
【０１６５】
サービス検索部１８は、データ整合システム１５から取得したローカルデータを利用者に提供する。
【０１６６】
また、データ整合システム１５は、検索したローカルデータとパブリックデータとの比較項目について、整合性の有無を判定し、整合性がない場合は、その旨をローカルレジストリ管理者に通知する。
【０１６７】
図１３は、第３の例に係る整合性確保ルールとローカルデータとパブリックデータの関係の例を示す図である。
【０１６８】
ローカルデータであるｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５には、ｒｕｌｅ＿３で指定される整合性確保ルールＲ３に使用する旨が記述されており、ｈｏｓｔｉｎｇＲｅｄｉｒｅｃｔｏｒ属性に値ｐｕｂｌｉｃｋｅｙ＿１２３が設定されている。
【０１６９】
この場合、データ整合システム１５は、ｂｉｎｄｉｎｇＫｅｙ属性の値がｐｕｂｌｉｃｋｅｙ＿１２３のｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６をパブリックレジストリ１１で検索する。
【０１７０】
次に、データ整合システム１５は、整合性確保ルールＲ３の比較項目で指定されているａｃｃｅｓｓＰｏｉｎｔ属性に関して、ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５とｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２６との間で値を比較する。
【０１７１】
比較項目であるａｃｃｅｓｓＰｏｉｎｔの値が異なっている場合、データ整合システム１５は、この時点ではｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５を更新することなく、検索されたｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ２５をそのまま返却する。
【０１７２】
また、データ整合システム２５は、不整合が発生している旨をローカルレジストリ管理者に通知する。
【０１７３】
以上説明した本実施の形態においては、ローカルデータとパブリックデータとの間で不整合が発生した場合に、予め定められた整合性確保ルールにしたがって整合性確保処理が実行される。したがって、ローカルレジストリ管理者にとってローカルデータとパブリックデータとの間の整合性の確保が容易になる。
【０１７４】
例えば、パブリックデータの内容にしたがってローカルデータを更新する整合性確保処理を適用することにより、パブリックデータのみを新規の内容に変更すれば、ローカルデータまでも自動的に変更可能であり、ローカルレジストリの管理者の管理労力が低減される。
【０１７５】
また、整合性確保ルールによっては、利用者がローカルレジストリ１４にアクセスした時点でリアルタイムにローカルデータとパブリックデータとの間で整合性が確保されるため、利用者が不整合の影響を受けることを防止できる。
【０１７６】
また、利用者がローカルデータにアクセスしたときに整合性をチェックすることにより、例えば定期的にローカルレジストリ１４とパブリックレジストリ１１の全データの整合性を調査する必要がなく、装備と保守作業とを簡略化できる。
【０１７７】
なお、本実施の形態に係るデータ整合システム１５の各構成要素は、同様の動作を実現可能であれば配置を変更させてもよく、また各構成要素を自由に組み合わせてもよく、各構成要素を自由に分割してもよい。
【０１７８】
例えば、ローカルデータ取得部１５ａから関係データを取得する部分を独立させてもよい。また、ローカルデータを記録する記録部と関係データを記録する記録部とを別構造としてもよい。
【０１７９】
また、本実施の形態において、データ整合システム１５は複数の計算機により構成され、データ整合プログラム１２は複数の計算機に分散して配置され、互いに連携を取りつつ処理を実行するとしてもよい。
【０１８０】
本実施の形態に係るデータ整合プログラム１２は、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んでコンピュータに適用可能である。またデータ整合プログラム１２は、通信媒体により伝送してコンピュータに適用することも可能である。コンピュータは、記録媒体に記録されたデータ整合プログラム１２を読み込み、データ整合プログラム１２によって動作が制御されることにより、上記の機能を実現する。
【０１８１】
【発明の効果】
以上詳記したように本発明においては、複数の記録装置に記録され、互いに対応関係にあるＷｅｂサービスに関するデータを容易かつ適切に整合させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るデータ整合システムの構成の一例を示すブロック図。
【図２】同実施の形態においてローカルレジストリ及びパブリックレジストリとで扱われるデータの構造の一例を示す図。
【図３】ＵＤＤＩ仕様で規定されているｂｉｎｄｉｎｇＴｅｍｐｌａｔｅのデータ構造を用いた同実施の形態に係るローカルデータとパブリックデータの一例を示すブロック図。
【図４】ＸＭＬ形式で記述されたローカルデータであるｂｕｉｎｄｉｎｇＴｅｍｐｌａｔｅの一例を示す図。
【図５】同実施の形態に係るデータ整合システムの動作の例を示すシーケンス図。
【図６】同実施の形態に係る詳細データ取得要求を受け付けた後におけるデータ整合システムの動作の一例を示すフローチャート。
【図７】同実施の形態に係る整合性確保ルールの一例を示す図。
【図８】同実施の形態に係る整合性確保ルールの第１の例にしたがって実行される整合性確保処理を示すシーケンス図。
【図９】整合性確保ルールの第１の例とローカルデータとパブリックデータの関係の例を示す図。
【図１０】同実施の形態に係る整合性確保ルールの第２の例にしたがって実行される整合性確保処理を示すシーケンス図。
【図１１】整合性確保ルールの第２の例とローカルデータとパブリックデータの関係の例を示す図。
【図１２】同実施の形態に係る整合性確保ルールの第３の例にしたがって実行される整合性確保処理を示すシーケンス図。
【図１３】整合性確保ルールの第３の例とローカルデータとパブリックデータの関係の例を示す図。
【図１４】一般的なＷｅｂシステムの構成の一例を示すブロック図。
【図１５】Ｗｅｂサービスの一例を示すブロック図。
【図１６】Ｗｅｂサービスに関するレジストリの適用例を示す図。
【図１７】ＵＤＤＩにしたがったレジストリの一例を示す図。
【図１８】ローカルレジストリとパブリックレジストリとの関係の一例を示す図。
【図１９】ローカルレジストリとパブリックレジストリとの間で不整合が発生する一例を示す図。
【符号の説明】
１１…パブリックレジストリ
１２…データ整合プログラム
１３…記録媒体
１４…ローカルレジストリ
１５…データ整合システム
１５ａ…ローカルデータ取得部
１５ｂ…パブリックデータ取得部
１５ｃ…比較部
１５ｄ…処理部
１６、２０…サービスデータ記録部
１７、２１…サービス管理部
１８、２２…サービス検索部
１９ａ、１９ｃ…ローカルデータ
２３ａ、２３ｂ…パブリックデータ
２４…整合性確保ルール記録部
２５、２６…ｂｉｎｄｉｎｇＴｅｍｐｌａｔｅ
【図１】
2004280447.tif 000004
【図２】
2004280447.tif 000005
【図３】
2004280447.tif 000006
【図４】
2004280447.tif 000007
【図５】
2004280447.tif 000008
【図６】
2004280447.tif 000009
【図７】
2004280447.tif 000010
【図８】
2004280447.tif 000011
【図９】
2004280447.tif 000012
【図１０】
2004280447.tif 000013
【図１１】
2004280447.tif 000014
【図１２】
2004280447.tif 000015
【図１３】
2004280447.tif 000016
【図１４】
2004280447.tif 000017
【図１５】
2004280447.tif 000018
【図１６】
2004280447.tif 000019
【図１７】
2004280447.tif 000020
【図１８】
2004280447.tif 000021
【図１９】
2004280447.tif 000022