![]() ![]() ![]() ![]() ![]() ![]() |
この項では、様々なサーバーと、トランザクションの処理全体でそれらが果たすロールについて説明します。サーバーの構成については、「サーバーの構成」で説明しています。
これらのサーバーのロールは、3270ターミナル・エミュレータを介して行われるユーザー接続を受け入れ、管理すること、および、そこで生じるユーザー・セッションに関連する3270入出力を、ユーザー・セッションの終了まで管理することです。
機能的には、このロールは、CICS MRO構成の端末所有領域が果たすロールに似ています。
これらの3270のユーザー・セッション管理タスクは、サーバー・タイプARTTCPLおよびARTTCPHによって管理されます(最後の「L」はリスナーを、「H」はハンドラを表します)。
リクエストされた数のハンドラ・プロセス(ARTTCPH)を起動および管理することが、ARTTCPLのロールです。
ユーザーがトランザクションをリクエストするごとに、ARTTCPHはそのトランザクション・リクエストをトランザクション・サーバーに送信します(tpconnect経由)。
この機能は、CICS MRO構成で、トランザクションをA.O.R.(アプリケーション所有領域)にルーティングするときに、T.O.R.(端末所有領域)が提供する機能に似ています。
このサーバーは、ユーザーの接続および切断フェーズでターミナル・ハンドラが必要とする技術サービスを提供します。
技術サービスは、connect
やdisconnect
などの内部メッセージ指向サービスを使用して提供されます。
接続サーバーは、いくつかの古典的なCICSトランザクションも提供します。
特に、ARTCNX
は、ARTTCPH
とARTSTRN/ARTSTR1
からのリクエスト、LUNAME
の検証チェックおよびTERMID/LUNAME
の割当てを処理します。ARTCNX
が公開するすべてのサービスとその機能は、次のとおりです。
gensess
は、各ターミナルのセッションIDを生成します。セッションIDはART CICSに内部的に保持されます。 delsess
は、ターミナルの終了時にそのセッションIDを解放します。 connect
は、自動インストールのターミナルに対して、ローカルで一意(各CICSリージョンで一意)のTERMID
およびグローバルで一意(すべてのCICSリージョンで一意)のLUNAME
を生成し、LUNAME
指定ターミナルのLUNAME
検証をチェックし、TERM
ステータスをACQUIRED
に変更します。disconnect
は、TERMID
およびLUNAME
を解放し、TERM
ステータスをRELEASED
に変更します。inquire
は、ARTSTRN
からのINQUIRE NETNAME/TERMID
リクエストを処理します。 update
は、ARTSTRN
からのSET TERMINAL
リクエストを処理します。authfail
は、CESN
ログオンが失敗した場合、ターミナルにエラー・メッセージを出力します。CESN
は、サインオン・トランザクションを指定しますCESF
は、サインオフ・トランザクションを指定しますCSGM
は、Good Morningトランザクション(デフォルトのGood Morningトランザクション)を指定します注: | ISC_ENABLE=YES が設定される場合は、gensess およびdelsess はARTLOGN によって公開されます。 |
詳細は、「システム・コマンドとトランザクション」の「認証トランザクション」を参照してください。
このサーバーは、ユーザーがART CICSにログオンするときにターミナル・ハンドラが必要とする技術サービスを提供します。
ART_LOGON
は、「ARTランタイムへようこそ」パネルを送信し、APPLID入力を求めます。
gensess
は、各ターミナルに対して16文字のグローバルに一意なID (すべてのCICSリージョンで一意)を生成します。
delsess
は、対応するターミナルの切断時にそのセッションIDを解放します。
注: | ARTLOGN は、ISC_ENABLE=YES が指定された場合のみ構成する必要があります。それ以外の場合、サーバーは起動されません。 |
このサーバーは、アプリケーションによって生成および問合せが行われるARTランタイム情報を集中管理します。
注: |
ARTSRM
)には、ARTSRM
、ARTSRM_ORA
(Oracle用)およびARTSRM_UDB
(UDB用)の3つのバージョンがあります。ARTSRM
は共有メモリーを使用します。ARTSRM_ORA
(Oracle用)およびARTSRM_UDB
(UDB用)はデータの格納に共有メモリーまたはデータベースを使用します。データベースを使用するよう構成された場合、サーバーはDBを利用してHA機能を提供します。 ARTSRM
サーバーで共有メモリーを使用し、SRM_IPCKEY
を指定しない場合は、同じリージョンのARTSRM
を同じTuxedoグループで構成する必要があります。ARTSRM
は、MP環境の1つのホストでのみ構成できます。ARTSRM
は、「複数サーバー、単一キュー構成(MSSQ)」構成をサポートしません。ARTSRM
を構成および開始する必要があります。ARTSRM_ORA
またはARTSRM_UDB
を使用するには、起動の前にデータベース表を作成する必要があります。同一リージョンのARTSRM_ORA
またはARTSRM_UDB
は、異なるマシンの異なるTuxedoグループに属することができます(Tuxedoグループは、OPENINFO
が指定されたTMSグループである必要があります)。 これらのサーバー(ARTSTRN
とARTSTR1
)のタスクは、アプリケーション・トランザクションを提供し、それぞれに対応するプログラムを処理することです。
このサーバーは、CICS MRO構成で、アプリケーション所有領域が提供する機能に類似した機能を提供します。ARTSTRN/ARTSTR1
サーバーは、Tuxedoサービスとしてアプリケーション・トランザクションを提供し、トランザクション・リクエストを受信すると、それに対応するプログラムを実行します。これらのサーバーが対話型なのは、真の対話型CICSトランザクションを管理できるようにです。
ARTSTRNサーバーは自動的に複数起動して並列処理を管理できるため、maxactive =1のtranclassに属する複数のトランザクションは、ARTSTRNサーバーで提供されません。
かわりに、専用タイプのサーバー(ARTSTR1
)がこのロールに割り当てられます。ARTSTR1
サーバーは、MAXACTIVE = 1
の1つのTRANCLASSに属する複数のトランザクションを公開し、maxactive =1の同じtranclassで2つのトランザクションが同時実行されないことを保証します。Tuxedoの言い方では、そのような2つのトランザクションが2台の異なるサーバーで公開されないことが保証されます。
ARTTSQ
サーバーのロールは、アプリケーションによりリクエストされるTSキュー操作の管理を集中化することです。これらのタスクは、ARTTSQ
サーバーで管理されます。
TSキュー上の予期されるワークロードに応じて、単一のサーバーまたは複数のARTTSQ
サーバーが構成されます。
TSQUEUE
。{MODEL}_TSQUEUE
。そのようなサービスは、各モデルにつき1台のARTTSQ
サーバーを使用して公開される必要があります。 単純な構成では、単一のARTTSQ
サーバーがすべてのTS操作を扱い、TSQUEUE
サービスとすべての{MODEL}_TSQUEUE
サービスを提供します。
より複雑な構成では1台のARTTSQ
サーバーがTSQUEUE
と複数の{MODEL}_TSQUEUE
サービスを提供し、他のARTTSQ
サーバー各々が、異なる{MODEL}_TSQUEUE
サービスを提供する場合があります。
Tuxedo 12c EMパックでは、ARTTSQ
をモニターし、詳細なTSQプロパティおよび統計情報は、EMを介して取得できます。
ARTTSQP
サーバーのロールは共有TSプールで定義されているTSキューを管理することです。
これはデータベースを使用して、キュー・データを保存します。このサーバーはTuxedo TMSグループで構成する必要があります。同一のTSMODEL
にサービスを提供するARTTSQP
サーバーは複数設定できます。
ARTTSQP
はTuxedo EM TSQモニター・インタフェース、詳細なTSキュー・プロパティ、統計情報をサポートし、これらはEM経由で取得可能です。
ARTTDQ
サーバーのロールは、アプリケーションによりリクエストされるTDキュー操作の管理を集中化することです。これらのタスクは、1台のARTTDQ
サーバーで管理されます。
単一のARTTDQ
サーバーは、構成ファイル内の宣言されたキュー1つにつき1つのサービスを公開し、すべてのCICS TD操作を扱って、各キューに対してTD QUEUE
サービスを提供します。
Tuxedo 12c EMパックでは、ARTTDQ
をモニターし、詳細なTDQプロパティおよび統計情報は、EMを介して取得できます。
複雑な構成では、アプリケーションが分散プログラム呼び出しを行う必要がある場合があります。この場合、DPLプログラムを管理するために、別の種類のサーバーARTDPLが必要です。
ARTDPLサーバーは、CICS LINKおよびEXCIインタフェースがサービスとしてコールできるDPLプログラムやミラー・トランザクションを公開し、これらのサービスの実行を管理します。
ARTDPLはネイティブなカスタマイズ済Tuxedoクライアントからもアクセスできます。このクライアントはTuxedo FML32フィールドまたはRECORDを使用してARTDPLへのリクエストを作成します。詳細は、外部Tuxedoクライアント用のDPL通信インタフェースに関する項を参照してください。
<sysid>_<program>
このサービスは、CICS LINK
によって分散プログラム・コールが作成されると、コールされます。<program>
はprograms.descで定義され、ARTDPL
によってロードされます。<sysid>
は、ARTDPL
CLOPT
の-s引数で指定されます。
CSMI/CVMI
このサービスは、<applid>
と<transid>
の両方がEXCIインタフェース・リクエストで指定されていない場合にコールされます。CSMIおよびCVMIは2種類のCICSシステム・ミラー・トランザクションです。
<applid>_CSMI/<applid>_CVMI
このサービスは、EXCIインタフェース・リクエストで<transid>
は指定されないが、<applid>
は指定される場合にコールされます。<applid>は、ARTDPL
CLOPT
の-a引数によって指定されます。または、system.descで指定することもできます。
MIRROR_<transid>
このサービスは、EXCIインタフェース・リクエストで<applid>
は指定されないが、<transid>
は指定される場合にコールされます。<transid>は、transactions.desc
でカスタマイズされたミラー・トランザクションとして定義されます。
<applid>_MIRROR_<transid>
このサービスは、EXCIインタフェース・リクエストで<applid>
と<transid>
の両方が指定されている場合にコールされます。<transid>
は、transactions.desc
でカスタマイズされたミラー・トランザクションとして定義されます。<applid>
は、ARTDPL
CLOPT
の-a引数によって指定できます。または、system.desc
で指定できます。
<applid>_info
このサービスにより、現在のCICSリージョン<sysid>
が提供されます。これは、<applid>
に関連しています。EXCIインタフェース・リクエスト専用です。
default_info
このサービスは、EXCIインタフェースで<applid>
が指定されていない場合にクライアントによってコールされます。EXCIインタフェース・リクエスト専用です。
アプリケーションは、EXEC CICS START TRANSID
を使用して非同期トランザクション起動をリクエストできます。この場合、リクエストは別のサーバーで、非同期的に扱われる必要があります。これらのタスクは、ARTATRN/ARTATR1
で管理されます。
注: | EXEC CICS START TRANSID コマンドのTERMID オプションを使用したリクエストは、ARTSTRN/ARTSTR1 によって管理されます。 |
これらのサーバーは、ASYNC_{Transaction_Name}
という名前のサービスとしてEXEC CICS START TRANSID
が呼び出せるトランザクションを公開し、これらのサービスの実行を管理します。
アプリケーションは、EXEC CICS CONVERSE
リクエストを使用して対話の起動をリクエストできます。この場合、リクエストは別のサーバーで扱われる必要があります。これらのタスクは、ARTCTRN/ARTCTR1
サーバーで管理されます。
これらのサーバーは、{SysId}_{Transaction_Name}
という名前のサービスとしてEXEC CICS CONVERSE
が呼び出せるトランザクションを公開し、これらのサービスの実行を管理します。
非3270sターミナルは、3270プロトコルに従う一般の3270ターミナル・エミュレータと異なります。非3270sターミナルはネイティブTuxedoクライアント、JavaクライアントおよびTuxedo ATMIに基づくWeb UIが考えられ、カスタマ自身かサード・パーティにより実装される必要があります。
ARTWTRN/ARTWTR1のサーバーのタスクは、アプリケーション・トランザクションの提供と、対応プログラムの処理です。
これらのサーバーにはARTSTRN/ARTSTR1と同様の機能があり、非3270sターミナルからのトランザクション・リクエストの受信時に、Tuxedoサービスとしてアプリケーション・トランザクションを提供します。
これらのサーバーは非対話型であり、したがって擬似対話型CICSトランザクションを管理できます。
サーバーは起動時に、transactions.desc
で定義されている各トランザクションをTuxedoサービスとして公開します。ARTWTRN/ARTWTR1で非3270sターミナルからのリクエストが受信されると、サーバーでは$COBPATH
ディレクトリ(COBOL-ITの場合$COB_LIBRARY_PATH
)にある対応するCICSプログラムをロードし、関連のCOPYBOOKに従ってFMLバッファから受信したアプリケーション・データを再編成して、データをロードされたCICSプログラムに処理のために渡します。CICS RETURNの呼出しによりCICSプログラムが戻ると、サーバーではアプリケーション・データをFMLバッファに、tpreturnをクライアントに挿入します。
非同期トランザクションはEXEC CICS START TRANSID
リクエストを使用して起動されますが、このリクエストは、間隔または一定の時刻に設定された遅延によっても起動できます。
この場合、トランザクション・リクエストはTuxedo /Qキューに保存され、時刻になると、トランザクションが自動的に起動されます。
この機能を有効にするには、次のいくつかの追加コンポーネントをアクティブにする必要があります。
ヒント: | TMQFORWARD は、常に、ASYNC_QUEUE (キューの名前)と呼ばれる、同一のテクニカル・トランザクションを呼び出します。このトランザクションは、フィールドCX_TRANSIDを抽出しますが、このフィールドは、呼出しを行う実際のアプリケーション・トランザクションの名前が含んでおり、このトランザクションとtpreturnのTPACALL(NOREPLY)を実行します。 |
管理サーバーは、CICSリソースの管理を担当します。次の機能を提供します。
ARTSHM
は、GETMAIN SHARED
の共有メモリーを管理するために使用されます。これは、共有メモリーの割当てとフリー・リクエストを処理します。
環境変数 KIX_SHR_IPCKEY
およびKIX_SHR_SIZE
は、IPCキーと共有メモリーのサイズを指定します。この2つの変数を構成して、この機能を有効化する必要があります。ユーザーは、KIX_SHR_ATADDR
により、共有メモリー・アタッチ・アドレス(デフォルトは0x300000000000)を指定できます。指定したアドレスは、ページ境界に配置されたアドレスです。環境変数はARTSHM
とアプリケーション・サーバーで同一である必要があります。
ユーザーは、ドメインに複数のARTSHM
を構成できます。起動時には、ARTSHM
が共有メモリーにアタッチされるのに続いて、最初にブートされたARTSHM
によって共有メモリーが作成/初期化されます。停止時には、最後のARTSRM
が共有メモリーを破棄します。
ARTSHM
は、ARTアプリケーション・サーバー(ARTSTRN/1
、ARTATRN/1
およびARTDPL
)の前に起動し、すべてのARTアプリケーション・サーバーの後に停止する必要があります。
最後のARTSRM
が停止する際に、共有メモリーを使用するアプリケーション・サーバーがまだ稼働している場合は、ARTSRM
は共有メモリーを破棄しないため、ユーザーは共有メモリーを手動でクリーンアップする必要があります。
ARTSHM
が異常終了した場合は、共有メモリーは破棄されません。ARTSHM
がTuxedo RESTART
機能または手動起動によって回復された場合、メモリー管理情報は保持されます。
ARTCSKL
はART for CICS TCP/IPソケットのリスナーで、CICS TCP/IPリスナーCSKLと同じ機能を実行できます。クライアント・リクエストを受信すると、作業タスクにリクエストを渡して処理を依頼し、別のクライアント・リクエストを待機します。ARTCSKL
は標準モードまたはエンハンス・モードで実行できます。モードは、ART for CICS TCP/IPソケット・リスナー構成ファイル(listener.desc
)のFORMAT
パラメータを介して設定できます。
詳細は、このドキュメントの「ARTCSKL構成」および『Oracle Tuxedo Application Runtime for CICSユーザー・ガイド』のART for CICS TCP/IPソケット・インタフェースの使用の実装に関する項を参照してください。
![]() ![]() ![]() |