TCP 交易要求訊息使用者資料

TCP 交易要求訊息 (TRM) 使用者資料程式設計模型可讓資料與參數直接在 TI 與主機 TP 之間交換。 TCP TRM 使用者資料模型是以 CICS 並行伺服器模型為基礎。 標準接聽程式會使用兩個網路交換來執行單一交易程式,並要求用戶端:

  • 將交易要求訊息傳送至標準接聽程式 (TRM)

  • 從應用程式程式接收 TRM 回復

  • 將應用程式要求資料流程傳送至伺服器交易程式

    從伺服器交易程式接收應用程式回復資料

    下圖摘要說明用戶端、標準 CICS 接聽程式和並行伺服器之間發生的工作流程。 括弧中的數位會指出事件發生的近似順序。 更詳細的事件描述會遵循此圖。

    顯示用戶端啟動預設接聽程式的影像,然後從用戶端傳送和接收資料。
    用戶端啟動預設接聽程式的程式,它會將呼叫傳遞至並行伺服器,然後從用戶端傳送和接收資料

TCP TRM 使用者資料程式設計模型的摘要工作流程圖表

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

  1. 應用程式會在元件服務或.NET Framework中設定的 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 執行時間傳送 TRM。 然後,標準接聽程式會等候 TRM。

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

    IBM 提供的標準接聽程式 TP 的 TRANID 是 CSKL。 (PCT) 的程式控制資料表中顯示的接聽程式 TP 名稱EZACIC02。

  6. TI 執行時間會格式化 TRM,並將其傳送至標準接聽程式。 TI 會等候 TRM 回復。

  7. 標準接聽程式會接收 TRM、傳送 TI 執行時間接收確認,然後讀取 TRM 的內容。 接聽程式會解譯 TRM 中的資訊,並擷取要服務要求的並行伺服器程式交易識別碼。

  8. 標準接聽程式會啟動使用 EXEC CICS Start) TRM (Mscmtics.cbl 範例應用程式所識別的並行伺服器 TP 程式。

    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 接聽程式所關閉的通訊端所決定。

  1. 標準接聽程式會在主機環境中呼叫通訊端應用程式通訊協定介面 (API) 。 標準接聽程式無法傳送 TRM 回復。 TRM 回復代表同步處理常式,允許在用戶端傳送應用程式要求資料之前啟動交易程式的時間。 由於內部 CICS 架構考慮,因此需要此同步處理常式, (在要求) 之後啟動交易程式時並不保證。

    在標準 CICS 接聽程式發出並行伺服器交易的 start 命令之後,標準接聽程式就不在應用程式處理迴圈中,而且可以接聽另一個傳入要求。

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

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

  3. 並行伺服器:

    1. 格式化 TRM 回復。

    2. 傳送 TRM 回復 TI TCP 傳輸,以通知它現在可以傳送應用程式要求資料。

    3. 發出接收並等候應用程式要求資料。

      傳送 TRM 回復會完成標準接聽程式交換順序的第 1 部分。

  4. TI 會評估 TRM,並將資料傳遞至並行伺服器。 TI 也會傳送通訊端關機,然後 TI 會等候回復資料。

  5. 在並行伺服器收到應用程式要求資料之後,伺服器就會對資料執行商務邏輯。

  6. 伺服器完成處理要求並制定回復之後,請準備回復資料,然後將回應直接傳送給用戶端。 完成應用程式資料的處理會向第 2 個交換序列的結尾發出訊號。

  7. 並行伺服器會關閉通訊端。

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

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

    2. 讀取訊息緩衝區。

      TI Proxy:

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

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

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

    若要實作此模型,您必須提供 TI 的 IP 位址、埠號碼和 CICS 程式名稱,以執行並行伺服器程式所傳遞的應用程式 (Mscmtics.cbl) 。 此模型需要在 CICS 內安裝 IBM 提供的預設接聽程式 (EZACIC02) 。 CICS IBM 預設接聽程式會使用 IBM 提供的預設設定。

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

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

另請參閱

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