1 CICS Runtimeの概要

この章のトピックは、次のとおりです:

1.1 一般的なアーキテクチャ

z/OS環境では、CICSは、エンドユーザーとコンパイル済プログラム間のトランザクション通信を画面から確立するのに使用されます。

CICSは共有リソースの制御と整合性を実装するミドルウェアで、主にz/OS上でCOBOL、PL1およびアセンブラ言語によって開発されるCICS内部のプログラムと対話するAPI一式(EXEC CICS…END-EXEC文)を、開発者に提供します。

一度z/OS CICSアプリケーション(COBOLプログラムおよびデータ)のすべてのコンポーネントが、Oracle Tuxedo Application Runtime Workbenchを使用してUNIX/linuxプラットフォームに移行されると、CICS Runtimeにより、ネイティブのTuxedo機能のほかにAPIエミュレーションも使用して、それらをそのまま実行できます。

z/OSプラットフォーム上ではCICSによって実行される、トランザクション交換で使用されるリソースとデータ(複数のマシンに分散しているアプリケーションのために使用されるものを含む)の整合性に関する機能の多くを、UNIXプラットフォームではTuxedoが実行します。ただしTuxedoは、画面マップ処理など、一部の特定のネイティブCICS z/OS機能は管理しません。ターゲット・プラットフォーム上でこれらの機能を提供するために、CICS Runtimeは、Tuxedoと、変換されたCICSアプリケーションの間にあるテクニカル層として機能します。

次のスキーマは、CICS Runtimeのグローバル・アーキテクチャを示しています。

図1-1 Oracle Tuxedo Application Runtime for CICSのアーキテクチャ


Oracle Tuxedo Application Runtime for CICSのアーキテクチャ

CICS Runtimeは、次の2つの主要な部分から構成されています。

  • CICS Runtime PreprocessorとCICSランタイム・ライブラリ
  • CICS Runtime Tuxedoサーバーとリソース構成ファイル

1.2 CICSランタイム・ライブラリ

z/OS CICSアプリケーションでは、CICSによって管理されるリソースとのすべての対話は、EXEC CICS APIを介して行われます。

CICS Preprocessorは、これらの文をCICSライブラリへの呼出しに変換します。

リスト2-1 z/OS CICS呼出し
*EXEC CICS
* RECEIVE MAP ('RTSAM10')
* MAPSET ('RTSAM10')
* INTO (RTSAM10I)
*END-EXEC.
MOVE ' xxxxxxxxxxxx00203 ' TO DFHEIV0
MOVE 'RTSAM10' TO DFHC0070
MOVE 'RTSAM10' TO DFHC0071
CALL 'DFHEI1' USING DFHEIV0 DFHC0070
RTSAM10I DFHDUMMY DFHC0071.

UNIX上では、CICS Runtime Preprocessorは、これらのEXEC CICSをCICSランタイム・ライブラリへの呼出しに変換します。

リスト2-2 CICS Runtime呼出し

*EXEC CICS
* RECEIVE MAP ('RTSAM10')
* MAPSET ('RTSAM10')
* INTO (RTSAM10I)
*END-EXEC.
INITIALIZE KIX--INDICS
MOVE LOW-VALUE TO KIX--ALL-ARGS
. . .
ADD 1 TO KIX--ARGS-NB
SET KIX--INDIC-MAPSET(KIX--ARGS-NB) TO TRUE
MOVE 'RTSAM10' TO KIX--MAPSET OF KIX--BMS-ARGS
ADD 1 TO KIX--ARGS-NB
SET KIX--INDIC-MAP(KIX--ARGS-NB) TO TRUE
MOVE 'RTSAM10' TO KIX--MAP OF KIX--BMS-ARGS
CALL "KIX__RECEIVE_MAP" USING KIX--INDICS KIX--ALL-ARGS

1.3 CICS Runtime Tuxedoサーバー

CICS Runtime Tuxedoサーバーは、Tuxedoにネイティブには存在しないCICS機能を管理するために使用されます

これらのサーバーの一部は、CICS Runtimeを使用可能にするために必須ですが、他のサーバーは、ユーザーの実際のシナリオおよびCICSアプリケーションでの固有のEXEC CICS文の使用法によってはオプションです。

1.3.1 必須サーバー

  • 管理サーバー(ARTADM)は、CICS Runtimeを管理するために必要です。

1.3.2 オプションのサーバー

  • ターミナル接続サーバー(TCPサーバー: ARTTCPHおよびARTTCPLサーバー): 3270ターミナルまたはエミュレータを介するCICSアプリケーションへのユーザー接続とセッションを管理します。
  • 接続サーバーARTCNX: ユーザー・セッションと、セキュリティに関連する一部のテクニカル・トランザクションを管理します(CSGM: 「Good Morning」画面、CESN: サインオン、CESF: サインオフ)。
  • 接続サーバーARTCNX: ユーザー・セッションと、セキュリティに関連する一部のテクニカル・トランザクションを管理します(CSGM: 「Good Morning」画面、CESN: サインオン、CESF: サインオフ)。
  • 同期トランザクション・サーバーARTSTRN: 同時実行できる標準的な同期CICSトランザクションを管理します。
  • 同期トランザクション・サーバーARTSTR1: 同時にでなく、順次にのみ(1度に1つずつ)実行できるCICS同期トランザクション・アプリケーションを管理します。
  • 非同期トランザクション・サーバーARTATRNおよびARTATR1: ARTSTRNおよびARTSTR1と類似していますが、EXEC CICS START TRANSID文によって開始される非同期トランザクション用です。
  • TSキュー・サーバーARTTSQTMQUEUEおよびTMQFORWARDは、特定のコマンドを介してCICSによって管理される、CICS一時記憶域キュー・ファイルを管理します。
  • TDキュー・サーバーのARTTDQは、アプリケーションによってリクエストされるTDキュー操作管理を集約化します。
  • 分散プログラム・リンク・サーバーARTDPLは、DPLプログラムを実行します。
  • Converse ManagementサーバーARTCTRNおよびARTCTR1
  • Webトランザクション・サーバーARTWTRNおよびARTWTR1: 非3270sクライアント指向の同期(非対話型)トランザクションを管理します。
  • システムおよびリソース管理(ARTSRM)サーバーは、アプリケーションによって生成および問合せが行われるARTランタイム情報を集中管理します。
  • ARTSHMは、GETMAIN SHAREDの共有メモリーを管理するために使用されます。共有メモリーの割当てとフリー・リクエストの処理を行います。
  • ARTCSKLはART for CICS TCP/IPソケットのリスナーで、CICS TCP/IPリスナーCSKLと同じ機能を実行できます。

1.3.3 サーバーの生成

一部のCICS Runtime Tuxedoサーバーは、buildartcicsツール(ARTSTRNARTSTR1ARTSTRN_UDBなど)により構築する必要があります。

詳細は、『Oracle Tuxedo Application Runtime from CICSリファレンス・ガイド』を参照してください

1.3.4 サーバーの構成

CICS Runtime Tuxedoサーバーは、次の場所で構成されます。

  • 一度tuxconfigファイルにコンパイルされたubbconfigファイルは、起動時にTuxedoによって読み取られて、すべてのサーバーとそのパラメータが起動されるように定義しているファイルです。
  • CICSランタイム・サーバーで管理される、CICSリソースのためのCICSランタイム・リソース構成ファイルが宣言されています。

次の項では、ファイルを構成する方法を説明します。

1.3.4.1 CICSランタイム・リソース構成ファイル

この項には次の情報が含まれます:

1.3.4.1.1 z/Osリソース管理についての注意

z/OS上では、CICSアプリケーション(ターミナル、トランザクション、プログラム、マップ、ファイルなど)で使用されるテクニカル・コンポーネントはすべて名前付きCICSリソースであって、CSDと呼ばれる専用の構成ファイルを使用してCICSに対して宣言される必要があります。

宣言済の各リソースは、リソース・グループ名に属する必要があります。これにより、束ねられてテクニカルまたはファンクショナル・アプリケーションを構成するリソース一式の管理(インストール、削除、別のCSDへのコピーなど)が可能になります。

作成されると、CICSリスト名で、1つ以上のCICSグループを宣言できます。これらのリスト名のすべてまたは一部は、CICSグループをインストールするために起動時にCICSに提供され、これらのグループで定義されているすべてのリソースを使用できるようにします。

1.3.4.1.2 CICSランタイム・リソース管理

CICS Runtimeは、z/OS上のCICS CSDファイルで以前に定義されたリソース・タイプのサブセットだけを管理します。このサブセットの各リソース・タイプ定義は、それ自身の専用リソース構成ファイルに格納されます。これらすべてのファイルは、同じUNIXディレクトリにあります。

グループ名の概念は、同じ利点を維持ためにz/OSプラットフォーム上でも保持されます。この目的のために、構成ファイルで定義されている各リソースは、CICSグループ名に属している必要があります。

CICS Runtimeは、次のリソースを管理します。

  • Tranclasses (transclasses.desc file)

    このファイルは、CICSトランザクションによって参照される、すべての異なったトランザクション・クラス(Tranclasses)が含まれます。CICS Runtimeでは、Tranclassは、同じトランザクションの複数のインスタンスが、同時に実行されるか、順次に実行されるかを定義する機能です。

  • トランザクション(transactions.descファイル)

    トランザクションは、3270画面から手動で、または別のCOBOL CICSプログラムから、トランザクション・コードを介して間接的にプログラムを実行することを可能にするCICS機能です。

    トランザクションは、このトランザクションが排他的に実行される必要があるかどうかを定義するために、トランザクション・クラスに属します。
  • プログラム(programs.descファイル)

    このファイルには、EXEC CICS STARTLINKまたはXCTL文を介して起動されるすべてのCOBOLまたはCプログラムのリストが含まれます。

  • TSキュー・モデル(tsqmodel.descファイル)

    CICSプログラムで使用されるTSキューによって参照されている、すべてのTSキュー・モデルが含まれます。

    TSキュー・モデルは、一時記憶域キューを管理するCICS APIで定義されているものを完了するか、置換するプロパティを定義します。これらのTSキューの名前は、TSキュー・モデルで定義されているマスクと一致する必要があります。CICS Runtimeでは、これらのモデルは、主にTSキューが回復可能かどうかを定義するために使用されます。

  • マップセット(mapsets.descファイル)

    このファイルには、CICSアプリケーションで参照されるすべてのマップセットが含まれます。マップセットはCICSリソースであり、また、CICSアプリケーションとエンド・ユーザーの間での交換で使用される1つ以上の画面(マップ)を含んでいる物理コンポーネントです。

    これらのリソースは、COBOLプログラム内部のEXEC CICS SEND MAPまたはRECEIVE MAPのような、専用のCICS文を介して使用されます。

  • Typeterms (typeterms.descファイル)

    CICS Runtime TCPサーバーでサポートされる3270ターミナル・タイプがすべて含まれます。

  • Enqmodel (enqmodel.desc)

    EXEC CICS ENQおよびEXEC CICS DEQコマンドが全sysplex的なスコープを持つ指定したリソースを定義します。

  • エクストラTDQUEUE (tdqextra.desc)

    エクストラ一時データ・キューの属性を定義します。

  • イントラTDQUEUE (tdqintra.desc)

    イントラ一時データ・キューの属性を定義します。

  • システム(system.desc)

    メインフレーム上のシステム初期化表(SIT)の機能を置き換えます。

  • ターミナル(terminals.desc)

    ターミナルとその属性を定義します。

  • 接続(connections.desc)

    ART CICSアプリケーション・サーバーでロードできる接続のリストを定義します。

  • Webサービス(webservice.desc)

    呼び出されるWebサービスを定義します。このファイルはINVOKE WEBSERVICEコマンドで使用されます。

  • プログラム・リスト(program_list_table.desc)

    ART CICSの起動または停止時に実行するプログラム・リストを定義します。

  • TCP/IPソケット・リスナー(listener.desc)

    ART for CICS TCP/IPソケット・リスナー情報を定義します。

    ノート:

    ART CICS Runtimeは、CICS CSDファイルを自動的にCICSランタイム・リソース構成ファイルに変換するtcxcsdcvtユーティリティを提供します。詳細は、 「Oracle Tuxedo Application Runtime for CICS CSDコンバータ」を参照してください。