WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

UDDI レジストリーにおける、ユーザー定義の値セットのサポート

UDDI バージョン 3 レジストリーは、レジストリー内部で情報を効率的に検索するための構造およびモデル化のツール群を提供します。 ユーザーは、複数の値セットを定義し、カスタムの値セットを追加することができます。 UDDI バージョン 2 では、この機能はカスタム分類法のサポートと呼ばれていました。

データは、他の大量のデータに埋もれてしまって区別することも発見することもできなければ、 何の価値もありません。 UDDI のクライアントがレジストリー内の情報を効果的に検出できなければ、 UDDI の目的はかなり損なわれます。この問題に対処する構造とモデリング・ツールを提供することが、 UDDI の設計の目的です。 UDDI 内のデータの検証は、記述、ディスカバリー、および統合という UDDI の目的の中心となるものです。 これを達成する方法は、いくつかあります。

ユーザーは、 UDDI で使用できる値セットを複数定義することができます。この方法で、 1 つの UDDI エンティティー上で複数の分類スキームをオーバーレイすることができます。この機能によって、 組織は、UDDI レジストリーがサポートするシステムのセットを拡張することができます。 ユーザーは、単一のシステムに結び付けられることなく、複数の分類システムを同時に使用することができます。

デフォルトの値セットは製品に同梱されていますが、 UDDI バージョン 3 レジストリーでは、「カスタム」値セットを追加できるツールを提供しています。 このツールによって、UDDI エンティティーを公開時により細かくカテゴリー 化し、クライアントが特定のデータを検出する機能をさらに強化することが可能に なります。

これらの値セットのチェック・マークは付けることも外すこともでき、それは、 値セットを表す tModel (「カテゴリー化 tModel」) の categoryBag 内の keyedReference によって示されます。 これらの keyedReferences には、uddi-org:types の tModel キー があり、以下のように、カテゴリー化 tModel の動作を詳述するために categoryBag に追加されます。
checked
tModel をこの種別でマーキングするということは、 tModel が、カテゴリー値が指定された値セットにあるかどうかチェックする妥当性検査サービスありのカテゴリー化、ID、またはネーム・スペースの tModel を 表すことを意味しています。
チェックマークなし
tModel をこの種別でマーキングするということは、tModel が、妥当性検査サービスなしの カテゴリー化、ID、またはネーム・スペースの tModel を表すことを意味しています。

以下で定義するプロシージャーでは、 追加のユーザー定義値セットを追加する方法、 およびそれらの許可された値を UDDI ユーザー・コンソール値セットのツリー表示で表示する方法について説明します。 Rational Application Developer の Web Services Explorer ユーザー・インターフェースを使用して、 カスタムのチェック・マーク付き値セットを追加および表示することもできます。 値セットのカテゴリー化 tModel のパブリッシャーは、 UDDI ユーザー・コンソール・インプリメンテーションで使用する「表示名」を指定できます。

ユーザー定義値セットを追加するプロシージャー

ユーザー定義値セットを UDDI レジストリーに追加するには、 以下のタスクを実行します。
  1. カテゴリー化 tModel の公開
  2. ユーザー定義値セット・データのロード
  3. 管理コンソールを使用した値セットの「supported」状況への設定。これを設定するには、 管理の役割内のユーザーである必要があります。つまり、 管理者アクセス権がない場合、ユーザー定義値セットを UDDI レジストリーに追加できません。
チェック・マーク付き値セットは、 上記のタスクが完了した場合にのみ参照されます。チェック・マーク付き値セットの妥当性検査を行うためには、 値セット・データが提供されていなければなりません。

ユーザー・コンソールで、 値セット・データがチェックマークなしの値セット用に使用されることもありますが、 これは必須ではなく、通常は、unspc-org:unspc やバックレベルの互換性など、 使用すべきでない値セットを表示するためにのみ使用されます。

値セットにチェックマークが付けられると、 新しいカテゴリー化 tModel を備えた keyedReferences を含む categoryBag を持つすべての公開要求が妥当性検査されます。 レジストリー・データベース内のカテゴリー化 tModel に対応する値セット・データがある場合、 有効な値のみが受け入れられます。 このデータベースに値セット・データがない場合には、 すべての値が拒否され、公開要求は失敗します。 カテゴリー化 tModel にチェックマークが付いていない場合、 UDDI レジストリー・データベース内に対応する値セットがあるかどうかにかかわらず、 すべての値が許可されます。 値セット tModel は、 管理者が管理コンソール、または JMX インターフェースを使用して、 そのサポートを使用可能にするまでは使用できません。

推奨されるアプローチ

新しい値セットを導入するには、以下のようにします。
  1. キー値の categorization を指定したタイプ「uddi-org:categorization:types」の keyedReference、 キー名の「Checked value set」およびキー値の「checked」、 またはキー名の「Unchecked value set」およびキー値の「 unchecked」を指定した、 タイプ「uddi-org:categorization:types」の keyedReference、 およびタイプ「uddi-org:categorization:general_keywords」の keyedReference が値セットの表示名を指定して、 カテゴリー化 tModel を公開します (以下で詳しく説明します)。
  2. UDDIUserDefinedValueSet ユーティリティーを使用して、 ユーザー定義値セット・データを UDDI レジストリー・データベースにロードします (以下で詳しく説明します)。
  3. 管理コンソールを使用して値セットの状況を「supported」に設定します (値セット設定を参照)。 これは、JMX インターフェースを使用して直接に実現することもできます。
注: SOAP および EJB インターフェースは、カテゴリー化 tModel を、 公開された後すぐに使用できます。 ただし、UDDI アプリケーションが値セット・ツリー表示で使用するカテゴリー化のリストは、 現在、アプリケーションの始動時に収集されているため、UDDI レジストリー・ ユーザー・コンソールでは、UDDI アプリケーションの再始動が必要になります。

チェックマーク付きカテゴリー化 tModel の公開

このセクションでは、 ユーザー定義値セットで使用する「Checked value set」キー名を指 定してチェックマーク付きカテゴリー化 tModel を公開する方法について説明します。

以下のように、keyedReferences を含む categoryBag を指定して、 tModel を UDDI レジストリーに公開します。
tModelKey KeyName KeyValue
1 uddi:uddi-org:categorization:types

UDDI レジストリーのユーザー・インターフェースで、 この tModelKey は、「UDDI Types」のカテゴリー・タイプを選択することによって選択できます。

categorization categorization
2 uddi:uddi-org:categorization:types

UDDI レジストリーのユーザー・インターフェースで、 この tModelKey は、「UDDI Types」のカテゴリー・タイプを選択することによって選択できます。

チェック・マークの付いた値セット checked
3 uddi:uddi-org:categorization:general_keywords

UDDI レジストリーのユーザー・インターフェースで、 この tModelKey は、「categorization:general_keywords」のカテゴリー・タイプを選択することによって選択できます。

urn:x-ibm:uddi:customTaxonomy:displayName <User Defined Value Set displayName>
  1. この tModel がカテゴリー化 tModel であることを示します (必須)。
  2. tModel の使用が、有効なデータのリストに対してチェックされることを示します (必須)。 (この keyedReference を省略するか、「unchecked」の値を明示的に指定すると、 このカテゴリー化がチェックマークなしであることが示されます。)
  3. keyName 値として専有 Uniform Resource Name (URN) を使用す る general keywords 値セットの特殊な使用法を示し、完全な tModel 名が長すぎる場合に、ユーザー・コンソール・インプリメンテーションで使 用するユーザー定義値セットの名前を定義します。 値としては、1 から 255 文字まで (255 文字を含む) の長さを指定できます。

displayName は、 UDDI ユーザー・コンソールが値セット・ツリーや使用可能な値セットのプル ダウン・リストに値セットを表示する場合などに、値セットにラベルを付ける方法を提供します。 8 文字までという制限を受けず、また、公開された tModelName と同じにする必要もなく、ユーザーにわかりやすい名前を指定します (255 文字まで使用可能)。 以下に例を示します。

この図は、 分類法ツリーと「Locator」セクションの「タイプ」ドロップダウンの両方に表示される表示名を示しています。

urn:x-ibm:customTaxonomy:displayName は、 ユーザー・インターフェースに表示された際に混同を避けるためにも固有にする必要がありますが、 それについての妥当性検査は行われません。

SOAP を使用して新しいカテゴリー化 tModel を公開する場合の メッセージは、次のようになります。
<save_tModel generic="3.0" xmlns="urn:uddi-org:api_v3">    
  <authInfo></authInfo>>
  <tModel tModelKey="">
    <name>Natural Foods tModel</name>
    <categoryBag>
      <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="categorization"  
                      keyValue="categorization"/>
      <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="Checked value set" 
                      keyValue="checked"/>
      <keyedReference tModelKey="uddi:uddi.org:categorization:general_keywords" 
                      keyName="urn:x-ibm:uddi:customTaxonomy:displayName" keyValue="Natural Foods"/>
    </categoryBag>
  </tModel>
</save_tModel>
注: チェックマークなしのカテゴリー化を指定する場合は、 キー名「Checked value set」を「Unchecked value set」に置き換えて 「checked」キー値を「unchecked」に置き換えるか、 あるいはもっと簡単に keyedReference を完全に省略します。

ユーザー定義値セット・データのロード

ユーザー定義値セット・データ のファイル・フォーマット

値セット・データは固有のコード値、オプションの記述、 および他のコード値との関係を指定する親コードによって識別されます。 値セット・データは、次のようなフォーマットになります。
列名 最大長 使用の説明
コード 765 妥当性検査に使用される値セット内の固有値。
description 765 通常は UDDI ユーザー・コンソールが使用します。 オプションで keyedReference に keyName 値として使用されます。
parentcode 765 既存のコードのいずれがこのコードの論理親であるかを示すために ツリー表示で使用されます。
通常、値セット・データ・ファイル内の列は、次の例のように「#」文字で区切られます。
00#Food#00
10#Fruit#00
101#Apples#10
102#Oranges#10
103#Pears#10
1031#Anjou#103
1032#Conference#103
1033#Bosc#103
104#Pomegranates#10
20#Vegetables#00
201#Carrots#20
202#Potatoes#20
203#Peas#20
204#Sprouts#20

この例では、「Food」は、子ノード「Fruit」および「Vegetables」(これらはいずれも「 Food」のコード値と同じ parentcode 値を持つ) を持つルート・ノードを表しています。

このサンプル・ファイル内の値セット・データは、 次のようにツリー内にレンダリングすることができます。
Food
  Fruit
    Apples
    Oranges
    Pears
      Anjou
      Conference
      Bosc
    Pomegranates
  Vegetables
    Carrots
    Potatoes
    Peas
    Sprouts

このファイルは UTF-8 フォーマットで保管する必要があります。

UDDI バージョ ン 2 で使用されるカスタム分類法ファイルも、ユーティリティーによってサポートされています。

UDDIUserDefinedValueSet

値セット・データを UDDI レジストリーにロードしたり、 既存の値セット・データを別の tModel に割り当てたり、 既存の値セット・データをアンロードするために、ユーティリティーが提供されています。 このユーティリティーでは、UDDI レジストリーの JMX インターフェースを使用します。 したがって、いくつかの接続パラメーターが必要です。

Usage: UDDIUserDefinedValueSet '{'function'}' [options]
function:
-load <path> <key>         Load value set data from specified file
-newKey <oldKey> <newKey>  Move value set to a new tModel
-unload <key>              Unload existing value set

options:
-properties <path>    構成ファイルのロケーションを指定
-host <host name>          Application Server host
-port <port>               SOAP Lister port number
-node <node name>          Node running a UDDI server
-server <server name>      Server with UDDI deployed
-columnDelimiter <delim>   Character delimiter to denote field end
-stringDelimiter <delim>   Character delimiter to denote strings


Connector security parameters

-userName <name>
-password <password>
-trustStore <path>
-trustStorePassword <password>
-keyStore <name>
-keyStorePassword <password>
注: UDDIUserDefinedValueSet を実行するコマンド・ウィンドウが、 値セットの名前に含まれている文字を表示するのに適したコード・ページと フォントを使用していることを確認してください。 不適切なコード・ページやフォントを使用すると、 正常なロード時に不明確なメッセージが表示されたり、 -unload オプションや -newKey オプションの使用が困難になったりする可能性があります。

UDDIUserDefinedValueSet スクリプトは、app_server_root/bin ディレクトリーにあります。

接続パラメーターが 指定されていない場合は、デフォルトのアプリケーション・サーバー SOAP ポート番号を使用して、 ローカル・ホスト上で接続がシークされます。

コマンド引数は、大文字と小文字を区別しません。

使用例

次のように % 記号を valuesetdata.txt ファイル内の列マーカーとして使用して、 tModel の値セット・データをローカル UDDI レジストリーにロードします。

Network Deployment 構成の UDDI レジストリー上で、 値セット・データを、あるチェックマーク付き tModel から別のチェックマーク付き tModel に移動します。

セキュリティーをオンにして接続パラメーターおよびセキュリティー・パラメーターを myproperties.properties ファイル内に指定しますが、 サーバー引数およびパスワード引数をコマンド行上に指定して (これにより、プロパティー・ファイル内に格納されているそれらの引数を拡張またはオーバーライドします)、tModel からの値セットをサーバーからアンロードします。

オプションの -properties パラメーターが指定されている場合、 いくつかのオプション・パラメーターは、構成ファイルによって決まります。 これらのパラメーターは、コマンド行上で指定することができ、 そのようにした場合は、プロパティー・ファイル内の値をオーバーライドします。 これらのパラメーターは、ほとんどの場合、JMX 接続パラメーターおよびセキュリティー・パラメーターです。

string.delimiter は、通常、記述値に列の区切り文字と同じ文字が含まれている 場合に使用されます。例えば、column.delimiter が「,」(コンマ) に設定されており、 値セットの記述値が 'Fruits, citrus' である場合、 string.delimiter を「"」(二重引用符) に設定してこの記述を 'Fruits, citrus' のように引用符で囲むと、 この記述値を値セット・データ・ファイルに入れることができます。 引用符文字は円記号 ('¥') でエスケープすることにより、 リテラル文字が使用されることを示すことに注意してください。

既存の値セット・データを持つ tModel に値セットをロードしようとすると、 警告メッセージが表示されます。 このエラーをオーバーライドするには、-override 引数を指定します。 -newKey を使用して (この場合、tModel はチェックマーク付き)、 値セット・データを新規 tModel に移動する場合、 およびチェックマーク付き tModel のアンロードされた値セット・デ ータを使用して、値セット・データを新規 tModel に移動する場合にも、 この引数が必要になります。
コマンド行引数およびサンプル・データ プロパティーおよびサンプル・データ コメント
-columnDelimiter # column.delimiter=# 値セット・データ・ファイルで使用される列の区切り文字
-stringDelimiter ¥" string.delimiter=¥" フィールドの区切り文字 (この値は column.delimiter 値と 同じにならないようにします)
-host ibm.com host=ibm.com

アプリケーション・サーバーが稼働している システムのホスト名

-port 8880 port=8880

アプリケーション・サーバーの SOAP ポート番号

-node ibmNode node=ibmNode UDDI レジストリーを備えたサーバーが稼働しているノードの名前
-server server1 server=server1 UDDI レジストリーが稼働しているサーバー
-userName ibmuser security.username=ibmuser ユーザー名。WebSphere Application Server セキュリティーが オンになっている場合、この値は必須です。
-password mypassword security.password=mypassword パスワード
-trustStore /TrustStoreLocation security.truststore=/TrustStoreLocation トラストストア・ファイルの場所
-keyStore ibmkeystore security.keystore=ibmkeystore 鍵ストア名
-trustStorepassword trustpass security.truststore.password=trustpass トラストストアのパスワード
-keyStorePassword keypass security.keystore.password=keypass 鍵ストアのパスワード

値セットを「supported」に設定

管理コンソールを使用 して、以下の手順で値セットを「supported」に設定します。
  • UDDI ノード」>「<node>」および「値セット」をクリックします (画面右側の「追加プロパティー」の下)。
  • 値セットを選択します (値セットの横のボックスにチェックを入れます)。
  • 値セット・リストの上にある「サポートを使用可能にする」をクリックします。

妥当性検査とエラー処理

UDDI レジストリーのユーザー・ コンソールは、tModel の保管要求のが 構築中に (つまり、公開が行われる前に) 妥当性検査を実行します。例えば、ユーザーが 2 つの customTaxonomy:displayName keyedReference を追加しようとすると、次のメッセージが表示されます。

Advice: Only one 'urn:x-ibm:uddi:customTaxonomy:displayName' key name is allowed for the 'Other' taxonomy.

keyedReference に「urn:x-ibm:uddi:customTaxonomy:」で始まり、 「displayName」以外のものが続く keyName 値が含まれている場合、 次のようなメッセージが表示されます。

Advice: Only key name values of 'urn:x-ibm:uddi:customTaxonomy:displayName' are supported.

save_tModel メッセージに複数の tModel を持つ要求に関して、 その tModel のいずれかがカテゴリー化 tModel であり、その tModel が妥当性検査に失敗した場合は、 要求が失敗して UDDIInvalidValueException (考えられる原因を説明する追加情報を含む) が出され、 いずれの tModel も公開されません。 以下に例を示します。

E_invalidValue (20200) A value that was passed in a keyValue attribute did not pass validation.  This applies to checked categorizations, identifiers and other validated code lists. The error text will clearly indicate the key and value combination that failed validation. Invalid 'custo
mTaxonomy:dbKey' keyValue [naics] in keyedReference. KeyValue already in use by tModelKey[UUID:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2]



関連タスク
UDDI レジストリーの使用
関連資料
UDDI レジストリー管理インターフェース
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/rwsu_tax.html