![]() |
![]() |
![]() |
![]() |
![]() |
• サンプル・アプリケーションは、シンプル・サーバー・ライブラリ(TMA/sna/simpapp)にあります。シンプル・サーバーはクライアントからサーバーに文字列を渡します。
注意:
• 確認プロセスのトランザクション・バージョンを実行する場合は、MachineセクションのTLOGDEVICEコメントを有効にして、有効なDTPトランザクション・ログを参照するようにします。トランザクションの例を実行するには、ATMIプラットフォームの掲示板変更インタプリタtmadminを使用したUBBCONFIG TLOGDEVICEでDTPトランザクション・ログを指定して作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。GroupsセクションのGROUP3アプリケーション・サーバーは、有効なトランザクション・マネージャ・サーバーを参照している必要があります。次に例を示します。ATMI tmloadcfコマンドを実行してUBBCONFIGファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
注意: シンプル・サーバーにはサンプルのDMCONFIGファイルが同梱されています。リスト3-1 サンプルのDMCONFIGファイル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プラットフォームのドキュメントを参照してください。Oracle Tuxedo Mainframe Adapter for SNA製品ソフトウェアには、確認テスト用のアプリケーション環境またはマシン環境(あるいはその両方)の定義に使用できる2種類のファイルが提供されています。これらに相当するものがない場合は、提供されているファイルを変更して、システムで使用できるようにします。これらのファイルはapps.envおよび<machine>.envです。リスト3-2 app.envファイルご使用のシステムに該当する<machine>.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ファイルATMIプラットフォームのbuildserverユーティリティを使用して、提供されたソース・ファイルmirrorsrv.cからmirrorsrvサーバー・ロード・モジュールを構築します。このソース・ファイルには、mirrorsrvサーバーによって公開される2つのサービス・エントリ、MIRRORとDOUBLEMIRRORが含まれます。次のコマンドは、buildserverユーティリティを起動するコマンド・エントリの例です。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。ATMIプラットフォームのbuildclientユーティリティを使用して、提供されたソース・ファイルtoupcltからクライアント・ロード・モジュールを構築します。このロード・モジュールは実行すると小文字の文字列をサーバーに送信し、次にサーバーがそれをいくつかのモードで大文字に変換するため、様々なサーバー・シナリオが実行されます。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
• TOUPDTPS.cはC言語プログラムの名前です
• TOUPDTPS.cblはCOBOL言語プログラムの名前ですFTP (ファイル転送プログラム)などの任意の方法で、ソース・コードをホストに転送します。宛先は順次データセットまたはPDSファイルになります。表3‑1に、UNIXおよびMVSプラットフォーム用に提供されているソース・コード・ファイルを示します。UNIXのファイル名の拡張子は、ソース・コードを転送する宛先ライブラリのタイプを示します。
表3-1 ソース・コードのファイル名 この手順では、EXEC CICS動詞を、選択したソース言語で必要な形式のプログラムのCALL文に変換します。ソースはSYSINデータセットから読み取られます。変換されたソース・プログラムはSYSPUNCHデータセットに書き込まれます。変換モジュールによるリストはSYSPRINTデータセットに書き込まれます。各ソース言語にそれぞれ変換モジュールが用意されています。また、変換手順には言語固有のパラメータがあります。ご使用の環境に適用できるその他の変換オプションについては、『IBM CICS/ESA Application Programming Guide』を参照してください。リスト3-5 COBOL言語での変換モジュールの例リスト3-6 C言語での変換モジュールの例次の手順では、変換されたソース・ファイル&&SYSCINをコンパイルします。この手順により、リンク編集手順に向けた次のプログラム・モジュールが生成されます。
• TOUPDPLS (CICSサーバーのDPLモジュール)
• TOUPDTPS (CICS APIを使用するCICSサーバーのDTPモジュール)
• MIRRDPLC (CICSクライアントのDPLモジュール)
• MIRRDTPC (CPI-C動詞を使用するCICSクライアントのDTPモジュール)リスト3-7はCOBOLコンパイラの例を示します。リスト3-7 COBOLコンパイラの例C言語のソースをコンパイルおよび事前にリンクします。Oracle Tuxedo Mainframe Adapter for SNAのインストール・ライブラリには、C言語のコンパイラの例が含まれています。リスト3‑8はC/MVSコンパイラの例を示します。リスト3-8 C/MVSコンパイラの例次のCOBOLおよびCプログラムの例では、SYSLINは、コンパイルされたソースとその他の必要な実行可能ファイル(CICS API動詞用インタフェース、CPI-C動詞用インタフェースおよびSNAのリソース・リカバリ動詞(同期レベル2)用インタフェースなど)を連結したファイルの名前です。リスト3-9では、モジュールは再入可能としてリンクされ、31ビット・モードのアドレス機能を持つものとしてマークされています。このアクションは、CPI-CおよびSAAのリソース/リカバリ・リクエストを実行するMIRRDTPCモジュールでは必須です。リスト3-10 MIRRDTPCのCOBOLリンク編集サンプルリスト3-11 Cのリンク編集サンプル
• ファイルを追加する方法の1つとして、バッチ・ユーティリティ・プログラムDFHCSDUPの使用があります。リスト3-12は、BEASNAファイルを追加するバッチ・プログラムとしてDFHCSDUPの起動に使用できるジョブ制御言語(JCL)文の例です。リスト3-12 DFHCSDUPを起動するJCLの例サンプル・メンバーの定義では、Oracle Tuxedo Mainframe Adapter for SNAのオンライン・リソース定義(RDO)グループ名を使用します。この定義は既存のRDOグループに追加できるだけでなく、頻繁に使用する場合はCICS/ESA起動リストに追加することもできます。(この場合、CICS/ESAリージョンの起動時にグループが自動的にインストールされます。)グループを起動リストに追加するには、サンプルRDOの次の文を非コメント化します。これらの引数のうち、**YOURLIST**が起動リスト名です。
注意: サンプルの接続定義は、インストールの確認を実行できる接続の最小要件を満たしています。これに最適なパフォーマンスを期待しないでください。サンプルに含まれていないオプションの追加については、『CICS/ESA Resource Definition Guide』を参照してください。リスト3-13 BEACONNファイルのサンプル接続定義**LOCALLU**は、VTAMで認識されるSNAスタックのLU名に変更する必要があります。ATTACHSECオプションは、ユーザーのセキュリティ上接続で必要とされるアタッチ時間のレベルを指定します。最もシンプルなセキュリティはLOCALです。ユーザーの認証はリンクの認証自体と同じとみなされ、リモートのセキュリティ・ユーティリティで提供される認証の検証に依存します。AUTOCONNECTは、接続を確立するタイミングを指定します。NOは必須です。このエントリは、接続がスタックによって確立されるときにCICSがセッションをバインドしないことを示します。BEACONNファイルには、サンプルのセッション定義も含まれています。これは、リモート・ホストに配置することにより、ATMIプラットフォームのローカル・ドメインとリモート・ホストとの通信用の論理リンクを定義します。リスト3-14 BEACONNファイルのサンプル・セッション定義AUTOCONNECTは、セッションのアクティブ化をネゴシエートする方法を指定します。YESは、接続がバインドされたときにCICS/ESAホストが自身の競合の勝者セッションとネゴシエートできるようにします。Oracle Tuxedo Mainframe Adapter for SNAソフトウェアがCICS/ESAホストのかわりに接続を確立する必要があります。ただし、スタックが接続を確立した場合は、これは勝者として認識された個数のセッションのみバインドできます。AUTOCONNECTパラメータをYESに設定すると、接続が確立されたときにただちにホストは勝者セッションをバインドします。それ以外の場合、ホストのアウトバウンド・クライアントは勝者セッションを待機してからバインドする必要があります。**MODE**は、SMSNA100などのCICS/ESA提供のモード名、またはユーザー定義のモード名のいずれかに置き換えます。BEA接続に別のセッション定義セットが存在する場合は、このモード名は接続に定義されているすべてのセット間で一意である必要があります。このモード名はVTAM LOGMODE名に対応します。MAXIMUMオプションは、(**MAX**)セット内のセッションの合計数、および競合の勝者セッションの合計数(**MIN**)を定義します。インストールが確認されるには、勝者セッションの合計数にホストおよびリモート・スタックの勝者セッションの合計数が含まれている必要があります。インストールの確認プロセスでは、両方の側をクライアントとして実行できます。ローカルの競合の勝者セッションとリモート・ホストの勝者セッションの合計数は、セッション数と一致する必要があります。ローカルのセッション数はリモートのセッション数と一致する必要があります。BEASNAファイルには、リスト3-15に示すサンプルのプログラム定義が含まれています。サンプル内のLANGUAGE変数**LANG**を、サンプル・アプリケーションに選択したソース・タイプを示すCまたはCOBOLに置き換えます。リスト3-15 BEASNAファイルのサンプル・プログラム定義BEASNAファイルには、リスト3-16に示すサンプルのリモート・プログラム定義も含まれています。このプログラム定義をCICS DPLクライアントが使用してDPLリクエストのリモート・システムおよびリモート・サービスを指定します。サンプルのREMOTESYSTEM変数**CONNECTION ID**をリモートLUの接続名に置き換えます。リスト3-16 BEASNAファイルのサンプル・リモート・プログラム定義リスト3-17 BEASNAファイルのサンプル・トランザクション定義サンプルのCICS/ESAクライアントのMIRRDTPCには、CPI-C動詞が含まれています。パートナ・リソース定義には、ATMIサーバーとの会話型通信を割り当てるために必要なCPI-C側の情報と、リモートのLUおよびトランザクション・プログラムに関する情報が含まれています。リスト3-18に示すように、TPNAMEパラメータはリモート・システムで起動されるトランザクション・プログラムを指定します。この場合、その名前はDMCONFIGファイルのDM_LOCAL_SERVICESセクションのRNAME値に関連付けられます。このRNAMEはパートナ定義のTPNAMEと一致する必要があります。(サンプルのDMCONFIGファイルにはローカル・サービス定義であるMIRRORが存在することに注意してください。この定義内のRNAMEはサンプルのパートナ定義のTPNAMEと一致しています。)プロファイル・リソース定義は会話型通信属性、特にMODENAMEを定義できます。サンプルのPROFILEパラメータは有効なプロファイル・リソース定義に置き換えることができます。このパラメータのデフォルト・プロファイル名はDFHCICSAです。DFHCICSAはCICSに含まれているプロファイルです。リスト3-18 BEASNAファイルのサンプル・パートナ定義
• このシナリオでは、toupcltクライアントは、CICS/ESAホスト・サーバーに対してtpcallを実行します。入力した文字列はサーバーにより小文字から大文字に変換されます。クライアントはトランザクション対応モードかトランザクション非対応モードで実行できます。CICS/ESAサーバーはDTPプログラムまたはDPLプログラムとして実行できます。H0TP <string>H2TP <string>H0TP = CPI-C Application Sync-Level 0H2TP = CPI-C Application Sync-Level 2<string> is a text string up to 1915 characters long.H1PL <string>H2PL <string>H1PL = DPL Application Sync-Level 1H2PL = DPL Application Sync-Level 2<string> is a text string up to 955 characters long.CICS/VSEのサンプル・アプリケーションは、CICS/ESAのサンプル・アプリケーションと実質的には同じですが、ファイル名の拡張子が.vseである点のみ異なります。サンプル・アプリケーションを実行するシナリオは両方のクライアント・カテゴリに共通に適用されます。その他に注目に価する相違といえば、CICS/VSEオペレーティング・システムに対応するとともに、CPI-Cインタフェースに対するCICS/VSEの非サポートに対応するための、サンプル・アプリケーションの軽微な構文変更ぐらいのものです。CSMIおよびCVMIは、属性INBFMH = NOが指定されたプロファイルDFHCICSTを使用します。DTPトランザクションを使用する場合は、INBFMH = ALLを設定する必要があります。そうしないと、ABEND AXFQが発生します。