WebSphere® Message Broker には、メッセージ・フロー内で使用できるメッセージ処理ノードが多数あります。
概念のトピック (メッセージ・フロー・ノード) に目を通しておきます。
WebSphere Message Broker はまた、ユーザー定義ノードと呼ばれる独自のノードを定義するのに使用できるインターフェースも提供します。
ブローカーが稼働しているモードは、使用可能なノードのタイプに影響を与えることがあります。各動作モードに適用される制約事項を参照してください。
どのノードを使用するかは、メッセージに対して実行する処理によって異なります。
入力ノードは、その他のメッセージ・フローを起動してその処理を行う時期を制御するため、他のノードとは異なります。 入力ノードは、メッセージ・フローで処理するデータがあることをチェックし、トランスポートまたはサーバーからそのデータを読み取り、後のフローにそのデータを渡して処理するように設計されています。 その他のノードは処理を行いますが、フローを起動する時期の制御は行いません。
Reply、要求、および応答ノードを使用して、メッセージ・フロー内から他のアプリケーションと対話することができます。これらのタイプのノードは、プロトコルのサブセットに対してのみ提供されます。
たいていどの企業でも、さまざまなシステム上で、さまざまなプログラム言語とさまざまな通信方法を使って、長年に渡って開発されてきた複数のアプリケーションがあるものです。 WebSphere Message Broker では、メッセージの形式を変換するようにメッセージ・フローを構成する機能を提供することにより、アプリケーションがこうした相違を理解しなくても良いようになっています。
例えば、個人名を保持する形式は多数あり、アプリケーションごとに異なります。 姓を最初と最後のどちらに置くか、ミドルネームのイニシャルを含めるか、大文字表記か小文字表記かは、順列の一部にすぎません。 各アプリケーションの要件を認識するようにメッセージ・フローを構成できるので、送信または受信アプリケーションには変更を加えることなく、各メッセージを正しい形式に変換できます。
メッセージの内容を処理し、いくつかの方法でそれを更新することができます。 ここでのユーザーの選択は、メッセージ・フローが処理するのが、事前定義 (モデル化) メッセージなのか、自己定義メッセージ (例えば XML) なのか、またはその両方なのかによって異なります。
メッセージ・フローでは、メッセージを完全に再作成することも、その形式を別の形式に変換する (例えば、フィールドの順序、バイト・オーダー、または言語を変更する) ことも、メッセージから内容を削除することも、メッセージに特定のデータを挿入することもできます。 例えば、あるノードでは、データベースと対話して追加情報を検索すること、あるいはメッセージのコピー (全体または一部) をデータベースに保管して、オフライン処理を可能にすることができます。
また、以下のノードを使って相互に対話するメッセージ・フローを作成することもできます。 あるメッセージ・フローのデフォルト操作が他のメッセージ・フローの操作に影響を与えることはありませんが、データベースなどの外部ソースで情報の保管や検索を行うようにメッセージ・フローを構成すれば、このアクションを強制的に起こすことができます。
これらのノードは、メッセージの変換用に提供されます。
メッセージ・フロー内の制御の順序とフローに関するさまざまなことを判別するノードを使用して、フローによるメッセージの処理を決定できます。 メッセージ・フロー内のイベントの、時間と発生頻度を決定するノード (TimeoutControl および TimeoutNotification) を使用することもできます。 ルーティングはメッセージ変換には依存しません。ただし、メッセージがたどる経路によって、メッセージに対してどのような変換が実行されるかが正確に決定されることはあります。
例えば、ある振替アプリケーションが、常にもう 1 つのアプリケーションにメッセージを送信するとします。 振替額が 10,000 ドルを上回るメッセージについては、もう 1 つ別のアプリケーションにも送信して、高額の取引をすべて記録できるようにします。
別の例として、ある全国規模の自動車クラブでは、特定のメンバーに対し、しきい値を超える注文について特別サービスを提供します。 大部分の注文は通常のチャネルへルーティングされますが、メンバーシップ番号と注文額が特定の基準にかなう場合は特殊な処理が適用されます。
メッセージを処理する時点で追加のルーティング情報をメッセージに組み込むことにより、さらに動的なルーティング・オプションも設定できます。 オプションの規則セットをセットアップし、メッセージに設定された値 (宛先) に基づいてメッセージ受信が行えるようにします。 こうした規則を設定するにあたっては、追加したメッセージ内容で決めた順番に従って、1 つ以上のオプションの規則セットでメッセージを処理するようにできます。
これらのノードは、メッセージ・フローの中でメッセージがたどる経路を決定するために提供されます。