Data Warehouse サンプルは拡張することができます。 あるいは、既存の形で他のメッセージ・フローで使用することもできます。 付属しているバージョンのサンプルは、妥当性検査やビジネス・ルールの適用など、メッセージ内容に関する処理を実行しませんが、このような処理を独自に追加できます。
着信メッセージを BLOB に変換してデータベースに挿入する Warehouse_Input_Message Compute ノードの処理内容を、ほとんど、または全く変更を加えずに、現行の形で別のメッセージ・フローに追加できます。 これをサブフローに変換することで、再利用の可能性が広がります。
提供されている版のサンプルでは、1 回の挿入で、入力メッセージのメッセージ・ツリー全体がデータベースに挿入されます。データベースに挿入する前にメッセージを複数の部分に分割したり、メッセージ・ツリーの一部だけをアーカイブしたりすることができます (その場合、ASBITSTREAM 関数に対する別のフィールド参照を指定する必要があります)。
このサンプルで使用されている入力メッセージは、XML 形式のペイロードが入った WebSphere MQ メッセージです。 メッセージ・フローに変更を加えることで、タイプや形式の異なるメッセージを同じ方法でアーカイブすることもできます。 メッセージの解析とメッセージ・ツリーの作成が終わった後の処理は、このサンプルと同じです。
このようなアーカイブ手法を使用する際には、データの保持に最適なデータ・ストアを必ず使用する必要があります。 長期に渡ってデータを保管しなければならない場合、情報を保持する場所として適切なのはデータベースです。 メッセージ・フローの実行の過程で使用する情報を短期間保持する場合、データベースは適切ではありません。 そのような状況では、代わりに WebSphere MQ メッセージの使用を考慮できます。 たとえば MQOutput ノードを使用してメッセージを書き出し、MQGet ノードを使用してメッセージを取り出すことができます。 WebSphere MQ メッセージの使用法として最適なのは、情報を短期間保管することです。 データを長期間保管する場合は、データベースを考慮できます。 メッセージ・フローで MQGet ノードを使用する方法の例示について、Coordinated Request Reply サンプルを参照してください。
他の状況でサンプルを使用する場合は、Database ノードの「データ・ソース名」(Database ノードの「基本」プロパティー・タブで指定される) の変更が必要になる場合があります。 このプロパティーは、挿入を行う対象のデータベースを指定します。
変更を加える際、ノードのパラメーター設定をすべて検討して、実際の要件と互換性のある設定になっているかどうか確認するのは良い習慣です。