Large Messaging サンプルの拡張

Large Messaging サンプルは、構造の繰り返しが複数回出現する大きなメッセージを処理して、個々のインスタンスを抽出する 方法の一例を示しています。 SaleList 構造のそれぞれのインスタンスが個々の WebSphere MQ メッセージとして書き出されるようになっていました。 その結果、単一の入力メッセージから多数の出力メッセージが生成されるようになっていました。

さらにこのサンプルは、大きなメッセージを処理する場合のメッセージの仮想メモリー要件を最小限に抑えるために使用できる 技法を示しています。 この技法は反復構造を使用するサンプルで使用されているものの、このような場合に限定されるわけではありません。 この技法はどのタイプの構造でも使用できます。 とはいえ、メッセージ・ツリーは可変的でなければなりません。

サンプルのロジックを再利用または拡張して他のタイプの処理を実行する方法は数多くあります。 例えば、以下のような方法があります。

これらの点を以下で詳細に説明します。

異なるメッセージ・フォーマット

サンプルでは、入力および出力メッセージ・フォーマットは自己定義型 XML でした。 この同じ処理アプローチは、CWF または TDS メッセージ・フォーマットの入出力メッセージでも機能します。 同じ処理技法は、異なる構造でも同じく良好に機能します。 この場合、異なるメッセージ構造を考慮に入れて、メッセージ・フロー内の ESQL を変更する必要があるかもしれません。

異なるタイプの処理

サンプルでは、単一の入力メッセージを複数のより小さなメッセージに分割する処理が行われます。 構造の反復を取得した後、それを 1 つの WebSphere MQ メッセージとして書き出します。 この処理を変更して、データを処理方法を変えるのは簡単なことです。 構造が繰り返されるたびに、ESQL または Java で書いた販売分析ルーチンでその内容を処理できます。 別のアプローチとしては、データを圧縮することや、そこから情報の主な部分を (例えばデータベースに挿入するために) 抽出する ことが挙げられます。

処理を他のメッセージ・フローで使用

Compute ノード MessageWithRepeatingElements の処理には便利な ESQL 処理技法が多数含まれており、いくらか変更を加えることで他の状況に適用させ、他のメッセージ・フローに組み込むことができるかもしれません。再使用可能なコンポーネントの例を以下に示します。

変更を加える際、ノードのパラメーター設定をすべて検討して、ご自分の要件と互換性のある設定になっているかどうかを確認するのはよい習慣です。

 メインページのアイコン   サンプルのホームに戻る