CICSRequest ノードを使用して、TCP/IP ベースの IP InterCommunications (IPIC) プロトコルを介して CICS® Transaction Server for z/OS® プログラムを呼び出します。
CICSRequest ノードを使用して、WebSphere® Message Broker を CICS アプリケーションに接続できます。 CICSRequest ノードは、分散プログラム・リンク (DPL) 要求を TCP/IP ベースの IP InterCommunications プロトコル (IPIC) を介して送信し、CICS と通信します。 ターゲットとなる領域で CICS アプリケーションを呼び出す CICSRequest ノードが含まれているメッセージ・フローを作成できます。 CICSRequest ノードは、任意のブローカー・プラットフォームにデプロイされたメッセージ・フローで使用できます。 CICSRequest ノードは、CICS Transaction Server for z/OS バージョン 3.2 以降をサポートします。
CICSRequest ノードを使用できる方法の 1 つは、同期スタイルのメッセージ・フローを使用することにより、CICS アプリケーションに接続することです。 この接続は、以下のメッセージ・フローを作成することによって達成できます。
WebSphere Message Broker の CICSRequest ノード・サポートは、分散プログラム・リンク (DPL) 要求を TCP/IP ベースの IPIC を介して送信することによる CICS との直接の通信 (2 層接続)、または CICS Transaction Gateway for Multiplatforms を介した CICS との通信 (3 層接続) を提供します。 2 層接続モデルと 3 層接続モデルについて詳しくは、CICS Transaction Server for z/OSの概要 (概要)、または CICS Transaction Server for z/OS 2 層接続および CICS Transaction Server for z/OS 3 層接続 (詳細な概念情報) を参照してください。
CICS プログラムへのリンク用の入力として使用するために、CICSRequest ノードにおいて、COMMAREA データ構造またはチャネル・データ構造のどちらかを指定できます。 入力として指定したデータ構造は、出力として同じデータ構造を戻します。 チャネルは COMMAREA の代わりとなり、COMMAREA の最大サイズ (32767 バイト) を緩和して、入出力データ構造に一層の柔軟性を持たせることができます。 COMMAREA データ構造またはチャネル・データ構造の使用について詳しくは、COMMAREA データ構造またはチャネル・データ構造を参照してください。
CICS チャネルは、コンテナーと呼ばれる複数の構造を保持します。 WebSphere Message Broker では、CICS チャネルはメッセージ・コレクション構造として表されます。 メッセージ・コレクションは子メッセージを持つことができ、CICSRequest ノードによってそれぞれがコンテナーとして扱われます。 ESQL を使用してメッセージ・コレクションを作成する方法については、ESQL によるメッセージ・コレクションの作成を参照してください。
単一のコンテナーが入力だけに必要とされる場合、メッセージ・コレクションを構成する必要はありません。 代わりに通常のメッセージを使用し、最大 16 文字の英数字からなるチャネル名と、最大 16 文字の英数字で構成される単一のコンテナー名をローカル環境で指定します。 単一メッセージ・モードの使用について詳しくは、COMMAREA データ構造またはチャネル・データ構造を参照してください。
応答に含まれるコンテナー数を把握することはできないので、出力としては常にメッセージ・コレクションが生成されます。 ただし、CICSRequest ノードの「結果データのロケーション」プロパティーを使用すると、結果ツリーを 1 つのメッセージ・フォルダーや、1 つの出力のフィールドまたはサブツリーにまで減らすことができます。
名前値属性をメッセージ・コレクションに追加して、CICS コンテナーを作成できます。 メッセージ・コレクションで単純データに対して、CollectionName とは別の名前値属性を完全なメッセージ・フォルダーの代わりに使用できます。 例えば、メッセージ・コレクションで名前値ストリング属性を設定すると、そのエレメントのメッセージ・セットを作成しないでも、CICSRequest ノードがこの属性を直接使用することができます。 属性の使用法については、COMMAREA データ構造またはチャネル・データ構造を参照してください。
名前値属性は出力のコンテナーから生成できますし、入力としても受け入れられます。 コンテナーからメッセージ・フォルダーではなく属性を作成するには、「応答メッセージの構文解析」タブにあるチェック・ボックスを選択します。
CICSRequest ノードはメッセージ・フローのノード・パレットの CICS ドロワーに含まれ、WebSphere Message Broker Toolkit では、次のアイコンで表されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
CICSRequest ノードでは、そのノードで定義されているセキュリティー・プロファイルの「伝搬」プロパティーを使用することによって、入力メッセージに含まれている ID を利用して、その ID を CICS に伝搬できます。 詳しくは、セキュリティー資格情報を CICS Transaction Server for z/OS に伝搬する操作およびID およびセキュリティー・トークンの伝搬を参照してください。
CICS タスクとプログラムを実行するミラー・トランザクション名を CICSRequest ノードに指定できます。 このグループ化は統計収集やアカウンティングに役立ち、タスクの優先順位を決定する際にも有用です。 ミラー・トランザクションについて詳しくは、CICS Transaction Server for z/OS ミラー・トランザクションを参照してください。
CICSRequest ノードの構成可能サービスの使用:
CICSRequest ノードを、構成可能サービスから接続の詳細を入手するように構成できます。 構成可能サービスの作成、変更、報告、および削除について詳しくは、CICSRequest ノードの接続情報の変更を参照してください。
CICSRequest ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。
値を入力する必要のあるすべての必須プロパティー (デフォルト値が定義されていないプロパティー) には、アスタリスクが表示されます。
整合トランザクションのための CICSRequest ノードの構成:
「トランザクション・モード」に設定する値によって、CICSRequest ノードに対する要求が、トランザクションまたは非トランザクションのどちらとして処理されるかが定義されます。
異常終了が発生したとき、CICSRequest ノードがブローカー・トランザクションに参加するように構成されている場合は、CICS タスクが即時にロールバックされます。 複数の CICS ノードが作業単位に含まれる場合、異常終了がエラーまたは障害ターミナルで処理されるのかどうかに関係なく、各ノードの CICS アクティビティーがロールバックされます。 メッセージの処理時に CICS によって実行される後続の処理は新しい作業単位で実行されます。
ローカル環境でメッセージごとに値を動的に指定変更できます。 呼び出す CICS プログラム、COMMAREA の長さ、ミラー・トランザクション、応答メッセージの処理に関する指定変更が可能です。 詳しくは、ローカル環境の指定変更 (CICSRequest ノード)を参照してください。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 CICSRequest ノードは、In ターミナルに着信するメッセージにより駆動されます。 データはメッセージ・ツリーから取得されて、CICS に送られます。 |
Out | CICS から戻されるデータを含む、メッセージ・ツリーの伝搬元の出力ターミナル。 |
Failure | CICSRequest ノードの例外が検出された場合、または CICSRequest ノードから CICS への接続障害が生じた場合に、メッセージがルーティングされる出力ターミナル。 |
Error | CICS エラー (アベンド) が生じた場合に、メッセージの伝搬先となる出力ターミナル。 入力メッセージは、LocalEnvironment の CICS¥AbendCode フィールドと共に伝搬されます。 Error ターミナルが接続されていない場合に CICS アベンドが発生すると、アベンドは失われます。 |
Timeout | 個別の要求が CICS に送られ、要求に時間がかかりすぎて要求ごとのタイムアウトが生じた場合に、メッセージの伝搬先となる出力ターミナル。 出力メッセージには、入力メッセージ本体と、ExceptionList 内のタイムアウト例外が含まれています。 Timeout ターミナルが接続されていないでタイムアウトが起こると、要求タイムアウト例外は Failure ターミナルにルーティングされます。 Failure ターミナルに接続していない場合は、ブローカーが例外をスローし、その例外を処理できる直近のアップストリーム・ノードに制御を戻します。 デフォルト動作では、メッセージが入力ノードに戻されます。 |
以下の表は、CICSRequest ノード・プロパティーについて説明しています。
M の見出しの表列では、プロパティーが必須 かどうかを示します。 例えば、アスタリスクのマークが付いたプロパティーは、デフォルトが定義されていない場合に値を入力する必要があることを示します。
C の見出しの列では、プロパティーが構成可能 かどうかを示します。 例えば、メッセージ・フローを BAR ファイルに追加して、デプロイするときに値を変更できます。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | はい | いいえ | CICS 要求 | ノードの名前。 |
簡略説明 | いいえ | いいえ | なし | ノードの簡単な説明 |
詳細説明 | いいえ | いいえ | なし | メッセージ・フロー内のノードの目的を説明するテキスト |
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
CICS サーバー | はい | はい | なし | 「CICS サーバー」プロパティーは、myCICSConnection などの構成可能サービス名、または URL のいずれかとして定義されます。 URL により、プロトコル、ホスト名、およびポート番号を指定できます。
これは、CICS ターゲット領域に接続するために必要な最小限の情報です。 URL は次のような構造をしていなければなりません。 protocol://hostname:port それぞれの意味は以下のとおりです。
例えば、tcp://mycicsregion.com:12345 または ssl://mycicsregion.com:56789 のようになります。 hostname および port 値は、ターゲットの CICS 領域にある IPIC TCPIPSERVICE 定義から取得できます。 |
cicsServer |
プログラム名 | はい | いいえ | なし | 「プログラム名」プロパティーは、呼び出しているターゲットの CICS 領域にあるアプリケーションの名前です。 COMMAREA またはチャネルを使用するプログラムがサポートされます。 以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
|
データ構造 | はい | いいえ | 通信域 | COMMAREA データ構造とチャネル・データ構造のどちらを使用するか。 このプロパティーのデフォルトは、「通信域」です。 どちらにするかは、ターゲットの CICS プログラムによって異なります。例えば、ターゲット・プログラムがチャネル・ベースかどうかによって異なります。 | |
通信域の長さ | はい | いいえ | 0 | 「通信域の長さ」プロパティーは、 CICS プログラムが使用する COMMAREA のサイズをバイト数で示します。 このバイト・サイズ値は、 CICS に送信され、 プログラムが開始する前に、その数値と一致するメモリーの領域が作成されます。 例えば、「通信域の長さ」値として 100 を送信すると、100 バイトが割り当てられます。 プログラムは、DFHCOMMAREA としてこの領域にアクセスします。 「通信域の長さ」プロパティー値は、 入力要求データまたは出力応答データを入れるのに十分な長さで、 最大値の 32767 バイトを 超えないようにしてください。 「通信域の長さ」値の長さが応答データまたは要求データで 使用するために十分でない場合は、CICS でメモリー・リークが 生じます。 COMMAREA のサイズを CICS プログラムで変更することはできません。 直列化された要求データが通信域の長さよりも大きい場合、データは通信域の長さとなるように切り捨てられます。 通信域の長さの値は、CICS 管理者または開発者から入手できます。 以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
このプロパティーは、「データ構造」プロパティーに値「チャネル」を選択すると構成できません。 |
|
セキュリティー ID | いいえ | はい | なし | mqsisetdbparms コマンドで作成して構成するセキュリティー ID オブジェクトの名前。
そのオブジェクトには、ブローカーが CICS への接続を認証するときに使用するユーザー ID とパスワードが入っています。
ブローカーがアクセスするセキュリティー ID のユーザー ID とパスワードを設定するには、mqsisetdbparms コマンドを使用します。 このプロパティーのデフォルト値は None で、それはユーザー ID およびパスワードが CICS に渡されないことを意味しています。 CICS のセキュリティー ID サポートの詳細については、mqsisetdbparms コマンドを参照してください。 |
securityIdentity |
要求タイムアウト (秒) | はい | はい | 120 | CICS に送信される個別の要求がここに指定された時間よりも長くかかる場合、要求の試行が中止されます。 要求タイムアウトにより、例外が Timeout ターミナルから伝搬されます。 Timeout ターミナルに接続していない場合は、要求タイムアウト例外は Failure ターミナルにルーティングされます。 Failure ターミナルに接続していない場合は、ブローカーが例外をスローし、その例外を処理できる直近のアップストリーム・ノードに制御を戻します。 デフォルト動作では、メッセージが入力ノードに戻されます。 値の 0 は、タイムアウトが生じないことを示します。 |
requestTimeoutSecs |
ミラー・トランザクション ID | いいえ | はい | なし | このプロパティーを構成すると、ミラー・トランザクション名を指定できます。ただし、指定する「ミラー・トランザクション ID」プロパティー値は、CICS の定義済みの TRANSACTION リソースに対応していなければなりません。 例えば、CICS で TRANSACTION リソース ATRN が定義されている場合、そのトランザクションでタスクとプログラムを実行するには、「ミラー・トランザクション ID」プロパティー値を ATRN に構成しなければなりません。 構成済みの CICSRequest ノードが含まれるメッセージ・フローがデプロイされると、その後に開始される CICS プログラムは、指定のミラー・トランザクションで実行されているものとして CICS に表示されます。 「ミラー・トランザクション ID」プロパティーの値が設定されていない場合、ミラー・トランザクション名のデフォルト設定は、分散プラットフォームによって呼び出される場合には CPMI、z/OS システムによって呼び出される場合には CSMI になります。 ミラー・トランザクションについて詳しくは、CICS Transaction Server for z/OS ミラー・トランザクションを参照してください。 |
mirrorTran |
EIBTRNID のみを設定 | いいえ | はい | 選択されていない | TRANSACTION リソースを変更しないものの、呼び出されるプログラムで使用可能な EIBTRNID という変数を設定する、より弱い形式のミラー・トランザクションを使用できます。 EIBTRNID 変数を構成すると、TRANSACTION リソースを CICS で定義することなく、プログラムに対して実行元の TRANSACTION リソースを通知できます。 例えば、「ミラー・トランザクション ID」プロパティーには必要な TRANSACTION リソースの名前 (ATRN など) を構成し、こちらのプロパティーは選択状態にすることにより、このより弱い形式のミラー・トランザクションを指定できます。 構成済みの CICSRequest ノードが含まれるメッセージ・フローがデプロイされると、その後に開始される CICS プログラムは、指定のミラー・トランザクションで実行されているものとして CICS に表示されます。 「ミラー・トランザクション ID」プロパティーの値が設定されていない場合、ミラー・トランザクション名のデフォルト設定は、分散プラットフォームによって呼び出される場合には CPMI、z/OS システムによって呼び出される場合には CSMI になります。 ミラー・トランザクションについて詳しくは、CICS Transaction Server for z/OS ミラー・トランザクションを参照してください。 |
eibtrnidOnly |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランザクション・モード | いいえ | いいえ | 自動 | 更新の管理方法を指定します。
トランザクション特性の詳細については、メッセージ・フローのトランザクションを参照してください。 |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
データのロケーション | はい | いいえ | $Body | CICSRequest ノードから CICS に送信される要求を形成するためのデータの取得元になる受信メッセージ・ツリー内での場所。 デフォルト値の $Body は、着信メッセージ本体を表します。 直列化して CICS に送信するために、メッセージ・ツリーのロケーションを定義する、任意の XPath または ESQL 式を入力できます。 |
プログラム名がロケーションをオーバーライドします | いいえ | いいえ | $LocalEnvironment/Destination/CICS/CICSProgramName | CICS で実行するプログラムの名前が含まれているメッセージ・アセンブリーのエレメント。 |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
結果データのロケーション | いいえ | いいえ | $ResultRoot | このプロパティーは、メッセージに入れる結果のサブツリーを指定します。 このプロパティーで値を指定しないと、デフォルトで $ResultRoot が使用されて、出力メッセージ内の「出力データのロケーション」で指定された位置に応答全体が入ります。 結果メッセージと着信メッセージの結合を参照してください。 |
出力データのロケーション | いいえ | いいえ | $OutputRoot | CICSRequest ノードが出力を送信する宛先のメッセージ・ツリーのロケーション。
デフォルト値の $OutputRoot は、着信メッセージを応答で置き換えます。 結果メッセージと着信メッセージの結合を参照してください。 |
ローカル環境のコピー | いいえ | いいえ | 選択されている | このプロパティーは、着信ローカル環境をコピーするか、着信ローカル環境を伝搬するかを制御します。 デフォルトでは、このチェック・ボックスは選択されていて、着信ローカル環境が保存されるように、ローカル環境がコピーされることを意味しています。 ローカル環境への追加は、このノードのダウンストリームのノードにおいてのみ可視となります。 このチェック・ボックスがクリアされると、着信ローカル環境は、出力メッセージに使用されます。 このノードによって行われたローカル環境に対する変更は、このノードが完了した後に、ダウンストリームとアップストリームの両方のノードで可視となります。 |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
メッセージ・ドメイン | いいえ | いいえ | なし |
以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
メッセージ・セット | いいえ | いいえ | なし |
このプロパティーを設定してから、プロジェクトの依存関係を更新してこのメッセージ・セットの参照を削除すると、警告が発行されます。 「メッセージ・セット」プロパティーを更新するか、このメッセージ・セット・プロジェクトへの参照を復元してください。 以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
メッセージ・タイプ | いいえ | いいえ | なし |
以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
メッセージ形式 | いいえ | いいえ | なし |
以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
メッセージ・コード化文字セット ID | いいえ | いいえ | EBCDIC (037) |
以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
有効な値のリストについては、サポートされるコード・ページを参照してください。 |
メッセージ・エンコード | いいえ | いいえ | ビッグ・エンディアン、S390 浮動小数点 (785) |
有効な値は以下のとおりです。
以下の場所に値を指定することにより、ローカル環境でこのプロパティーをオーバーライドできます。
|
「チャネル・オプション」表でコンテナーの詳細を指定すると、それらのコンテナーの詳細情報はデフォルトのメッセージ・テンプレート・プロパティーの設定として使用されます。 「チャネル・オプション」表でコンテナーの詳細を指定しないで、属性チェック・ボックスを選択すると、名前値ペアが作成されます。 「チャネル・オプション」表でコンテナーの詳細を指定しないで名前値属性のチェック・ボックスも選択しない場合には、デフォルトのメッセージ・テンプレート・プロパティーが使用されます。
CICSRequest ノードの「パーサー・オプション」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | はい | いいえ | 要求時 | このプロパティーは、いつ応答メッセージを解析するかを制御します。 有効な値は、「要求時」、「即時」、および「完全」です。 このプロパティーに関する詳しい説明については、要求時の構文解析を参照してください。 |
XML スキーマ・データ・タイプを使用してツリーを構築する | はい | いいえ | 選択されていない | このプロパティーは、XML スキーマから取得されたデータ・タイプを使って、XMLNSC パーサーがメッセージ・ツリー内に構文エレメントを作成するかどうかを制御します。 「妥当性検査」タブ上の「妥当性検査」プロパティーを「内容」 または 「内容と値」 に設定した場合にのみ、このプロパティーを選択できます。 |
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | はい | いいえ | 選択されていない | このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定した場合に、入力 MQRFH2 ヘッダーまたは「応答メッセージの構文解析」プロパティー・ドメインが XMLNS であると、出力ターミナルに接続されているノードの XMLNSC の下に応答メッセージ・データが表示されます。 |
混合内容の保存 | はい | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが応答メッセージ内で混合テキストを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。 |
コメントの保存 | はい | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが応答メッセージ内でコメントを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。 |
処理命令の保存 | はい | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが応答メッセージ内で処理命令を検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。 |
不透明エレメント | いいえ | いいえ | ブランク | XMLNSC パーサーによって不透明解析される応答メッセージ内のエレメントのリストを指定するときに、このプロパティーを使用します。 不透明解析が実行されるのは、妥当性検査が使用不可に設定されている場合のみ (つまり、「妥当性検査」が「なし」の場合) です。妥当性検査が使用可能な場合、「不透明エレメント」で指定される項目は無視されます。 |
CICSRequest ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
妥当性検査 | はい | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 | validateMaster |
失敗時の処置 | はい | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |