目次 前 次 PDF


APPC/IMSプログラミングの考慮事項

APPC/IMSプログラミングの考慮事項
この項は、Application Program-to-Program Communication/Information Management System (APPC/IMS)プログラムを使用して、ATMIをプラットフォームおよびホストとするエンタープライズ・アプリケーションを実装および統合するアプリケーション・プログラマを対象とします。IMS環境のアプリケーション・プログラマは、明示的または暗黙的なプログラミング手法を使用できます。
注意:
このセクションのトピックは次のとおりです:
APPC/IMSの概要
APPC/IMSでは、APPCプロトコルを使用するアプリケーション・プログラムは、APPCをサポートするLU 6.2デバイスからIMSトランザクションを開始できます。また、APPC/IMSはリモートのLU 6.2デバイスがIMSのローカルおよびリモート・トランザクションを開始できる環境を提供します。この環境では、IMSアプリケーション・プログラムは既存のアプリケーション・プログラムのコーディングを変更しなくてもトランザクション出力をLU 6.2デバイスに挿入でき、新規のアプリケーション・プログラムは既存のLU 6.2機器を完全に活用できます。アプリケーションは明示的および暗黙的アプリケーション・プログラミング・インタフェース(API)を使用してトランザクションを開始できます。
暗黙的API
暗黙的APIを使用すると、多くのアプリケーションが単純化できて便利です。このAPIには既存のすべてのLU6.2機能が用意されているわけではありませんが、メッセージ・キューイングや自動的な非同期メッセージ配信などの追加機能が用意されています。
IMSアプリケーション・プログラミング・ベースを暗黙的APIとともに使用すると、Common Programming Interface for Communications (CPI-C)コールを設定しないトランザクション対応アプリケーションを作成できます。IMSにより自動的にすべてのCPI-Cコールが生成されます。アプリケーションの相互作用はIMSメッセージ・キューとの間でのみ行われます。
暗黙的APIはAPPC会話型通信に間接的にアクセスします。これは標準のDL/Iコール(GU、ISRT、PURG)を使用してデータを送受信します。暗黙的APIを使用すると、LU 6.2専用でないアプリケーションが、新規および変更済のDL/Iコール(CHNG、INQY、SETO)を使用して、LU 6.2のトランザクション対応プロトコルを使用できるようになります。
暗黙的APIは、LU 6.2の宛先を参照する代替PCBを使用して、非同期LU 6.2出力を生成します。DL/I CHNGコールには、LU 6.2宛先を指定するパラメータがあります。パラメータを省略した場合は、デフォルト値が使用されます。
アプリケーション・プログラムは、暗黙的APIを使用して、会話型通信タイプ(基本またはマップ)、同期レベル、および非同期または同期のいずれであるかなど、現在の会話型通信属性を取り出すことができます。
明示的API
IMSアプリケーション・プログラムは明示的APIを使用してCPI-Cコールを直接発行できます。明示的APIは、不完全なLU 6.2実装を持っていたりIMSの暗黙的APIサポートとの互換性を持たないリモートのLU 6.2システムにとって役に立ちます。
明示的APIを使用すると、IMSアプリケーション・プログラムはAPPC会話型通信に直接アクセスできます。CPI-Cドリブンのアプリケーション・プログラムがAPSB (Allocate_ PSB)コールを発行する場合のみ、IMSリソースがそれらのプログラムで使用可能になります。CPI-Cドリブンのアプリケーション・プログラムでは、CPI-RR SRRCMITおよびSRRBACK verbを使用してIMS同期点またはバックアウトを開始する必要があります。
APPC/IMSプログラミング
Oracle Tuxedo Mainframe Adapter for SNAシステムは、IMSの暗黙的APPCサポートか、ユーザー・アプリケーションからのAPPC/MVSコールを使用する明示的APPCインタフェースを使用して、トランザクション非対応およびトランザクション対応のIMSサーバーをサポートします。IMSメッセージ・キューでメッセージを出し入れするすべてのIMSプログラムは、変更しなくてもクライアントまたはサーバーとして使用できます。
IMSの暗黙的APPC機能を使用するには、Oracle Tuxedo Mainframe Adapter for SNAソフトウェアに付属しているSYS1.PARMLIBライブラリのAPPCMxxファイルを修正する必要があります。このファイルの構成パラメータは、LUとIMSスケジューラーを関連付けます。Oracle Tuxedo Mainframe Adapter for SNAがIMSリージョンにアクセスするためのアプリケーション名を示すLUと、インバウンド・リクエストのスケジュールを提供するIMSシステムのIDを指定する必要があります。APPCMxxファイルの変更内容については、必ずメインフレームのサポート担当者と協議してください。
非トランザクション対応アプリケーションのプログラミング
リスト6‑1はトランザクション非対応プログラムの例です。この例では、VTAMアプリケーションの主ノードはMVSLUO1、スケジュール・ファシリティはIMS制御リージョンのIVP4に指定されています。
リスト6‑1 SYS1.PARMLIBライブラリのAPPCMファイル(単なる例)
SYS1.PARMLIB(APPCMxx)

LUADD ACBNAME(MVSLU01) BASE TPDATA(SYS1.APPCTP),
SCHED(IVP4),
SIDEINFO DATASET(SYS1.APPCSI)

SYS1.VTAMLST(MVSLU01)

MVSLU01 APPL ACBNAME=MVSLU01, ACBNAME FOR APPC C
APPC=YES, C
AUTOSES=0, C
DDRAINL=NALOW, C
DLOGMOD=APPCHOST, C
DMINWNL=3, C
DMINWNR=3, C
DRESPL=NALLOW, C
DSESLIM=6, C
LMDENT=19, C
MODETAB=APPCTAB, C
PARSESS=YES, C
SECACPT=CONV, C
SRBEXIT=YES, C
VPACING=1
 
IMSサブシステムを起動するジョブでは、APPCパラメータをYに設定する必要があります。そのようなジョブの例をリスト6‑2に示しますが、実際の条件での使用は意図していません。IMSを起動する場合は、独自のカスタム・ジョブを使用してください。
リスト6‑2 IMSサブシステム起動ジョブ(単なる例)
PROC RGN=2000K,SOUT=A,DPTY='(14,15)',
SYS=,SYS1=,SYS2=,
RGSUF=IV1,PARM1=APPC=Y,PARM2=,APPLID1=IMS61CR1,AOIS=R IEFPROC EXEC PGM=DFSMVRC0,DPRTY=&DPTY,
REGION=&RGN,
PARM='CTL,&RGSUF,&PARM1,&PARM2,&APPLID1,&AOIS'
*
*
* THE MEANING AND MAXIMUM SIZE OF EACH PARAMETER
* IS AS FOLLOWS:
*
********** CONTROL REGION SPECIFICATIONS ***********
****************************************************
* RGSUF XXX EXEC PARM DEFAULT BLOCK SUFFIX FOR
* MEMBER DFSPBXXX.
****************************************************
*
* PARM1 , PARM2 PARAMETERS BOTH ARE USED TO SPECIFY
* CHARACTER STRINGS THAT CONTAIN IMS KEYWORD
*
* PARAMETERS. I.E. PARM1='AUTO=Y,PST=222,RES=Y'
*
*
* APPC X Y = ACTIVATE APPC/IMS
* N = DO NOT ACTIVATE APPC/IMS
 
トランザクション対応アプリケーションのプログラミング
リスト6‑3はトランザクション対応のVTAMプログラムの例です。LU定義SYNCLVL=SYNCPT(太字)の指定により、プログラムがトランザクション対応になっています。
注意:
SYNCLVL=SYNCPT定義を使用する場合は、常にATNLOSS=ALLパラメータの値を指定する必要があります。
リスト6‑3 サンプルのVTAM LUの定義
MVSLU01 APPL ACBNAME=MVSLU01, ACBNAME FOR APPC C
APPC=YES, C
AUTOSES=0, C
DDRAINL=NALOW, C
DLMOD=APPCHOST, C
DMWNL=5, C
DMINWNR=5, C
DRESPL=NALLOW, C
DSESLIM=10, C
LMDENT=19, C
MODETAB=APPCTAB, C
PARSESS=YES, C
SECACPT=CONV, C
SRBEXIT=YES, C
SYNCLVL=SYNCPT, C
ATNLOSS=ALL, C
VPACING=1
 
サンプルのトランザクション・プログラム
次のOracle Tuxedo Mainframe Adapter for SNAトランザクション対応テスト・プログラムは、ATMIプラットフォーム向けインストールのサブディレクトリTMA/sna/simpappにインストールされています。
simpims.c: シンプルなATMIクライアントであり、両方のサンプルIMSサーバー・プログラムを起動するために使用されます。これは入力として文字列データとサービス名を取ります。これはサービスを起動し、入力の文字列データを渡します。
IMPIMSSV.cbl: シンプルなIMSエコー・サーバー。これはIMSメッセージ・キューからのデータを読み取り、同じデータをレスポンスとして書き込みます。暗黙的SNAの例として使用されることを目的としています。
EXPIMSSV.c is: 明示的CPI-Cコールを使用したIMSサーバー・トランザクション。これは同期レベル2での使用を目的として作成されています。このプログラムではIBMのサンプル・データベース、IVPDB2を使用しています。入力文字列に基づいてデータベースのレコードが表示、追加および削除されます。サンプルの入力文字列がソース内に記載されています。
BEAWTOR.asm: アセンブラのサブルーチンであり、EXPIMSSV.cによりメッセージをMVSコンソール・ログに書き込むために使用されます。

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved