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プラットフォーム実行可能ファイルを作成するには、次の項で詳述されているタスクを実行します。
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
ATMI tmloadcf
コマンドを実行してUBBCONFIG
ファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
tmloadcf UBBCONFIG
DMCONFIG
ファイルにはシンプル・サーバーのローカル定義とリモート定義を両方とも指定する必要があります。
注意: | シンプル・サーバーにはサンプルの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環境から渡される名前です。MIRROR
とDOUBLEMIRROR
は、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
を入力する必要があります。
ATMI dmloadcf
コマンドを実行してDMCONFIG
ファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
dmloadcf DMCONFIG
Oracle Tuxedo Mainframe Adapter for SNA製品ソフトウェアには、確認テスト用のアプリケーション環境またはマシン環境(あるいはその両方)の定義に使用できる2種類のファイルが提供されています。このようなものが存在していない場合は、提供されたファイルを変更し、システムで使用可能にします。これらのファイルはapps.env
と<machine>.env
です。
app.env
ファイルを変更し、それにENVFILE
パラメータを付けた内容をUBBCONFIG
ファイルのMACHINES
セクションに追加します。リスト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
ファイルを変更します。
これらの各ファイルは実行可能ファイルです。ご使用のシステムに該当するファイルを変更後、それを実行してマシン環境変数をエクスポートします。いくつかの.env
ファイルの例を次にリストします。
リスト3-3はUNIXの.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
ファイルの例です。
*================================================================
* 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つのサービス・エントリ、MIRROR
とDOUBLEMIRROR
が含まれます。
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サンプル・プログラムは、Oracle Tuxedo Mainframe Adapter製品ソフトウェアのインストール中にアンロードされます。これらのプログラムは2つの言語、COBOLとCで用意されています。CICS/ESA実行可能オブジェクトのコードをビルドするために使用する言語を選択する必要があります。(この選択はMVSホストで使用可能なコンパイラのタイプに左右されます。)
サンプル・プログラムの構造は様々ですが、これらはいずれも同じ機能を実行します。構築するATMIプラットフォームの実行可能プログラムは、これらのいずれかと通信します。
ファイル転送プログラム(FTP)など任意の方法で、ソース・コードをホストに転送します。宛先は逐次データセットかPDSファイルです。表3-1はUNIXおよびMVSプラットフォーム用に提供されているソース・コード・ファイルを示します。UNIXのファイル名の拡張子は、ソース・コードを転送する宛先ライブラリのタイプを示します。
この手順では、EXEC CICS
のverbを、選択したソース言語で必要とされる形式でのプログラムのCALL
文に変換します。ソースはSYSINデータセットから読み取られます。変換されたソース・プログラムはSYSPUNCH
データセットに書き込まれます。変換モジュールによるリストはSYSPRINT
データセットに書き込まれます。
各ソース言語用に変換モジュールが用意されています。変換手順では言語固有のパラメータも使用されます。ここに記載されていないがご使用の環境に適用できる変換オプションについては、IBM CICS/ESAアプリケーション・プログラミング・ガイドを参照してください。
変換モジュールはCICS/ESAロード・データセットとしてインストールされます。これは次の例ではCICSxxx.SDFHLOAD
エントリで表されます(xxx
はCICS/ESAのリリース番号)。
リスト3-5における変換モジュール名はDFHECP1$
です。パラメータCOBOL2
は、COBOL IIのverbを含むソース・モジュールを変換することを指定しています。
//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))
リスト3-6における変換モジュール名はDFHEDP1$
です。パラメータC
は、Cのverbを含むソース・モジュールを変換することを指定しています。
//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
をコンパイルすることです。この手順により、リンク編集手順に向けた次のプログラム・モジュールが生成されます。
リスト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言語のソースをコンパイルおよびプレリンクします。Oracle Tuxedo Mainframe Adapter for SNAのインストール・ライブラリにはC言語のコンパイラの例が同梱されています。リスト3-8はC/MVSのコンパイラの例を示します。
この例において、外部記憶域の変数はCICS/ESA環境用にロード・モジュールで再入可能である必要があります。また、C言語のソースにはlong型の変数および関数名も含まれます。long型の名前を解決してコンパイルされたオブジェクトから再入可能な変数を作成するには、プレリンク手順を実行しておく必要があります。プレリンク手順を実行し、コンパイル・プログラムでRENTオプションを使用して、コンパイル出力をリンク編集手順で使用します。
//*----------------------------------------
//* 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
は、生成する実行可能ファイルの名前に変更する必要があります。
//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))
//
//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))
//
//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=*
インストールされたOracle Tuxedo Mainframe Adapter for SNAソフトウェアには、CICSアプリケーションを構成するための2つのサンプル・ファイルが含まれています。
警告: | The BEACONN ファイルは、定義が現在ない場合にのみ、CICS/ESAシステム定義(CSD)ファイルに追加してください。システム管理者と相談してください。 |
ファイルを追加する方法の1つとして、バッチ・ユーティリティ・プログラムDFHCSDUP
の使用があります。リスト3-12は、BEASNA
ファイルを追加するバッチ・プログラムとして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**)
CICS/ESAリージョンの起動後にグループを手動でインストールするには、CICS/ESAターミナル・セッションから次のコマンドを発行します。
CEDA I GROUP(BEACONN)
CEDA I GROUP(BEASNA)
BEACONNファイルにはサンプルの接続定義が含まれています。
注意: | サンプルの接続定義は、インストールの確認を実行するために必要な接続の最小要件を満たしています。これにより最適なパフォーマンスがもたらされるとは期待しないでください。サンプルに含まれないオプションの追加については、CICS/ESAリソース定義ガイドを参照してください。 |
サンプル接続定義の名前はBEAで、インストール・グループ名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
ファイルには、サンプルのセッション定義も含まれています。これは、リモート・ホストに配置することにより、ATMIプラットフォームのローカル・ドメインとリモート・ホストとの通信用の論理リンクを定義します。
サンプル・セッション定義の名前はBEATEST
で、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
ファイルにはリスト3-15に示すサンプルのプログラム定義が含まれています。サンプル内のLANGUAGE
変数**LANG**
を、サンプル・アプリケーションに選択したソース・タイプを示すC
またはCOBOL
に置き換えます。
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
ファイルにはリスト3-16に示すサンプルのリモート・プログラム定義も含まれています。このプログラム定義をCICS DPLクライアントが使用してDPLリクエストのリモート・システムおよびリモート・サービスを指定します。サンプルのREMOTESYSTEM
変数**CONNECTION ID**
をリモートLUの接続名に置き換えます。
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
ファイルには、リスト3-17に示すサンプル・トランザクション定義も含まれています。
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)
サンプルの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**
を置き換えます。
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サーバーとして実行されます。
このシナリオでは、toupclt
クライアントはCICS/ESAホスト・サーバーに対してtpcall
を実行します。入力した文字列はサーバーにより小文字から大文字に変換されます。クライアントはトランザクション対応モードかトランザクション非対応モードで実行できます。CICS/ESAサーバーはDTPプログラムまたはDPLプログラムとして実行できます。
toupclt -s 0 -t DTP “hello world”
このコマンドでは、引数およびオプションは次のように定義されています。
-s (0|2)
-t (DPL|DTP)
-h
ATMIクライアントはコマンドを正常に実行すると文字列を大文字で表示します(次はその例です)。
“HELLO WORLD”
次の項では、CICS/ESAクライアントからアプリケーションを実行する2つのシナリオを示します。
このシナリオでは、CICS/ESAクライアントは文字列をOracle Tuxedo Mainframe Adapter for SNAシンプル・サーバーに送信します。文字列はクライアントの画面に逆順に再表示されます。
H0TP <string>
H2TP <string>
これらのコマンドでは、引数およびオプションは次のように定義されています。
H
0TP = CPI-C Application Sync-Level 0
H2
TP = CPI-C Application Sync-Level 2
<string> is
a text string up to 1915 characters long.
CICS/ESAクライアントはトランザクションを正常に完了すると文字列を逆順に表示します。例:
H0TP HELLO WORLD
DLROW OLLEH
DPLサンプルの同じプログラムを実行するトランザクションが2つ用意されています。1つは必須の同期レベル1のシンプルなリクエスト/レスポンスで、もう1つは同期レベル2のトランザクション対応のリクエスト/レスポンスです。
H1PL <string>
H2PL <string>
これらのコマンドでは、引数およびオプションは次のように定義されています。
H
1PL = DPL Application Sync-Level 1
H2
PL = 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/ESAのサンプル・アプリケーションと実質的には同じですが、ファイル名の拡張子が.vse
である点のみ異なります。サンプル・アプリケーションを実行するシナリオは両方のクライアント・カテゴリに共通に適用されます。その他に注目に価する相違といえば、CICS/VSEオペレーティング・システムに対応するとともに、CPI-Cインタフェースに対するCICS/VSEの非サポートに対応するための、サンプル・アプリケーションの軽微な構文変更ぐらいのものです。
次はCICS/VSEサンプル・アプリケーションのリストです。
FTPの操作によっては、C言語の特殊文字が誤変換される場合があります。必要な場合は、ソース・ファイルを編集し、カッコ[ ]および縦棒| |文字の誤変換を訂正します。
CSMIとCVMIでは、DFHCICST
プロファイルを属性INBFMH = NO
とともに使用します。DTPトランザクションを使用する場合は、INBFMH = ALL
を設定する必要があります。そうしないと、ABEND AXFQ
が発生します。
CICS/VSEトランザクションはセキュリティ属性RSLC=NO
を使用して定義する必要があります。そうしないと、クライアントにEIBRCODE(NOTAUTH)
が戻されます。