OpenFrame CTGの紹介
本章では、OpenFrame CTGを実行するためにリソース・アダプターを構成する方法および環境設定方法について説明します。
1. 概要
OpenFrame OSCは、OSCアプリケーション・サーバーが管理するプログラムを外部から実行できるOpenFrame CTG(CICS Transaction Gateway)プログラムを提供します。
OpenFrame CTGは、OpenFrameのトランザクションを呼び出すためのAPIであるECI(External Call Interface)を提供します。OpenFrameがサポートしていない外部アプリケーション・プログラムは、ECIを利用してOpenFrame OSCリージョンのリソースとして登録されたプログラム(COBOL、PL/I)を呼び出します。
本章では、JCA準拠のOpenFrame CTGの動作プロセスと環境設定について説明します。OpenFrame CTGは、J2EE Connector Architecture(J2CA)仕様に基づいたリソース・アダプターとして機能するライブラリ・パッケージです。
2. OpenFrame CTGの動作プロセス
以下の図は、OpenFrame CTGを使用してアプリケーションとOSCリージョン間のデータを処理するプロセスを示しています。

-
WAS(Web Application Server)上で実行されるJavaアプリケーション・プログラムが、ECIインターフェースを介してOIVPECITプログラムの実行を要求します。
-
OFCTG(OpenFrame CTG)を使用するために、Webアプリケーション・サーバーのベンダー固有の設定とJCA設定を行います。詳細については、リソース・アダプターの構成を参照してください。
-
要求を受けたOSCリージョンは、CPMIデフォルト・トランザクションを実行します。
-
トランザクションに該当するDFHMIRSプログラムが実行されます。
-
DFHMIRSプログラムは、要求されたOIVPECITプログラムをリンクを使用して呼び出し、COMMAREAを渡します。
-
OIVPECITプログラムは、データベースにアクセスして必要なデータを取得します。
-
データをCOMMAREAに保存して返すと、クライアントにCOMMAREAのデータと戻り値が返されます。
3. リソース・アダプターの構成
OpenFrame CTGを使用するには、まずリソース・アダプターを構成する必要があります。リソース・アダプターには、Webアプリケーション・サーバーのベンダー固有の設定とJCA設定を行います。
com.tmax.ofctg.connector.cicsパッケージ・クラスを利用する場合は、ra.xmlファイルにリソース・アダプターに設定可能な名前とタイプを設定する必要があります。ra.xmlの設定例は、リソース・アダプター設定ファイルを参照してください。
以下は、リソース・アダプターの設定項目についての説明です。
プロパティ名 | プロパティ・タイプ | プロパティ値 |
---|---|---|
backup |
java.lang.String |
OSCサーバーのバックアップ・ホスト・アドレスを指定します。 |
backup_port |
java.lang.Integer |
OSCサーバーのバックアップ・ホストのポート番号を指定します。support_xaをtrueに指定した場合は、OSCのTmax環境設定に定義されたJEUSGWポート番号を指定する必要があります。 |
connectionName |
java.lang.String |
ロギングなどの際に内部で使用される接続名を指定します。 |
connectionTimeout |
java.lang.Integer |
OSCサーバーへの接続タイムアウトを指定します。 (単位: 秒) |
encryption |
java.lang.Boolean |
暗号化するかどうかを指定します。 TmaxPortで接続する場合にのみ使用できます。この場合は、support_xaをfalseに指定してください。XAを使用するためにJEUSGWと通信する場合には使用できません。 |
headerType |
java.lang.String |
OpenFrame CTGがOSCサーバーと通信時に使用するプロトコルを指定します。現在は、extendedV4のみサポートしています。 |
host |
java.lang.String |
OSCサーバーのホスト・アドレスを指定します。 |
host_port |
java.lang.Integer |
OSCサーバーのホストのポート番号を指定します。support_xaをtrueに指定した場合は、OSCのTmax環境設定に定義されたJEUSGWポート番号を指定する必要があります。 |
logBufSize |
java.lang.Integer |
OpenFrame CTGがログを記録時に使用するバッファーのサイズです。ログ・サイズが設定値に達すると、ファイルに記録されます(デフォルト値: 512バイト)。 |
logDir |
java.lang.String |
OpenFrame CTGが作成するログ・ファイルを保存するパスを指定します。 |
logFile |
java.lang.String |
OpenFrame CTGが作成するログ・ファイルの名前を指定します。 |
logFileFormat |
java.lang.String |
OpenFrame CTGが作成するログ・ファイル名の後ろに付ける日付の形式を指定します(デフォルト値: MMddyyyy)。 |
logLevel |
java.lang.String |
OpenFrame CTGがログを記録時に使用するログ・レベルを指定します。
|
logValidDays |
java.lang.Integer |
1を指定します。 |
regionName |
java.lang.String |
接続するリージョン名を指定します。 |
support_xa |
java.lang.Boolean |
XAをサポートするかどうかを指定します。trueまたはfalseのいずれかを指定します。 |
tpTimeout |
java.lang.Integer |
要求に対する応答待ち時間を指定します。 (未指定時のデフォルト値: 60秒) |
txHelperClassName |
java.lang.String |
TransactionManagerを返すトランザクション・ヘルパー・クラス名を指定します。 XAをサポートする場合は、getConnection()の呼び出し時に指定された名前を持つクラスのTransactionManagerにXAResourceを登録(enlist)します。現在は、指定したヘルパー・クラスがgetTransactionManager()を呼び出します。 |
xidMapperFile |
java.lang.String |
OpenFrame CTGが使用するXidMapperFileの名前を指定します。 xidMapperFileは、WASのTransactionManagerが提供するXIDと、OSCで使用されるXIDのマッピングおよび決定情報を記録するために使用されます。 |
xidMapperPath |
java.lang.String |
XidMapperFileのパスを指定します。 |
4. OSCサーバーのTmax環境設定
JCAを使用してグローバル・トランザクションを使用するには、OSCサーバーのTmax環境設定ファイルに以下の設定を行う必要があります。
*GATEWAY JEUSGW GWTYPE = JEUS, PORTNO = 9000, DIRECTION=IN, NODENAME = NODE1, CLOPT ="-r -h 4 -D 7 -o $(SVR)$(CDATE).out -e $(SVR)$(CDATE).err", CPC = 2
項目 | 説明 |
---|---|
GWTYPE |
必ず「JEUS」を指定します。WASをリモート・システムとして指定します。Oracle WebLogic、IBM WebSphereなど、JEUS以外のWASで使用する場合にも「JEUS」を指定してください。 |
PORTNO |
ゲートウェイが使用するリッスン・ポート番号を指定します。 |
DIRECTION |
ゲートウェイとWAS間の要求の方向を指定します。 「IN」を指定すると、受信する要求のみ処理できます。 |
NODENAME |
ゲートウェイが実行されるノード名を指定します。Tmax環境設定のNODEセクションに登録された名前を指定します。 |
MAXINRGW |
ゲートウェイに接続できるチャネルの最大数を指定します(デフォルト値:32、最大値:128)。 |
CLOPT |
ゲートウェイが使用するオプションを指定します。 CLOPT = "-r -h <n> -D <n> -o <filename> -e <filename>"
|
CPC |
ゲートウェイとCLH間の並列通信チャネルの数を指定します。 処理量が多くサービスの処理に時間がかかる場合は、複数の通信チャネルを使用して並列で処理することによって、処理速度を向上させます。 |
Tmax環境設定ファイルについての詳細は、『Tmax 管理者ガイド』の「基本環境設定」を参照してください。 |