TCP 增強接聽程式訊息使用者資料

TCP 增強型接聽程式訊息 (ELM) 使用者資料模型可讓資料和參數直接在 TI 與伺服器 TP 之間傳遞。

下圖摘要說明用戶端、增強的 CICS 接聽程式、並行伺服器和大型主機交易程式之間發生的工作流程。 括弧中的數位表示事件發生的近似順序。 更詳細的事件描述會遵循此圖。

顯示用戶端、增強的 CICS 接聽程式、並行伺服器和大型主機交易程式之間發生工作流程的影像。
TCP ELM 使用者資料程式設計模型的摘要工作流程

TCP ELM 使用者資料程式設計模型

TCP ELM 使用者資料程式設計模型的運作方式如下:

  1. 應用程式會在 TI .NET 物件中叫用方法。

  2. TI 執行時間會呼叫 TI Proxy。

  3. TI Proxy:

    1. 讀取先前由 TI Designer所建立的元件和中繼資料。

    2. 將.NET Framework資料類型對應至 COBOL 資料類型。

      然後 TI Proxy:

    3. 呼叫轉換常式,將應用程式資料轉換成大型主機 COBOL 類型。

    4. 建置代表 COBOL 宣告或 copybook 的扁平化資料流程緩衝區。

    5. 將訊息傳遞至 TCP 傳輸元件。

  4. TI TCP 傳輸會使用大型主機電腦的網際網路通訊協定 (IP) 位址和接聽程式的埠位址,將連線要求傳送至增強接聽程式。

  5. 增強的接聽程式會接受連線要求,並告知 TI 執行時間傳送 ELM。 接著,增強的接聽程式會等候 ELM。

    ELM 是格式化的資料記錄,可識別要使用其 TRANID 叫用的伺服器 TP。 接聽程式 TP 是特殊的大型主機 TP,其主要功能是接收由執行 TCP/IP 的用戶端應用程式所傳送的伺服器 TP 調用。

  6. TI 執行時間會格式化 ELM,並將其傳送至增強的接聽程式。 TI 接著會略過等待 ELM 回復的傳輸邏輯,並在要求標頭之後立即傳送應用程式要求資料。 TI 接著會等候 ELM 回復。

  7. 增強型接聽程式會收到 35 位元組 ELM,然後讀取 ELM 標頭的內容。 增強型接聽程式會將 35 個位元組放在交易初始訊息中, (TIM) ,但不會在其內容上運作。

    TIM 描述伺服器執行所在的 TCP/IP 環境,並包含並行伺服器用來與 TI TCP 傳輸通訊的 TCP/IP 通訊端資訊,以及並行伺服器用來自訂其執行行為的用戶端訊息標頭。 標頭包含要連結的伺服器程式名稱。

  8. 增強型接聽程式會啟動並行伺服器 TP 程式, (Mscmtics.cbl 範例應用程式) 使用 EXEC CICS Start 在 ELM 中識別的 TRANID。

    Mscmtics.cbl 是 Microsoft 範例 TP 檔案,可用來使用 COMMAREA 在 TI 與伺服器 TP 之間傳遞資料。 Mscmtics.cbl 範例 TP 是由 Microsoft 所開發,並做為主機整合伺服器軟體的一部分提供。 它位於 $\Microsoft Host Integration Server\SDK\Samples\Comti\ProgrammingSpecifics\Tcp 中。 它必須先在大型主機電腦上編譯、連結及安裝,才能使用此模型。

注意

如果標準接聽程式無法啟動並行伺服器,接聽程式會格式化錯誤訊息,並將它傳回 TI TCP 傳輸。 接聽程式可能無法啟動的原因包括:

  • 例如,由於 CICS 資源有限而拒絕連線 (超過 CICS 工作數目上限或並行伺服器工作)

  • 並行伺服器的無效或停用 TRANID

  • 無效、已停用或無法使用與交易識別碼相關聯的並行伺服器程式

注意

來自 CICS 接聽程式的錯誤訊息是以字元為基礎,且一律以字母 EZY 開頭。 錯誤訊息的長度是可變的,而訊息結尾是由 CICS 接聽程式所關閉的通訊端所決定。 增強型接聽程式會在主機環境中呼叫通訊端應用程式通訊協定介面 (API) 。 在增強的接聽程式發出並行伺服器交易的 start 命令之後,增強的接聽程式會離開應用程式處理迴圈,而且可以接聽另一個連入要求。

  1. 並行伺服器執行之後,它會讀取標準接聽程式所傳送 (TIM) 的交易初始訊息。

    TIM 描述伺服器執行所在的 TCP/IP 環境,並包含並行伺服器用來與 TI TCP 傳輸通訊的 TCP/IP 通訊端資訊,以及並行伺服器用來自訂其執行行為的用戶端訊息標頭。

  2. 並行伺服器會將 TRM 傳送至 TI,並等候應用程式要求資料。

  3. TI 會評估 TRM,並將資料直接傳遞至並行伺服器程式, (Mscmtics.cbl) 。 TI 也會傳送通訊端關機,然後 TI 會等候回復資料。

  4. 收到資料之後,伺服器 TP 會對資料執行商務邏輯。 所有商務邏輯都會定義于伺服器 TP 中。

  5. 伺服器 TP 會準備回復資料,然後將回應直接傳送至用戶端。

  6. 並行伺服器關閉通訊端

  7. TI Proxy 會接收回複數據並處理回復。 TI Proxy:

    1. 從 TCP 傳輸元件接收訊息。

    2. 讀取訊息緩衝區

      TI Proxy:

    3. 會將 COBOL 資料類型對應至.NET Framework資料類型

    4. 會呼叫轉換常式,將大型主機 COBOL 類型轉換為應用程式資料

  8. TI 執行時間會將已轉換的資料傳送回叫用方法的 COM 或.NET Framework應用程式。

    主機整合伺服器包含示範如何實作 TCP ELM 使用者資料程式設計模型的範例程式碼。 範例程式碼位於 \installation directory\SDK\Samples\AppInt。 啟動 Microsoft Visual Studio,開啟您想要使用的教學課程,並遵循讀我檔案中的指示。

    如需設定 TCP/IP 大型主機和撰寫伺服器應用程式的相關資訊,請參閱適用于 MVS 的 TCP/IP V3R2:CICS TCP/IP 通訊端介面指南 (IBM 檔 #SC31-7131) 。

另請參閱

交易整合器元件
交易要求訊息
將資料類型從自動化轉換成 z/OS COBOL]
將資料類型從 z/OS COBOL 轉換為自動化
CICS 元件
TI 執行階段
選擇適當的程式設計模型
程式設計模型