Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング 11g リリース1(10.3.4) B61633-02 |
|
![]() 前 |
![]() 次へ |
次の項では、UDDIレジストリを使用したWebサービスのパブリッシュと検索に関する情報を提供します。
注意: このリリースでは、UDDI v2.0レジストリとUDDIExplorerアプリケーションは非推奨となっています。カスタマに、SOAの表示と管理を提供するOracleエンタープライズ・リポジトリまたはOracleサービス・レジストリにアップグレードすることについて考慮することをお薦めします。詳細については、http://www.oracle.com/technologies/soa/docs/enterprise-repository-svc-registry-datasheet.pdf を参照してください。 |
UDDIとは、Universal Description, Discovery, and Integrationの略です。UDDIプロジェクトは、企業が互いに迅速、簡潔、動的にトランザクションを検索および実行できるようにするための業界イニシアティブです。
UDDIレジストリには、ビジネス、ビジネスが提供するサービス、およびビジネスがトランザクションを実行するために使用する通信規格とインタフェースに関する情報がカタログ化されて格納されます。
UDDIはSOAP (Simple Object Access Protocol)データ通信規格に基づいて構築されており、グローバルでプラットフォームに依存しないオープンなアーキテクチャを実現して企業にメリットをもたらします。
UDDIレジストリは、次の2つのカテゴリに大別できます。
UDDIのデータ構造の詳細は、「UDDIのデータ構造」を参照してください。
Webサービスの所有者は、WebサービスをUDDIレジストリにパブリッシュします。パブリッシュ後、UDDIレジストリにはWebサービスの説明とWebサービスのポインタが保持されます。
UDDIを使用すると、クライアントはこのレジストリを検索し、目的のサービスを見つけてその詳細を取得できます。これらの詳細には、サービスの呼出しポイントのほかに、サービスとその機能を識別するための情報が含まれます。
Webサービス機能は、プログラミング・インタフェースを介して公開され、一般にWeb Services Description Language (WSDL)で記述されます。一般的なパブリッシュ/照会のシナリオでは、プロバイダがそのビジネスをパブリッシュし、その下にサービスを登録し、バインディング・テンプレートにそのWebサービスの技術情報を定義します。バインディング・テンプレートには、1つ以上のtModel(Webサービスによって実装される抽象的なインタフェースを表す)への参照も保存されます。tModelは、インタフェースとWSDLドキュメントのURL参照に関する情報とともに、プロバイダによって独自にパブリッシュされている場合があります。
一般的なクライアントの照会の目的は、次の2つのうちのいずれかです。
既知のインタフェースの実装を検索します。この場合、クライアントはtModel IDを持っており、そのtModelを参照するバインディング・テンプレートを検索します。
既知のバインディング・テンプレートIDの呼出しポイント(アクセス・ポイント)の更新値を検索します。
ビジネス・レジストリ・ソリューションとしてのUDDIを使用すると、企業は自社のビジネス製品およびサービス、さらにWebでのビジネス・トランザクションの実行方法を公開できます。このようにUDDIを使用することにより、企業間(B2B)電子商取引が補完されます。
ビジネスをパブリッシュするために必要な情報は、1つのビジネス名だけです。パブリッシュされたビジネス・エンティティの詳細な記述には、様々な情報が含まれます。こうした情報はすべて、ビジネス・エンティティとその製品およびサービスを、正確に、そしてアクセス可能な形式で公開するのに役立ちます。
ビジネス・レジストリには、次の要素が含まれます。
ビジネスID - ビジネスの複数の名前と説明、連絡先、および標準のID (納税者番号など)です。
カテゴリ - 標準のカテゴリ情報(D-U-N-Sビジネス・カテゴリ番号など)です。
サービスの記述 - サービスの複数の名前と説明です。サービス情報のコンテナとして、企業は様々なサービスを公開しつつ、サービスの所有権を明確に表示できます。bindingTemplate
情報は、サービスへのアクセス方法を説明するものです。
規格への準拠 - 場合によっては、各種規格への準拠を指定することが重要となります。これらの規格には、サービスの使い方に関する詳細な技術要件が示されます。
カスタム・カテゴリ - ビジネスまたはサービスを識別または分類する独自仕様(tModels)をパブリッシュできます。
UDDIのデータ構造は、businessEntity
、businessService
、bindingTemplate
、tModel
という4つの構造で構成されています。
次の表に、Webサービスまたはビジネス・レジストリ・アプリケーションで使用する場合のこれらの構造の相違点を示します。
表19-1 UDDIのデータ構造
データ構造 | Webサービス | ビジネス・レジストリ |
---|---|---|
businessEntity |
Webサービス・プロバイダを表します。
|
企業、またはその事業部または部門を表します。
|
businessService |
1つ以上のWebサービスの論理グループ。 単一名のAPI。子要素として格納され、上記の名前のビジネス・エンティティによって保持されます。 |
単一の
|
bindingTemplate |
単一のWebサービス。 ターゲットWebサービスにバインドして対話するためにクライアント・アプリケーションが必要とする技術情報。 アクセス・ポイント(Webサービスを呼び出すURI)を含んでいます。 |
追加の規格準拠インスタンス。 URL形式のサービス・アクセス・ポイント、電話番号、電子メール・アドレス、ファックス番号など。 |
tModel |
技術仕様を表します。通常は、仕様のポインタ、または仕様ドキュメントに関するメタデータで、実際の仕様を指す名前およびURLなどが含まれます。Webサービスのコンテキストでは、実際の仕様ドキュメントはWSDLファイルで表されます。 |
普及しているか、またはユーザーが特定用途のために登録した標準または技術仕様を表します。 |
WebLogic Serverは、以下のUDDI機能を提供します。
UDDI 2.0サーバーはWebLogic Serverの一部であり、WebLogic Serverの起動時に自動的に起動されます。UDDIサーバーは、(http://uddi.xml.org
)のUDDI 2.0サーバー仕様を実装しています。
UDDI 2.0サーバーを構成するには、次の手順に従います。
WebLogic Serverを停止します。
WL_HOME
/server/lib
ディレクトリのuddi.properties
ファイルを更新します。WL_HOME
は、WebLogic Serverのメイン・インストール・ディレクトリです。
注意: WebLogic Serverドメインを作成したユーザーがWebLogic Serverをインストールしたユーザーと異なる場合は、WebLogic Server管理者はuddi.properties ファイルのパーミッションを変更してすべてのユーザーがアクセスできるようにする必要があります。 |
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サーバー・プロパティについて説明します。プロパティのリストは、コンポーネント、用途、および機能に従って分類されています。常にすべてのプロパティが必要というわけではありません。
UDDI 2.0サーバーは、組込みLDAPサーバーで自動的に構成されます。しかし、この節の以下の手順によって、外部LDAPサーバーを構成することもできます。
注意: 現時点では、WebLogic ServerはUDDI 2.0サーバーで使用するものとして、SunOne Directory Serverのみをサポートしています。 |
UDDIで使用するSunOne Directory Serverを構成するには、次の手順に従います。
LDAP_DIR
/Sun/MPS/slapd-
LDAP_INSTANCE_NAME
/config/schema
ディレクトリ内に51acumen.ldif
というファイルを作成します。LDAP_DIR
は、SunOne Directory Serverのインストール先のルート・ディレクトリ、LDAP_INSTANCE_NAME
はインスタンス名を表します。
「51acumen.ldifファイルのコンテンツ」で説明するコンテンツを使って、51acumen.ldif
ファイルを更新します。
SunOne Directory Serverを再起動します。
WebLogic UDDI 2.0サーバーのuddi.properties
ファイルに以下のプロパティを追加して、更新します。
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
これらのプロパティの詳細は、表19-1を参照してください。
Weblogic Serverを再起動します。
以下のコンテンツを使用して、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のタイプ別に示します。
表19-2 基本的なUDDI構成
UDDIプロパティ・キー | 説明 |
---|---|
auddi.discoveryurl |
保存されたビジネス・エンティティごとに設定されるDiscoveryURLプレフィックス。通常、これはuddilistenerサーブレットの完全なURLとなるため、完全なDiscoveryURLを指定すると、格納されたBusinessEntityデータが表示されます。 |
auddi.inquiry.secure |
有効値は、 |
auddi.publish.secure |
有効値は、 |
auddi.search.maxrows |
検索操作で返される行の最大数。検索の結果がこの最大行数を超えると、結果が切り詰められます。 |
auddi.search.timeout |
検索操作のタイムアウト値。この値は、ミリ秒単位で指定します。 |
auddi.siteoperator |
UDDIレジストリのサイト・オペレータの名前。指定した値はオペレータ属性として使用され、以後のすべてのBusinessEntity登録に保存されます。この属性はレスポンスで返され、どのUDDIレジストリがレスポンスを生成したかを示します。 |
security.cred.life |
認証の資格証明の有効期間(秒単位で指定)。ユーザーの認証時に、このプロパティで指定した有効期限を持つAuthTokenが割り当てられます。 |
pluggableTModel.file.list |
UDDIサーバーには、標準のTModelがあらかじめ組み込まれています。独自の分類法を使用して、TModel形式でUDDIサーバーをさらにカスタマイズできます。分類法は、XMLスキーマに従ってXMLファイルに定義する必要があります。このプロパティの値は、URI (XMLファイルなど)のカンマ区切りリストです。これらのTModelを表す値は、指定した分類法に照らし合わされてチェックおよび検証されます。 |
表19-3 UDDIのユーザー・デフォルト
UDDIプロパティ・キー | 説明 |
---|---|
auddi.default.lang |
ユーザーの初期言語。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。ユーザー・プロファイルの設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.assertion |
ユーザーの初期アサーション割当て。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。アサーション割当ては、ユーザーがパブリッシュできるパブリッシャ・アサーションの最大数。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.binding |
ユーザーの初期バインディング割当て。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。バインディング割当ては、ビジネス・サービスごとにユーザーがパブリッシュできるバインディング・テンプレートの最大数。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.entity |
ユーザーの初期ビジネス・エンティティ割当て。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。エンティティ割当ては、ユーザーがパブリッシュできるビジネス・エンティティの最大数。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.messageSize |
ユーザーの初期メッセージ・サイズ制限。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。メッセージ・サイズ制限は、ユーザーがUDDIサーバーに送信できるSOAP呼出しの最大サイズ。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.service |
ユーザーの初期サービス割当て。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。サービス割当ては、ビジネス・エンティティごとにユーザーがパブリッシュできるビジネス・サービスの最大数。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
auddi.default.quota.tmodel |
ユーザーの初期TModel割当て。デフォルトでは作成時にユーザー・プロファイルに割り当てられます。TModel割当ては、ユーザーがパブリッシュできるTModelの最大数。制限を設定しない場合は、値を -1に設定します。ユーザーのプロファイル設定は、サインアップ時またはそれ以降に変更できます。 |
表19-4 一般的なサーバーの構成
UDDIプロパティ・キー | 説明 |
---|---|
auddi.datasource.type |
UDDIデータの物理ストレージの場所。この値はデフォルトでは |
auddi.security.type |
UDDIサーバーのセキュリティ・モジュール(認証)。この値はデフォルトでは |
表19-5 ログ機能の構成
UDDIプロパティ・キー | 説明 |
---|---|
logger.file.maxsize |
ログ機能の出力ファイルの最大サイズ(出力がファイルに送信される場合)。単位はKB。出力ファイルが最大サイズに達すると、そのファイルは閉じられ、新しいログ・ファイルが作成されます。 |
logger.indent.enabled |
有効値は、 |
logger.indent.size |
各インデントのサイズ(スペースの数)。整数として指定します。 |
logger.log.dir |
ログ・ファイルが格納されるディレクトリの絶対パスまたは相対パス。 |
logger.log.file.stem |
すべてのログ・ファイル名の先頭に付加される文字列。 |
logger.log.type |
ログ・メッセージの出力先を画面にするか、ファイルにするか、またはその両方にするかを決定します。有効値は、それぞれ |
logger.output.style |
ログ出力にメッセージだけを含めるか、またはスレッドおよびタイムスタンプ情報を含めるかを決定します。有効値は、 |
logger.quiet |
ログ機能自体に情報メッセージを表示するかどうかを決定します。有効値は、 |
logger.verbosity |
ログ機能の冗長レベル。有効値(大文字と小文字は区別されます)は、 |
表19-6 接続プール
UDDIプロパティ・キー | 説明 |
---|---|
datasource.ldap.pool.increment |
プール内のすべての接続がビジーの場合に、作成してプールに追加する新しい接続の数。 |
datasource.ldap.pool.initialsize |
プールの作成および初期化時に格納される接続数。 |
datasource.ldap.pool.maxsize |
プールが保持できる接続の最大数。 |
datasource.ldap.pool.systemmaxsize |
プールがその最大容量に達した後に作成される接続の最大数。プールが最大サイズに達し、すべての接続がビジーの場合、新しい接続が一時的に作成されてクライアントに返されます。この接続はプールには格納されません。しかし、システムの最大サイズに達すると、ビジー接続が使用可能になるまで新しい接続リクエストはすべてブロックされます。 |
表19-7 LDAPデータ・ストアの構成
UDDIプロパティ・キー | 説明 |
---|---|
datasource.ldap.manager.uid |
LDAPにデータを保存できるバックエンドLDAPサーバー管理者または特権を持つユーザーのID (cn=Directory Managerなど)。 |
datasource.ldap.manager.password |
datasource.ldap.manager.uidのパスワード。データ・ストレージ用のLDAPディレクトリとの接続を確立します。 |
datasource.ldap.server.url |
データ・ストレージ用のLDAPディレクトリの「ldap://」URL。 |
datasource.ldap.server.root |
データ・ストレージ用のLDAPディレクトリのルート・エントリ(dc=acumenat、dc=comなど)。 |
注意: 複製LDAP環境には、「m」LDAPマスタと「n」LDAPレプリカがあります。これらの番号は、それぞれ0から(m-1)および0から(n-1)です。次のプロパティ・キーの5番目の部分の「i」はこの番号を表しており、定義されているLDAPサーバー・インスタンスによって異なります。 |
表19-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など)。 |
表19-10 一般的なセキュリティの構成
UDDIプロパティ・キー | 説明 |
---|---|
security.custom.group.operators |
セキュリティ・グループ名。このグループのメンバーはUDDI管理者として扱われます。 |
表19-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が含まれます。 |
UDDIディレクトリ・エクスプローラを使用すると、認可されたユーザーは、WebLogic ServerのプライベートなUDDIレジストリにWebサービスをパブリッシュしたり、すでにパブリッシュされているWebサービスの情報を変更することができます。また、Webサービスおよび関連付けられたWSDLファイル(利用可能な場合)に関する詳細情報にアクセスできます。
また、UDDIディレクトリ・エクスプローラを使用して、パブリックとプライベート両方のUDDIレジストリにあるWebサービスおよびこれらのWebサービスを提供している企業や部門に関する情報を検索できます。
ブラウザでUDDIディレクトリ・エクスプローラを起動するには、次のURLを入力します。
http://host:port/uddiexplorer
説明:
host
は、WebLogic Serverが動作しているコンピュータ。
port
は、WebLogic Serverが接続リクエストをリスニングするポート番号。デフォルトのポート番号は7001です。
UDDIディレクトリ・エクスプローラを使用して、以下のタスクを実行できます。
注意: Oracle WebLogic Serverユーザー名およびパスワードを使用して、「UDDIディレクトリ・エクスプローラ」ページにアクセスします。 |
パブリック・レジストリの検索
プライベート・レジストリの検索
プライベート・レジストリへのパブリッシュ
プライベート・レジストリの詳細の変更
UDDIディレクトリ・エクスプローラのセット・アップ
UDDIディレクトリ・エクスプローラの使い方の詳細は、メイン・ページの「Explorer Help」リンクをクリックしてください。
WebLogic Serverには、Javaクライアント・アプリケーションでWebサービスをプログラムから検索およびパブリッシュするために使用できるクライアント側UDDI APIが組み込まれています。
UDDIクライアントAPIには、Inquiry
とPublish
という、2つの主なクラスがあります。Inquiry
クラスは、既知のUDDIレジストリにあるWebサービスの検索に使用し、Publish
クラスは、開発したWebサービスを既知のレジストリに追加するために使用します。
WebLogic Serverでは、以下のクライアントUDDI APIパッケージを実装しています。
これらのパッケージの使い方の詳細は、「UDDI APIのJavadoc」を参照してください。
分類法は、基本的にcategoryBagまたはidentifierBagによって参照として使用されるtModelです。主な相違点は、単純なtModelに対して、分類法の参照は一般にチェックおよび検証されることです。WebLogic ServerのUDDIサーバーはこのコンセプトを活用し、プラガブルtModelという独自の分類法を採用することでこの機能を拡張します。プラガブルtModelを使用すると、ユーザー(UDDI管理者)は独自のチェック済み分類法をUDDIレジストリに追加し、標準の分類法を上書きできます。
プラガブルtModelを追加するには、次の手順に従います。
「プラガブルtModelのXMLスキーマ」で説明する形式に従って、tModelKey/categorizationごとにXMLファイルを作成します。
UDDIサーバーを構成するために使用するuddi.properties
ファイルのpluggableTModel.file.list
プロパティに、ファイルのカンマ区切りの完全修飾名を追加します。例:
pluggableTModel.file.list=c:/temp/cat1.xml,c:/temp/cat2.xml
uddi.propertiesファイルの詳細は、「UDDI 2.0サーバーの構成」を参照してください。
Weblogic Serverを再起動します。
以下の節では、XML要素とその有効値の表、プラガブルtModelの検証に使用するXMLスキーマ、およびサンプルXMLを示します。
次の表に、プラガブルtModelを記述するXMLファイルの要素について説明します。
表19-13 プラガブルtModelを構成するためのXML要素の説明
要素/属性 | 必須 | ロール | 値 | 備考 |
---|---|---|---|---|
Taxonomy |
必須 |
ルート要素。 |
- |
- |
checked |
必須 |
この分類がチェックされるかどうか。 |
trueまたはfalse |
falseを指定すると、keyValueは検証されません。 |
type |
必須 |
tModelのタイプ。 |
categorization、identifier、uddi-org-typesで定義した有効値 |
有効値についてはuddi-org-types tModelを参照してください。 |
applicability |
省略可能 |
tModelの使用に関する制約。 |
- |
この要素を指定しない場合、制約があるとは見なされません。 |
scope |
applicability要素が含まれている場合は必須 |
tModelの使用に関する制約。 |
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スキーマは次のように検証されます。
<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を示します。
<?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>