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 リスナーを開始または停止するように要求できます。この要求は、すべてのポートまたはメッセージ内で識別される単一ポートに対して適用できます。
z/OS® システム上にデプロイされるメッセージ・フロー中で、SCADAInput ノードを使用することはできません。
着信 SCADA メッセージ内のデータを処理する場合には、ResetContentDescriptor ノードのようなノードを組み込んでそのプロパティーを設定し、以降のノードによるビット・ストリームの強制的再解析を行います。
サブフローとして使用するメッセージ・フローを作成する場合には、標準入力ノードを使用することはできず、Input ノードを最初のノードとして使用して、サブフロー用の In ターミナルを作成する必要があります。
ご使用のメッセージ・フローが SCADA 接続を経由してメッセージを受け取らない場合には、サポートされる入力ノードのいずれかを選択します。
SCADAInput ノードはパレットの「追加プロトコル」ドロワーに含まれていて、ワークベンチ内では次のアイコンによって表されます。
このノードの使用方法の例として、リモート・センサーが操作環境の変化 (屋外温度の低下など) を検出した場合に、リモート・センサーからのメッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成すると想定します。 このノードを MQOutput ノードに接続します。後者のノードは、これらのメッセージを WebSphere MQ アプリケーションがサービスするキューで使用可能にします。 このアプリケーションは、受信した情報を分析して、これに応答します。
別の例として、リモート・システムから毎分メッセージを受信するメッセージ・フローを、SCADAInput ノードを使って作成します。 メッセージには、システムのスイッチ設定の詳細が含まれています。受信されたデータは、ResetContentDescriptor ノードに送られ、バイナリー (BLOB) から MRM メッセージ形式にキャストされます。システムに関する情報は、Database ノードを使用してデータベースに保管され、Compute ノードを使用して拡充され、Publication ノードを使用してパブリッシュされる XML メッセージが作成されます。
XML メッセージは、送信するのに費用がかかるため (サテライト伝送はバイトごとに費用がかかるため)、データがブローカーによって拡充されるときにこの方法を使用することには利点があります。
SCADAInput ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。詳しくは、メッセージ・フロー・ノードの構成を参照してください。ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
ブローカー・データベースとして DB2® を使用している場合、DB2 構成パラメーター maxappls および maxagents に設定した値以下の値を指定する必要があります。 詳細については、 データベースへの ODBC 接続の使用可能化を参照してください。
多くのクライアント (200 を超えるクライアント) が接続する場合にのみ、このオプションを使用します。
XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ・セット」はブランクのままにしてください。
XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ・タイプ」はブランクのままにしてください。
XML、XMLNS、XMLNSC、および BLOB パーサーの場合、「メッセージ形式」はブランクのままにしてください。
詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。
SCADAInput ノードは、Out ターミナルに正常に取り出される各メッセージをルーティングします。 このアクションが失敗すると、メッセージは Failure ターミナルに伝搬されます。ノードをこのターミナルに接続し、この状態を処理することができます。 Failure ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。
メッセージ・フロー内でさらに例外がスローされた後、このノードによってメッセージがキャッチされる場合、メッセージは Catch ターミナルにルーティングされます。 Catch ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。 メッセージがメッセージ・フロー内でロールバックする可能性がある場合には、ノードが常時このターミナルに接続されているようにしてください。
メッセージ・フローに SCADAInput ノードを組み込む場合、「トランザクション・モード」で設定した値が、メッセージを同期点下で受信するかどうかを定義します。
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 | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、および「内容」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | いいえ | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスを選択すると、基本値制約検査が「内容と値」妥当性検査に含まれます。 |
修正 | いいえ | いいえ | なし | このプロパティーは編集できません。 |