LocalEnvironment ツリー構造

LocalEnvironment ツリーは、メッセージ・フローがメッセージを処理する際に、情報を保管できる論理メッセージ・ツリーの一部です。

LocalEnvironment ツリーのルートは、LocalEnvironment と呼ばれています。 このツリーは常に入力メッセージ内に存在します。 メッセージが入力ノードによって受信される際に、空の LocalEnvironment ツリーが作成されるためです。

LocalEnvironment ツリーを使用して、メッセージ・フローの後の方で生じる、メッセージ処理ノードが参照および更新できる変数を保管します。 また、LocalEnvironment ツリーを使用して、メッセージを送信する宛先を定義することができます (メッセージ・フローの内部でも外部でもよい)。 さらに、一部の環境において WebSphere Message Broker は LocalEnvironment に情報を保管し、宛先用に設定した値にアクセスするためにそれを参照することができます。 (ブローカーが 1 つの状況のみで参照する Environment ツリー構造 と比較してください。)

下記の図は、LocalEnvironment ツリー構造を示しています。Destination の子は、プロトコルによって異なります。 下記の例は、WebSphere MQ メッセージの構造を示しています。メッセージが別の組み込みパーサーによって、またはユーザー定義のパーサーによって構文解析される場合、Destination エレメントの下のツリー構造は、図で示されたものとは内容が異なります。


提供された入力ノードおよびパーサーによって作成される LocalEnvironment ツリー構造

上に示されたツリー構造では、LocalEnvironment には 3 つの子があります。

Variables
このサブツリーはオプションです。 ローカル環境変数を作成する場合、それらを Variables と呼ばれるサブツリーに保管することをお勧めします。 これは、ノード間で情報を受け渡すために使用できる作業域を提供します。 このサブツリーは、提供されたノードによって検査されたり変更されたりすることは決してありません。

ローカル環境の変数は、後続の任意のメッセージ処理ノードによって変更することが可能であり、メッセージ・フローが有効範囲の外に出て、メッセージ・フローを作成したノードが作業を完了して、制御を直前のノードに戻すまで持続します。

このサブツリー内の変数は、メッセージ・フローの単一インスタンス内でのみ持続します。 メッセージ・フローを通過するメッセージの複数インスタンスがあり、それらの間で情報を受け渡す必要がある場合には、外部データベースを使用する必要があります。

Destination
このサブツリーは、メッセージが送信されるトランスポート・タイプ (Transport ID) を示す多数の子、または RouteToLabel ノードによって使用されるターゲットの Label ノードから構成されます。
  • トランスポート情報

    トランスポート情報は、一部の入出力ノードで使用されます。

    メッセージ・フローが HTTPInput ノードで始まる場合、単一名エレメント HTTP が Destination に追加されます。 エレメント HTTP.RequestIdentifier が作成および初期化され、HTTPReply ノードによって使用できるようになります。 HTTPRequest ノードによって使用できるよう、HTTP 構造に別のフィールドも作成できます。 例えば、要求の送信先サービスの URL などです。 各ノードのトピックには、WebSphere MQ Web Services Transport プロトコルにおける Destination の内容についての詳細情報が含まれています。

    メッセージ・フローに MQOutput ノードが組み込まれている場合、エレメントはそれぞれ単一名エレメント MQDestinationList となります。 複数のエレメントが存在する場合には、それぞれノードによって順次処理されます。

    メッセージ・フローにユーザー定義の出力ノードを組み込んだ場合、Destination の内容 (サポートされる場合) は、このノードによって定義されます。

    宛先モード」プロパティーを「宛先リスト」に設定することによって、宛先リストを調べて、それらの宛先にメッセージを送信するよう、出力ノードを構成することができます。 そうする場合には、このサブツリーとその内容を、それらの宛先を定義するように作成し、それに Destination という名前を付ける必要があります。 そのようにしなければ、出力ノードはメッセージの配信ができません。

    望むならば、単一の固定した宛先にメッセージを送信するよう出力ノードを構成することができます。 そのことは、「宛先モード」プロパティーを、「キュー名」 または「応答先キュー」に設定して行います。これらの固定オプションのいずれかを選択した場合、宛先リストはブローカー操作に対して何の影響も与えず、このサブツリーを作成する必要もありません。

    MQ エレメントは、単一オプションの Defaults エレメントを含むように構成することができます。 Defaults エレメントは、それが作成される場合には、最初の子でなければならず、メッセージ宛先およびその親に対する PUT オプションのデフォルト値を与える、名前値エレメントのセットを含んでいる必要があります。

    MQ 内に DestinationData と呼ばれるエレメントを多数作成することもできます。 これらのそれぞれは、メッセージ宛先およびその PUT オプションを定義する、名前値エレメントのセットによってセットアップすることができます。

    宛先を定義するエレメントのセットは、DestinationData サブツリー内のエレメントのデータ・タイプで説明されています。

    DestinationData のそれぞれのインスタンスの内容は、それぞれのプロトコルごとの Defaults の内容と同じものであり、Defaults 内のデフォルト値を指定変更するために使用できます。 すべての宛先に共通の値を含むために Defaults をセットアップし、それぞれの DestinationData サブツリーに固有な値だけを設定できます。 DestinationData または Defaults のどちらにも値を設定しない場合、対応するノード・プロパティーに設定していた値が使用されます。同様に、フィールド名または値のスペルまたは大/小文字を間違えて指定すると、その名前または値は無視され、対応するノード・プロパティーに設定していた値が使用されます。

    DestinationData に挿入する情報は、対応するノード・プロパティーの特性に依存します。 このことは、LocalEnvironment ツリーへのアクセスで説明されています。

  • ルーティング情報

    Destination の子は RouterList です。 これには DestinationData と呼ばれる単一の子エレメントがあります。それには、labelName という単一記入項目があります。 RouteToLabel および Label ノードの関係する動的ルーティング・シナリオを使用している場合には、Destination サブツリーを、参照ラベルを含む RouterList を使用してセットアップする必要があります。

WrittenDestination
このサブツリーには、メッセージの書き込み先であるアドレスが含まれています。 その名前は固定しており、出力ノードの out ターミナルを介してメッセージが伝搬される際に、メッセージ・フローによって作成されます。 これには、トランスポート特定の情報が組み込まれています (例えば、出力メッセージが WebSphere MQ キューに書き込まれた場合、それにはキュー・マネージャーおよびキュー名が組み込まれます)。出力ノードの out ターミナルが別のノードに接続されていない場合には、このサブツリーは作成されません。

各出力ノードのトピックには、WebSphere MQ および WebSphere MQ Everyplace における WrittenDestination の内容についての詳細情報が含まれています。

メッセージ・フロー処理が完了すると、LocalEnvironment ツリーは廃棄されます。

Airline Reservations サンプルおよびMessage Routing サンプルは、LocalEnvironment を使用して宛先リストに基づいてメッセージを動的に経路指定する方法を示しています。User-defined Extension サンプルは、LocalEnvironment を使用して、メッセージ・フローによって作成された出力メッセージに後で追加された情報を保管します。

関連概念
メッセージのモデル化
Environment ツリー構造
関連タスク
メッセージ・フローの作成
宛先リストの作成
LocalEnvironment ツリーへのアクセス
LocalEnvironment でのスクラッチパッド領域の使用
ESQL の作成
Java の記述
関連資料
HTTPReply ノード
HTTPRequest ノード
MQeOutput ノード
MQOutput ノード
DestinationData サブツリー内のエレメントのデータ・タイプ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac00520_