主機起始的處理
由主機起始的處理 (HIP) 可讓主應用程式呼叫 COM 或 .NET 物件的方法、將參數傳遞至 方法,並從 方法接收參數。 當資料先從主機傳輸到用戶端,然後從用戶端傳輸到主機時,資料會從主機可理解的格式轉換成適合用戶端的格式
主機起始的處理會在下列步驟中實作:
HIP 服務程式稱為應用程式,會開始接聽本機環境定義所指定端點清單上的連入連線。
在主機上執行的用戶端應用程式會使用其中一個端點來起始 HIP 系統的 TCP 連線
HIP 服務進程會檢查端點與用戶端主機名稱或 IP 位址之間是否有已建立的關聯。 如果找不到關聯,則連接已中止。
關聯可唯一識別要執行以完成用戶端要求之工作流程式列的工作計畫。 有三種類型的工作計畫:
端點
交易要求訊息
資料。
端點
端點工作計畫是由單一最終工作流程所組成。 關聯會直接對應至要針對用戶端要求處理叫用的 COM 物件方法。 端點工作流程會執行下列動作:
接收用戶端資料
解壓縮資料並填入 方法的參數
建立 物件並呼叫 方法
將傳回的參數封裝至用戶端資料
傳送用戶端資料
關閉連線。
交易要求訊息
交易要求訊息 (TRM) 工作計畫包含兩個工作流程:TRM 和最終工作流程。 當用戶端傳送 TRM 和使用 TRM 回復的工作流程回復時,TRM 工作流程會處理交談的初始部分。 根據 TRM 的類型,TRM 工作流程可以使用三個 TRM 處理常式的其中一個:Microsoft Concurrent Server、Microsoft Link、IBM Concurrent Server。 TRM 工作流程會執行下列動作:
使用指派的輸入格式接收和解壓縮 TRM
將 TRM 傳遞至指派的處理常式
處理常式會傳回解析資訊和正 TRM 回復
解析資訊必須是字元資料,會使用與主機環境相關聯的字碼頁轉換成 Unicode
如果針對解析資訊所定義的物件方法有對應,工作流程會查詢資料庫
如果找不到相符專案,則會呼叫 處理常式以取得負 TRM 回復
TRM 回復會使用指派的輸出格式進行封裝並傳送。 在負數的情況下,連接已中止
工作流程會將控制權傳遞至最終工作流程,以及找到的方法身分識別
資料
資料確定性工作計畫包含兩個工作流程:資料決定性和最終工作流程。 資料確定性工作流程會預先處理用戶端資料,嘗試尋找與針對關聯定義的其中一個判斷因素相符專案。 行列式包含字元字串,以及字串在用戶端資料中的位置。 每個行列式都會對應至 物件的方法。 在啟動時,判斷因素會預先轉換成與決定項相關聯的主機所有字碼頁。 系統會強制執行端點的決定性詞 – 主機關聯不會重複,或一個行列式不是另一個行列的一部分。 工作流程會遵循下列步驟:
指定端點的行列子清單 – 主機組合是以遞增順序取得和排序長度和位置的總和
第一個確定性取自清單
收到用戶端資料的一部分
如果資料符合行列式,則會檢查資料
如果不符合,則會從清單中擷取下一個確定性,視需要收到更多用戶端資料,相較于行列式資料
當沒有可用的行列式符合資料時,連接會中止
如果發現行列式,控制項會連同已讀取的方法身分識別和用戶端資料一起傳遞至最終工作流程。 當行列式資料位於或甚至用戶端資料對應至方法參數之後時,可能會有一種情況。
注意
HIP MVS 用戶端必須在通訊端傳送之後和通訊端接收之前,立即執行通訊端關機。 無法執行立即通訊端關機會導致 TI 執行時間拒絕資料、中斷連線,以及記錄 808 事件訊息, (交易整合器 HIP 應用程式收到的資料超過預期 。) 伺服器應用程式事件記錄檔。 此外,包含傳送至工作站資料的封包可能會造成誤導:Microsoft 網路監視器會顯示封包內的資料,且資料長度不過度。