次の方法で共有


CICS LU6.2 リンク

CICS LU6.2 リンク プログラミング モデルは、TI 機能の実装に使用できる最も簡単なモデルの 1 つです。

次の図は、クライアント、既定の CICS ミラー トランザクション、メインフレーム トランザクション プログラムの間で発生するワークフローの概要を示しています。 かっこ内の数字は、イベントが発生するおよその順序を示しています。 イベントの詳細については、次の図を参照してください。

CICS ミラー・トランザクションからの DPL 情報を含むパラメーターの送受信を示すトランザクション・インテグレーターを示す画像。
CICS ミラー トランザクションから DPL 情報を含むパラメーターを送受信するトランザクション インテグレーター

CICS LU6.2 リンク プログラミング モデルは次のように動作します。

  1. アプリケーションでは、TI 内のメソッドが起動されます。

  2. TI ランタイムにより TI プロキシが呼び出されます。

  3. TI プロキシでは次の操作が実行されます。

    1. 以前に TI デザイナーによって作成されたアセンブリとメタデータを読み取ります。

    2. .NET Framework データ型を COBOL データ型にマップします。

      その後、TI プロキシでは次の操作が実行されます。

    3. 変換ルーチンを呼び出して、アプリケーション データをメインフレームの COBOL 型に変換します。

    4. COBOL 宣言またはコピーブック を表す、フラット化されたデータ ストリーム バッファーを構築します。

    5. メッセージを SNA トランスポート コンポーネントに渡します。

  4. TI では、TI コンポーネント メソッドで指定された TP 名 CSMI 要求を、DPL 情報と LU6.2 プロトコルを使用して CICS ミラー トランザクションに送信します (IBM では、TI の前提条件システムで、CSMI と CICS が提供されています)。

    CICS ミラー トランザクションは、異なる CICS リージョンで実行されている TP 間のゲートウェイとして機能する特別な CICS TP です。これにより、COMMAREA を介してデータを交換できます。 TI では、CICS TP 間のこの標準的な通信方法を利用して、メインフレーム TP にアクセスします。 CSMI では、通信に必要なすべての APPC およびトランザクション プロパティを処理します。 この TP の TRANID は、CSMI です。

    分散プログラム リンク (DPL) は、CSMI と通信するときに使用されるプロトコルです。 TI では、DPL を使用して CSMI と通信が実行されます。

  5. CSMI (CICS ミラー トランザクション) では、CICS で要求されたサーバー TP の制御を行い、EXEC CICS リンク コマンドを発行します (このプログラムの名前は、TI デザイナーのリモート環境 (RE) とメソッド名に関連付けることができます)。

  6. CICS ミラー トランザクションでは、入力フィールドを含む COMMAREA をサーバー TP に渡します。

    COMMAREA は、メインフレーム プログラムとの間でやり取りされるすべてのデータを含む、最大 32 KB の通信領域です。 COBOL で記述された多くの CICS TP では、メインフレーム トランザクション コードのこの領域を使用してデータが交換されます。 LU 6.2 プログラミング モデルで CICS リンクを使用する場合、COMMAREA を介してデータを交換する別の CICS TP として、メインフレーム TP に TI が表示されます。

    サーバー TP は、クライアント アプリケーションの代わりに TI が起動させる TP です。 これには、実行されているビジネス ロジックが含まれ、クライアント アプリケーションのメソッド呼び出しで TRANID によって識別されます。

    注意

    サーバー TP という用語は、TI がアクセスしている TP を識別するために使用されます。 このことを明確にする必要があるのは、メインフレーム アプリケーションへのアクセスには、多くの TP が関係している場合があるためです。

  7. サーバー TP の処理が完了すると、EXEC CICS RETURN コマンドが発行されます。このコマンドでは、すべての出力フィールドが更新された状態で、COMMAREA 内のデータが CICS ミラー トランザクションに返送されます。

  8. CICS ミラー トランザクションでは、必要に応じて、出力データが TI に返送されます。

  9. TI プロキシでは、応答データを受信し、処理されます。 TI Automation プロキシでは次の操作が実行されます。

    1. SNA トランスポート コンポーネントからメッセージを受信

    2. メッセージ バッファーの読み取り

      TI Automation プロキシでは次の操作が実行されます。

    3. COBOL データ型を .NET Framework データ型へマッピング

    4. 変換ルーチンを呼び出し、メインフレームの COBOL 型をアプリケーション データに変換

  10. TI ランタイムでは、変換されたデータを、メソッドを呼び出した COM または .NET Framework アプリケーションに送り返します。

    フロー モデルだけが CICS リンクでサポートされています。そのため、このクラスの TP では、無制限のレコードセットはサポートされません。 固定サイズのレコードセット (つまり、境界付きレコードセット) がサポートされています。

    CSMI では、TI との同期レベル 2 の相互作用も処理されるため、このクラスのプログラムに対して 2PC 機能を透過的に提供します。

    既存の CICS プログラムは、この方法で既に構造化されている場合があります。 LU 6.2 要求を発行する TI ではなく、前の図に示した CICS プログラムを実行するために、別の CICS TP によって EXEC CICS リンクが既に発行されている場合があります。 その場合、既存の CICS TP と TI コンポーネントの両方が共存し、同じ CICS プログラムを実行できます。

注意

CSMI は既定のミラー トランザクション名ですが、別の名前 を指定できます

Host Integration Server には、CICS LU6.2 Link プログラミング モデルを実装する方法を示すサンプル コードが含まれています。 サンプル コードは、 \<インストール ディレクトリ>\SDK\Samples\AppInt にあります。 Microsoft Visual Studio を起動し、使用するチュートリアルを開き、「Readme」の手順に従ってください。

関連項目

トランザクション インテグレーターのコンポーネント
データ型を自動化から z/OS COBOL に変換する]
z/OS COBOL から自動化へのデータ・タイプの変換
CICS コンポーネント
TI ランタイム
適切なプログラミング モデルの選択
プログラミング モデル