WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

Warehouse ノード

指定された ODBC データ・ソース内のデータベースと対話するには、Warehouse ノードを使用します。

制約事項: このノードによって提供される機能が、改訂 Mapping ノードによって置き換えられています。 Warehouse ノードを含むメッセージ・フローをインポートする場合、ノードの表示およびデプロイは引き続き行えますが、変更はできません。
このトピックには、以下のセクションが含まれています。

目的

Warehouse ノードは、データベース内の表にメッセージ全体またはメッセージの一部 (あるいはその両方) を格納する、特殊な形式の Database ノードです。 入力メッセージからのデータを使用して必要なアクションを識別するマッピングを作成することにより、保管する情報を定義します。

さまざまな目的で Warehouse ノードを使用できます。 以下に例を示します。

  • ブローカーを通過するメッセージの監査証跡の保守
  • ブローカーを通過したメッセージのオフラインまたはバッチ処理 (データ・マイニング)
  • ブローカー内で選択したメッセージを再処理するソースとして

標準的なデータベース照会およびマイニング技法を使用して、ウェアハウス内に保管したメッセージを取り出すことができます。 (WebSphere® Message Broker による明示的なサポートはありません。)

以下の項目を作成または指定する必要があります。

  • メッセージ・セットおよびメッセージの形式の入力データ
  • データベースへの ODBC 接続
  • メッセージを保管するデータベースおよびデータベース表
  • 表の少なくとも 2 つの列。1 つはバイナリー・オブジェクト (メッセージ) のためのもので、もう 1 つはタイム・スタンプのためのものです。

メッセージ・フロー内でのこのノードの使用

Warehouse ノードを使用すると、そのノードに関連するデータベースに以下のエレメントを保管することができます。
  • メッセージ全体と、関連するタイム・スタンプ (オプション)。 メッセージはバイナリー・オブジェクトとしてタイム・スタンプと共にそれぞれの列に保管されます。 このオプションには以下の 2 つの利点があります。
    • 前もってウェアハウス内のデータの使用法を決定する必要はありません。なぜなら、データを格納した後でそれを取り出して、データ・マイニング・ツールを適用することができるからです。
    • ブローカーを通過するメッセージのタイプごとに特定のデータベース・スキーマを定義する必要がありません。 複雑なシステムではさまざまなメッセージ・タイプが処理されることがあり、メッセージ・タイプごとに固有のスキーマを定義するために用いられる時間が極端に多くなる可能性があります。 共通のスキーマを使用してそれぞれのメッセージを正規のウェアハウス形式に変換する Compute ノードを各 Warehouse ノードの前に置くことができますが、メッセージ全体をバイナリー・オブジェクトとして保管することもできます。
  • 選択したメッセージのパーツと、オプションでそのメッセージ・タイプ用の定義済みデータベース・スキーマを必要とする関連するタイム・スタンプ。 メッセージは本来のタイプにマップされます。例えばメッセージ内の文字ストリングは文字ストリングとしてデータベースに保管されます。

ターミナルおよびプロパティー

Warehouse ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。 詳しくは、メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。 (Warehouse ノードをダブルクリックすると、「新規メッセージ・マップ」ダイアログ・ボックスが開きます。) 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。

Warehouse ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 計算時に障害が検出された場合、入力メッセージが伝搬される出力ターミナル。 「警告をエラーとして扱う」を選択した場合、処理が正常に完了してもメッセージはノードからこのターミナルに伝搬されます。
Out データベース・ステートメントの実行後にメッセージを出力する出力ターミナル。

以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。

Warehouse ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
ノード名 いいえ いいえ Warehouse ノードの名前。
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

Warehouse ノードの「基本」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
データ・ソース いいえ はい   このノードに関連付けられたマッピング (「フィールド・マッピング」プロパティーで識別される) で参照する表を格納しているデータベースの ODBC データ・ソース名。

この名前は、このメッセージ・フローが実行されるシステム上で認識されるとおりに、該当するデータベースを識別します。ブローカーは、mqsisetdbparms コマンドで指定したユーザー ID およびパスワード情報を使用して、このデータベースに接続します。

dataSource
フィールド・マッピング はい いいえ Warehouse データベースまたはメッセージ・ツリーに対して実行されるステートメントが含まれるマッピング・ルーチンの名前。

デフォルトでは、マッピング・ルーチンに割り当てられる名前は、ルーチンが定義されているマッピング・ファイルの名前と同一です。 ファイルのデフォルト名は、メッセージ・フローの名前にメッセージ・フローに組み込む際のノードの名前を連結したものです (例えば、メッセージ・フロー MFlow1 の最初の Warehouse ノードの場合は、MFlow1_Warehouse.msgmap)。 スペースを含む値は指定できません。

この入力フィールドの隣の「参照」をクリックすると、このノードからアクセスできるすべての選択可能なマッピング・ルーチンをリストしたダイアログ・ボックスが表示されます。 必要なルーチンを選択し、「OK」をクリックします。ルーチン名が「フィールド・マッピング」に設定されます。

このノードに関連するマッピング・ルーチンを処理するには、ノードをダブルクリックするか、またはノードを右クリックして「マッピングを開く」を選択します。 マッピング・ルーチンが存在しない場合は、デフォルト名で、デフォルト・ファイルの中に作成されます。 このファイルが存在する場合には、「ブローカー開発」ビューflow_name_node_name.msgmap ファイルを開くこともできます。

マッピング・ルーチンの内容は、データベースに保管される情報、およびその形式を決定します。 例えば、各メッセージのすべてまたは一部分のみを保管することができます。 また、データをバイナリー・データとして保管したり、各フィールドをメッセージ内と同じ形式で保管することができます (例えば、メッセージ内の文字フィールドをデータベース内で文字として保管します)。

マッピング・ルーチンは、関連するノードのタイプに特有のものです。 Warehouse ノード用に開発したマッピング・ルーチンを、 マッピングを使用する他のノード (DataInsert ノードなど) と一緒に使用することはできません。 マッピング・ルーチンを作成した場合、それを他のマッピング・ルーチンから呼び出すことはできません。 ただし、ESQL ルーチンから呼び出すことは可能です。

マッピング・ファイルでの作業とその内容の定義について詳しくは、グラフィカル・データ・マップの使用を参照してください。

 
トランザクション はい いいえ 自動 ノードのトランザクション・モードです。 必要な値を選択します。
  • 「自動」(デフォルト) を選択した場合、Warehouse ノードが属するメッセージ・フローが正常に行われると、そのメッセージ・フローがコミットされます。つまり、マッピングで定義したアクションが実行されて、メッセージはメッセージ・フローを通して継続します。 メッセージ・フローは、失敗するとロールバックされます。 そのため、「自動」を選択した場合、データベース上で Warehouse ノードのアクションをコミットするかロールバックするかは、メッセージ・フロー全体の成功または失敗に依存します。
  • 「コミット」を選択すると、メッセージ・フロー全体の成功または失敗に関係なく、このメッセージ・フローで実行されるコミットされていないアクションは、このノードに接続しているデータベースにコミットされます。 メッセージ・フロー自体が失敗しても、データベースへの変更はコミットされます。
 
警告をエラーとして扱う はい いいえ 選択されていない データベース警告メッセージをエラーとして扱い、ノードから出力メッセージを Failure ターミナルに伝搬する場合は、「警告をエラーとして扱う」を選択します。 デフォルトでは、このチェック・ボックスはチェックされていません。

このチェック・ボックスを選択した場合、ノードはデータベースからのすべての正の戻りコードをエラーとして扱い、負の戻りコードに対する処理と同じ方法で例外を生成するか、問題がより重大である場合はエラーを生成します。

このチェック・ボックスを選択しなかった場合、ノードは警告を標準の戻りコードとして扱い、例外を生成しません。 生成される最も重大な警告は「見つかりません」であり、これはほとんどの環境で標準的な戻りコードとして扱って差し支えありません。

 
データベース・エラーで例外をスローする はい いいえ 選択されている データベース・エラーが検出されたときにブローカーが例外を生成するように設定する場合は、「データベース・エラーで例外をスローする」を選択します。 デフォルトでは、チェック・ボックスは選択済みになっています。

このチェック・ボックスのチェックを外した場合には、ブローカーとデータベースの整合性を保つため、メッセージ・フロー内でエラーを処理する必要があります。ブローカーによるデフォルト・エラー処理を呼び出さないように選択してあるため、自分でエラーを処理しない限り、エラーは無視されます。例えば、エラー処理サブルーチンに Failure ターミナルを接続できます。

 

フロー開始前に接続

いいえ

はい

選択されていない

デフォルトでは、メッセージ・フロー内で必要とされるときに、ブローカーがデータ・ソースに接続します。

このチェック・ボックスを選択すると、メッセージ・フローの処理中ではなく、フローがメッセージを受け取るよりも前にデータ・ソース接続が行われます。

 
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:26


参照トピック参照トピック | バージョン 8.0.0.5 | ac04730_