(57)【要約】ウエブサービスブローカー方法は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを提供し、該サービスクライエントはサービスレジストリィ上でウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行い、且つ（ａ）該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施する、ことを包含している。
2006526189.tif 000002
【特許請求の範囲】
【請求項１】
ウエブサービスブローカー方法において、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを設け、前記サービスクライエントはサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーからの対応するウエブサービスを使用し、
前記エンタプライズと前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行い、
（ａ）前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を前記エンタプライズにとって適切なフォームへ変換する、のうちの少なくとも１つを実施する、
ことを包含しているウエブサービスブローカー方法。
【請求項２】
請求項１において、前記エンタプライズがソフトウエアプロダクトを有しているウエブサービスブローカー。
【請求項３】
請求項２において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているウエブサービスブローカー。
【請求項４】
請求項３において、前記ウエブサービスプラットフォームが．ＮＥＴ及びＪ２ＥＥ／ＪＡＸＰのうちの少なくとも１つを有しているウエブサービスブローカー。
【請求項５】
ウエブサービスブローカーを実現するためのコンピュータによって実行可能なコードを包含しているコンピュータ記録媒体において、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間においてインターフェースを与え、前記サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーから対応するウエブサービスを使用するコード、
前記エンタプライズと前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行うためのコード、
（ａ）前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を前記エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施するためのコード、
を有しているコンピュータ記録媒体。
【請求項６】
請求項５において、前記エンタプライズがソフトウエアプロダクトを有しているコンピュータ記録媒体。
【請求項７】
請求項６において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているコンピュータ記録媒体。
【請求項８】
請求項７において、前記ウエブサービスプラットフォームが．ＮＥＴ及びＪ２ＥＥ／ＪＡＸＰのうちの少なくとも１つを有しているコンピュータ記録媒体。
【請求項９】
ウエブサービスブローカー方法を実施するためのプログラムされているコンピュータシステムにおいて、
エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを与え、前記サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ前記サービスプロバイダーからの対応するウエブサービスを使用し、
前記エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行い、
（ａ）前記エンタプライズから又はそれへの情報を前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）前記サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を前記エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施する、
ことを包含しているプログラムされているコンピュータシステム。
【請求項１０】
請求項９において、前記エンタプライズがソフトウエアプロダクトを有しているプログラムされているコンピュータシステム。
【請求項１１】
請求項１０において、前記ウエブサービスブローカーが前記ソフトウエアプロダクトをウエブサービスプラットフォームに対してイネーブルさせるために設けられているプログラムされているコンピュータシステム。
【請求項１２】
請求項１１において、前記ウエブサービスプラットフォームが．ＮＥＴ及びＪ２ＥＥ／ＪＡＸＰのうちの少なくとも１つを有しているプログラムされているコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はウエブサービスに関するものであって、更に詳細には、ウエブサービスブローカーに関するものである。
【背景技術】
【０００２】
次世代の電子ビジネスシステムに対する１つの要素はコラボレーションである。現在、コラボレーションは多数の電子ビジネスオートメーションアプリケーション、即ちビジネス対カスタマー（Ｂ２Ｃ）又はカスタマー対カスタマー（Ｃ２Ｃ）インタラクション、ビジネス対ビジネス（Ｂ２Ｂ）インテグレーション、ビジネス論理コンポーネント化、ビジネスプロセスオーケストレーション、レガシーシステムインテグレーション等によって狭く対処されている。これらのアプリケーションの全てはあるビジネスが行われるためのインフラストラクチャを形成するために電子的に協業するという点において何か共通のものを有している。然しながら、これの１つの制限は、これら全ての分散されているアプリケーション（サービス）が相互運用することが可能であり且つ互いに発見することが可能であるという共通のグローバルな枠組（誰もが使用することに同意するもの）を欠如しているということである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この制限は、適切な目的指向型コラボレーションソリューションを形成するためにかなりの投資と努力とを発生させており、それは、通常、密接に結合されており、プラットフォーム／技術／ベンダー／インプリメンテーション／言語−依存性であり、一様な態様で再使用することが困難であり、インターネットで使用するのに準備がされてない場合がある等である。新たなコラボレーションポイントを形成することは、通常、全体的なシステムの複雑性を増加させ、信頼性を減少させ且つこのようなシステムを維持し且つ拡張するために更なる資源を必要とする。
【課題を解決するための手段】
【０００４】
ウエブサービスブローカー方法は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを与え、該サービスクライエントはサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行う少なくとも１つとの間で通信を行い、且つ（ａ）該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施する、ことを包含している。
【０００５】
コンピュータ記録媒体が、ウエブサービスブローカーを実現するためのコンピュータによって実行可能なコードを包含している。該コンピュータ記録媒体は、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを与えるコードであって該サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用するコード、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行うためのコード、及び（ａ）該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施するためのコード、を有している。
【０００６】
ウエブサービスブローカー方法を実施するためのプログラムされているコンピュータシステムが、エンタプライズとサービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間にインターフェースを与え、該サービスクライエントがサービスレジストリ上のウエブサービスを発見し且つ該サービスプロバイダーからの対応するウエブサービスを使用し、該エンタプライズと該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つとの間で通信を行い、且つ（ａ）該エンタプライズから又はそれへの情報を該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つに対して適切なフォームへ変換し、且つ（ｂ）該サービスクライエント及びサービスプロバイダーのうちの少なくとも１つから又はそれへの情報を該エンタプライズに対して適切なフォームへ変換する、のうちの少なくとも１つを実施する、ことを包含している。
【発明を実施するための最良の形態】
【０００７】
図面に例示した本発明実施例を説明するにあたり、説明の便宜上特定の用語を使用する。然しながら、本発明はそのように選択した特定の用語へ制限されることを意図しているものではなく、各要素は同様の態様で動作する全ての技術的均等物を包含することを理解すべきである。
【０００８】
図６は本発明の方法及びシステムを実現することが可能なコンピュータシステムの１例を示している。本発明のシステム及び方法は、例えば、メインフレーム、パソコン（ＰＣ）、ハンドヘルドコンピュータ、サーバー等のコンピュータシステム上で稼動するソフトウエアアプリケーションの形態で実現することが可能である。そのソフトウエアアプリケーションは、例えば、フロッピィディスク、コンパクトディスク、ハードディスク等のコンピュータシステムにより局所的にアクセス可能な記録媒体上に格納することが可能であり、又は、コンピュータシステムから離れており且つ、例えば、ローカルエリアネットワーク又はインターネット等のネットワークに対してハードワイヤード又はワイヤレス接続を介してアクセス可能なものとすることが可能である。
【０００９】
図６に示したように、大略システム１００として参照するコンピュータシステムは、中央処理装置（ＣＰＵ）１０２、例えばランダムアクセスメモリ（ＲＡＭ）等のメモリ１０４、プリンタインターフェース１０６、ディスプレイユニット１０８、（ＬＡＮ）ローカルエリアネットワークデータ伝送制御器１１０、ＬＡＮインターフェース１１２、ネットワーク制御器１１４、内部バス１１６及び、例えば、キーボード、マウス等の１つ又はそれ以上の入力装置１１８を包含することが可能である。図示した如く、システム１００は、リンク１２２を介して、例えば、ハードディスク１２０等のデータ格納装置へ接続することが可能である。
【００１０】
公平なグローバルな電子的コラボレーション環境に対する必要性を実現することとなり、新世代の電子ビジネスオートメーションシステム及び適宜のインフラストラクチャが開発されている。新たなアプローチは「ウエブサービス」として知られている。「ウエブ」は普通のネットワーキング（ＬＡＮからワイヤレスまで）を意味しており且つ「サービス」は分散型アプリケーション内への電子的インターフェースのことを意味している。
【００１１】
ウエブサービスは、例えば、相互運用可能性を確保するＸＭＬを基礎としたスタンダードを包含する種々の業界スタンダ−トに基づいて定義され且つ動作する電子的ビジネスシステムに対するプログラムによるインターフェースである。
【００１２】
各ＷＳは技術的コントラクト及びビジネスコントラクトを包含するコントラクトを有している。技術的コントラクトは、オペレーション及びこれらのオペレーションを実施するために使用されるデータタイプを定義する。技術的コントラクトは、又、プロトコル及び適宜の通信モードを定義する。ビジネスコントラクトは、そのサービス周りのビジネス関連メタデータを定義する。例えば、カテゴリ即ち分類、サポート電話番号、サービスレベル合意、ライセンシングモデル等である。
【００１３】
ウエブサービス（ＷＳ）の例は、ユニバーサルリソースロケーター（ＵＲＬ）でアクセス可能なストッククォート（ｓｔｏｃｋ  ｑｕｏｔｅ）、インターネット上で発行されるプロダクトカタログ、シンプルメールトランスファープロトコル（ＳＭＴＰ）メッセージチャンネル、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）を基礎とした認証エージェント、ＣＯＲＢＡオブジェクト等を包含することが可能である。これらの全てはある機能性を実現するネットワークによりアクセス可能なコンポーネントである。適切に記述され且つ整理される場合には、上のコンポーネントのいずれも発見し、使用し、且つ例えば、ダイナミックビジネスオートメーションシステム内に集めることが可能である。
【００１４】
換言すると、情報技術（ＩＴ）業界はマシンコードからプログラミング言語へ、次いでクライエント・サーバープログラミングへ、次いでオブジェクト指向型コンポーネントモデルへ進化している。それは、今や、動的に発見し、使用し、互いにコントラクトを行う柔軟性があり、緩く結合されたサービスに基づく分散型アプリケーションへ進化している。即ち、これらのアプリケーションはある目標を達成するためにランタイムで分散されている（且つ概略独立的な）パーツ（サービス）から動的に（組立）られる。それらは定義された基準（例えば、「それを行うのに最も速い方法」）に従って組立てることが可能であり、且つそれらは、例えば、サービスのうちの１つが品質条件を満足するものでない場合には、ランタイムで動的に再構成することが可能である。
【００１５】
この新たなトレンドでビジネスオートメーションシステムに対して発生する変化に加えて、ユーザインターフェース及びインタラクション装置も変化しつつある。ユーザインターフェースはユーザアクションに従ってサービスを発見し且つ喚起させることが可能であるように、ユーザインターフェースはＷＳ環境における作業へ構築することが可能である。インタラクション装置は適宜のハードウエア、ソフトウエア、通信インフラストラクチャでサポートを提供することが可能である。
【００１６】
図１はユーザの現在の位置に近い好ましいレストランのリストをワイヤレス装置１のスクリーン上に表示するために互いにインタラクトする独立したビジネスのコラボレーションの１つの例を示している。この例においては、各ビジネスはそれが最良であることを行う。例えば、ワイヤレス通信及び測位サービス２はワイヤレスユーザの地理的位置を決定することを包含するあるサービスを実施するために通信インフラストラクチャ会社により提供される。情報ポータル４はユーザプロファイル及びフォーマットの情報を好適な方法で維持する。地図データベースサービス６はワイヤレスユーザの地理的位置をアドレスへ変換し且つレストランへのユーザの近接性を包含する情報を提供する。レストランガイド８はレストランの記述及びランキングを包含する情報を提供する。ウエブサービス１０は、静的なＢ２Ｂ関係又は密に結合した技術的インプリメンテーションを形成することなしに、この動的ビジネスプロセス及びユーザインタラクションが行われるための枠組みを提供する。
【００１７】
ウエブサービスは公共的なスタンダードに基づいたアプローチであり、それは電子ビジネスシステムをその範囲へグローバル化させることを開始することが可能となった。その目的のために、幾つかの公共的機関が形成され、幾つかの業界のリーダーの連携した努力がＸＭＬ、ＵＤＤＩ、ＷＳＤＬ等（及び、ＨＴＴＰ、ＴＣＰ／ＩＰ等のレガシースタンダード）等の１組のスタンダードが形成された。
【００１８】
ＷＳは複数の概して関係のないスタンダード、組織、ソフトウエア及びハードウエアインフラストラクチャビルダーを１つのグローバルな公平な枠組みへ結合させる。従って、意味のある態様で協業用の電子ビジネスシステムを形成することが可能となる。即ち、２つの当事者が電子的に協業するためのプロプライエトリーの合意及び緊密な統合を必要とするものではない。
【００１９】
ＷＳは非常に一般的且つ記述的な態様でサービスを登録するための環境を形成するが、それは包括的であり且つＩＴイネーブルド（ＩＴ−ｅｎａｂｌｅｄ）である。それは、又、サービスを使用可能なものとさせる（例えば、それをパブリッシュする）。それは、又、サービスを見つけることを可能とし（それが何処にあろうとも）、それを使用するのに必要な詳細について問い合わせを行い、且つサービスを資産とさせる（それを発見し／サブスクリプションを行う）。サブスクリプションは、又、時々、サービスに対する高速的なものと呼ばれる場合がある。ＷＳは、又、サービスを使用することを許容する（サービスを喚起させる）。
【００２０】
ＷＳはプラットフォーム、プログラミング言語、ベンダー、技術、インプリメンテーションモデルを認知不能である。ＷＳは動的に発見され、コントラクトが結ばれ、バインドされ、且つ喚起される。ＷＳは緩く結合された普遍的に整理され且つ分散されている。ＷＳは、又、粗粒度メッセージングを使用する普通のネットワーキングを介して相互作用することが可能である。このことは、通信インフラストラクチャの進化に依存するものでないことを意味する。更に、それはユビキタスである。１つのフラグメントにおいて交換される情報の量及びサービスの粒度に起因する顕著な性能上の懸念は存在しない。
【００２１】
次に、より詳細に、好結果のＷＳ環境を与えるための要素（及び役割）の各々の間の関係を図２に示してある。これらの要素は、パブリックで、グローバルで、独立的なサービスレジストリ（ＳＲ）１２、サービスプロバイダー（ＳＰ）１４、サービスクライエント（ＳＣ）１６を包含している。サービスプロバイダー１４はそれらのサービスをサービスレジストリ１２に登録する。サービスクライエント１６はこれらのサービスを発見し且つ使用することが可能である。
【００２２】
ＷＳは普通のネットワーキング環境におけるＸＭＬ記述及びメッセージングに基づいている。ＸＭＬはインターネット時代の展開に対して情報を普遍的なものとさせる非常に一般的な方法である。ＷＳは特別の意味を有しており且つあるエリアをアドレスするＸＭＬを基礎としたスタンダードの枠組みである。これらのエリア及び各々に対するスタンダードの幾つかはサービスレジストレーション（ＳＲ１２に登録するため）：ＵＤＤＩ（ユニバーサルディスカバリーディスクリプションアンドインテグレーション）、サービス記述：ＷＳＤＬ（ウエブサービスディスクリプション言語）、サービスアドバタイズメント：ＡＤＳ（アドバタイズメントアンドディスカバリーオブサービス）、サービスアドレッシング：ＵＲＬ（ユニバーサルリソースロケーター）、ＪＮＤＩ名、特定のＬＡＮ（ローカルエリアネットワーク）アドレス等、サービス呼び出し：ＳＯＡＰ（シンプルオブジェクトアクセスプロトコル）、パラメータを有するＵＲＬ、ＷｅｂＤＡＶ、等、サービスデータアブストラクションアンドデータマーシャリング：ＸＭＬ（拡張可能マークアップ言語）、ＸＭＬスキーマ等、プレゼンテーションアンドインタラクション：ＤＨＴＭＬ（ダイナミックハイパーテキストマークアップ言語）、ＷＭＬ（ワイヤレスマークアップ言語）、ＰＤＦ、ＶＲＭＬ等、ビジネス対ビジネスプロセスインテグレーション：ＲｏｓｅｔｔａＮｅｔ、ｅｂＸＭＬ等、コモンコミュニケーションプロトコル：ＨＴＴＢ（ハイパーテキストトランスファプロトコル）、ＦＴＰ（ファイルトランスファープロトコル）及びＳＭＴＰ（シンプルメッセージトランスファープロトコル）、その他：ＭＱＳｅｒｉｅｓ、ＷＡＰ等、コモンセキュリティ：ＳＳＬ（セキュアサービスレイヤー）、Ｘ．５０９（デジタル署名）、ＸＳＩＧ（ＸＭＬシグネチャ）等及びコモンネットワーキング：ＴＣＰ／ＩＰ（トランスポートコミュニケーションプロトコル／インターネットプロトコル）、ＤＮＳ（ドメインネームサービス）等である。
【００２３】
ＵＤＤＩは、複数のサービスに対するビジネスコントラクトを保持するＳＲ１２に対して通信を行うために使用される。ＳＲ１２は会社／部門レベルでセットアップすることが可能であり及び／又はパブリックレジストリとすることが可能である。ＷＳＤＬは１つのサービスに対する技術的コントラクトを表現するために使用される。ＷＳＤＬはオペレーション即ち動作を定義し、データタイプ定義を参照し、且つサービスに対するプロトコル及び通信の詳細を特定する。ＸＭＬスキーマは、サービスオペレーションにおいて使用される階層的データタイプを定義するために使用される。ＸＭＬはクライエントとサービスとの間のＳＯＡＰメッセージにおける値を保持する。ＸＭＬコンテンツはＸＭＬスキーマに従う。ＨＴＴＰ（及びＴＣＰ／ＩＰ）は、当事者間の間でメッセージを運ぶために使用される。ＨＴＴＰはＷＳに対する主要なユビキタスな通信方法である。
【００２４】
ＷＳはこれらを１つにまとめ且つ新たなスタンダード及び概念を付加して柔軟性があり分散されたアプリケーション及びサービスに対する枠組みを形成する。ＷＳは、又、非常に柔軟性のある環境である。例えば、サービス及びそれらのアプリケーションを必要的に変化させることなしに新たな通信プロトコルを導入することが可能である。ＷＳアプリケーションは特定のものから充分に分離されており、基礎となるインフラストラクチャを展開することを可能とさせる。更に、ＷＳはどのサービスが何を行うか又は行うことが可能であるか及びどのように行うか又は行うことが可能であるかを標準化するものではない。その代わりにＷＳはサービスを記述し、公表し且つ使用する態様を提供する。
【００２５】
ＷＳアプリケーションはユーザサービスを提供するためにある態様で動作する。このオペレーション即ち動作はＷＳ枠組みの一部である。このオペレーションは登録、パブリッシュ、発見／サブスクリプション及びサービスの呼び出しを包含している。
【００２６】
登録し且つ発見するために、ＷＳはＸＭＬメッセージングプロトコルであるシンプルオブジェクトアクセスプロトコル（ＳＯＡＤ）を使用してＨＴＴＰ（ＳＳＬと共に又は無しで）を介して少なくとも１つのＳＲ１２と相互作用を行う。ＳＯＡＰはクライエントとサービスとの間の要求及び回答を保持するエンベロープ（封筒）の定義である。ユニバーサルディスカバリーディスクリプションアンドインテグレーション（ＵＤＤＩ）スタンダードはＳＲ１２との通信のコンテントを定義する。
【００２７】
ＵＤＤＩ文書はビジネス及びそれらのサービス（電子的なもの又はそうでないもの）を記述する。各ビジネスはＵＤＤＩ文書階層からなるＳＲ１２とのレジストレーションエントリを維持することが可能である。この階層はビジネスのアイデンティティを定義するホワイトページ、ビジネスの側面（ビジネスの分類、サービス済パートＤ−Ｕ−Ｎ−Ｓ番号等のようなもの）をカテゴリに分けるイエローページ、ＷＳの技術的詳細（サービスバインド用テンプレート）を記述するグリーンページを包含することが可能である。グリーンページは直接的にサービスを参照（パーツカタログのＵＲＬのように）するか、又はＷＳインターフェース、データタイプ、セキュリティ拘束条件等のより詳細な仕様を埋め込むか又は参照することが可能である。
【００２８】
ＳＲ１２はグローバルなものであり、幾つかのレポジトリーにわたって複製することが可能である。グローバルＳＲの例はｕｄｄｉ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ又はｕｄｄｉ．ｉｂｍ．ｃｏｍ等がある。ＳＲ１２は、又、例えば、委任されたか又はプライベートのレポジトリーを介して１つの会社内又は幾つかの参加者の間で共用することが可能である。
【００２９】
登録する場合に、サービスプロバイダー（ＳＰ）１４はＳＯＡＰ  ＵＤＤＩ  ＡＰＩを使用して適宜のＵＤＤＩエントリをＳＲ１２へ提出する。この提出は、又、ＷＳＤＬ情報及び／又は例えばＵＲＬの形態におけるＷＳＤＬ情報への参照を包含することが可能である。レジストレーション即ち登録は情報が一度ＳＲ１２へ提出されると、ＳＲ１２はその情報を維持するという意味において静的ステップである。エントリが変化され、取り消され及び／又は再提出される場合があるが、例えばＳＣ１６がサービスを発見するためにクエリーを稼動している場合に、ＳＲ１２は、通常、登録者からの変更、取消、再提出等を動的に要求することはない。
【００３０】
使用可能なサービスを発見する場合に、ＳＣ１６はＳＲ１２から情報を要求するためにＳＯＡＰ  ＵＤＤＩ  ＡＰＩを使用することによりＵＤＤＩ文書を検索する。ＳＣ１６は所望のビジネス及びそれらのサービスに関する記録を検索するためにその要求内に選択基準を包含する場合がある。その要求がＳＣ１６から受取られると、ＳＲ１２はそのレジストレーションレポジトリーに対して適宜のクエリーを稼動させて妥当な登録されているビジネス及びサービスを見つけ出す。発見は動的なプロセスである。
【００３１】
パブリッシュする場合に、ＳＰ１４はそのインターフェースを接続又は通信するために使用可能なものとさせる。例えば、ＳＰ１４はあるＵＲＬに関するＳＯＡＰ要求に対するリスニング即ち聞き込みを開始する。この点において、ＳＰ１４は、又、登録期間中に先にＵＤＤＩエントリにおいて参照されていた場合に、ＷＳＤＬ情報を使用可能なものとさせる場合がある。ＷＳＤＬは、例えば使用することが必要な通信プロトコル等の現在のＷＳパラメータに依存して動的に発生することが可能である。これは動的プロセスである。サービスは任意の時間においてディスエーブルさせ、イネーブルさせ、再構成させることが可能である。ＳＣ１６は異なる通信プロトコルを使用して例えば別の使用可能なサービスへスイッチングし、従ってデータを整理する等によりこれに対してインテリジェントに反応することが可能である。
【００３２】
サブスクリプション（バインディング）を行う場合に、ＳＣ１６はＵＤＤＩ及び使用可能である場合にＷＳＤＬ文書における情報を使用してＷＳ記述を解釈する。ＳＣ１６は必要なインターフェース表現、データ整理用スタック、通信パイプ、認証範囲等を形成し、それはサービス呼び出しのために使用することが可能である。サブスクリプションは、通常、動的で再構成可能なプロセスであるが、それは、又、例えば緻密な言語又は技術統合が必要とされる場合に静的なものとなる場合がある。
【００３３】
喚起する場合に、ＳＣ１６はＷＳインターフェースを選択し、必要なパラメータを構築し、呼び出しを行い次いで結果を解釈する。これはＯＯ（オブジェクト指向型）コンポーネントに関する方法を喚起するのに非常に類似している。緻密な言語対ＷＳバインディング等のある場合においては、それはＯＯコンポーネント呼び出しとすることが可能である。然しながら、その差は柔軟性があり、ウエブの準備がされた通信であり、データ整理、認証等のプロセスにあり、その詳細は、通常、利用パターンから隠されている。
【００３４】
ＷＳのタイプは色々あり且つ通常、そのオペレーションを定義する制御及びデータフローに依存して、３つの異なるタイプに分けることが可能である。通常、１つの電子ビジネスはそれが機能する目的に依存してＷＳの異なるタイプの混合を有している。
【００３５】
１つのタイプのＷＳは情報供給源である。例えば、Ａがあるアドレスにおいて情報をパブリッシュし且つそれに対して変更を行い、Ｂがその情報供給源に対してサブスクリプションを行い、コンテントを検索し且つ変更に対してプールを行う。この場合に、Ａは受動的であり且つＢは能動的である。データはＡからＢへ流れる。
【００３６】
別のタイプのＷＳはメッセージングキューの場合がある。例えば、Ａがあるアドレスにおいて入って来る通信チャンネルを確立し、Ｂは出て行く通信チャンネルを確立し且つその中に情報を押し込み、Ａがそのチャンネルからの情報をリッスン即ち聞き込み且つ受付ける。この場合に、Ａは受動的であり且つＢは能動的であり、データはＢからＡへ流れる。
【００３７】
別のタイプのＷＳはコンポーネントサービスの場合がある。例えば、Ａがあるアドレスにおいて１組のインターフェースを露呈させ且つこれらのインターフェースに対して行われる要求の処理を実行し、Ｂがインターフェースを喚起し、要求における情報をパスし且つ受取り且つ応答する。この場合に、Ａは受動的でありＢは能動的であり、データは双方向に流れる。
【００３８】
ウエブ上でプロダクトカタログを入手可能とさせることは情報供給源タイプＷＳであると殆ど考えられる。Ｂ２Ｂ購入／請求処理はメッセージングキュータイプＷＳであると殆ど考えられる。あなたの正確な位置に対し測位サービスとコンタクトすることはコンポーネントサービスタイプＷＳであると殆ど考えられる。
【００３９】
どのような種類の協業電子ビジネスオートメーションシステムも上にリストした３つのタイプのＷＳを使用して構築することが可能である。どのようなタイプのウエブコラボレーション即ち協業をカバーするためにこれらのタイプのＷＳタイプを有することで充分である。
【００４０】
上のことから理解されるように、ＷＳ環境は全ての種類の電子的コラボレーションに対する効率的で且つ多様性のある枠組みである。然しながら、その力を完全に使用するためには、既存の技術、インフラストラクチャ、ビジネスプロセス等と関連すべきである。このことは、これらＩＴ進化サイクルの始めであり、基礎を築き且つ技術的枠組みを整理するものであるということが可能であるので、特にそうである。これを行うために、システムは蓄積されている知識をテコにし、既存のシステムを再使用し且つ拡張してそれらを次のレベルの展開とさせるべきであり、そのことはそれらを一層普遍的なものとさせる。これらの懸念に対処するために、本明細書に記載するようなサービスブローカー（ＳＢ）を上述したＷＳ概念に導入することが可能である。
【００４１】
図３は図２に関して上述したＷＳ概念へ適用したサービスブローカーを図示している。図３に示したように、サービスブローカー（ＳＢ）３０はＩＴイネーブルドエンタプライズ３２に対するＷＳプラットフォームである。ＳＢ３０はサービスインプリメンテーションモデルを解析し且つ上述したスタンダードに準拠する技術的及びビジネスコントラクトを自動的に形成する。ＳＢ３０は選択したＳＲ１２へビジネスコントラクトを提出し、次いで、ＳＯＡＰ要求に対してリッスン即ち聞き込みを行い、ＳＯＡＰ要求を処理し且つ呼び出しを例えばＪａｖａ又はＣ＋＋における実際のインプリメンテーションへ中継する。
【００４２】
ＳＢ３０は多くの異なる機能及び役割を実施する場合がある。例えば、ＳＢ３０はＷＳ活動に対する技術的基礎を提供する場合がある。このことはウエブ通信レイヤー、ＸＭＬデータ整理、ＳＯＡＰ要求プロセッサ、ＵＤＤＩ通信ＡＰＩ、ＷＳＤＬバインディング等を包含する場合がある。ＳＢ３０はエンタプライズ技術を統合して（１）データ及びロジックに対するＯＯモデルを統一し、（２）別々の技術の間を調整し、（３）サブインフラストラクチャ（ＥＪＢ又はＣＯＲＢＡ）を連係させる。ＳＢ３０は、又、既存の（統合されている）システム、パーツ及びコンポーネントをＷＳとして展開させるツール及び設備を提供することが可能である。このことはＷＳの登録、それのパブリッシュ、呼び出し要求の受付け及びそれら全てをオリジナルのインプリメンテーション活動への変換を包含する場合がある。ＳＢ３０は、又、ＳＲ１２内のＷＳを発見し且つＷＳに対してサブスクリプションするために外部ＷＳを統合することが可能である。このことは、適宜の用語でＷＳを使用するためにターゲットアプリケーションに対して自然のものであるようにＷＳを所要の技術、言語又はモデルとバインディングすることを意味する。ＷＳ統合設備機能は、又、ターゲットアプリケーションからデータ整理及び通信プロトコルのような動的に選択可能で且つ構成可能な詳細を分離するために設けることが可能である。ＳＢ３０は、又、ＷＳ集合に対するツール及び設備を提供することが可能である。このことは、それらを一般的なプロセスコンポーネントモデルで表現するＷＳの統合、プロセスモデリングツール（例えば、ＵＭＬ）、強制されたプロセス実行ランタイム（ワークフローのようなもの）及び動的ＷＳ展開設備を包含することが可能である。ＳＢ３０は、又、ＷＳ管理コンソール（ＷＳＭＣ）を提供することが可能である。ＷＳＭＣはＵＤＤＩエントリを定義し且つ提出／変更し、局所的な登録レプリカ及び共通のビジネス情報を維持し、１つのＳＲレポジトリーから別のものへエントリを再展開（移動）させ、サービスを包含及び排除し、通信プロトコルを構成し、セキュリティを課す等を行うために必要な１組のツールを組み込む場合がある。ＳＢ３０は、又、選択的ロギング及びサービス品質（ＱｏＳ）解析を提供することが可能である。
【００４３】
既存のシステムを有効にインターフェースさせ且つ基本技術において既に投資された努力を繰り返さないために、ＳＢ３０は中間インフラストラクチャレイヤー及び統合サービスを利用する。このことは、例えば、ビジネスロジックをＥＪＢとして実現させ且つ１組のＷＳとして展開させるべくスケーラブルなアプリケーションサーバーにおいてホストとさせることを可能とする。
【００４４】
ＷＳを展開させるか又は使用するために、技術及びインプリメンテーションの詳細を隠すことが可能である。ＳＢ３０はスタンダード、ＸＭＬデータ整理、共通ネットワーキング等に基づく分離及び抽象設備で「技術隔離」を提供する。これらのファシリティ即ち設備は協調し、実際のインプリメンテーションと抽象的ＷＳ表現との間のマップ及び変換を行う。例えば、ＳＯＡＰメッセージはＥＪＢオブジェクト上のメッソドコールへ変換することが可能であり、その結果はある合意されたスキーマに従って発生されるＸＭＬとして表現し且つリターンさせることが可能である。ＳＢ３０を読取可能に使用可能なものとさせるために、ＷＳへの変換を滑らかで且つリニアなものとさせるために視覚的ツールを使用することが可能である。ツールはその遷移が発生する後においても尚且つ与えられる。何故ならば、それらは新たなＷＳの展開のために使用することが可能だからである。
【００４５】
該ツールは使用することが容易であり且つ直感的であり、ＳＢ３０により提供される自動化された展開及び統合ファシリティにかなり依存している。例えば、ＥＪＢオブジェクトをＷＳとして展開するために、そのオブジェクトの視覚的ウエブ表現（ページ）に対してブラウジングし且つその登録及びウエブページからのＷＳ権利としてパブリッシュすることを要求する場合がある。そのプロセスの残部はＥＪＢオブジェクト及びその属性のＯＯモデルに基づくＳＢ展開ファシリティにより自動的に実行される。ＷＳに対してサブスクリプションするために、ユーザは登録情報を視覚的にサーチ又はブラウズし、必要なサービスを選択し且つそれに対するサブスクリプションを選択することが可能である。その要求はＳＢ統合ファシリティへパスされ、該ファシリティはＵＤＤＩ、更にＷＳＤＬに質問をしてＷＳの適切なＯＯモデルを形成し且つそれをカタログ内に登録する。
【００４６】
本発明の１実施例に基づくＷＳブローカー（ＳＢ３０）のコアの１つの例を図４に示してある。ＳＢ３０は以下の主要なコンポーネントを包含することが可能であり、即ち統一・協調・連係レイヤー（統合）４０、ウエブサービスレイヤー（普遍化）４２、ＷＳ展開ツール４４、ＷＳ統合ツール４６、ＷＳ管理ツール４８等である。各コンポーネントについてより詳細に説明する。
【００４７】
統一・協調・連係レイヤー４０は、特定の技術及びインプリメンテーションの統一したＯＯモデルをホストし（例えば、リレーショナルＤＢ又はメインフレームグリーンスクリーン又はＥＪＢオブジェクト等）、統一したＯＯモデルと特定の技術又は言語との間のマッピング（バインディング）（Ｃ＋＋、Ｊａｖａのような言語又はＯＤＢＣのような技術へ及び又はそれから）、特定の技術、インプリメンテーション及びプラットフォームにおける活動の間の実行及び環境コンテキストを協調させること（例えば、リレーショナルＤＢとＣＩＣＳとを横断しての横断的制御の橋渡し、又はＣ＋＋コードにおいてＥＪＢコンテナから発生するイベントに対してのサブスクリプション）、サブインフラストラクチャ（ＥＪＢ、ＣＯＭ又はＣＯＲＢＡのような）をアクセス及び制御の１つの点への連係を司る。
【００４８】
ウエブサービスレイヤー４２は、レイヤー４０においてホストされる統一したＯＯモデルのＷＳとしての抽象化及びそれらをいずれの技術及びインプリメンテーション詳細から分離することを司る。レイヤー４２は登録、パブリッシュ、発見、サブスクリプション及び使用等の全てのスタンダードのＷＳオペレーションを実行する。ウエブサービスレイヤー４２は普遍化レイヤーを形成する種々のファシリティを包含している。普遍化レイヤーを形成するファシリティは登録／発見ファシリティ５０、パブリッシュ／処理ファシリティ５２、サブスクリプション／呼び出しファシリティ５４、ＸＭＬデータ整理ファシリティ５６、ウエブ通信ファシリティ５８を包含している。
【００４９】
登録／発見ファシリティ５０はユニバーサルなＯＯモデルにより表現されるコンポーネント（データ及びロジックの両方）をＷＳとして登録するための自動化した手順を実現し及び／又は供給された選択基準に従ってＷＳを見つけ出す。ファシリティ５０はＨＴＴＰにわたりＳＯＡＰを使用してＳＲ１２とコンタクトし、適宜のＵＤＤＩ文書を発生し且つ提出し又は選択クエリーを稼動させ且つＷＳを記述するＵＤＤＩ文書に質問を行う。ファシリティ５０は、又、登録情報を変更し、ビジネス関連エントリを維持し、登録エントリを取り消し、別のＳＲレポジトリーへ再提出するための手順を実現する。ファシリティ５０は、又、全ての登録エントリ及び登録データベース（不図示）におけるコンポーネントのオリジナルのＯＯモデルに対する関係のレプリカ（カタログ）を維持する。
【００５０】
パブリッシュ／処理ファシリティ５２はＷＳ技術記述（例えばＷＳＤＬ）を発生させ且つウエブ通信ファシリティ５８を使用してＷＳインターフェースをアクセスのために使用可能なものとさせる。例えば、ファシリティ５２はインターネットクライエントに対してＷＳを表わすためにあるＵＲＬに対してＳＯＡＰリスナーを登録させる。ファシリティ５２は、又、要求を受付け且つ統合レイヤーにおいてホストされているＷＳのオリジナルのＯＯモデルにおいて必要な活動（要求の処理）を開始させることが可能である。ファシリティ５２はＸＭＬデータ整理ファシリティ５６を使用して各側に対するデータを適切に表現する。
【００５１】
サブスクリプション／呼び出しファシリティ５４はＷＳについての技術的詳細（例えば、ＷＳＤＬ）を質問し、それに対する統一したＯＯモデルを形成し且つそれを統合レイヤー４０に対して使用可能なアセット即ち資産のうちの１つとさせる。次いで、ファシリティ５４はＷＳ  ＯＯモデルに関連する活動をＷＳＤＬ記述に従って実際の外部のＷＳ呼び出しへ変換させる。ファシリティ５４はＸＭＬデータ整理ファシリティ５６を使用してデータをＸＭＬ及びＯＯ表現へ及びそれから変換させ、それはウエブ通信ファシリティ５８を使用して要求を外部ＷＳへ伝播させ且つ応答を受取る。注意すべきことであるが、統合レイヤーは特定の技術又は言語に対して統合した（サブスクリプションした）ＷＳの実際のバインディングを行う。ターゲットアプリケーションに依存して、統合レイヤー４０はＷＳの統一したＯＯモデルに対する静的又は動的バインディングを形成することが可能である。
【００５２】
ＸＭＬデータ整理ファシリティ５６は、ＯＯデータモデル及びデータタイプをＸＭＬで抽象化させるために使用される。ファシリティ５６は統合レイヤーにより使用される統一したＯＯモデルと普遍的ＸＭＬデータ表現との間の双方向変換を与える。ファシリティ５６は、又、データ要素関係を適切にコード変換する。例えば、ファシリティ５６は別のオブジェクトを包含する１つのオブジェクトをＸＭＬにおいて入れ子型要素として表現することが可能である。ＸＭＬデータ整理ファシリティ５６はデータスキーマ及びデータタイプを表わす複数のスタンダードをサポートする。ファシリティ５６は、又、ＸＳＬ変換言語を使用してテンプレートに基づくデータ整理（マッピング）のためにも使用され、それはその目的のためにスタンダードとなっている。
【００５３】
ウエブ通信ファシリティ５８は普通のネットワーキング（例えば、ウエブ）に対して適用可能な接続性及びメッセージング技術をカプセル化する。ファシリティ５８はメッセージの保証された配達、ノンレピュータビリティ（ｎｏｎ−ｒｅｐｕｔａｂｉｌｉｔｙ）等の通信チャンネルのセキュリティを確保する。組み込まれ且つサポートされる幾つかの公のスタンダードは、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、ＳＳＬ、Ｘ．５０９、ＸＳＩＧを包含している。ＭＱシリーズ、ＭＳＭＱ、ＷＡＰ等の付加的な一般的に使用される通信メカニズムも提供することが可能である。
【００５４】
該ツールはＷＳ展開ツール４４を包含することが可能であり、それは統合レイヤー内にホストされているコンポーネント（データ及びロジック）を観察し、ブラウズし、選択し且つそれらをＷＳとして使用可能とさせるための視覚的道具（ウエブに基づくＧＵＩ）である。デフォルトにより、ツール４４は、最も適切なパラメータで自動的にＷＳを展開するが、又、パブリッシュされたインターフェースの選択、通信チャンネルに関するセキュリティ、呼び出しプロトコルのタイプ等を包含する特定の条件の適用を許容する。ＷＳ展開ツール４４はパブリッシュ／処理ファシリティ５２及び登録／発見ファシリティ５０を使用する。ＷＳ展開ツール４４は、又、ランタイムでＷＳパラメータを修正し且つＷＳを取り消すために使用することが可能である。
【００５５】
別のツールであるＷＳ統合ツール４６は、ある基準に基づくＷＳの発見、選択したＷＳに対するサブスクリプションを可能とするウイザードのような視覚的プロセスインプリメンテーションである。ツール４６は、ＷＳを発見する場合に適切なサービスを選択するのに必要な詳細を表示し且つＷＳへサブスクリプションした後に統合レイヤー内にホストされる最後のアセット（ＯＯモデル）を示す。ＷＳ統合ツール４６は登録／発見ファシリティ５０及びサブスクリプション／呼び出しファシリティ５４を使用することが可能である。
【００５６】
別のツールであるＷＳ管理ツール４８はＷＳ管理コンソール（ＷＳＭＣ）である。このツールはパブリッシュ／処理ファシリティ５２及びサブスクリプション／呼び出しファシリティ５４とコンタクトして展開且つ統合されたＷＳについてのランタイムの詳細を質問する。ツール４８はＳＲ１２をモニタするために登録／発見ファシリティ５０を使用する。ＷＳ及びＳＲ１２についての概括的なランタイム情報はＷＳＭＣにより表示される。ツール４８は、又、特定の展開されたか又は統合されたＷＳ及びＳＲレポジトリーに対するＱｏＳ解析レポートを発生する。
【００５７】
ＷＳＭＣの別の責任は、ビジネスエントリを登録し、基本的ビジネスサービス及び情報を登録し、エントリを１つのＳＲレポジトリーから別のものへ移動させる等のために登録／発見ファシリティ５０により維持される通常のビジネスエントリ及びＷＳテンプレート（ＵＤＤＩ関連）の登録データベースを表示し且つ編集することである。
【００５８】
ＳＢ３０が実施することのある別のサービスはウエブサービス集合及び組立である。ＷＳを特定の技術又は言語で実現することが必要とされるものではない。普遍的にインターフェースされたネットワークに基づくサービスの新たなＩＴパラダイムに対して遷移が発生すると、あるビジネスプロセスに対して必要とされるコンポーネントの殆どが既に容易に使用可能なものであることが判明し、且つ必要なことの全てはそれらの間の接続及び協調を行い且つ必要な場合に付加価値サービスを提供（実現）することである。このプロセスはＷＳ集合及び組立と呼ぶことが可能である。これはハイレベルのプロセスであり、それは何か特定の技術又は言語の知識を必ずしも必要とするものではないが、ビジネスプロセス及びビジネスコンポーネント関係の知識に依存する。
【００５９】
特定のインプリメンテーションと抽象的ＷＳ表現との間のブローカー動作即ち仲買に加えて、本ＷＳブローカーは選択した既存のものから新たなＷＳの集合及び組立の機能を取ることが可能である。これを行うために、外部ＷＳは容易に取り扱うことが可能な便利なＯＯモデルへ統合される。このことは、ＷＳ統合ツール４６の助けを借りて行うことが可能である。集合させたＷＳＯＯモデルを定義し且つ統合させた外部ＷＳコンポーネントのＯＯモデルが関与する実行シーケンスをレイアウトさせるためにモデリングツールを使用することが可能である。集合されたＷＳ活動に関連して複数の実行シーケンスが存在する場合があり、各活動はワークフローであり且つ適宜の視覚的ツールを使用してワークフローの用語で定義される。統合レイヤー４０は集合させたＷＳＯＯモデル及びワークフローシーケンスをホストすることが可能である。動的ウエブサービス展開ファシリティは集合させたＷＳを自動的に展開させるために使用することが可能である。集合させたＷＳが使用される場合には、プロセス実行ランタイムは適宜のワークフローシーケンスを実行し且つ必要である場合には統合した外部ＷＳを喚起することが可能である（それらのＯＯモデルを介して）。
【００６０】
注意すべきことであるが、集合及び組立に関連して適用されるＳＢのコア機能において尚且つ前進することの必要性が存在する場合がある。例えば、ある者がハードウエアセキュリティトランスコーダーに基づいて新たな付加価値ＷＳを提供し且つそれをその他の既存の外部ＷＳ（アカウントＤＢ又は証明権限）と共にそれを新たな高速の認証ＷＳ内へ集合させる場合がある。
【００６１】
図５はウエブサービスブローカーアーキテクチャ（集合及び組立）のブロック図である。ＷＳ集合及び組立はＳＢ３０のコアへ３つのコンポーネントを導入する。これらのコンポーネントは、コンポーネント／プロセスモデリングツール（ＵＭＬ）６０、プロセス実行ランタイム（ワークフロー状）６２、動的ウエブサービス展開ファシリティ６４を包含している。
【００６２】
コンポーネント／プロセスモデリングツール（ＵＭＬ）６０は、ＯＯコンポーネントの図及び関係マップを描くことによりＯＯモデル及び処理シーケンスを定義するための視覚的道具である。それは、例えば、ＯＯコンポーネントモデルを組込み且つ最終的な集合されたＯＯモデル及び処理シーケンスを展開させるために統合レイヤー４０に対してインターフェースするＵＭＬを基礎としたモデリングツールとすることが可能である。このツールは、又、集合させたＯＯモデルを逆インポートし、それを編集及び修正し、次いで統合レイヤー４０に対して変化を反映させるために使用することが可能である。
【００６３】
処理実行ランタイム６２は統合レイヤー４０においてホストされている集合させたＯＯモデルから処理シーケンスを取り且つそれらを適切なコンテキスト及び順番で実行する。プロセス６２はその実行を同期させ且つスケジュールしてコンポーネント／プロセスモデリングツール６０において最初に設計された関係を実現する。
【００６４】
動的ウエブサービス展開ファシリティ６４は新たなサービスコンポーネントからなる集合されたＯＯモデルをＷＳとして自動的に展開する。ファシリティ６４はそうでなければＷＳ展開ツール４４（図４）がそのために使用されるであろうデフォルト展開プロセスを実現するが、この場合には、ＯＯコンポーネントをＷＳとさせることに関する決定は、集合されたＷＳとして元々設計されるべきＯＯモデル（統合レイヤー４０によりホストされる）の動的認識に基づいている。ファシリティ６４は、関連するＯＯモデルが変化する場合（例えば、モデリングツールにより）、既に展開され集合されたＷＳを修正することが可能である。
【００６５】
図７は既存のプロダクト及び技術を普遍的に相互運用可能なビジネスコンポーネント即ちウエブサービスとさせることが可能な一般的に共通コンポーネントブローカー（ＣＣＢ）２００と呼ばれる共通コンポーネントとしてウエブサービスブローカー（ＷＳＢ）を図示している。ＣＣＢ２００は、又、ウエブサービス（ＷＳ）のプラットフォーム及びインプリメンテーション中立モデル駆動型構造を提供する。
【００６６】
ＣＣＢ２００が適用可能なアプリケーションシナリオのうちの幾つかの例は、既存のプロダクトが外部ＷＳ（例えば、ＮＥＴへールストームカレンダーサービス）と統合することから利点が得られる場合、新たなＷＳが所望のパブリックサービスコントラクトに従って構築されるべき場合等の場合に、例えば．ＮＥＴ又はＪ２ＥＥ／ＪＡＸＰ環境のようなＷＳプラットフォームに対する既存のプロダクトをイネーブルさせることを包含している。一般的に、数年で、多くのビジネスオートメーションシステム、ユーザインターフェース装置、開発ツールがＷＳイネーブルドとされる蓋然性がある。然しながら、現在のところ、普遍的な相互運用性に対する既存の技術及び製品をＷＳとしてイネーブルさせることが所望されている。ＣＣＢ２００は特定のプラットフォームへ結合されておらず且つランするためにアプリケーションサーバーもその他のプロダクトも必要とすることのないパッケージ化したエンジン及びツールと共にこの必要性に対処している。
【００６７】
ＣＣＢ２００はオープンソース技術を使用することが可能である。例えば、ＣＣＢ２００は共通のＳＯＡＰプロトコルスタックとしてＡｐａｃｈｅ  Ａｘｉｓを利用することが可能であり、ＨＴＴＰ通信等を実施するためにＡｐａｃｈｅ  Ｔｏｍｃａｔを使用する場合がある。
【００６８】
図７はＣＣＢ２００のアーキテクチャの図を示している。ウエブサービスブローカーコア２０２はパブリッシュされ且つサブスクリプションされたＷＳのプールを維持する。パブリッシュされたＷＳは、直接的に（例えば、Ｊａｖａクラス等の場合）、又は例えばアドバンテージＩＳ統合（例えば、より広範なＯＯカプセル化のため及びＣ＋＋インプリメンテーションのため）を介して実際のサービスインプリメンテーションへマップされるコールプロセッサによりランタイムで動的にイネーブルされる。サブスクリプションされたＷＳはランタイムで動作可能な動的プロキシ内へマップされ、そのクライエント側静的プロキシは、例えば、Ｊａｖａ  ｒｍｉを使用してコール即ち呼び出すことが可能である。
【００６９】
以下のコンポーネントは、本発明の種々の側面を実現するためにＣＣＢ２００内に包含させることが可能である。パブリッシュ用コア２０４はインターネットプロトコルにわたっての要求を処理し、実際のサービスインプリメンテーションを喚起し、ＷＳ記述を発生する。パブリッシュ用コア２０４は、又、１組の良好に定義されたＡＰＩ及びレポジトリィデータモデルを包含することが可能である。パブリッシュ用コア２０４はトランズアクション集合、データ接続、セキュリティ及びその他の詳細を取り扱うことが可能である。このパブリッシュ用コアはアドバンテージＩＳオブジェクト、Ｊａｖａクラス等のための呼び出しプラグインを実現することが可能である。
【００７０】
登録コア２０６はＷＳをパブリック／会社サービスレジストリィ内に登録することが可能であり且つ登録情報をレポジトリィ２０８において及びサービスレジストリィ１２内において維持し且つ同期させることが可能である。
【００７１】
サブスクリプションコア２１０はパブリックサービスレジストリィにおいてＷＳを発見し、ＷＳ記述に質問し、サブスクライブされたＷＳを言語インプリメンテーション（例えば、Ｊａｖａ）に対してバインドし、インターネットプロトコルを介して要求を発生し且つサブスクライブしたＷＳへ送信する。サブスクリプションコア２１０は、又、トランズアクション、セキュリティ及びその他の詳細を取り扱うために１組の良好に定義されたＡＰＩを包含することが可能である。サブスクライブしたＷＳをバインディングすることは、Ｊａｖａ又はアドバンテージＩＳコネクタにおいてクライエントプロキシを発生する場合がある。
【００７２】
セキュリティコア２１２は、例えば、パブリッシュ用コア２０４、サブスクリプションコア２１０、登録コア２０６と統合して認証／認可手順を実施するｅＴｒｕｓｔ  ＷＡＣクライエントのようなセキュリティシステムとすることが可能である。
【００７３】
レポジトリィ２０８はＳＱＬデータベースとすることが可能であり且つ例えばアドバンテージＩＳコネクタとして実現されるオブジェクト対リレーショナルマッパーを包含することが可能である。レポジトリィ２０８はパブリッシュされ且つサブスクライブされたサービス、トランズアクション及び通信ログ、システムコンフィギュレーションパラメータ等に関する情報を維持し且つ編成することが可能である。レポジトリィ２０８は、又、ＣＣＢ２００に対する主要な制御センターとして機能することが可能である。例えば、アプリケーションは、単に、新たなサービスインプリメンテーション記述子オブジェクトをレポジトリィ２０８内にドロップして展開させ且つＷＳを活性化させることが可能である。次いで、ＣＣＢ２００はレポジトリィ２０８からイベントをピックアップすることが可能である。
【００７４】
ウエブアクセスコントロール（ＷＡＣ）２１４は、集中させたポリシーに基づく認可及び認証サーバーを与えるためにｅＴｒｕｓｔ等のセキュリティシステムとすることが可能である。ＷＡＣ２１４はユーザ／グループアイデンティティのレポジトリィとしてＬＤＡＰディレクトリィを使用することが可能である。ＷＡＣ２１４はセキュリティポリシー管理及びユーザ／グループの作成／削除等のための管理ツールを提供する。
【００７５】
アドバンテージ統合サーバー等のエンタプライズアプリケーション統合レイヤー２１６を使用してデータソースを統一し且つトランズアクション／接続集合、イベント管理、オブジェクトキャッシング、ロードバランシング、メッセージング、ラップＣ＋＋サービスインプリメンテーション等を提供することが可能である。
【００７６】
Ｊａｖａ２１８はＣＣＢ２００をラン即ち稼動させることが可能であり且つサブスクライブしたウエブサービス用のホストクライエントプロキシのみならずＪａｖａにおけるウエブサービスインプリメンテーションへのアクセスを提供することが可能である。
【００７７】
外部プロダクト２１９はＣ＋＋又はＪａｖａスケルトンによりマップされるか又はラップされたサービスインプリメンテーションを提供することが可能である。外部プロダクト２１９は、又、サブスクライブしたウエブサービスに対して発生されるクライエントプロキシを消費（使用）することが可能である。
【００７８】
基本的なウエブＧＵＩ２２０はウエブに基づくユーザインターフェースとすることが可能であり、それはサービスインプリメンテーション（例えば、Ｊａｖａ又はアドバンデージＩＳ）をブラウジングし且つ選択したインプリメンテーション（例えば、パブリッシュ用ＧＵＩ）を有するＷＳをパブリッシュすることを可能とする。ＧＵＩ２２０は、又、現在パブリッシュされ且つサブスクライブされたサービスをリストし、それらの実行／登録パラメータをランタイムで修正し、現在のトランズアクションをモニタし、通信ログを解析し、性能グラフを表示する等（例えば、管理及びコンフィギュレーションＧＵＩ）を行うことを可能とする。グルーバルコンフィギュレーションは、サービスレジスト仕様、ビジネス／カテゴリ登録、ネットワークプロキシ情報等を包含することが可能である。
【００７９】
サブスクリプション拡張ＧＵＩ２２２は特定のＷＳに対してのパブリック／会社サービスレジストリィをクエリーすること即ち質問を発することを可能とするウイザードのようなユーザインターフェースプロセスとして提供することが可能である。本システムは、Ｊａｖａクラス又はＥＪＢプロキシを発生することが可能であり、それはクライエントの使用のためにＷＳをカプセル化する。本システムは、又、例えばＣ＋＋又はＶＢ又はその他の言語に対してバインディングするために例えばアドバンテージＩＳオブジェクトとしてクライエントＷＳプロキシを使用可能なものとすることが可能である。
【００８０】
サービスコントラクトデザイナー２２４はサービスコントラクト（データ構造及びインターフェースで表現されている）のＵＭＬ（又はＵＭＬもどき）モデルを取り且つＷＳ定義（例えば、ＷＳＤＬ）を作成することが可能である。このＷＳＤＬ定義は任意の特定の主体エリアに対する垂直ＷＳスタンダードとして使用することが可能である。ＷＳＤＬはスタンダードのボディに対して提出することが可能である。デザイナーは、オリジナルのサービスコントラクトに適合するＪａｖａ又はＣ＋＋におけるインプリメンテーションスケルトンを発生することが可能である。
【００８１】
本発明は、本開示の教示に従ってプログラムされた１つ又はそれ以上の従来の汎用デジタルコンピュータ及び／又はサーバーを使用して便宜的に実現することが可能である。適宜のソフトウエアコーディングは、本開示の教示に基づいて熟練したプログラマーにより調整することが可能である。本発明は、又、応用特定集積回路を調整することにより又は従来のコンポーネント回路の適宜のネットワークを相互接続することにより実現することも可能である。
【００８２】
本発明の多数の付加的な修正及び変形例はこれらの教示に鑑み可能なものである。
【図面の簡単な説明】
【００８３】
【図１】独立したビジネスインタラクションの１例を示したブロック図。
【図２】ウエブサービス概念を示したブロック図。
【図３】サービスブローカーを有するウエブサービス概念を示したブロック図。
【図４】ウエブサービスブローカーアーキテクチャを示したブロック図。
【図５】集合及び組立用のウエブサービスブローカーアーキテクチャを示したブロック図。
【図６】本発明の実施例を実現することが可能なコンピュータシステムの１例を示したブロック図。
【図７】ウエブサービスブローカーの別の実施例の１例を示したブロック図。
【図４】
2006526189.tif 000003
【図５】
2006526189.tif 000004
【図６】
2006526189.tif 000005
【図７】
2006526189.tif 000006
【図１】
2006526189.tif 000007
【図２】
2006526189.tif 000008
【図３】
2006526189.tif 000009
【国際調査報告】
2006526189.tif 000010
2006526189.tif 000011