メッセージ・フロー・ノードは、メッセージ・フローの処理ステップです。
メッセージ・フロー・ノードは、メッセージを受信し、メッセージに対してアクションのセットを実行し、オプションでメッセージ・フロー内の次のノードにメッセージを渡します。
メッセージ・フロー・ノードは、組み込みノード、ユーザー定義ノード、またはサブフロー・ノードのいずれかにできます。
1 つのメッセージ・フロー・ノードには、特定の数の入力点および出力点があり、これらをターミナルといいます。
メッセージ・フロー内のメッセージの経路を定義するために、複数のターミナル間の接続を作成できます。
- 組み込みノード
- 組み込みノードは、WebSphere® Event
Broker に備わっているメッセージ・フロー・ノードです。
組み込みノードは、入力機能と出力機能を提供します。
WebSphere Event
Broker が提供するすべての組み込みノードについては、組み込みノードを参照してください。
- ユーザー定義ノード
- ユーザー定義ノードは、製品に付属しているものに追加される、新規のメッセージ・フロー・ノードを提供するブローカーの拡張機能です。
これは C 言語と Java™ 言語の両方で、
WebSphere Message
Broker によって提供されるユーザー定義ノード API に書き込む必要があります。
- サブフロー
- サブフローはメッセージ・フロー・ノードおよびコネクターから構成される方向付きグラフで、
メッセージ・フローまたは他のサブフローに組み込むように設計されています。
サブフローには、少なくとも 1 つの Input ノードまたは Output ノードが含まれている必要があります。
ブローカーがサブフローを実行できるのは組み込み先のメッセージ・フローの一部としてだけなので、個別にデプロイすることはできません。
サブフローはメイン・フローに組み込まれているとき、固有のアイコンを持つ単一のサブフロー・ノードによって表されます。
アイコンと共に、サブフロー定義に含めた Input ノードと Output ノードを表す
ターミナルの正確な数が表示されます。
サブフローの使用例が、以下の例に示されています。
Error Handler サンプルでは、サブフローを使用してエラーについての情報をトラップし、情報をデータベースに保管します。Coordinated Request Reply サンプルでは、処理ロジックを他のメッセージ・フローで再利用できるようにし、代替インプリメンテーションを置換できるようにするために、サブフローを使用して
ReplyToQ および
ReplyToQMgr 値の保管を
WebSphere MQ メッセージ内でカプセル化します。
サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。
ノードは、すべての出力ターミナルに対する出力メッセージを常に生成するとは限りません。
受信したメッセージに基づき、またはノードの操作結果に基づいて、ノードは通常、1 つのターミナルに対して 1 つの出力を生成します。
複数のターミナルが接続されている場合、ノードはそれぞれのターミナルに対して出力メッセージを送りますが、現在のターミナルの処理が完了して初めて、次のターミナルに対して送信します。
メッセージの更新内容は以前に実行したノードには伝搬されず、更新を行ったノードの後に続くノードにのみ伝搬されます。メッセージが複数の出力ターミナルの間で伝搬される順番はブローカーによって決定されるため、この順番は変更できません。
メッセージ・フローのすべてのパス (つまり、すべての出力ターミナルから接続されたすべてのノード) が完了して初めて、メッセージ・フローは新規メッセージを受け入れて処理することができます。
以下のサンプルは、XML_Reservation サンプルの環境変数を使用して、データベース表から取得された情報を保管し、その情報をメッセージ・フロー内のノード・ダウンストリームに渡します。
サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。