SCADAInput ノード

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

目的

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

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

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

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

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

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

SCADAInput ノードは、次のメッセージ・ドメインのメッセージを処理します。

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMSMap
  • JMSStream
  • MIME
  • BLOB
  • IDOC

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

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

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

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

ワークベンチでは、SCADAInput ノードは次のアイコンで表されます。

SCADAInput ノード・アイコン

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

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

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

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

SCADAInput ノードの構成

SCADAInput ノードのインスタンスをメッセージ・フローに入れると、SCADAInput ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。ノードの基本プロパティーが、プロパティー・ダイアログに表示されます。

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

以下のように、SCADAInput ノードを構成します。

  1. 以下のように基本プロパティーを設定します。
    1. 始動時にリスナーを使用可能にする」チェック・ボックスは、最初から選択されています。 これは、メッセージ・フローがデプロイされたときに MQIsdp クライアントのリスナーが初期化されることを意味します。

      メッセージ・セットのペイロード部分を「オン」または「オフ」にセットした制御トピック $SYS/SCADA/MQIsdpListener/<port_number> でパブリッシュすることによって、リスナーの状況を更新することができます。

    2. MQIsdp サーバーが listen する「ポート」番号を指定します。 これは固有のポートにする必要があります。 他のリスナー (例えば、WebSphere MQ または WebSphere MQ Everyplace 用に設定されているリスナー) と競合しないようにしてください。 デフォルト番号は、1883 です。
    3. スレッドの最大数」の値を設定して、MQIsdp サーバーが クライアントをサポートするために処理できるスレッドの最大数を示します。 デフォルト値は 500 です。

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

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

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

  2. プロパティー・ダイアログ・ナビゲーターで「デフォルト」を選択して、着信メッセージの構文解析方法を決定するのにノードが使用するメッセージ・ドメイン、メッセージ・セット、メッセージ・タイプおよびメッセージ形式を記述するプロパティーの値を設定し、メッセージに関連したデフォルト・トピックの値を設定します。
    • 着信メッセージに MQRFH2 ヘッダーがある場合には、その MQRFH2 ヘッダーの <mcd> フォルダーから値を取り込めるため、「デフォルト」プロパティーの値を設定する必要はありません。以下に例を示します。
      <mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
      <Fmt>XML</Fmt></mcd>

      MQRFH2 ヘッダーの値とは異なる値を設定すると、MQRFH2 ヘッダーの値が優先されます。

    • メッセージ・ドメイン」では、ドロップダウン・リストから使用するパーサーの名前を選択します。以下の名前から選択できます。
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
    • MRM または IDOC パーサーを使用する場合は、「メッセージ・セット」のドロップダウン・リストから、適切なメッセージ・セットを選択します。 このリストには、ドメインとして MRM または IDOC を選択する場合に選択可能なメッセージ・セットが取り込まれます。

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

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

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

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

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

  3. プロパティー・ダイアログ・ナビゲーターで「拡張」を選択し、「トランザクション・モード」に必要な値を設定して、このメッセージの処理方法についてのトランザクション特性を定義します。
    • 「自動」を選択した場合、着信メッセージに持続のマークが付けられている場合に同期点下で受信され、そうでないときは受信されません。出力ノードによってその後に送信される派生メッセージのトランザクション特性は、出力ノードが明示的にトランザクション特性をオーバーライドしない限り、着信持続プロパティーによって判別されます。
    • 「はい」を選択すると、着信メッセージが同期点下で受信されます。 メッセージ・フローと同じインスタンスの出力ノードによってその後に送信される派生メッセージは、出力ノードが明示的にトランザクションをオーバーライドしない限り、トランザクションとして送信されます。
    • 「いいえ」を選択すると、着信メッセージが同期点下で受信されません。 フローの出力ノードによってその後に送信される派生メッセージは、出力ノードがメッセージを同期点下に置くことを指定していない限り、非トランザクションとして送信されます。
  4. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

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

  5. プロパティー・ダイアログ・ナビゲーターで「一般メッセージ・オプション」を選択します。 「解析のタイミング」は、デフォルトで、「要求時」に設定されます。 この設定では、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。 設定を「即時」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 設定を「完全」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは 妥当性検査障害が生じます。
  6. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  7. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに SCADAInput ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。

ターミナルの接続

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明
妥当性検査 はい はい 「なし」 妥当性検査が行われるかどうか。有効な値は、「なし」「内容と値」、および「内容」です。
失敗処置 はい いいえ 例外 妥当性検査に障害が発生した場合の動作。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める はい いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。
修正 はい いいえ 「なし」 このプロパティーは編集できません。

SCADAInput ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。

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

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

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 「False」 このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。

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

プロパティー M C デフォルト 説明
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 はい 選択されていない 「いいえ」 変更の始まりこのプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。このプロパティーを設定すると、入力 RFH2 ヘッダーまたはデフォルト・プロパティー・ドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されることに注意してください。変更の終わり
混合内容保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。
コメント保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。
処理命令保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。

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

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04620_