オプションで、メッセージを変更するためのノードを組み込みます。
- Compute ノード
- 以下の目的で、Compute ノードを使用します。
- メッセージ内容を操作する
- 何らかの方法でメッセージを変換する
- データベースと対話してメッセージまたはデータベースの内容を変更し、1 つ以上の新しいメッセージを渡す
このノードを使用して、事前定義および自己定義メッセージを操作することができます。 ESQL エディターを使って ESQL モジュールを作成します。これはこのノードに特有のものであり、メッセージまたはデータベースに対して実行するアクションを定義するステートメントが入ります。 他のいかなるタイプのノードにおいても、Compute ノード内で使用するために作成した ESQL コードは使用しないでください。
このノードがデータベースにアクセスする方法を、ノード・プロパティーに指定する各データ・ソースのユーザーおよびパスワード情報を指定することによって、制御することができます。
これらの値を初期化し、保守するには、mqsisetdbparms コマンドを使用します。
可能であれば、メッセージ操作の要件は、単一の Compute ノード内で実行してください。 少ない数の、より複雑な Compute ノードのパフォーマンスの方が、大量の単純なノードよりも良好です。
これは、ブローカーはそれぞれの Compute ノードへのエントリーの時点で、メッセージを構文解析するからです。
- .NETCompute ノード
- 以下の目的で、.NETCompute ノードを使用します。
- メッセージを構築します。
- Microsoft .NET Framework (.NET) または Component Object Model (COM) のアプリケーションと対話します。
- メッセージをある形式から別の形式に変換します。
- パーサー間でメッセージをコピーします。
- .NET プログラミング言語を使って着信メッセージを調べ、メッセージの内容に応じて、いずれかの .NETCompute ノード出力ターミナルに未変更のままでそれを伝搬します。 このノードの動作は Filter ノードと似ていますが、使用する出力ターミナルを決めるために ESQL ではなく .NET 言語を使用します。
- .NET を使用して着信メッセージの一部を変更し、変更されたメッセージを出力ターミナルの 1 つに伝搬します。
- .NET を使用して、入力メッセージから独立した出力メッセージを作成および構築します。
- JavaCompute ノード
- 以下の目的で、JavaCompute ノードを使用します。
- 着信メッセージを調べ、その内容に応じてノードの出力ターミナルのどちらかにそれを無変更で伝搬します。 このノードの動作は Filter ノードと似ていますが、使用する出力ターミナルを決めるために ESQL ではなく Java™ を使用します。
- 着信メッセージの一部を変更して、変更されたメッセージを出力ターミナルの 1 つに伝搬します。
- JDBC Type 4 接続を通してデータベースと対話してメッセージまたはデータベースの内容を変更し、1 つ以上の新しいメッセージを渡します。
- 入力メッセージから独立した新規の出力メッセージを作成および構築します。
- PHPCompute ノード
- PHPCompute ノードを使用し、PHP スクリプト言語を用いて、着信メッセージの経路指定および変換を行います。 このノードの機能は JavaCompute ノードと似ていますが、メッセージ変換およびルーティングのために Java の代わりに PHP を使用します。
- Mapping ノード
- Mapping ノードを使用して、入力メッセージのエレメントまたはデータベース内容から、出力メッセージのエレメントの内容をマッピングすることによって、入力メッセージからメッセージを作成することができます。 メッセージの一部を抽出して、必要があればその内容を変更し、ノードが受け取ったメッセージの部分的なコピーとして出力メッセージを作成することができます。 Mapping ノードは、事前定義メッセージのみを処理します。
このノードがデータベースにアクセスする方法を、ノード・プロパティーに指定する各データ・ソースのユーザーおよびパスワード情報を指定することによって、制御することができます。
これらの値を初期化し、保守するには、mqsisetdbparms コマンドを使用します。
事前定義メッセージの簡単な操作を実行するためのマッピングを開発するには、マッピング・エディターを使用します。 他のいかなるタイプのノードにおいても、Mapping ノードで使用するために作成したマッピングは使用しないでください。
- XSLTransform ノード
XSLTransform ノード (以前には XMLTransformation ノードと呼ばれていた) を使用すると、入力 XML メッセージを、XSLT スタイル・シートを使って別の形式に変換すること
と、生成されたメッセージのメッセージ・ドメイン、メッセージ・セット、メッセージ・タイプ、およびメッセージ形式を設定することができます。 データの XML メッセージへの構文解析は必須です。 スタイル・シートは、その中で定義されている規則を使って、次のようなアクションを実行することができます。
- データをソートする。
- いくつかの基準に基づいて組み込むかまたは除外するデータ・エレメントを選択する。
- データを別の形式に変換する。
基礎となる変換エンジンとして、Xalan-Java 変換エンジン (Apache Xalan-java XSLT プロセッサー (Apache Xalan-java XSLT processor)) が使用されます。 XML 文書を他の XML 文書に変換するための XML 変換、構文の W3C 仕様、および XSL 変換言語の意味の詳細は、W3C XSL 変換 (W3C XSL Transformations)を参照してください。
スタイル・シートおよび XML ファイルをブローカーの実行グループにデプロイすることにより、スタイル・シートおよび XML ファイルの保守に役立てることができます。
- JMSMQTransform ノード
- JMSMQTransform ノードを使用して、JMS メッセージ・ツリーを持つメッセージを、WebSphere® MQ JMS プロバイダーによって生成されるメッセージの形式と互換性のあるツリー構造を持つメッセージに変換します。
JMSMQTransform ノードを使用して、既存のメッセージ・フローにメッセージを送信し、さらに WebSphere MQ JMS および WebSphere MQ パブリッシュ/サブスクライブと相互操作を行うことができます。
- MQJMSTransform ノード
- MQJMSTransform ノードを使用して、WebSphere MQ JMS プロバイダーのメッセージ・ツリー形式のメッセージを受け取り、それらを JMS 宛先に送るメッセージと互換性のある形式に変換します。
MQJMSTransform ノードを使用して、既存のメッセージ・フローにメッセージを送信し、さらに WebSphere MQ JMS および WebSphere MQ パブリッシュ/サブスクライブとの相互運用を行うことができます。
- SOAPEnvelope および SOAPExtract ノード
- SOAP メッセージ本体に SOAP エンベロープを追加またはそこから除去するには、SOAPEnvelope および SOAPExtract ノードを使用します。 SOAPExtract ノードを使用することにより、エンベロープの抽出と、メッセージの内容に基づいた Label ノードへのメッセージの経路指定の両方が可能です。
- ヘッダー・ノード
- HTTPHeader、JMSHeader、または MQHeader ノードを使用して、Compute ノードに書き込むことなく、HTTP、JMS、および WebSphere MQ の各トランスポート・ヘッダーとそのプロパティーを操作できます。 これらのノードを、メッセージ本体を変更するために使用することはできません。
- HTTPHeader ノードを使用して、HTTPInput、HTTPResponse、HTTPRequest、および HTTPReply などの HTTP ヘッダーの追加、変更、または削除を行います。
- JMSHeader ノードを使用して、JMS Header_Values およびアプリケーション・プロパティーの内容を変更し、プログラミングすることなくノードの出力を制御できるようにします。
- MQHeader ノードを使用して、MQ メッセージ記述子 (MQMD) ヘッダーおよび MQ 送達不能ヘッダー (MQDLH) の追加、変更、または削除を行います。
- ユーザー定義処理ノード
- ユーザー定義処理ノードを使用すると、組み込みノードでは満たされない特定の要件を処理できます。
例えば、ノードがデータベースにアクセスする場合、ユーザー定義ノードを組み込んで、データベースと対話するようにします。 このノードがデータベースにアクセスする方法を、ノード・プロパティーに指定する各データ・ソースのユーザーおよびパスワード情報を指定することによって、制御することができます。
これらの値を初期化し、保守するには、mqsisetdbparms コマンドを使用します。