WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

RegistryLookup ノード出力

WebSphere® Service Registry and Repository (WSRR) に保持されているいずれかのタイプのエンティティーを検索するには、RegistryLookup ノードを使用します。 指定した検索条件に一致するエンティティーがローカル環境に格納されます。 入力メッセージは変更されません。

このトピックには、以下のセクションが含まれています。

「深さのポリシー」プロパティーの設定

RegistryLookup ノードの「深さのポリシー」プロパティーは、一致した各エンティティーに対してどれだけのデータを返すかを指定します。 以下の表は、有効な値を示しています。
「深さのポリシー」プロパティーの値 ローカル環境の指定変更の値 返されるデータ
一致項目だけを返す (深さ = 0) MatchOnly 一致したエンティティーのみ
一致項目を返し、直接の関係を表示する (互換性のみのため) MatchShowRel 一致したエンティティーおよび追加の参照情報
一致項目と直接の関連エンティティーを返す (深さ = 1) MatchPlusImmediate 一致したエンティティーおよび直接の関連子エンティティー
一致項目とすべての関連エンティティーを返す (深さ = -1) MatchPlusAll 一致したエンティティーおよびすべての関連子エンティティー

バージョン 6.1.0.4 より前のバージョンの WebSphere Message Broker との互換性を確保するために、MatchShowRel を使用してください。 MatchShowRel のローカル環境の出力を例 1 に示します。以前のバージョンで使用されていたフォーマットに従っています。 ただし、MatchShowRel オプションは非推奨になったので、旧バージョンとの互換性を保つ目的でのみ提供されています。 メッセージ・フローを新規作成するときは、MatchShowRel は使用しないでください。既存のメッセージ・フローをマイグレーションし、他のオプションのいずれかを使用することを検討してください。

検索条件と一致した個別のエンティティーだけを取得するには、MatchOnly オプションを使用します。 このオプションは有効ですが、一致したエンティティーに関連するエンティティーの情報は、ローカル環境の出力に含まれません。

検索条件に一致したエンティティーおよび関連子エンティティーを取得するには、MatchPlusImmediate オプションを使用します。 このオプションを使用すると、取得するデータの合計数を制限しながらも、一致したエンティティーの直接の関係にアクセスできるので、ほどよい件数の検索結果が得られるので便利です。

推奨されない MatchShowRel オプションを使用するメッセージ・フローをマイグレーションするときは、MatchOnly オプションまたは MatchPlusImmediate オプションのいずれかを使用します。 一致したエンティティーの関係情報を元のメッセージ・フローで使用していた場合は、MatchPlusImmediate オプションを使用します。 MatchShowRel オプションを使用するメッセージ・フローのマイグレーションを参照してください。

検索条件に一致したエンティティーおよびすべての関連子エンティティーを取得するには、MatchPlusAll オプションを使用します。 このオプションを使用するのは、メッセージ・フローがアクセスする必要があるのが、一致したエンティティーの直接の関係の数を超える場合だけです。これは、MatchPlusImmediate オプションで指定するよりもかなり多くのデータをメッセージ・フローが取得するためです。ローカル環境の出力ツリーを参照してください。

ローカル環境の出力ツリー

「深さのポリシー」プロパティーの推奨されない「MatchShowRel」オプションを使用するとき、ローカル環境の出力ツリーは異なるフォーマットになります。 以下の表で、ローカル環境の出力ツリーのフォーマットの違いについて説明します。

MatchOnlyMatchPlusImmediate、および MatchPlusAll の各オプション MatchShowRel オプション
ServiceRegistry フォルダー・エレメントは XMLNSC コンパイラーが所有します。 ServiceRegistry フォルダー・エレメントに所有パーサーはなく、各 Entity エレメントは XMLNS パーサーが所有します。
ServiceRegistry ツリーは不要なネーム・スペースは使用しません。 ネーム・スペースは、すべての UserDefined フォルダー・エレメントに付けられます。つまり、これらのフォルダー内のフィールドにアクセスするには、指定したパスで、関連するネーム・スペースを宣言し、使用しなければならないことを意味します。
ServiceRegistry ツリーは XMLNSC パーサーを使って最適化します。 出力ツリーには、いくつかの XML 宣言、pcdata、およびビジネス上意味を持たない空白文字エレメントが含まれます。
WSRR では、バイナリー・データは、content 属性を使って GenericDocument で表します。 content 属性は、ローカル環境で XMLNSC タイプの Attribute+base64Binary、(0x03000160) で表示されます。 エンコードされていないバイナリー・データに Entity.content で直接アクセスできます。 ただし、特別な XMLNSC エレメント・タイプのために、ツリーが直列化されるとデータは自動的に base64 でエンコードされます。 バイナリーの内容は、content 属性で、base64 でエンコードされた文字ストリングで表されます。 元のバイナリー・データが必要な場合、メッセージ・フローは Java™ メソッドを呼び出して値をデコードする必要があります。
検索されたエンティティーは、ユーザー・プロパティーを追加するために変更されることはありません。 一致したエンティティーは、WSRREncoding というユーザー・プロパティーとともにローカル環境に表示されます。 このプロパティーは、メッセージ・フローの処理に対して何の意味も持ちません。 WSRREncoding というユーザー・プロパティーがエンティティーに定義されている場合、定義されている値が使用され、値が定義されていない場合は、WSRREncoding プロパティーが value="DEFAULT" を付けて追加されます。
MatchPlusImmediate および MatchPlusAll の各オプションを使用すると、WSRR が照会を実行するときに、エンティティーのグラフが返されます。 グラフ内の各エンティティーが、別のエンティティーを参照している場合があります。 次の 2 つのタイプの関係は、階層ツリーで直接表すことができません。
  • 循環参照 - 関係をたどったときに、同じエンティティーに戻るエンティティーがグラフに含まれている場合があります。
  • 複数参照 - 複数のエンティティーによって参照されるエンティティーがグラフに含まれている場合があります。
ローカル環境の出力ツリーにおけるこれらの関係の表示を以下の文で説明します。
WSRR グラフは、ローカル環境の出力ツリーで次のように表示されます。
  • WSRR グラフに返される一致したエンティティーは、LocalEnvironment.ServiceRegistry の最初の子として Entity エレメントで表示されます。 一致したエンティティーのプロパティーは、子エレメントで表されます。
  • 一致したエンティティーに、他のエンティティーへの参照が含まれている場合があります。 MatchPlusImmediate が設定されている場合、参照は、一致したエンティティーの Entity 子エレメントで表示されます。 MatchPlusAll が設定されている場合、同じ規則がこれらの子にも再帰的に適用されます。
  • 循環参照 - WSRR グラフでいずれかの親エレメントである別のエンティティーをエンティティーが参照している場合、参照されている側のエンティティーは EntityRef エレメントで表されます。 EntityRef エレメントはターゲット・エンティティーを直接表すのではなく、エンティティーを識別するための情報を提供します。 これによって、ツリーをナビゲートするときに、循環ループに陥ることを防ぎます。

    次の図は、グラフでエンティティー D1 が、親であるエンティティー C1 および A を参照しているため、メッセージ・ツリーでは、Entity D1 に A および C1 の EntityRef エレメントが含まれる様子を示しています。

    前後のテキストで説明されている、循環参照を示すグラフ。
  • 複数参照 - WSRR SDO グラフのエンティティーが複数の他のエンティティーから参照される場合、参照されるたびにメッセージ・ツリーで個別の Entity エレメントとして表示されます。 この Entity エレメントは、参照先のエンティティーとともに複製されます。

    次の図は、グラフでエンティティー X1 がエンティティー Y1 および Y2 によって参照されているため、メッセージ・ツリーでは、エンティティー X1 および参照先のエンティティー W1 が 2 度モデル化されている様子を示しています。

    複数参照を示すグラフ

MatchShowRel オプションを使用するメッセージ・フローのマイグレーション

「深さのポリシー」プロパティーの推奨されない「MatchShowRel」オプションを使用する、既存のメッセージ・フローをマイグレーションするとき、ローカル環境の出力ツリーは異なるフォーマットになります。 前に示した表は、ローカル環境の出力ツリーのフォーマットの違いと、更新されたフォーマットのデータにアクセスするためにメッセージ・フローの何を変更する必要があるかを示しています。ローカル環境の出力ツリーを参照してください。

以下の例は、RegistryLookup ノードからの標準的な出力を示しています。
  • 例 1 では、照会が概念エンティティーの 2 つのバージョンを返す 2 つのケースにおける、RegistryLookup ノードの全出力を示します。 両方のケースで、「マッチ・ポリシー」プロパティーは「すべて」に設定されています。 最初のケースでは、「深さのポリシー」プロパティーは「一致項目と直接の関連エンティティーを返す (深さ = 1)」に設定されており、2 番目のケースでは、「深さのポリシー」プロパティーは「一致項目だけを返し、直接の関係を表示する (互換性のため)」に設定されています。 この例には、出力のエレメントを読み取る ESQL の例も示されています。 RegistryLookup ノード出力: 例 1を参照してください
  • 例 2 では、他の概念エンティティーといくつかのユーザー関係がある概念エンティティーでの照会の、「深さのポリシー」プロパティーの考えられる値すべての、RegistryLookup ノード出力の構造を示します。 RegistryLookup ノード出力: 例 2を参照してください
  • 例 3 では、「一致項目とすべての関連エンティティーを返す (深さ = -1)」「深さのポリシー」プロパティーを使用して、メタデータの関係とユーザーが定義した関係を持つエンティティーでの照会の、RegistryLookup ノード出力の構造を示します。 RegistryLookup ノード出力: 例 3を参照してください。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:06


概念トピック概念トピック | バージョン 8.0.0.5 | ac56330_