WebLogic Web サービス プログラマーズ ガイド (応用編)

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

UDDI を使用した Web サービスのパブリッシュと検索

この章では、UDDI レジストリを通じての Web サービスのパブリッシュと検索に関する情報を提供します。

 


UDDI の概要

UDDI とは、Universal Description, Discovery, and Integration の略です。UDDI プロジェクトは、企業が互いに迅速、簡潔、動的にトランザクションを検索および実行できるようにするための業界イニシアティブです。

UDDI レジストリには、ビジネス、ビジネスが提供するサービス、およびビジネスがトランザクションを実行するために使用する通信規格とインタフェースに関する情報がカタログ化されて格納されます。

UDDI は SOAP (Simple Object Access Protocol) データ通信規格に基づいて構築されており、グローバルでプラットフォームに依存しないオープンなアーキテクチャを実現して企業にメリットをもたらします。

UDDI レジストリは、次の 2 つのカテゴリに大別できます。

UDDI のデータ構造の詳細については、「UDDI のデータ構造」を参照してください。

UDDI と Web サービス

Web サービスの所有者は、それらのサービスを UDDI レジストリにパブリッシュします。パブリッシュすると、UDDI レジストリには Web サービスの説明と Web サービスのポインタが保持されます。

UDDI を使用すると、クライアントはこのレジストリを検索し、目的のサービスを見つけてその詳細を取得できます。これらの詳細には、サービスの呼び出しポイントのほかに、サービスとその機能を識別するための情報が含まれます。

Web サービス機能は、プログラミング インタフェースを介してエクスポーズされ、一般に WSDL (Web Services Description Language) を介して記述されます。一般的な公開と照会のシナリオでは、プロバイダがそのビジネスをパブリッシュし、その下にサービスを登録し、バインディング テンプレートにその Web サービスの技術情報を定義します。バインディング テンプレートには、1 つまたは複数の tModel への参照も保存されます。tModel は、Web サービスによって実装される抽象的なインタフェースを表します。tModel は、プロバイダによって独自にパブリッシュされている場合があります。これらの tModel には、インタフェースと WSDL ドキュメントの URL 参照に関する情報が格納されています。

一般的なクライアントの照会の目的は、次の 2 つのうちのいずれかです。

UDDI とビジネス レジストリ

ビジネス レジストリ ソリューションとしての UDDI を使用すると、企業は自社のビジネス製品およびサービス、さらに Web でのビジネス トランザクションの実行方法を公開できます。このように UDDI を使用することにより、企業間 (B2B) 電子商取引が補完されます。

ビジネスをパブリッシュするために必要な情報は、1 つのビジネス名だけです。パブリッシュされたビジネス エンティティの詳細な記述には、さまざまな情報が含まれます。こうした情報はすべて、ビジネス エンティティとその製品およびサービスを、正確に、そしてアクセス可能な形式で公開するのに役立ちます。

ビジネス レジストリには、次の要素が含まれます。

UDDI のデータ構造

UDDI のデータ構造は、businessEntitybusinessServicebindingTemplatetModel という 4 つの構造で構成されています。

次の表に、Web サービスまたはビジネス レジストリ アプリケーションで使用する場合のこれらの構造の相違点を示します。

表 10-1 UDDI のデータ構造
データ構造
Web サービス
ビジネス レジストリ
businessEntity
Web サービス プロバイダを表す。
  • 企業名
  • 連絡先
  • その他のビジネス情報
企業、またはその事業部または部門を表す。
  • 企業名 (複数可)
  • 連絡先
  • 識別情報およびカテゴリ
businessService
1 つまたは複数の Web サービスの論理グループ。
単一名の API。子要素として格納され、上記の名前のビジネス エンティティによって保持される。
単一の businessEntity に複数のサービスのグループを含めることができる。
  • 複数の名前と説明
  • カテゴリ
  • 規格への準拠の指定
bindingTemplate
単一の Web サービス。
対象 Web サービスにバインドして対話するためにクライアント アプリケーションが必要とする技術情報。
アクセス ポイント (Web サービスを呼び出す URI) を含む。
追加の規格準拠インスタンス。
URL 形式のサービス アクセス ポイント、電話番号、電子メール アドレス、ファックス番号など。
tModel
技術仕様 (通常は仕様のポインタ)、または仕様ドキュメントに関するメタデータ (実際の仕様を指す名前および URL など) を表す。Web サービスのコンテキストでは、実際の仕様ドキュメントは WSDL ファイルで表される。
普及しているか、またはユーザが特定用途のために登録した標準または技術仕様を表す。

 


WebLogic Server の UDDI 機能

WebLogic Server は、以下の UDDI 機能を提供します。

 


UDDI 2.0 サーバ

UDDI 2.0 サーバは WebLogic Server の一部であり、WebLogic Server の起動時に自動的に起動されます。UDDI サーバは、UDDI 2.0 サーバ仕様を実装しています。

UDDI 2.0 サーバのコンフィグレーション

UDDI 2.0 サーバをコンフィグレーションするには、次の手順に従います。

  1. WebLogic Server を停止します。
  2. WL_HOME/server/lib ディレクトリの uddi.properties ファイルを更新します。WL_HOME は、WebLogic Server のメイン インストール ディレクトリです。
  3. 警告 : WebLogic Server ドメインを作成したユーザが WebLogic Server をインストールしたユーザと異なる場合は、WebLogic Server 管理者は uddi.properties ファイルのパーミッションを変更してすべてのユーザがアクセスできるようにする必要があります。
  4. Weblogic Server を再起動します。

WebLogic Server の実行中は uddi.properties ファイルを編集しないでください。このファイルを修正したことで UDDI サーバが正常に起動しなくなった場合は、WL_HOME/server/lib/uddi.properties.booted ファイルの前回の正常なコンフィグレーションを参照してください。

コンフィグレーションをデフォルトに回復するには、uddi.properties ファイルを WL_HOME/server/lib ディレクトリから削除します。このファイルは、バックアップ用のディレクトリに移動することをお勧めします。新しい uddi.properties ファイルが作成され、正常に起動されたときに uddi.properties.booted ファイルが上書きされるためです。プロパティ ファイルを削除したら、サーバを再起動します。最低限のデフォルト プロパティがロードされ、新しい uddi.properties ファイルに書き込まれます。

以下の節では、uddi.properites ファイルに追加できる UDDI サーバ プロパティについて説明します。プロパティのリストは、コンポーネント、用途、および機能に従って分類されています。常にすべてのプロパティが必要というわけではありません。

外部 LDAP サーバのコンフィグレーション

UDDI 2.0 サーバは、組み込み LDAP サーバで自動的にコンフィグレーションされます。しかし、この節の以下の手順によって、外部 LDAP サーバをコンフィグレーションすることもできます。

注意 : 現時点では、WebLogic Server は UDDI 2.0 サーバで使用するものとして、SunOne Directory Server のみをサポートしています。

UDDI で使用する SunOne Directory Server をコンフィグレーションするには、次の手順に従います。

  1. LDAP_DIR/Sun/MPS/slapd-LDAP_INSTANCE_NAME/config/schema ディレクトリ内に 51acumen.ldif というファイルを作成します。LDAP_DIR は、SunOne Directory Server のインストール先のルート ディレクトリ、LDAP_INSTANCE_NAME はインスタンス名を表します。
  2. 51acumen.ldif ファイルのコンテンツ」で説明するコンテンツを使って、51acumen.ldif ファイルを更新します。
  3. SunOne Directory Server を再起動します。
  4. WebLogic UDDI 2.0 サーバの uddi.properties ファイルに以下のプロパティを追加して、更新します。
  5. datasource.ldap.manager.password
    datasource.ldap.manager.uid
    datasource.ldap.server.root
    datasource.ldap.server.url

    プロパティの値は、SunOne Directory Server のコンフィグレーションに応じて異なります。次の例では、デフォルト値を使用するコンフィグレーションとして考えられるものを示します。

    datasource.ldap.manager.password=password
    datasource.ldap.manager.uid=cn=Directory Manager
    datasource.ldap.server.root=dc=beasys,dc=com
    datasource.ldap.server.url=ldap://host:port

    これらのプロパティについては、表 10-11 を参照してください。

  6. Weblogic Server を再起動します。

51acumen.ldif ファイルのコンテンツ

以下のコンテンツを使用して、51acumen.ldif ファイルを作成します。

dn: cn=schema
#
# attribute types:
#
attributeTypes: ( 11827.0001.1.0 NAME 'uddi-Business-Key' DESC 'Business Key' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.1 NAME 'uddi-Authorized-Name' DESC 'Authorized Name for publisher of data' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.2 NAME 'uddi-Operator' DESC 'Name of UDDI Registry Operator' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.3 NAME 'uddi-Name' DESC 'Business Entity Name' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{258} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.4 NAME 'uddi-Description' DESC 'Description of Business Entity' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.7 NAME 'uddi-Use-Type' DESC 'Name of convention that the referenced document follows' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.8 NAME 'uddi-URL' DESC 'URL' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.9 NAME 'uddi-Person-Name' DESC 'Name of Contact Person' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.10 NAME 'uddi-Phone' DESC 'Telephone Number' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{50} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.11 NAME 'uddi-Email' DESC 'Email address' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.12 NAME 'uddi-Sort-Code' DESC 'Code to sort addresses' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{10} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.13 NAME 'uddi-tModel-Key' DESC 'Key to reference a tModel entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.14 NAME 'uddi-Address-Line' DESC 'Actual address lines in free form text' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{80} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.15 NAME 'uddi-Service-Key' DESC 'Service Key' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.16 NAME 'uddi-Service-Name' DESC 'Service Name' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.17 NAME 'uddi-Binding-Key' DESC 'Binding Key' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.18 NAME 'uddi-Access-Point' DESC 'A text field to convey the entry point address for calling a web service' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.19 NAME 'uddi-Hosting-Redirector' DESC 'Provides a Binding Key attribute to redirect reference to a different binding template' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.20 NAME 'uddi-Instance-Parms' DESC 'Parameters to use a specific facet of a bindingTemplate description' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.21 NAME 'uddi-Overview-URL' DESC 'URL reference to a long form of an overview document' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.22 NAME 'uddi-From-Key' DESC 'Unique key reference to first businessEntity assertion is made for' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.23 NAME 'uddi-To-Key' DESC 'Unique key reference to second businessEntity assertion is made for' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{41} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.24 NAME 'uddi-Key-Name' DESC 'An attribute of the KeyedReference structure' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.25 NAME 'uddi-Key-Value' DESC 'An attribute of the KeyedReference structure' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.26 NAME 'uddi-Auth-Info' DESC 'Authorization information' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{4096} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.27 NAME 'uddi-Key-Type' DESC 'The key for all UDDI entries' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.28 NAME 'uddi-Upload-Register' DESC 'The upload register' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.29 NAME 'uddi-URL-Type' DESC 'The type for the URL' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.30 NAME 'uddi-Ref-Keyed-Reference' DESC 'reference to a keyedReference entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.31 NAME 'uddi-Ref-Category-Bag' DESC 'reference to a categoryBag entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.32 NAME 'uddi-Ref-Identifier-Bag' DESC 'reference to a identifierBag entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.33 NAME 'uddi-Ref-TModel' DESC 'reference to a TModel entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
# id names for each entry
attributeTypes: ( 11827.0001.1.34 NAME 'uddi-Contact-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.35 NAME 'uddi-Discovery-URL-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.36 NAME 'uddi-Address-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.37 NAME 'uddi-Overview-Doc-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.38 NAME 'uddi-Instance-Details-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.39 NAME 'uddi-tModel-Instance-Info-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.40 NAME 'uddi-Publisher-Assertions-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.41 NAME 'uddi-Keyed-Reference-ID' DESC 'Unique ID which will serve as the Distinguished Name of each entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.42 NAME 'uddi-Ref-Attribute' DESC 'a reference to another entry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.43 NAME 'uddi-Entity-Name' DESC 'Business entity Name' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{258} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.44 NAME 'uddi-tModel-Name' DESC 'tModel Name' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.45 NAME 'uddi-tMII-TModel-Key' DESC 'tModel key referneced in tModelInstanceInfo' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.46 NAME 'uddi-Keyed-Reference-TModel-Key' DESC 'tModel key referneced in KeyedReference' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.47 NAME 'uddi-Address-tModel-Key' DESC 'tModel key referneced in Address' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.48 NAME 'uddi-isHidden' DESC 'a flag to indicate whether an entry is hidden' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.49 NAME 'uddi-Time-Stamp' DESC 'modification time satmp' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.50 NAME 'uddi-next-id' DESC 'generic counter' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.51 NAME 'uddi-tModel-origin' DESC 'tModel origin' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.52 NAME 'uddi-tModel-type' DESC 'tModel type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.53 NAME 'uddi-tModel-checked' DESC 'tModel field to check or not' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.54 NAME 'uddi-user-quota-entity' DESC 'quota for business entity' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.55 NAME 'uddi-user-quota-service' DESC 'quota for business services per entity' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.56 NAME 'uddi-user-quota-binding' DESC 'quota for binding templates per service' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.57 NAME 'uddi-user-quota-tmodel' DESC 'quota for tmodels' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.58 NAME 'uddi-user-quota-assertion' DESC 'quota for publisher assertions' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.59 NAME 'uddi-user-quota-messagesize' DESC 'quota for maximum message size' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.60 NAME 'uddi-user-language' DESC 'user language' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.61 NAME 'uddi-Name-Soundex' DESC 'name in soundex format' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{258} X-ORIGIN 'acumen defined' )
attributeTypes: ( 11827.0001.1.62 NAME 'uddi-var' DESC 'generic variable' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'acumen defined' )
#
# objectclasses:
#
objectClasses: ( 11827.0001.2.0 NAME 'uddi-Business-Entity' DESC 'Business Entity object' SUP top STRUCTURAL MUST (uddi-Business-Key $ uddi-Entity-Name $ uddi-isHidden $ uddi-Authorized-Name ) MAY ( uddi-Name-Soundex $ uddi-Operator $ uddi-Description $ uddi-Ref-Identifier-Bag $ uddi-Ref-Category-Bag ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.1 NAME 'uddi-Business-Service' DESC 'Business Service object' SUP top STRUCTURAL MUST ( uddi-Service-Key $ uddi-Service-Name $ uddi-isHidden ) MAY ( uddi-Name-Soundex $ uddi-Description $ uddi-Ref-Category-Bag ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.2 NAME 'uddi-Binding-Template' DESC 'Binding Template object' SUP TOP STRUCTURAL MUST ( uddi-Binding-Key $ uddi-isHidden ) MAY ( uddi-Description $ uddi-Access-Point $ uddi-Hosting-Redirector ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.3 NAME 'uddi-tModel' DESC 'tModel object' SUP top STRUCTURAL MUST (uddi-tModel-Key $ uddi-tModel-Name $ uddi-isHidden $ uddi-Authorized-Name ) MAY ( uddi-Name-Soundex $ uddi-Operator $ uddi-Description $ uddi-Ref-Identifier-Bag $ uddi-Ref-Category-Bag $ uddi-tModel-origin $ uddi-tModel-checked $ uddi-tModel-type ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.4 NAME 'uddi-Publisher-Assertion' DESC 'Publisher Assertion object' SUP TOP STRUCTURAL MUST ( uddi-Publisher-Assertions-ID $ uddi-From-Key $ uddi-To-Key $ uddi-Ref-Keyed-Reference ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.5 NAME 'uddi-Discovery-URL' DESC 'Discovery URL' SUP TOP STRUCTURAL MUST ( uddi-Discovery-URL-ID $ uddi-Use-Type $ uddi-URL ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.6 NAME 'uddi-Contact' DESC 'Contact Information' SUP TOP STRUCTURAL MUST ( uddi-Contact-ID $ uddi-Person-Name ) MAY ( uddi-Use-Type $ uddi-Description $ uddi-Phone $ uddi-Email $ uddi-tModel-Key ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.7 NAME 'uddi-Address' DESC 'Address information for a contact entry' SUP TOP STRUCTURAL MUST ( uddi-Address-ID ) MAY ( uddi-Use-Type $ uddi-Sort-Code $ uddi-Address-tModel-Key $ uddi-Address-Line ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.8 NAME 'uddi-Keyed-Reference' DESC 'KeyedReference' SUP TOP STRUCTURAL MUST ( uddi-Keyed-Reference-ID $ uddi-Key-Value ) MAY ( uddi-Key-Name $ uddi-Keyed-Reference-TModel-Key ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.9 NAME 'uddi-tModel-Instance-Info' DESC 'tModelInstanceInfo' SUP TOP STRUCTURAL MUST ( uddi-tModel-Instance-Info-ID $ uddi-tMII-TModel-Key ) MAY ( uddi-Description ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.10 NAME 'uddi-Instance-Details' DESC 'instanceDetails' SUP TOP STRUCTURAL MUST ( uddi-Instance-Details-ID ) MAY ( uddi-Description $ uddi-Instance-Parms ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.11 NAME 'uddi-Overview-Doc' DESC 'overviewDoc' SUP TOP STRUCTURAL MUST ( uddi-Overview-Doc-ID ) MAY ( uddi-Description $ uddi-Overview-URL ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.12 NAME 'uddi-Ref-Object' DESC 'an object class conatins a reference to another entry' SUP TOP STRUCTURAL MUST ( uddi-Ref-Attribute ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.13 NAME 'uddi-Ref-Auxiliary-Object' DESC 'an auxiliary type object used in another structural class to hold a reference to a third entry' SUP TOP AUXILIARY MUST ( uddi-Ref-Attribute ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.14 NAME 'uddi-ou-container' DESC 'an organizational unit with uddi attributes' SUP organizationalunit STRUCTURAL MAY ( uddi-next-id $ uddi-var ) X-ORIGIN 'acumen defined' )
objectClasses: ( 11827.0001.2.15 NAME 'uddi-User' DESC 'a User with uddi attributes' SUP inetOrgPerson STRUCTURAL MUST ( uid $ uddi-user-language $ uddi-user-quota-entity $ uddi-user-quota-service $ uddi-user-quota-tmodel $ uddi-user-quota-binding $ uddi-user-quota-assertion $ uddi-user-quota-messagesize ) X-ORIGIN 'acumen defined' )

uddi.properties ファイルのプロパティ

次の表に、uddi.properties ファイルのプロパティを、説明される UDDI のタイプ別に示します。

注意 : 複製 LDAP 環境には、「m」LDAP マスタと「n」LDAP レプリカがあります。これらの番号は、それぞれ 0 から (m-1) および 0 から (n-1) です。次のプロパティ キーの 5 番目の部分の「i」はこの番号を表しており、定義されている LDAP サーバ インスタンスによって異なります。

表 10-8 複製 LDAP データストアのコンフィグレーション
UDDI プロパティ キー
説明
datasource.ldap.server.master.i.manager.uid
LDAP にデータを保存できる、このマスタ LDAP サーバ ノードの管理者または特権を持つユーザ ID (cn=Directory Manager など)。
datasource.ldap.server.master.i.manager.password
datasource.ldap.server.master.i.manager.uid のパスワード。データを書き込むための関連するマスタ LDAP ディレクトリとの接続を確立する。
datasource.ldap.server.master.i.url
対応する LDAP ディレクトリ ノードの「ldap://」URL。
datasource.ldap.server.master.i.root
対応する LDAP ディレクトリ ノードのルート エントリ (dc=acumenat、dc=com など)。
datasource.ldap.server.replica.i.manager.uid
このレプリカ LDAP サーバ ノードのユーザ ID (cn=Directory Manager など)。このユーザは LDAP から UDDI データを読み出すことができる。
datasource.ldap.server.replica.i.manager.password
datasource.ldap.server.replica.i.manager.uid のパスワード。データを読み出すための関連するレプリカ LDAP ディレクトリとの接続を確立する。
datasource.ldap.server.replica.i.url
対応する LDAP ディレクトリ ノードの「ldap://」URL。
datasource.ldap.server.replica.i.root
対応する LDAP ディレクトリ ノードのルート エントリ (dc=acumenat、dc=com など)。

表 10-9 ファイル データストアのコンフィグレーション
UDDI プロパティ キー
説明
datasource.file.directory
UDDI データを格納するファイル システムのディレクトリ。

表 10-10 一般的なセキュリティのコンフィグレーション
UDDI プロパティ キー
説明
security.custom.group.operators
セキュリティ グループ名。このグループのメンバーは UDDI 管理者として扱われる。

表 10-11 LDAP セキュリティのコンフィグレーション
UDDI プロパティ キー
説明
security.custom.ldap.manager.uid
セキュリティ LDAP サーバ管理者または特権を持つユーザ ID (cn=Directory Manager など)。このユーザは、LDAP にデータを保存することができる。
security.custom.ldap.manager.password
このプロパティの値は、上記のユーザ ID のパスワードであり、セキュリティ用の LDAP ディレクトリに接続するために使用する。
security.custom.ldap.url
このプロパティの値は、セキュリティ用の LDAP ディレクトリの「ldap://」URL。
security.custom.ldap.root
セキュリティ用の LDAP ディレクトリのルート エントリ (dc=acumenat、dc=com など)。
security.custom.ldap.userroot
セキュリティ LDAP サーバのユーザ ルート エントリ(ou=People など)。
security.custom.ldap.group.root
セキュリティ LDAP サーバのオペレータ エントリ。たとえば、「cn=UDDI Administrators, ou=Groups」のように指定する。このエントリにはすべての UDDI 管理者の ID が含まれる。

表 10-12 ファイル セキュリティのコンフィグレーション
UDDI プロパティ キー
説明
security.custom.file.userdir
UDDI セキュリティ情報 (ユーザとグループ) の格納先となるファイル システムのディレクトリ。

 


UDDI ディレクトリ エクスプローラ

UDDI ディレクトリ エクスプローラを使用すると、認可されたユーザは、WebLogic Server のプライベートな UDDI レジストリに Web サービスをパブリッシュしたり、すでに公開されている Web サービスの情報を変更することができます。また、Web サービスおよび関連付けられた WSDL ファイル (利用可能な場合) に関する詳細情報にアクセスすることができます。

また、UDDI ディレクトリ エスプローラを使用して、パブリックとプライベート両方の UDDI レジストリにある Web サービスおよびこれらの Web サービスを提供している企業や部門に関する情報を検索できます。

ブラウザで UDDI ディレクトリ エクスプローラを起動するには、次の URL を入力します。

http://host:port/uddiexplorer

各要素の説明は次のとおりです。

UDDI ディレクトリ エクスプローラを使用して、以下のタスクを実行できます。

UDDI ディレクトリ エクスプローラの使い方の詳細については、メイン ページの [Explorer Help] リンクをクリックしてください。

 


UDDI クライアント API

WebLogic Server には、Java クライアント アプリケーションで Web サービスをプログラムから検索およびパブリッシュするために使用できるクライアントサイド UDDI API が組み込まれています。

UDDI クライアント API には、InquiryPublish という、2 つの主なクラスがあります。Inquiry クラスは、既知の UDDI レジストリにある Web サービスの検索に使用し、Publish クラスは、開発した Web サービスを既知のレジストリに追加するために使用します。

WebLogic Server では、以下のクライアント UDDI API パッケージを実装しています。

これらのパッケージの使い方の詳細については、UDDI API の Javadoc を参照してください。

 


プラガブル tModel

分類法は、基本的に categoryBag または identifierBag によって参照として使用される tModel です。主な相違点は、単純な tModel に対して、分類法の参照は一般にチェックおよび検証されることです。WebLogic Server の UDDI サーバはこのコンセプトを活用し、プラガブル tModel という独自の分類法を採用することでこの機能を拡張します。プラガブル tModel を使用すると、ユーザ (UDDI 管理者) は独自のチェック済み分類法を UDDI レジストリに追加し、標準の分類法を上書きできます。

プラガブル tModel を追加するには、次の手順に従います。

  1. プラガブル tModel の XML スキーマ」で説明する形式に従って、tModelKey/categorization ごとに XML ファイルを作成します。
  2. UDDI サーバをコンフィグレーションするために使用する uddi.properties ファイルの pluggableTModel.file.list プロパティに、ファイルのカンマ区切りの完全修飾名を追加します。次に例を示します。
  3. pluggableTModel.file.list=c:/temp/cat1.xml,c:/temp/cat2.xml

    uddi.properties ファイルの詳細については、「UDDI 2.0 サーバのコンフィグレーション」を参照してください。

  4. Weblogic Server を再起動します。

以下の節では、XML 要素とその有効値の表、プラガブル tModel の検証に使用する XML スキーマ、およびサンプル XML を示します。

XML 要素と許容値

次の表に、プラガブル tModel を記述する XML ファイルの要素について説明します。

表 10-13 プラガブル tModel をコンフィグレーションするための XML 要素の説明
要素/属性
必須
ロール
備考
Taxonomy
必須
ルート要素。
   
checked
必須
この分類がチェックされるかどうか。
true または false
false を指定すると、keyValue は検証されない。
type
必須
tModel のタイプ。
categorization、identifier、uddi-org-types で定義した有効値
有効値については uddi-org-types tModel を参照。
applicability
省略可能
tModel の使用に関する制約。
 
この要素を指定しない場合、制約があるとは見なされない。
scope
applicability 要素が含まれている場合は必須
businessEntity、businessService、bindingTemplate、tModel
「bindingTemplate」を指定した場合、tModel は tModelInstanceInfo で使用できる。
tModel
必須
UDDI データ構造に従った実際の tModel。
有効な tModelKey
 
categories
checked が true の場合は必須
     
category
categories 要素が含まれている場合は必須
実際の keyName と keyValue を保持する。
keyName と keyValue のペア
category は、グループ化またはツリー構造用にネストできる。
keyName
必須
     
keyValue
必須
     

プラガブル tModel の XML スキーマ

プラガブル tModel の XML スキーマは次のように検証されます。

<simpleType name="type">
<restriction base="string"/>
</simpleType>
<simpleType name="checked">
<restriction base="NMTOKEN">
<enumeration value="true"/>
<enumeration value="false"/>
</restriction>
</simpleType>
<element name="scope" type="string"/>
<element name = "applicability" type = "uddi:applicability"/>
<complexType name = "applicability">
<sequence>
<element ref = "uddi:scope" minOccurs = "1" maxOccurs = "4"/>
</sequence>
</complexType>
<element name="category" type="uddi:category"/>
<complexType name = "category">
<sequence>
<element ref = "uddi:category" minOccurs = "0" maxOccurs = "unbounded"/>
  </sequence>
<attribute name = "keyName" use = "required" type="string"/>
<attribute name = "keyValue" use = "required" type="string"/>
</complexType>
<element name="categories" type="uddi:categories"/>
<complexType name = "categories">
<sequence>
<element ref = "uddi:category" minOccurs = "1" maxOccurs = "unbounded"/>
</sequence>
</complexType>
<element name="Taxonomy" type="uddi:Taxonomy"/>
<complexType name="Taxonomy">
<sequence>
<element ref = "uddi:applicability" minOccurs = "0" maxOccurs = "1"/>
<element ref = "uddi:tModel" minOccurs = "1" maxOccurs = "1"/>
<element ref = "uddi:categories" minOccurs = "0" maxOccurs = "1"/>
</sequence>
<attribute name = "type" use = "required" type="uddi:type"/>
<attribute name = "checked" use = "required" type="uddi:checked"/>
</complexType>

プラガブル tModel のサンプル XML

次に、プラガブル tModel のサンプル XML を示します。

<?xml version="1.0" encoding="UTF-8"?>
  <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
   <Taxonomy checked="true" type="categorization" xmlns="urn:uddi-org:api_v2" >
<applicability>
<scope>businessEntity</scope>
<scope>businessService</scope>
<scope>bindingTemplate</scope>
</applicability>
<tModel tModelKey="uuid:C0B9FE13-179F-41DF-8A5B-5004DB444tt2" >
<name> sample pluggable tModel </name>
<description>used for test purpose only </description>
<overviewDoc>
<overviewURL>http://www.abc.com </overviewURL>
</overviewDoc>
</tModel>
<categories>
<category keyName="name1 " keyValue="1">
<category keyName="name11" keyValue="12">
<category keyName="name111" keyValue="111">
<category keyName="name1111" keyValue="1111"/>
<category keyName="name1112" keyValue="1112"/>
</category>
<category keyName="name112" keyValue="112">
<category keyName="name1121" keyValue="1121"/>
<category keyName="name1122" keyValue="1122"/>
</category>
</category>
</category>
<category keyName="name2 " keyValue="2">
<category keyName="name21" keyValue="22">
<category keyName="name211" keyValue="211">
<category keyName="name2111" keyValue="2111"/>
<category keyName="name2112" keyValue="2112"/>
</category>
<category keyName="name212" keyValue="212">
<category keyName="name2121" keyValue="2121"/>
<category keyName="name2122" keyValue="2122"/>
</category>
</category>
</category>
</categories>
</Taxonomy>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

ページの先頭       前  次