IMS Connect

IMS Connect プログラミング モデルでは、TCP/IP を使用して情報管理システム (IMS) トランザクションへのアクセスが提供されます。 このモデルでは、データを処理するために IMS メッセージ キューが使用されます。

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

クライアントが ITOC リスナーに入力データを渡すプロセスを示す画像。
クライアントにより入力データが ITOC リスナーに渡され、HWSIMSO0 により IMS プログラムへのアクセスが提供されることで、応答データがクライアントに送信されるプロセス

IMS Connect プログラミング モデルの概要ワークフロー図

IMS Connect プログラミング モデルは、次のように動作します。

  1. アプリケーションにより、コンポーネント サービスまたは .NET Framework に構成された TI コンポーネントのメソッドが呼び出されます。

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

  3. アプリケーションが .NET Framework アセンブリの場合は、TI Automation プロキシにより、次の操作が実行されます。

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

    2. .NET データ型が COBOL データ型にマップされます。

      次に、TI Automation プロキシにより、次の操作が実行されます。

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

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

    5. メッセージが TCP トランスポート コンポーネントに渡されます。

  4. TI ランタイムにより、初期要求メッセージ (IRM) が、IBM により提供される TCP/IP プロファイル データ セット (hlq.PROFILE.TCPIP) に格納されているメインフレーム コンピューターのインターネット プロトコル (IP) アドレスと IMS Connect のポート アドレスを使用して、IMS Connect (HWSIMSO0 または HWSIMSO1) に送信されます。

    HWSIMSO0 と HWSIMSO1 は、TI Automation サーバー (TI .NET Framework アプリケーション) と ITOC の間の要求プロトコルと応答プロトコルを定義する、IBM 提供のホスト Web サーバー (HWS) の終了ルーチンです。 HWS は、IMS 領域とは別の z/OS アドレス・スペースで実行され、IMS 接続のリスナー・サービスを実行します。

  5. IMS アプリケーションは、IMS Connect の終了ルーチンによって制御されます (「IMS TCP/IP Open Transaction Management Architecture (OTMA) Connection (ITOC)」と呼ばれます)。

  6. TI ランタイム環境で、ITOC 要求ヘッダーが ITOC と HWSIMSO0 に送信されます。

  7. HWSIMSO0 終了ルーチンにより、次の動作が実行されます。

    • ITOC 要求ヘッダーが検証されます

    • TI ランタイム環境からすべての要求データが受信されます

    • セキュリティ ルーチンとの通信が行われます

    • OTMA プロセスが実行され、IMS データ ストアに接続されます

    • OTMA を介して、メッセージ セグメントの IMS メッセージ キューに対する配置と取得が実行されます

    • すべての応答データ セグメントが TI ランタイム環境に送信されます

    • IMS 内の回復操作が制御されます

  8. ITOC により、ITOC ヘッダー情報が読み取られ、適切な IMS 領域が検索され、その IMS 領域での IMS トランザクションの実行がスケジュールされます。 ITOC ヘッダーには、次の情報が含まれている必要があります。

    • ITOC HWS 出口ルーチン ID (デフォルト '*IRMREQ*')

    • IMS データ ストア識別子

    • トランザクション識別子です。

    • フロー制御情報

    • IBM の Resource Access Control Facility (RACF) セキュリティ資格情報

    • プロトコル制御フラグ

  9. HWSIMSO0 により、適切な IMS メッセージ キューがスケジュールされます。

  10. TI ランタイムにより、要求データ セグメントが ITOC に送信されます。

  11. TI ランタイムにより、EOM が送信されます。

  12. IMS コントロール領域からメッセージ処理領域 (MPR) に送信されます。

  13. すべての要求データが IMS メッセージ キューに配置されると、トランザクションの実行がスケジュールされます。

  14. IMS サーバー アプリケーション プログラムにより、標準の CBLTDLI Get Unique (GU)、Get Next (GN)、および Insert (INSRT) 呼び出しインターフェイス コマンドを使用した要求データの取得と、IMS メッセージ キューへの応答データの配置が行われます。

  15. MPR により、データが TI に返されます。 ITOC により EOM-CSMOKY が送信され、ITOC により次の情報が TI ランタイム環境に返されます。

    • 要求 mod メッセージ

    • 応答データ セグメント

    • End-of-message セグメント

    • CSMOKY セグメント

  16. 次に、ITOC と ITOC 終了ルーチンにより、メッセージ キューから応答データが削除され、TI ランタイム環境に戻されます。

  17. TI Automation プロキシにより、応答データが受信され、応答が処理されます。 TI Automation プロキシにより、次の操作が実行されます。

    1. TCP トランスポート コンポーネントからメッセージが受信されます。

    2. メッセージ バッファーが読み取られます。

      アプリケーションが .NET Framework アセンブリの場合は、TI Automation プロキシにより、次の操作が実行されます。

    3. COBOL データ型が .NET Framework データ型にマップされます

    4. 変換ルーチンが呼び出され、COBOL データ型がアプリケーション データに変換されます

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

    TCP/IP 用のメインフレームおよび書き込みサーバー・アプリケーションの構成の詳細については、「TCP/IP V3R2 for z/OS: IMS TCP/IP アプリケーション開発者ガイド (IBM Document #SC31-7186)」および「IMS Connect Guide and Reference V1R2 (IBM Document #SC27-0946)」を参照してください。

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

関連項目

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