SCADAInput ノード

WebSphere® MQ Telemetry Transport を介してブローカーに接続するクライアントからのメッセージを受信するには、SCADAInput ノードを使用します。

このトピックには、以下のセクションが含まれています。

目的

SCADA デバイス・クライアントは、MQIsdp プロトコルを使用して、SCADAInput ノードが WebSphere Message Broker によって認識される形式に変換するメッセージを送信します。このノードは、これらのメッセージの処理環境も確立します。

SCADA デバイスから受信するメッセージを処理するメッセージ・フローは、常に SCADAInput ノードから開始する必要があります。SCADAInput ノードのプロパティーを設定すると、メッセージの受信方法を制御できます。例えば、メッセージをトランザクション制御下で処理するように指示できます。

SCADA ノードを含むメッセージ・フローをブローカーにデプロイする場合、メッセージ・フローの数にかかわりなく、単一の実行グループにデプロイします。

SCADA フローのデプロイ先である実行グループは、デフォルト実行グループでなければなりません。 デフォルト実行グループは、実行グループの始動時に BIP2201 メッセージ内の defaultExecutionGroup フィールドを検査して識別することができます。 true の値は、デフォルト実行グループを示します。

SCADA は主にパブリッシュ/サブスクライブ・プロトコルなので、通常は Publication ノードを組み込んでフローを終了します。Publication ノードを使用しないシナリオの場合には、SCADAOutput ノードを組み込みます。 SCADAOutput ノードを組み込む場合には、メッセージのソースにかかわらず SCADAInput ノードも組み込む必要があります。SCADAInput ノードは、SCADAOutput ノードが必要とする接続情報を提供するからです。

SCADAInput ノードで開始されるメッセージ・フローに出力ノードを組み込む場合には、サポートされるいずれかの出力ノード (ユーザー定義の出力ノードも含む) を使用できます。 必要な任意の変換を提供するようにブローカーに要求するようにメッセージ・フローを構成できますので、SCADA デバイスからメッセージを受け取り、サポートされるトランスポートすべてを使用してブローカーに接続するクライアント用のメッセージを生成する、メッセージ・フローを作成できます。

特定のトピックのメッセージをパブリッシュして、ブローカーが SCADA リスナーを開始または停止するように要求できます。この要求は、すべてのポートまたはメッセージ内で識別される単一ポートに対して適用できます。

SCADAInput ノードは、次のメッセージ・ドメインのメッセージを処理します。
  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • BLOB

z/OS platform z/OS® システム上にデプロイされるメッセージ・フロー中で、SCADAInput ノードを使用することはできません。

着信 SCADA メッセージ内のデータを処理する場合には、ResetContentDescriptor ノードのようなノードを組み込んでそのプロパティーを設定し、以降のノードによるビット・ストリームの強制的再解析を行います。

サブフローとして使用するメッセージ・フローを作成する場合には、標準入力ノードを使用することはできず、Input ノードを最初のノードとして使用して、サブフロー用の In ターミナルを作成する必要があります。

ご使用のメッセージ・フローが SCADA 接続を経由してメッセージを受け取らない場合には、サポートされる入力ノードのいずれかを選択します。

SCADAInput ノードはパレットの「追加プロトコル」ドロワーに含まれていて、ワークベンチ内では次のアイコンによって表されます。

SCADAInput ノード・アイコン

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

このノードの使用方法の例として、リモート・センサーが操作環境の変化 (屋外温度の低下など) を検出した場合に、リモート・センサーからのメッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成すると想定します。 このノードを MQOutput ノードに接続します。後者のノードは、これらのメッセージを WebSphere MQ アプリケーションがサービスするキューで使用可能にします。 このアプリケーションは、受信した情報を分析して、これに応答します。

別の例として、リモート・システムから毎分メッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成します。 メッセージには、システムのスイッチ設定の詳細が含まれています。受信されたデータは、ResetContentDescriptor ノードに送られ、バイナリー (BLOB) から MRM メッセージ形式にキャストされます。システムに関する情報は、Database ノードを使用してデータベースに保管され、Compute ノードを使用して拡充され、Publication ノードを使用してパブリッシュされる XML メッセージが作成されます。

XML メッセージは、送信するのに費用がかかるため (サテライト伝送はバイトごとに費用がかかるため)、データがブローカーによって拡充されるときにこの方法を使用することには利点があります。

SCADAInput ノードの構成

SCADAInput ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。詳しくは、メッセージ・フロー・ノードの構成を参照してください。ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。

  1. オプション: 「説明」タブで、簡略説明詳細説明、あるいはその両方を入力します。このタブで、ノードを名前変更することもできます。
  2. 「基本」タブで、以下のプロパティーを設定します。
    • メッセージ・セットのペイロード部分を「オン」または「オフ」にセットした制御トピック $SYS/SCADA/MQIsdpListener/<port_number> でパブリッシュすることによって、リスナーの状況を更新することができます。「始動時にリスナーを使用可能にする」は、最初から選択されています。これは、メッセージ・フローがデプロイされたときに MQIsdp クライアントのリスナーが初期化されることを意味します。
    • MQIsdp サーバーが listen する「ポート」番号を指定します。 この値は固有のポート番号にする必要があります。 他のリスナー (例えば、WebSphere MQ または WebSphere MQ Everyplace® 用に設定されているリスナー) と競合しないようにしてください。 デフォルト番号は、1883 です。
    • スレッドの最大数」の値を設定して、MQIsdp サーバーがクライアントをサポートするために使用できるスレッドの最大数を示します。 デフォルト値は 500 です。

      ブローカー・データベースとして DB2® を使用している場合、DB2 構成パラメーター maxappls および maxagents に設定した値以下の値を指定する必要があります。 詳細については、 データベースへの ODBC 接続の使用可能化を参照してください。

    • クライアントにサービスを提供するために、ノードにスレッドのプールを使用させたい場合は、「スレッド・プーリングを使用する」を選択します。 このオプションを選択した場合、MQIsdp サーバーで使用可能なスレッド数は「スレッドの最大数」によって制限されます。この値を、20 から 40 の間に設定するのが最も効果的です。 このオプションを選択しない場合、接続されるクライアントごとに新しいスレッドが作成されます。 最初、このチェック・ボックスはチェックされていません。

      多くのクライアント (200 を超えるクライアント) が接続する場合にのみ、このオプションを使用します。

  3. 「入力メッセージの構文解析」タブで、着信メッセージの構文解析方法を決定するのにノードが使用するメッセージ・ドメイン、メッセージ・セット、メッセージ・タイプおよびメッセージ形式を記述するプロパティーの値を設定します。
    • 「メッセージ・ドメイン」では、リストから使用するパーサーの名前を選択します。 以下のオプションの中から選択することができます。
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • BLOB
    • MRM パーサーを使用する場合、使用するメッセージ・セットを選択します。 ドメインとして MRM または XMLNSC を選択すると、選択可能なメッセージ・セットがこのリストに取り込まれます。

      XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ・セット」はブランクのままにしてください。

    • MRM パーサーを使用する場合は、「メッセージ・タイプ」のリストから、適切なメッセージ・タイプを選択します。 このリストには、選択したメッセージ・セットで定義されたメッセージが取り込まれます。

      XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ・タイプ」はブランクのままにしてください。

    • MRM パーサーを使用する場合は、「メッセージ形式」のリストから、メッセージの形式を選択します。 このリストには、このメッセージ・セット用に定義されたすべての物理形式が掲載されます。

      XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ形式」はブランクのままにしてください。

  4. 「パーサー・オプション」タブの「解析のタイミング」は、デフォルトでは「要求時」に設定されます。 この値では、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。 この値を「即時」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 この値を「完全」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは妥当性検査障害が生じます。
  5. 拡張」タブで、「トランザクション・モード」に必要な値を設定して、このメッセージの処理方法についてのトランザクション特性を定義します。
    • 「自動」を選択した場合、着信メッセージに持続のマークが付けられている場合に同期点下で受信され、付いていないときは、同期点下では受信されません。出力ノードによってその後に送信される派生メッセージのトランザクション特性は、出力ノードが明示的にトランザクション特性をオーバーライドしない限り、着信持続プロパティーによって判別されます。
    • 「はい」を選択すると、着信メッセージが同期点下で受信されます。 メッセージ・フローと同じインスタンスの出力ノードによってその後に送信される派生メッセージは、出力ノードが明示的にトランザクションをオーバーライドしない限り、トランザクションとして送信されます。
    • 「いいえ」を選択すると、着信メッセージが同期点下で受信されません。フローの出力ノードによってその後に送信される派生メッセージは、出力ノードがメッセージを同期点下に置くことを指定していない限り、非トランザクションとして送信されます。
  6. メッセージ・セットのメッセージの本体をパーサーで妥当性検査するには、「妥当性検査」タブで妥当性検査プロパティーを設定します。 メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。

    詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。

ターミナルの接続

SCADAInput ノードは、Out ターミナルに正常に取り出される各メッセージをルーティングします。 このアクションが失敗すると、メッセージは Failure ターミナルに伝搬されます。ノードをこのターミナルに接続し、この状態を処理することができます。 Failure ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。

メッセージ・フロー内でさらに例外がスローされた後、このノードによってメッセージがキャッチされる場合、メッセージは Catch ターミナルにルーティングされます。 Catch ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。 メッセージがメッセージ・フロー内でロールバックする可能性がある場合には、ノードが常時このターミナルに接続されているようにしてください。

整合トランザクションの構成

メッセージ・フローに SCADAInput ノードを組み込む場合、「トランザクション・モード」で設定した値が、メッセージを同期点下で受信するかどうかを定義します。

  • このプロパティーを「はい」(デフォルト) に設定した場合、メッセージは同期点下 (つまり、WebSphere MQ 作業単位内) で受信されます。メッセージ・フローと同じインスタンスの出力ノードによってその後に送信されるメッセージは、出力ノードがこれを明示的にオーバーライドしない限り、同期点の下に置かれます。
  • このプロパティーを「自動」に設定した場合、メッセージは、着信メッセージに持続のマークが付けられている場合に同期点下で受信されます。持続のマークがない場合には同期点下で受信されません。出力ノードによってその後に送信されるメッセージは、出力ノードがこれを明示的にオーバーライドしない限り、着信持続プロパティーによって判別されたとおりに同期点の下に置かれます。
  • このプロパティーを「いいえ」に設定した場合、メッセージは同期点下で受信されません。メッセージ・フロー内の出力ノードによってその後に送信されるメッセージは、個々の出力ノードがメッセージを同期点の下に置くように指定しない限り、同期点の下には置かれません。

MQOutput ノードは、このオプションをオーバーライドするように構成できる唯一の出力ノードです。

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

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

ターミナル 説明
Failure エラーが発生した場合にメッセージがルーティングされる出力ターミナル。
Out キューからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。
Catch 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。

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

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

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

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

プロパティー M C デフォルト 説明
始動時にリスナーを使用可能にする はい いいえ 選択されている このプロパティーは、リスナーが開始する時を制御します。 チェック・ボックスを選択した場合、メッセージ・フローがブローカーによって開始されるとリスナーが開始されます。チェック・ボックスを選択しない場合、指定されたポートにメッセージが到達するとリスナーが開始されます。
ポート はい はい 1883 SCADA プロトコルが listen するポート。
最大スレッド はい はい 500 SCADA デバイスをサポートするために始動するスレッドの最大数。
スレッド・プール使用 はい はい 選択されていない チェック・ボックスを選択すると、スレッド・プールが使用されます。

SCADAInput ノードの「入力メッセージの構文解析」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
メッセージ・ドメイン いいえ いいえ   着信メッセージの構文解析に使用されるドメイン。
メッセージ・セット いいえ いいえ   着信メッセージが定義されているメッセージ・セットの名前または ID。
メッセージ・タイプ いいえ いいえ   着信メッセージの名前。
メッセージ形式 いいえ いいえ   着信メッセージの物理フォーマットの名前。

SCADAInput ノードの「パーサー・オプション」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング いいえ いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は、「要求時」「即時」、および「完全」です。

このプロパティーに関する詳しい説明については、要求時の構文解析を参照してください。

XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定した場合に、「入力メッセージの構文解析」プロパティー「メッセージ・ドメイン」が XMLNS であると、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。
混合内容の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。
コメントの保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。
処理命令の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。

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

プロパティー M C デフォルト 説明
トランザクション・モード はい いいえ はい このプロパティーは、着信メッセージを同期点下で受信するかどうかを制御します。有効な値は、「自動」「はい」、および「いいえ」です。

SCADAInput ノードの「妥当性検査」プロパティーについては、次の表に説明されています。

これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明
妥当性検査 いいえ はい なし このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」「内容と値」、および「内容」です。
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める いいえ いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスを選択すると、基本値制約検査が「内容と値」妥当性検査に含まれます。
修正 いいえ いいえ なし このプロパティーは編集できません。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:43

ac04620_