ソリューションに適したプログラミング モデルの選択

プログラミング モデルは、特定のソリューションの目標に応じて、ホスト アプリケーションと構成要件にアクセスして統合するために使用される方法を決定します。 TI を実装するか、メインフレームおよびミッドレンジ システムのコネクタを使用して Azure Logic Apps でワークフローを作成する場合は、サポートされているプログラミング モデルに合わせて既存のメインフレーム トランザクション プログラム (TP) を変更する必要がある場合があります。 具体的には、次のシナリオでこれが必要になる場合があります。

  • TP では、単純な要求/応答応答は想定されません。

  • CICS TP に、ビジネス ロジックと同じ TP に埋め込まれたターミナル処理ロジックがある。

    この種類の TP は、2 つの別個の TP として再構築する必要があります。 メインフレーム コンピューター上に既に存在するビジネス ロジックに TP としてアクセスします。 この機能を使用してもよいし、この方法を COM 側で作成してから、必要なサーバー TP をメインフレーム コンピューターに作成しても構いません。 標準のデータ・アクセス方式よりも、VSAM データ・セットに保管されているデータなど、一部のタイプのデータに TI がアクセスする方が適している可能性があるため、これは引き続き有効なオプションです。

    TI で提供されているプログラミング モデルのいずれかを使用してトランザクション アクセスを実装できるように、organizationのビジネス要件を慎重に分析する必要があります。 TI では、次の表に示すプログラミング モデルがサポートされています。このモデルには、organizationに適したプログラミング モデルを選択するときに考慮する必要があるいくつかの要因が示されています。

    • ネットワーク プロトコル
    • ホストに送信できるメッセージまたはデータの最大サイズ
    • ホスト アプリケーションで 2 フェーズ コミット トランザクションを使用する必要があるかどうか
    • リンク プログラムをサポートするために独自の通信プロトコルを記述する必要があるかどうか
    • サーバーがクライアントからサーバーへのコンテキスト (永続的な接続とも呼ばれます) を維持する機能を持たせたいかどうか
    • 特定のモデルに固有のその他の要件

次の表は、プログラミング モデル間の類似点と相違点をまとめたものです。

プログラミング モデル ネットワーク プロトコル メッセージまたはデータの最大サイズ 2 フェーズ コミットをサポート 独自の通信プロトコルを記述する 永続的な接続をサポートします Azure Logic Apps のサポート その他の要件
TCP トランザクションの要求メッセージのリンク TCP/IP 32 KB いいえ いいえ (サンプル コードを参照) はい Yes - mscmtics.cbl サンプル アプリケーションを参照してください。
- 1:サーバー アプリケーションとポート間の多くの関係
TCP 拡張リスナー メッセージのリンク TCP/IP 32 KB いいえ いいえ (サンプル コードを参照) はい Yes - mscmtics.cbl サンプル アプリケーションを参照してください。
- サーバー アプリケーションとポートの間の 1:1 の関係
TCP トランザクション要求メッセージのユーザー データ TCP/IP 無制限 いいえ Yes

(サーバー TP は、TCP/IP 経由のすべてのソケット呼び出しを処理するようにコーディングされています)。
Yes Yes 1:サーバー アプリケーションとポート間の多くの関係
TCP 拡張リスナー メッセージのユーザー データ TCP/IP 無制限 いいえ Yes

(サーバー TP は、TCP/IP 経由のすべてのソケット呼び出しを処理するようにコーディングされています)。
Yes Yes サーバー アプリケーションとポートの間の 1:1 の関係
IMS Connect TCP/IP 10 MB いいえ いいえ いいえ Yes - (TI からホストへの) 受信レコードセットは許可されません。 TI は、無制限のレコードセットをホストに送信できません。 ホストから TI に戻ってくるレコードセットのみがサポートされます。
- IBM 提供のHWSIMSO0およびHWSIMSO0出口ルーチンに依存
IBM i 分散プログラム呼び出し TCP/IP 32KB いいえ いいえ はい いいえ
CICS LU6.2 リンク LU6.2 32KB はい いいえ いいえ いいえ - サーバー TP は、COMMAREA を使用するように既にコーディングされています。 : CICS Link では、複数の送受信コマンドはサポートされていません。 したがって、可変長レコードセットはサポートされていませんが、固定サイズのレコードセットはサポートされています。
- CICS TP には、APPC 動詞の発行を直接処理するために必要なロジックは含まれませんが、代わりに CICS ミラー トランザクションに依存する必要があります。
- TP は、単純な送受信シーケンス用にコーディングされています。
CICS LU6.2 ユーザー データ LU6.2 無制限 Yes Yes

(サーバー TP は、すべての APPC および同期レベル 2 の通信を処理するようにコーディングされています)。
はい いいえ - 既存の TP には、独自の APPC と同期レベル 2 の通信を管理するために必要な適切なコードが含まれています。
- 複数の送受信コマンドを使用できます。
IMS LU6.2 ユーザー データ LU6.2 無制限 はい いいえ いいえ いいえ - 各サーバー TP には、LU6.2 プロトコルを使用してすべてのデータ通信を処理するために必要な埋め込みコードが必要です。
HTTP リンク HTTP 32 KB いいえ いいえ いいえ (サンプル コードを参照) はい - MSHMIRS サンプル プログラムを参照してください
- 1:サーバー アプリケーションとポート間の多くの関係
HTTP ユーザー データ HTTP 無制限 いいえ いいえ はい(HTTPGetBalanceUserData.cbl のサンプル コードに基づく) Yes - GETBALUD サンプル プログラムを参照してください
- 1:サーバー アプリケーションとポート間の多くの関係

特定のプログラミング・モデルを実装する場合は、メインフレームまたは IBM i コンピューターに適切なソフトウェアをインストールして構成する必要があります。 organizationに適したプログラミング モデルを選択する場合は、現在のホスト構成が最小要件とどの程度一致するかを評価する必要があります。 次の表は、各プログラミング モデルの最小ソフトウェア要件と構成要件をまとめたものです。

プログラミング モデル インストールと構成の要件
TCP トランザクションの要求メッセージのリンク - IBM z/OS 2.3 以降
- IBM CICS 5.2 以降
- リスナー TP(CICS TCP/IP に含まれ、構成および開始済み)
- z/OS バージョン 2.3 以降の TCP/IP
- TP が構成されている、少なくとも 1 つの CICS 領域が、CICS 内の APPL ステートメントで定義されています。
TCP 拡張リスナー メッセージのリンク - IBM z/OS 2.3 以降
- IBM CICS コンポーネント・サービス
- リスナー TP(CICS TCP/IP に含まれ、構成および開始済み)
- z/OS バージョン 2.3 以降の TCP/IP
- TP が構成されている、少なくとも 1 つの CICS 領域が、CICS 内の 1 つの CICS ステートメントで定義されている
TCP トランザクション要求メッセージのユーザー データ - IBM z/OS 2.3 以降
- IBM CICS 5.2 以降
- リスナー TP(CICS TCP/IP に含まれ、構成および開始済み)
- z/OS バージョン 2.3 以降の TCP/IP
- TP が構成されている、少なくとも 1 つの CICS 領域が、CICS 内の 1 つの CICS ステートメントで定義されている
TCP 拡張リスナー メッセージのユーザー データ - IBM z/OS 2.3 以降
- IBM CICS コンポーネント・サービス
- リスナー TP(CICS TCP/IP に含まれ、構成および開始済み)
- z/OS バージョン 2.3 以降の TCP/IP
- TP が構成されている、少なくとも 1 つの CICS 領域が、CICS 内の 1 つの CICS ステートメントで定義されている
IMS Connect - IBM z/OS 2.3 以降
- IBM IMS 13.1 以降
- IMS TCP/IP に含まれるリスナー TP
- z/OS 2.3 以降の TCP/IP
- IMS TCP/IP
IBM i 分散プログラム呼び出し IBM IBM i リリース 4 バージョン 1 以降
CICS LU6.2 リンク - IBM z/OS 2.3 以降
- IBM CICS バージョン 5.2 以降
- CICS バージョン 5.2 以降に含まれる CICS ミラー・トランザクション
-Vtam
- TP が構成された、少なくとも 1 つの CICS 領域が、CICS 内のアプリケーション (APPL) ステートメントで定義されている
- システム ネットワーク アーキテクチャ (SNA) 接続を確立するために必要な適切な SKU PU、LU、およびモード定義
CICS LU6.2 ユーザー データ - IBM z/OS 2.3 以降
- IBM CICS 5.2 以降
-Vtam
- TP が構成されている、少なくとも 1 つの CICS 領域が、CICS 内の 1 つの CICS ステートメントで定義されている
- SNA 接続を確立するために必要な適切な SKU PU、LU、およびモード定義
IMS LU6.2 ユーザー データ - IBM z/OS 2.3 以降
- MVS/APPC はメインフレーム コンピューターにインストールする必要があります。 MVS/APPC はオペレーティング システムに含まれています。
- IBM IMS 13.1 以降
- 2PC プロトコルを使用している場合は IBM IMS 13.1 以降 (同期ポイント・レベル 2)
- 2PC プロトコル (同期ポイント レベル 2) を使用している場合は、IBM Recovery Resource Services (RRS)。 さらに、適切な IMS コントロール領域を VTAM の APPL ステートメントで定義する必要があります。

こちらもご覧ください

プログラミング モデル
2 フェーズ コミット (two-phase commit)