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, 2004. All Rights Reserved. (C) Copyright IBM Japan 2005