ユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

ソフトウェアの確認

Oracle Tuxedo Mainframe Adapter for SNAソフトウェアをインストールおよび構成後、クライアント/サーバ・トランザクション・シナリオを使用してシンプルなサーバー上でサンプル・アプリケーションを実行して、環境での動作の整合性を確認します。このプロセスでは、製品ソフトウェア・ライブラリに含まれるプログラムが使用されます。

注意: ATMIファイル、機能およびドキュメントに関する記述はすべて、Tuxedoファイル、機能およびドキュメントに適用されます。

この項では、以下の内容について説明します。

サンプル・アプリケーションはシンプル・サーバー・ライブラリ(TMA/sna/simpapp)にあります。シンプル・サーバーはクライアントからサーバーに文字列を渡します。

CICS/ESAプログラムはDTPまたはDPLプロセスとして、またサーバーまたはクライアントとして実行できます。また、シンプル・サーバーはトランザクション対応またはトランザクション非対応モードのいずれかで実行できます。トランザクション対応モードでは、これらのシナリオは2つのアプリケーション環境間で同期レベル2のプロトコルが設定されていることを確認します。

クライアントがATMIクライアントとして実行される場合、サーバーはCICS/ESAホストとして実行されます。コマンド引数に指定する文字列は小文字で入力します。CICS/ESAサーバーは小文字を大文字に変換して文字列を再表示します。

クライアントがCICS/ESAクライアントとして実行される場合、サーバーはATMIサーバーとして実行されます。ここでも、入力する文字列は小文字にします。ATMIサーバーは文字列をミラー・イメージに変換して反転して表示します。

注意: この確認プロセスは、ATMIアプリケーションとCICS/ESAアプリケーション間のCICS/ESA環境のみ対象にしています。ATMIアプリケーションをその他の環境で稼働する場合は、独自の確認プロセスを作成する必要があります。「APPC/IMSプログラミングの考慮事項」の項を参照してください。

 


確認テストの作成

ATMIローカル・ドメインとCICS/ESAリモート・ドメインの2つのドメインで実行する確認テストを作成します。ドメイン間で実行可能ファイルが異なります。次の項では、実行可能ファイルを作成する方法について説明します。

ATMIプラットフォーム実行可能ファイルの作成

ATMIプラットフォーム実行可能ファイルを作成するには、次の項で詳述されているタスクを実行します。

UBBCONFIGファイルの変更

UBBCONFIGファイルに次の変更を行います。

UBBCONFIGファイルへのATMIシンプル・サーバーの追加

UBBCONFIGファイルを変更して次のようにATMIシンプル・サーバー名を追加します。

GROUPS
GROUP3 LMID=sna GRPNO=3

SERVERS
mirrorsrv SRVGRP=GROUP3 SRVID=1 RQADDR=MIRR1 REPLYQ=Y

SERVICES
MIRROR
トランザクション対応サービスの有効化

確認プロセスのトランザクション対応バージョンを実行する場合は、MachineセクションのTLOGDEVICEコメントを有効にして、有効なDTPトランザクション・ログを参照するようにします。トランザクションの例を実行するには、ATMIプラットフォームの掲示板変更インタプリタtmadminを使用したUBBCONFIG TLOGDEVICEでDTPトランザクション・ログを指定して作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。

GroupsセクションのGROUP3アプリケーション・サーバーは、有効なトランザクション・マネージャ・サーバーを参照している必要があります。例:

GROUPS
GROUP3 LMID=sna GRPNO=3 TMSNAME=tsttms TMSCOUNT=2

SERVERS
mirrorsrv SRVGRP=GROUP3 SRVID=1 RQADDR=MIRR1 REPLYQ=Y

SERVICES
MIRROR

tmloadcfコマンドの実行

ATMI tmloadcfコマンドを実行してUBBCONFIGファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。

例:

tmloadcf UBBCONFIG

コマンドが実行される際に表示されるプロンプトに応答します。

DMCONFIGファイルの変更

DMCONFIGファイルにはシンプル・サーバーのローカル定義とリモート定義を両方とも指定する必要があります。

注意: シンプル・サーバーにはサンプルのDMCONFIGファイルが同梱されています。
リスト3-1 サンプルのDMCONFIGファイル
*DM_LOCAL_SERVICES
#The ATMI reverse string server
MIRROR LDOM=”simpsnad”
CONV=N
RNAME=”MIRRORSERV”
INBUFTYPE=”STRING”
OUTBUFTYPE=”STRING”
DOUBLEMIRROR
CONV=N
RNAME="MIRRDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
*DM_REMOTE_SERVICES
#The CICS upper-case DTP and DPL servers
SIMPDPL AUTOTRAN=N
LDOM=”simpsnad”
RDOM=SNAG1
CONV=N
RNAME=”TOUPDPLS”
INBUFTYPE=”STRING”
OUTPBUFTYPE=”STRING”
FUNCTION=”DPL”
SIMPDTP AUTOTRAN=N
LDOM=”simpsnad”
RDOM=SNAG1
CONV=N
RNAME=”DTPS”
INBUFTYPE=”STRING”
OUTPBUFTYPE=”STRING”
FUNCTION=”APPC”

前述のDMCONFIGファイルの例で、LDOM名のインスタンスは2つともDM_LOCAL_DOMAINSセクションのSNAドメイン名に対応しています。サーバーはリクエスト/レスポンス・サーバーです。

DM_LOCAL_SERVICESセクションで、RNAME="MIRRORSERV"RNAME="MIRRDPLS"の値はCICS/ESA環境から渡される名前です。MIRRORDOUBLEMIRRORは、UBBCONFIGファイルに指定されたmirrorsrvサーバーによって提供される公開のサービスを参照しています。CONV=Nの定義は、SNAドメインが準拠するプロトコルを示します(ただし、CICS/ESAクライアントはATMI tpcallを実行しません)。

DM_REMOTE_SERVICESセクションで、RNAMEの値はCICS/ESAドメインでの起動対象を指定します。分散プログラム・リンク(DPL)リクエストの場合は、RNAMEはコールされるプログラムの名前(または、代替ミラー・トランザクション識別子の場合は、TRANSID/プログラム名の組合せ)と等しくなります。分散トランザクション処理(DTP)リクエストの場合は、RNAMEトランザクションIDの名前と等しくなります。

トランザクション対応の確認テストを実行する場合は、DM_SNALINKSセクションにリンク定義MAXSYNCLVL=2を入力する必要があります。トランザクション非対応のDPLテストのみ実行する場合は、MAXSYNCLVL=1を入力する必要があります。

dmloadcfコマンドの実行

ATMI dmloadcfコマンドを実行してDMCONFIGファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。

例:

dmloadcf DMCONFIG

コマンドが実行される際に表示されるプロンプトに応答します。

環境ファイルの変更

Oracle Tuxedo Mainframe Adapter for SNA製品ソフトウェアには、確認テスト用のアプリケーション環境またはマシン環境(あるいはその両方)の定義に使用できる2種類のファイルが提供されています。このようなものが存在していない場合は、提供されたファイルを変更し、システムで使用可能にします。これらのファイルはapps.env<machine>.envです。

app.envファイル

app.envファイルを変更し、それにENVFILEパラメータを付けた内容をUBBCONFIGファイルのMACHINESセクションに追加します。リスト3-2app.envファイルの例です。

リスト3-2 app.envファイル
#================================================================
# app.env
# Environment macros for ATMI application testing.
#
# See also
# See $(TOP)/Makefile for more information.
#
# @(#)SNA Devel apps/simpsna app.env 1.4 98/03/03 15:42:30
# Copyright 1997, BEA Systems, Inc., all rights reserved.
#----------------------------------------------------------------
APPDIR=<Your application directory here>
TUXCONFIG=<Your Tux configuration here>
BDMCONFIG=<Your Domain configuration here>
TUXDIR=<Your ATMI directory here>
<Machine>.envファイル

ご使用のシステムに該当する<machine>.envファイルを変更します。

これらの各ファイルは実行可能ファイルです。ご使用のシステムに該当するファイルを変更後、それを実行してマシン環境変数をエクスポートします。いくつかの.envファイルの例を次にリストします。

リスト3-3はUNIXの.envファイルの例です。

リスト3-3 solaris.envファイル
#================================================================
# solaris.env
# Environment macros for SOLARIS testing.
#
# See also
# See $(TOP)/Makefile for more information.
#
# @(#)SNA Devel apps/simpsna solaris.env 1.3 98/02/23 12:39:05
# Copyright 1997, BEA Systems, Inc., all rights reserved.
#----------------------------------------------------------------
export APPDIR=<Your application directory bin here>
export TUXCONFIG=<Your ATMI configuration qualified name here>
export BDMCONFIG=<Your ATMI domain configuration qualified name here>
export TUXDIR=<Your ATMI product directory here>
export STACK=<Your stack product library here>
#example STACK=/opt/SUNWappc
export PATH=$APPDIR:$TUXDIR/bin:$PATH
export LD_LIBRARY_PATH=$TUXDIR/lib:$LD_LIBRARY_PATH:$STACK

リスト3-4はMVSの.envファイルの例です。

リスト3-4 mvs.envファイル
*================================================================
* mvs.env
* Environment macros for running the SNACRM on MVS.
*
* @(#)SNA $Source: /repos/sna/apps/simpsna/mvs.env,v $
* $Revision: 1.4 $ $Author: crount $
* $Date: 2000/08/22 15:30:46 $ $State: Exp $ $Locker: $
* Copyright 2000, BEA Systems, Inc., all rights reserved.
*---------------------------------------------------------------
APPDIR=<Your site high-level qualifier here>
*example APPDIR=BEA

サーバーの構築

ATMIプラットフォームのbuildserverユーティリティを使用して、提供されたソース・ファイルmirrorsrv.cからmirrorsrvサーバー・ロード・モジュールを構築します。このソース・ファイルには、mirrorsrvサーバーによって公開される2つのサービス・エントリ、MIRRORDOUBLEMIRRORが含まれます。

MIRRORサービスは、実行すると、クライアントから文字列を受信して反転し、入力された文字列のミラー・イメージを表示します。

DOUBLEMIRRORサービスは、実行すると、クライアントから文字列を受信して反転し、ミラー・イメージでない文字列の元のイメージに反転文字列を連結します。

次のコマンドはbuildserverユーティリティを起動するコマンド・エントリの例です。

buildserver -o mirrorsrv -f mirrorsrv.c -s MIRROR,DOUBLEMIRROR

オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。

クライアントの構築

ATMIプラットフォームのbuildclientユーティリティを使用して、提供されたソース・ファイルtoupcltからクライアント・ロード・モジュールを構築します。このロード・モジュールは実行すると小文字の文字列をサーバーに送信し、次にサーバーがそれをいくつかのモードで大文字に変換するため、様々なサーバー・シナリオが実行されます。

例:

buildclient -o toupclt -f toupclt.c
Refer to the appropriate ATMI platform documentation for option descriptions.

CICS/ESA実行可能ファイルの作成

CICS/ESA実行可能ファイルを作成するには、次の項で詳述されているタスクを実行します。

ソース・コード言語の選択

確認に使用されるCICS/ESAサンプル・プログラムは、Oracle Tuxedo Mainframe Adapter製品ソフトウェアのインストール中にアンロードされます。これらのプログラムは2つの言語、COBOLとCで用意されています。CICS/ESA実行可能オブジェクトのコードをビルドするために使用する言語を選択する必要があります。(この選択はMVSホストで使用可能なコンパイラのタイプに左右されます。)

サンプル・プログラムの名前は接尾辞によって識別できます。

サンプル・プログラムの構造は様々ですが、これらはいずれも同じ機能を実行します。構築するATMIプラットフォームの実行可能プログラムは、これらのいずれかと通信します。

ソース・コードのホストへの転送

ファイル転送プログラム(FTP)など任意の方法で、ソース・コードをホストに転送します。宛先は逐次データセットかPDSファイルです。表3-1はUNIXおよびMVSプラットフォーム用に提供されているソース・コード・ファイルを示します。UNIXのファイル名の拡張子は、ソース・コードを転送する宛先ライブラリのタイプを示します。

表3-1 ソース・コードのファイル名
UNIXのファイル名
MVSのメンバー名
BEACONN.RDO
BEACONN
BEASNA.RDO
BEASNA
MIRRDPLC.c
または
MIRRDPLC.cbl
MIRRDPLC
MIRRDTPC.c
または
MIRRDTPC.cbl
MIRRDTPC
TOUPDPLS.c
または
TOUPDPLS.cbl
TOUPDPLS
TOUPDTPS.c
または
TOUPDTPS.cbl
TOUPDTPS

CICS/ESA Verbの変換

この手順では、EXEC CICSのverbを、選択したソース言語で必要とされる形式でのプログラムのCALL文に変換します。ソースはSYSINデータセットから読み取られます。変換されたソース・プログラムはSYSPUNCHデータセットに書き込まれます。変換モジュールによるリストはSYSPRINTデータセットに書き込まれます。

各ソース言語用に変換モジュールが用意されています。変換手順では言語固有のパラメータも使用されます。ここに記載されていないがご使用の環境に適用できる変換オプションについては、IBM CICS/ESAアプリケーション・プログラミング・ガイドを参照してください。

変換モジュールはCICS/ESAロード・データセットとしてインストールされます。これは次の例ではCICSxxx.SDFHLOADエントリで表されます(xxxはCICS/ESAのリリース番号)。

COBOL言語での変換モジュールの例

リスト3-5における変換モジュール名はDFHECP1$です。パラメータCOBOL2は、COBOL IIのverbを含むソース・モジュールを変換することを指定しています。

リスト3-5 COBOL言語での変換モジュールの例
//TRN  EXEC PGM=DFHECP1$,
// PARM=‘COBOL2,NOS,CICS’,REGION=256K
//STEPLIB DD DSN=CICSXXX.SDFHLOAD,DISP=SHR
//SYSIN DD DSN=YOUR.PDS(pgmname),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=&&SYSCIN,
// DISP=(,PASS),UNIT=SYSDA,
// DCP=BLKSIZE=400,
// SPACE=(400,(400,100))
C言語での変換モジュールの例

リスト3-6における変換モジュール名はDFHEDP1$です。パラメータCは、Cのverbを含むソース・モジュールを変換することを指定しています。

リスト3-6 C言語での変換モジュールの例
//TRN  EXEC PGM=DFHEDP1$,
// PARM=‘C,NOS,CICS’,REGION=256K
//STEPLIB DD DSN=CICSXXX.SDFHLOAD,DISP=SHR
//SYSIN DD DSN=YOUR.PDS(pgmname),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=&&SYSCIN,
// DISP=(,PASS),UNIT=SYSDA,
// DCB=BLKSIZE=400,
// SPACE=(400,(400,100))

変換されたソース・ファイルのコンパイル

次の手順は変換されたソース・ファイル&&SYSCINをコンパイルすることです。この手順により、リンク編集手順に向けた次のプログラム・モジュールが生成されます。

COBOLコンパイラの例

リスト3-7はCOBOLコンパイラの例を示します。

リスト3-7 COBOLコンパイラの例
//COB  EXEC PGM=IGYCRCTL,REGION=GM,
// PARM=‘NODYNAM,RENT,RES,APOST,MAP,XREF’
//STEPLIB DD DSN=SYS2.COB2.COB2COMP,DISP=SHR
//SYSLIB DD DSN=CICSXXX.SDFCOB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE)
//SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS),
// UNIT=&WORK,SPACE=(400,(20,20))
//SYSUT1 DD UNIT-WORK,SPACE=(460,(350,100))
//SYSUT2 DD UNIT=WORK,SPACE=(460,350,100))
//SYSUT3 DD UNIT=WORK,SPACE=(460,(350,100))
//SYSUT4 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT5 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT6 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT7 DD UNIT=&WORK,SPACE=(460,(350,100))
Cコンパイラの例

C言語のソースをコンパイルおよびプレリンクします。Oracle Tuxedo Mainframe Adapter for SNAのインストール・ライブラリにはC言語のコンパイラの例が同梱されています。リスト3-8はC/MVSのコンパイラの例を示します。

この例において、外部記憶域の変数はCICS/ESA環境用にロード・モジュールで再入可能である必要があります。また、C言語のソースにはlong型の変数および関数名も含まれます。long型の名前を解決してコンパイルされたオブジェクトから再入可能な変数を作成するには、プレリンク手順を実行しておく必要があります。プレリンク手順を実行し、コンパイル・プログラムでRENTオプションを使用して、コンパイル出力をリンク編集手順で使用します。

リスト3-8 C/MVSコンパイラの例
//*----------------------------------------
//* COMPILE STEP:
//*----------------------------------------
//COMPILE EXEC PGM=CBC310,REGION=2M,COND=(7,LT,TRN),
// PARM=(‘OPT(1),LONGNAME,RENT,SOURCE’)
//STEPLIB DD DSNAME=SYS1.SCEERUN,DISP=SHR
// DD DSNAME=SYS1.SCBC3CMP,DISP=SHR
//SYSMSGS DD DSNAME=SYS1.SCBC3MSG(EDCMSGE),DISP=SHR
//SYSIN DD DSNAME=&&SYSCIN,DISP=SHR **FROM TRN STEP
//SYSLIB DD DSNAME=SYS1.SCEEH.H,DISP=SHR
// DD DSNAME=SYS1.SCEEH.SYS.H,DISP=SHR
// DD DSNAME=CICSxxx.SDFHC370,DISP=SHR**CPIC
// REQUIRED**
//SYSLIN DD DSNAME=&&PLNKSET,UNIT=VIO,
// DISP=(MOD,PASS),SPACE=(TRK,(3,3)),
// DCP=(RECFM=FG,LRECL=80,BLKSIZE=&SYSLBLK)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSCPRT DD SYSOUT=*
//SYSUT1 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT4 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT5 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT6 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT7 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT8 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT9 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=137,BLKSIZE=882
//SYSUT10 DD SYSOUT=*
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT14 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=128007
//PLKED EXEC PGM=EDCPRLK,COND=((7.LT,C),(7,LT,TRN)),
// PARM=’MAP’
//STEPLIB DD DSN=SYS1.SCEERUN,DISP-SHR
//SYSMSGS DD DSN=SYS1.SCEEMSGP(EDCPMSGE),DISP+SHR
//SYSLIB DD DSN=&LE370HLQ..SCEECPP,DISP=SHR
// DD DUMMY
//SYSIN DD DSN=&&PLNKSET,DISP=(MOD,PASS)
//SYSMOD DD DSN=&&LOADSET,DISP=(,PASS),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*

実行可能オブジェクトの作成

次の手順は、コンパイルされたソースを入力として実行可能オブジェクトを作成することです。作成されたオブジェクト・モジュールをアプリケーション・ライブラリにロードすることで、CICS/ESAリージョン・データセットと連結します。

次のCOBOLおよびCプログラムの例において、SYSLINは、コンパイルされたソースとその他の必要な実行可能ファイル(CICS API verb用インタフェース、CPI-C verb用インタフェースおよびSNAのリソース・リカバリverb(同期レベル2)用インタフェースなど)を連結したファイルの名前です。

リスト3-9において、モジュールは再入可能としてリンクされ、31ビット・モードのアドレス機能を持つものとしてマークされています。このアクションは、CPI-CおよびSAAのリソース/リカバリ・リクエストを実行するMIRRDTPCモジュールでは必須です。

NAMEは、生成する実行可能ファイルの名前に変更する必要があります。

リスト3-9 TOUPDPLS、TOUPDTPSおよびMIRRDPLCのCOBOLリンク編集サンプル
//LKED    EXEC PGM=IEWL,   * ** LINKAGE EDITOR **
// PARM=AMODE=31,RENT,
// REGION=512K
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *
// INCLUDE SYSLIB(DFHECI)
// ORDER DFHECI
// NAME xxxxxxxx(R)
/*
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=CICSxxx.SDFHCOB,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
// DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD DD DSN=application.loadlib,DISP=(SHR,PASS)
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//
リスト3-10 MIRRDTPCのCOBOLリンク編集サンプル
//LKED    EXEC PGM=IEWL,   * ** LINKAGE EDITOR **
// PARM=AMODE=31,RENT,
// REGION=512K
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *
// INCLUDE SYSLIB(DFHECI)
// INCLUDE SYSLIB(DFHCPLC)
// INCLUDE SYSLIB(DFHCPLRR)
// ORDER DFHECI
// NAME xxxxxxxx(R)
/*
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=CICSxxx.SDFHCOB,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
// DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD DD DSN=application.loadlib(xxxxxxxx),DISP=(SHR,PASS)
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//
リスト3-11 Cのリンク編集サンプル
//LKED     EXEC PGM=HEWL,REGION=4M,
// PARM='AMODE=31,RENT,
// COND=((7,LT,C),(7,LT,PLKED),(7,LT,TRN))
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *INCLUDE SYSLIB(DFHELII)
// INCLUDE SYSLIB(DFHCPLC)
// INCLUDE SYSLIB(DFHCPLRR)NAME xxxxxxxx(R)
/*
//SYSLMOD DD DSN=application.loadlib(xxxxxxxx),DISP=SHR
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//SYSPRINT DD SYSOUT=*

CICS/ESAアプリケーションの構成

インストールされたOracle Tuxedo Mainframe Adapter for SNAソフトウェアには、CICSアプリケーションを構成するための2つのサンプル・ファイルが含まれています。

警告: The BEACONNファイルは、定義が現在ない場合にのみ、CICS/ESAシステム定義(CSD)ファイルに追加してください。システム管理者と相談してください。

ファイルを追加する方法の1つとして、バッチ・ユーティリティ・プログラムDFHCSDUPの使用があります。リスト3-12は、BEASNAファイルを追加するバッチ・プログラムとしてDFHCSDUPを起動するためのジョブ制御言語(JCL)文の例です。

リスト3-12 DFHCSDUPを起動するJCLの例
//YOURJOB JOB accounting info,name,MSGLEVEL=1              
//STEP1 EXEC PGM=DFHCSDUP,REGION=512K,
// PARM='CSD(READWRITE),PAGESIZE(60),NOCOMPAT'
//STEPLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
//DFHCSD DD UNIT=SYSDA,DISP=SHR,DSN=CICSxxx.DFHCSD
//SYSPRINT DD SYSOUT=A
//SYSIN DD DSN=YOUR.PDS(BEASNA),DISP=SHR

サンプルのメンバーの定義では、Oracle Tuxedo Mainframe Adapter for SNAのオンライン・リモート定義(RDO)グループ名を使用します。この定義は既存のRDOグループに追加できるだけでなく、頻繁に使用する場合はCICS/ESA起動リストに追加することもできます。(この場合、CICS/ESAリージョンの起動時にグループが自動的にインストールされます。)グループを起動リストに追加するには、サンプルRDOの次の文を非コメント化します。

ADD GROUP(BEACONN) LIST(**YOURLIST**)
ADD GROUP(BEASNA) LIST(**YOURLIST**)

引数のうち、**YOURLIST**が起動リスト名です。

CICS/ESAリージョンの起動後にグループを手動でインストールするには、CICS/ESAターミナル・セッションから次のコマンドを発行します。

CEDA I GROUP(BEACONN)
CEDA I GROUP(BEASNA)
BEACONNファイル: 接続定義

BEACONNファイルにはサンプルの接続定義が含まれています。

注意: サンプルの接続定義は、インストールの確認を実行するために必要な接続の最小要件を満たしています。これにより最適なパフォーマンスがもたらされるとは期待しないでください。サンプルに含まれないオプションの追加については、CICS/ESAリソース定義ガイドを参照してください。

サンプル接続定義の名前はBEAで、インストール・グループ名BEACONNの下にあります。内容は次のようです。

リスト3-13 BEACONNファイルのサンプル接続定義
DEFINE CONNECTION(BEA)      GROUP(BEACONN)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(**LOCALLU**)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)

**LOCALLU**はVTAMで認識されるSNAスタックのLU名に変更する必要があります。ATTACHSECオプションは、ユーザーのセキュリティ上接続で必要とされるアタッチ時間のレベルを指定します。最もシンプルなセキュリティはLOCALです。ユーザーの認証はリンクの認証自体と同じとみなされ、リモートのセキュリティ・ユーティリティで提供される認証の検証に依存します。AUTOCONNECTは、接続を確立するタイミングを指定します。NOは必須です。このエントリは、接続がスタックによって確立されるときにCICSがセッションをバインドしないことを示します。

注意: Oracle Tuxedo Mainframe Adapter for SNAソフトウェアは起動時に接続を確立してバインドをネゴシエーションする必要があります。

サンプル接続定義は、既存の接続を含まない別のグループのホストに配置してインストールします。たとえば、CEDA INSTALLコマンドを使用します。

CEDA INSTALL GROUP(BEACONN)
BEACONNファイル: セッション定義

BEACONNファイルには、サンプルのセッション定義も含まれています。これは、リモート・ホストに配置することにより、ATMIプラットフォームのローカル・ドメインとリモート・ホストとの通信用の論理リンクを定義します。

サンプル・セッション定義の名前はBEATESTで、BEACONNというインストール・グループの下にあります。リスト3-14は、BEACONNファイルのセッション定義の例を示します。

リスト3-14 BEACONNファイルのサンプル・セッション定義
DEFINE SESSION(BEATEST)     GROUP(BEACONN)
CONNECTION(BEA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE RDO SESSION)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(**MODE**) MAXIMUM(**MAX**,**MIN**)

AUTOCONNECTは、セッションをアクティブ化する際のネゴシエート方法を指定します。YESは、接続がバインドされたときにCICS/ESAホストが自身の競合の勝者セッションとネゴシエートできるようにします。Oracle Tuxedo Mainframe Adapter for SNAソフトウェアがCICS/ESAホストのかわりに接続を確立する必要があります。ただし、スタックが接続を確立した場合は、これは勝者として認識された個数のセッションのみバインドできます。AUTOCONNECTパラメータをYESに設定すると、接続が確立されたときにただちにホストは勝者セッションをバインドします。それ以外の場合、ホストのアウトバウンド・クライアントは勝者セッションを待機してからバインドする必要があります。

SMSNA100などのCICS/ESA提供のモード名、またはユーザー定義のモード名のいずれかに**MODE**を置き換えます。BEA接続に別のセッション定義セットが存在する場合は、このモード名は接続に定義されているすべてのセット間で一意である必要があります。このモード名はVTAM LOGMODE名に対応します。

MAXIMUMオプションは、(**MAX**)セット内のセッションの合計数、および競合の勝者セッションの合計数(**MIN**)を定義します。インストールが確認されるには、勝者セッションの合計数にホストおよびリモート・スタックの勝者セッションの合計数が含まれている必要があります。インストールの確認プロセスでは、両方の側をクライアントとして実行できます。ローカルの競合の勝者セッションとリモート・ホストの勝者セッションの合計数は、セッション数と一致する必要があります。ローカルのセッション数はリモートのセッション数と一致する必要があります。

BEASNAファイル: プログラム定義

BEASNAファイルにはリスト3-15に示すサンプルのプログラム定義が含まれています。サンプル内のLANGUAGE変数**LANG**を、サンプル・アプリケーションに選択したソース・タイプを示すCまたはCOBOLに置き換えます。

リスト3-15 BEASNAファイルのサンプル・プログラム定義
DEFINE  PROGRAM(MIRRDPLC)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT
(MIRROR STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(MIRRDTPC)     GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT (MIRROR
STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(TOUPDTPS)     GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP SERVER
(TOUPPER STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(TOUPDPLS)     GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL SERVER
(TOUPPER STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
BEASNAファイル: リモート・プログラム定義

BEASNAファイルにはリスト3-16に示すサンプルのリモート・プログラム定義も含まれています。このプログラム定義をCICS DPLクライアントが使用してDPLリクエストのリモート・システムおよびリモート・サービスを指定します。サンプルのREMOTESYSTEM変数**CONNECTION ID**をリモートLUの接続名に置き換えます。

リスト3-16 BEASNAファイルのサンプル・リモート・プログラム定義
DEFINE PROGRAM(MIRRDPLS)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE DPL REMOTE PROGRAM
DEFINITION)
LANGUAGE(C) DATALOCATION(ANY)
REMOTESYSTEM(**CONNECTION ID**) REMOTENAME(MIRRDPLS)
BEASNAファイル: トランザクション定義

BEASNAファイルには、リスト3-17に示すサンプル・トランザクション定義も含まれています。

リスト3-17 BEASNAファイルのサンプル・トランザクション定義
DEFINE	TRANSACTION(DTPS     GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP SERVER)
TASKDATALOC(ANY) PROGRAM(TOUPDTPS)
DEFINE	TRANSACTION(H1PL)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT -
SYNCLEVEL 1)
TASKDATALOC(ANY) PROGRAM(MIRRDPLC)
DEFINE	TRANSACTION(H2PL)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT -
SYNCLEVEL 2)
TASKDATALOC(ANY) PROGRAM(MIRRDPLC)
DEFINE	TRANSACTION(H0TP)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT -
SYNCLEVEL 0)
TASKDATALOC(ANY) PROGRAM(MIRRDTPC)
DEFINE	TRANSACTION(H2TP)    GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT -
SYNCLEVEL 2)
TASKDATALOC(ANY) PROGRAM(MIRRDTPC)
BEASNAファイル: パートナ定義

サンプルのCICS/ESAクライアントのMIRRDTPCにはCPI-Cのverbが含まれています。パートナ・リソース定義には、ATMIサーバーとの会話型通信を割り当てるために必要なCPI-C側の情報と、リモートのLUおよびトランザクション・プログラムに関する情報が含まれています。

リスト3-18に示すように、TPNAMEパラメータはリモート・システム内で起動するトランザクション・プログラムを指定します。この場合、その名前はDMCONFIGファイルのDM_LOCAL_SERVICESセクションのRNAME値に関連付けられます。このRNAMEはパートナ定義のTPNAMEと一致する必要があります。(サンプルのDMCONFIGファイルにはローカル・サービス定義であるMIRRORが存在することに注意してください。この定義内のRNAMEはサンプルのパートナ定義のTPNAMEと一致しています。)

プロファイル・リソース定義には会話型通信属性、特にMODENAMEを定義できます。サンプルのPROFILEパラメータは有効なプロファイル・リソース定義に置き換えることができます。このパラメータのデフォルト・プロファイル名はDFHCICSAです。DFHCICSAはCICSに含まれているプロファイルです。

リモートLUのConnection定義に指定されているNETNAME**NETWORK NAME**を置き換えます。

リスト3-18 BEASNAファイルのサンプル・パートナ定義
DEFINE PARTNER(MIRRDTPS)    GROUP(BEASNA)       
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT USING CPIC
VERBS
TPNAME(MIRRORSERV) PROFILE(**DFHCICSA**)
NETNAME(**NETWORK NAME**)

接続およびセッションのステータスの表示

確認グループ定義の作成後、次のCICS/ESAシステム・コマンドを使用して接続およびセッションのステータスを表示できます。

CEMT I CONN(BEA)           **view the status of the connection
CEMT I NET(**NETNAME**) **View the status of the sessions
CEMT I MODENAME(**MODE**) **View the status of the mode

 


サンプル・アプリケーションの実行

この段階で、サンプル・アプリケーションを実行してOracle Tuxedo Mainframe Adapter for SNAのインストールを検証できます。次の前提条件を満たしておく必要があります。

サンプル・アプリケーションにはいくつかのシナリオが含まれています。クライアントがATMIクライアントとして実行される場合、サーバーはCICS/ESAホストとして実行されます。クライアントがCICS/ESAクライアントとして実行される場合、サーバーはATMIサーバーとして実行されます。

ATMIクライアントからのアプリケーションの実行

このシナリオでは、toupcltクライアントはCICS/ESAホスト・サーバーに対してtpcallを実行します。入力した文字列はサーバーにより小文字から大文字に変換されます。クライアントはトランザクション対応モードかトランザクション非対応モードで実行できます。CICS/ESAサーバーはDTPプログラムまたはDPLプログラムとして実行できます。

たとえば、次のコマンドを入力します。

toupclt -s 0 -t DTP “hello world”

このコマンドでは、引数およびオプションは次のように定義されています。

-s (0|2)

アプリケーションの同期レベル。 0 = なし(デフォルト)2 = トランザクション対応。

-t (DPL|DTP)

リモート・サーバー・プログラム。DPL = 分散プログラム・リンク(デフォルト)DTP = 分散トランザクション・プログラム

-h

「ヘルプ」

“ “

最大1915文字の文字列を小文字にします。

ATMIクライアントはコマンドを正常に実行すると文字列を大文字で表示します(次はその例です)。

“HELLO WORLD”

CICS/ESAクライアントからのアプリケーションの実行

次の項では、CICS/ESAクライアントからアプリケーションを実行する2つのシナリオを示します。

CPI-Cを使用したCICS/ESAクライアント

このシナリオでは、CICS/ESAクライアントは文字列をOracle Tuxedo Mainframe Adapter for SNAシンプル・サーバーに送信します。文字列はクライアントの画面に逆順に再表示されます。

次のいずれかのコマンドを入力します。

H0TP <string>
H2TP <string>

これらのコマンドでは、引数およびオプションは次のように定義されています。

H0TP = CPI-C Application Sync-Level 0 
H2TP = CPI-C Application Sync-Level 2
<string> is a text string up to 1915 characters long.

CICS/ESAクライアントはトランザクションを正常に完了すると文字列を逆順に表示します。例:

次のように入力するとします。

H0TP HELLO WORLD

次の値が戻されます。

DLROW OLLEH

DPLを使用したCICS/ESAクライアント

DPLサンプルの同じプログラムを実行するトランザクションが2つ用意されています。1つは必須の同期レベル1のシンプルなリクエスト/レスポンスで、もう1つは同期レベル2のトランザクション対応のリクエスト/レスポンスです。

次のいずれかのコマンドを入力します。

H1PL <string>
H2PL <string>

これらのコマンドでは、引数およびオプションは次のように定義されています。

H1PL = DPL Application Sync-Level 1 
H2PL = DPL Application Sync-Level 2
<string> is a text string up to 955 characters long.

CICS/ESAクライアントはトランザクションを正常に完了すると、入力された文字列を文字列の反転(またはミラー)イメージと連結した内容を表示します。例:

次のように入力するとします。

H1PL HELLO WORLD

次の値が戻されます。

HELLO WORLD : DLROW OLLEH

CICS/VSEクライアントからのアプリケーションの実行

CICS/VSEのサンプル・アプリケーションはCICS/ESAのサンプル・アプリケーションと実質的には同じですが、ファイル名の拡張子が.vseである点のみ異なります。サンプル・アプリケーションを実行するシナリオは両方のクライアント・カテゴリに共通に適用されます。その他に注目に価する相違といえば、CICS/VSEオペレーティング・システムに対応するとともに、CPI-Cインタフェースに対するCICS/VSEの非サポートに対応するための、サンプル・アプリケーションの軽微な構文変更ぐらいのものです。

CICS/VSEサンプル・アプリケーション

次はCICS/VSEサンプル・アプリケーションのリストです。

留意事項

FTPの操作によっては、C言語の特殊文字が誤変換される場合があります。必要な場合は、ソース・ファイルを編集し、カッコ[ ]および縦棒| |文字の誤変換を訂正します。

CSMIとCVMIでは、DFHCICSTプロファイルを属性INBFMH = NOとともに使用します。DTPトランザクションを使用する場合は、INBFMH = ALLを設定する必要があります。そうしないと、ABEND AXFQが発生します。

CICS/VSEトランザクションはセキュリティ属性RSLC=NOを使用して定義する必要があります。そうしないと、クライアントにEIBRCODE(NOTAUTH)が戻されます。


  先頭に戻る       前  次