UDDI と WSDL の関係

UDDI (Universal Description, Discovery, and Integration) の仕様は、Web サービス情報の発行、 およびディスカバー方法を定義しています。 UDDI には以下の 2 つの機能があります。(1) UDDI クライアントがレジストリーと通信する方法を定義する、 SOAP ベースのプロトコル機能、および、(2) グローバルな複製レジストリーの特定の集合です。

サービスの登録の中には、4 つのコア・データ構造タイプがあります。

UDDI の各種データ・タイプについて詳しくは、このページの末尾に列挙した関連リファレンスを参照してください。

Web サービス記述言語 (WSDL) は、Web サービスを記述する XML ベースの標準仕様です。 WSDL は、文書指向、またはプロシージャー指向のどちらかの情報を含むメッセージを 操作する一連のエンドポイントとして、ネットワーク・サービスを記述する ための XML フォーマットを定義します。

WSDL サービス記述は多くの方法で構造化されます。 ただし WSDL 文書は、UDDI レジストリーに含まれている WSDL サービス記述の発行、検索を簡単にするため次の 2 つの主要部で出来ています。 

IBM® SOAP ランタイム環境を使用して Web サービスを作成する場合、 本製品に含まれる各種 Web サービス・ツールは、Java™ Bean、EJB、および URL から Web サービスを生成する際に、3 つ の個別の XML 文書中に上記の 2 つの主要部を保管します。この 3 つ の XML 文書とは、WSDL サービス文書、WSDL バインディング文書、WSDL インターフェース 文書です。 DADX ファイルから Web サービスを生成するとき、この 2 つの主要部は WSDL バインディング文書、 WSDL サービス文書という 2 つに分かれている XML 文書中に保管されます。 WSDL サービス、バインディング、およびインターフェース文書について詳しくは、 このページの末尾に列挙した関連リファレンスを参照してください。

WebSphere® ランタイム環境または Apache Axis ランタイム環境を使用して Web サービスを 作成する場合、Web サービス・ツールで は、Java Bean または EJB から Web サービスを生成する際に 1 つの WSDL 文書が作成されます。 この WSDL 文書には、サービス・インターフェースと実装文書の両方が含まれます。

タイプ、インポート、メッセージ、portType、 およびバインディングといったエレメントを含んでいる WSDL 文書によりサービス・インターフェースが記述されます。 サービス・インターフェースには、1 つ以上のサービスを実装するのに使用する WSDL サービス定義が含まれます。 これは、Web サービスの抽象定義の 1 つであり、特定のサービスを記述するのに使用されます。 この文書はインポート・エレメントを使用して別のサービス・インターフェース文書を参照することができます。 本製品に含まれている各種 Web サービス・ツールにより、 portType 用のバインディングのみを含むバインディング文書から参照されるメッセージ・エレメント、および portType エレメントのみを含むサービス・インターフェース文書が生成されます。

サービス実装文書にはサービス・エレメントが入っています。 サービス実装文書には、サービス・インターフェースを実装するサービスに関する説明が入っています。 いくつかあるインポート・エレメントのうち最低 1 つには WSDL サービス・インターフェース文書への参照が含まれています。ただし、Axis および WebSphere ランタイム環境を使用して作成されるような一体構造の WSDL は、インポートを持ちません。 サービス実装文書には複数のサービス・インターフェース文書への参照を含めることができます。

サービス・プロバイダーは、Web サービスをホストし、SOAP/HTTP や SOAP/JMS などのプロトコルを使用して、 そのサービスを利用できるようにします。Web サービスは WSDL 文書で記述されます。この文書は、 プロバイダーのサーバーまたは特別のリポジトリーに保管されています。 WSDL 文書は UDDI ビジネス・サービス (サービス文書) および tModels (バインディング文書) によって参照されます。 これらポインターを使用すると、サービスの要求発行者別に Web サービスをディスカバリーすることができます。

図 1. UDDI と WSDL の関係

UDDI と WSDL の関係図

図 1 に、UDDI と WSDL の関係を示します。WSDL サービス・エレメントは、 WSDL バインディング・エレメントを参照します。 WSDL バインディング・エレメントを含んでいる文書の URL は、tModel として UDDI Business Registry に向けて発行されます。WSDL サービス・エレメントを含んでいる文書の URL は、 businessService として UDDI Business Registry に向けて発行されます。 この URL には bindingTemplate に関する情報が含まれています。UDDI レジストリーのデータ構造タイプについて詳しくは、 このページの末尾に列挙した関連リファレンスを参照してください。この図のインポート部分は、ランタイム環境に応じてオプションであることに注意してください。Axis および WebSphere ランタイム環境を使用して作成されるような一体構造の WSDL は、インポートを持ちません。

サービス実装にはサービスのインスタンスが記述されています。 このインスタンスは WSDL サービス・エレメントを使用して定義されます。 サービス実装文書内のサービス・エレメントは、UDDI businessService を発行するのに使用されます。 WSDL サービス記述を発行するときは、 サービス実装を businessService として発行する前にサービス・インターフェースを tModel として発行しなければなりません。

サービス実装は、bindingTemplate エレメントを 1 つ以上持った businessService の一部として UDDI レジストリー内で発行されます。 businessService はサービス・プロバイダーにより発行されます。 サービス実装文書内で定義されているサービス・エレメント用に新規 businessService が作成されます。 サービス・エレメント内で定義されているポート・エレメントごとに、 businessService 内で新規 bindingTemplate が作成されます。

WSDL および UDDI 間の関係について詳しくは、uddi.org/bestpractices.html を参照してください。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.