TI TCP/IP の負荷分散
CICS および IMS TCP/IP リモート環境用にトランザクション インテグレーター (TI) を構成してあると、TI で TCP/IP ポートの負荷を分散できます。 負荷分散を有効にするには、リモート環境を作成するときに複数の TCP ポート番号を指定します。これにより、単一のホスト システム上の冗長な CICS または IMS 領域への接続が有効になります。 次の図では、TI での TCP ポート負荷分散ソリューションを示します。
TCP/IP アドレスを受信し、それを CICS ポート 3000 と 3001 に送信するトランザクション インテグレーター
最初の TCP ポートは最初のトランザクションによって使用され、呼び出されるトランザクションごとに構成されているすべてのポートが順番に使用されます。
以下のセクションでは、CICS と IMS のホスト構成の詳細についてさらに説明します。
CICS TCP/IP プラットフォームの要件
CICS は次のバージョンに依存します。
TCP/IP バージョン 3R2
CICS バージョン 3.3 以降
TCP/IP を使用した CICS への接続
CICS により、IBM 提供のコンカレント リスナー (プログラム EZACIC02、トランザクション ID CSKL) を使用して、TCP/IP との対話が確立されます。 CICS タスクとして実行されるリスナーにより、接続プロセスが容易になります。 リスナー トランザクションは、CICS TCP/IP が開始されて有効になると、自動的に開始されます。 リスナーは、開始するときに、TCP/IP からの接続要求をリッスンできるソケットを取得します。 リスナーは、このソケットを指定されたポートにバインドし、そのポートでクライアント要求を待機します。 TCP/IP によって、ポート番号と CICS ジョブの関係が維持されます。 クライアントによって CICS に関連付けられているポートで要求が行われると、接続要求は TCP/IP によりその CICS ジョブのリスナーに転送されます。
TCP/IP から CICS への構成
TCP/IP のポート番号は、TCP/IP プロファイル データ セット (hlq.PROFILE.TCPIP) の CICS 領域に関連付けられています。 この関係は、ポート ステートメントを使用して定義します。 ポート 3000 を CICS ジョブ CICSRG に関連付けるポート ステートメントの例を次に示します。
3000 TCP CICSRG
CICS から TCP/IP への構成
次のホスト定義の例では、EZAC トランザクションを使用した CICS から TCP への構成パラメーターを示します。 太字の項目は、CICS トランザクションです。
ENTER ONE OF THE FOLLOWING
CICS ===> yes Enter Yes|No
LISTENER ===> Enter Yes|No
ENTER ALL FIELDS
APPLID ===> CICSRG APPLID of CICS System
EZAC,DEFINE,CICS
OVERTYPE TO ENTER
APPLID ===> CICSRG APPLID of CICS System
TCPADDR ===> TCPIP Name of TCP Address Space
NTASKS ===> 020 Number of Reusable Tasks
DPRTY ===> 000 DPRTY value for ATTACH
CACHMIN ===> 015 Minimum Refresh Time for Cache
CACHMAX ===> 030 Maximum Refresh Time for Cache
CACHRES ===> 010 Maximum number of Resolvers
ERRORTD ===> CSMT TD Queue for Error Messages
次のホスト定義の例では、EZAC トランザクションを使用した CICS コンカレント リスナーの構成パラメーターを示します。 太字の項目は、CICS トランザクションです。
EZAC,DEFINE
ENTER ONE OF THE FOLLOWING
CICS ===> Enter Yes|No
LISTENER ===> yes Enter Yes|No
ENTER ALL FIELDS
APPLID ===> CICSRG APPLID of CICS System
NAME ===> xyz TRANSACTION NAME OF LISTENER
EZAC,DEFINE,LISTENER
OVERTYPE TO ENTER
APPLID ===> CICSRG APPLID of CICS System
TRANID ===> XYZ Transaction Name of Listener
PORT ===> 03000 Port Number of Listener
IMMEDIATE ===> YES Immediate Startup Yes|No
BACKLOG ===> 010 Backlog Value for Listener
NUMSOCK ===> 050 Number of Sockets in Listener
MINMSGL ===> 004 Minimum Message Length
ACCTIME ===> 060 Timeout Value for ACCEPT
GIVTIME ===> 030 Timeout Value for GIVESOCKET
REATIME ===> 000 Timeout Value for READ
FASTRD ===> YES Read Immediately Yes|No
TRANTRN ===> YES Translate TRNID Yes|No
TRANUSR ===> YES Translate User Data Yes|No
SECEXIT ===> Name of Security Exit
IMS TCP/IP プラットフォームの要件
IMS は次のバージョンに依存します。
TCP/IP バージョン 3R2
IMS バージョン 4 以降
TCP/IP を使用した IMS への接続
IMS により、リスナーを使用して TCP/IP との対話が確立されます。 IMS バッチ メッセージ処理 (BMP) のリスナーは、接続プロセスを容易にするのに役立ちます。 リスナーは、開始するときに、TCP/IP からの接続要求をリッスンできるソケットを取得します。 リスナーは、このソケットを指定されたポートにバインドし、そのポートでクライアント要求を待機します。
TCP/IP によって、ポート番号と IMS リスナー BMP の関係が維持されます。 クライアントによって IMS に関連付けられているポートで要求が行われると、接続要求は TCP/IP によりその BMP のリスナーに転送されます。
TCP/IP から IMS への構成
TCP/IP のポート番号は、TCP/IP プロファイル データ セット (hlq.PROFILE.TCPIP) 内の IMS バッチ処理領域 (BPR) に関連付けられています。 この関係は、ポート ステートメントを使用して定義します。 ポート 3000 とジョブ名が WNWIBPR1 の IMS バッチ領域を関連付けるポート ステートメントの例を次に示します。
3000 TCP WNWIBPR1
IMS から TCP/IP への構成
IMS MPP は、プログラム名 IMS に IBM 提供リスナー プログラム (EZAIMSLN) を指定することで開始されます。 このリスナーにより、DD ステートメント LSTNCFG で示される構成ファイルが読み取られます。 この構成データ セットには、次のスタートアップ パラメーター セットが 1 つ以上含まれます (1 つ以上の CR に対して定義されたトランザクションごとに 1 セット)。
TCPIP ステートメント
LISTENER ステートメント
TRANSACTION ステートメント
TCPIP ステートメントは、このリスナーの接続を管理する TCP/IP アドレス空間のジョブ名を識別するために使用されます。
LISTENER ステートメントは、このリスナーによって使用されるポート番号を指定するために使用されます。 このステートメントでは、バックログやタイム アウト値など、他のポート関連パラメーターも指定します。
TRANSACTION ステートメントでは、このリスナーによって開始できるトランザクションの一覧を定義します。 さらに、このステートメントでは、暗黙または明示どちらの接続モードを使用するかを定義します。
使用する TCP/IP ポートと、TCP/IP 経由でアクセスできるトランザクションをリスナーに通知するこれら 3 つのパラメーター ステートメントが、リスナーによって使用されます。
IMS から TCP/IP へのホスト定義の例を次に示します。
TCPIP ADDRSPC=WNWTCP31
LISTENER PORT=4000 BACKLOG=50
TRANSACTION NAME=TRANIMPL TYPE=IMPLICIT
TRANSACTION NAME=TRANEXPL TYPE=EXPLICIT