主機啟動的處理

主機發起處理(HIP)使主機應用程式能夠呼叫 COM 或 .NET 物件的方法,將參數傳遞給該方法,並從該方法接收回來的參數。 當資料先從主機傳送到用戶端,再從用戶端傳送到主機時,資料會從主機能理解的格式轉換成適合用戶端的格式

主機發起的處理實作步驟如下:

  1. HIP 服務程序稱為應用程式,會開始監聽由本地環境定義指定的端點清單上的連線。

  2. 用戶端應用程式在主機上執行,透過其中一個端點發起 TCP 連線至 HIP 系統

  3. HIP 服務程序會檢查端點與用戶端主機名稱或 IP 位址之間是否建立了關聯。 若未發現關聯,連結即告終止。

  4. 協會會唯一標示工作計畫,該計畫是一連串工作流程,以完成客戶的請求。 工作計畫分為三種類型:

    1. 端點

    2. 交易請求訊息

    3. 資料。

端點

終端工作計畫包含單一的最終工作流程。 該關聯直接映射到一個 COM 物件的方法,該方法將用於客戶端的請求處理。 端點工作流程執行以下任務:

  1. 接收用戶端資料

  2. 解包資料並填充方法的參數

  3. 建立物件並呼叫方法

  4. Packs 將參數回傳到用戶端資料中

  5. 傳送客戶資料

  6. 關閉連結。

交易請求訊息

交易請求訊息(TRM)工作計畫包含兩個工作流程:TRM 與 Final 工作流程。 TRM 工作流程負責對話的初期階段,當客戶端發送 TRM 並回應 TRM 回覆時。 根據 TRM 的類型,TRM 工作流程可使用三種 TRM 處理器之一:Microsoft Concurrent Server、Microsoft Link、IBM Concurrent Server。 TRM 工作流程執行以下任務:

  1. 使用指定的輸入格式接收並解包 TRM

  2. 將 TRM 傳給指定的處理器

  3. 處理程序返回解決方案資訊以及正面的 TRM 回覆

  4. 解析資訊預期為字元資料,並利用與主機環境相關的代碼頁轉換為 Unicode

  5. 工作流程會查詢資料庫,若有映射到定義的物件方法以取得解析資訊

  6. 若未找到匹配,則呼叫處理程序以取得負面 TRM 回覆

  7. TRM 回覆會依分配的輸出格式打包並發送。 在負的情況下,連線會中止

  8. 工作流程將控制權轉移給最終工作流程,並附帶找到的方法識別碼

數據

資料決定式工作計畫包含兩個工作流程:資料決定式與最終流程。 資料決定式工作流程會預先處理用戶端資料,試圖尋找與關聯定義的決定因素之一的匹配。 指標包含一串字元及其在用戶端資料中的位置。 每個決定因素都對應到一個物件的方法。 啟動時,行列式會預先轉換成所有與行列式相關的主機代碼頁。 規則規定,終點——宿主關聯的決定因素不得重複,或其中一個決定因素不屬於另一個。 工作流程遵循以下步驟:

  1. 給定端點-主機組合的決定因素列表會依長度和位置的總和進行升序排序。

  2. 第一個行列式是從列表中選取的

  3. 部分客戶資料會被接收到

  4. ** 資料會被檢查以確認其是否符合判定條件。

  5. 若無匹配,則從列表中取下一個決定因素,必要時接收更多客戶資料,資料與決定因素比較

  6. 當沒有任何可用的決定因素與資料相符時,連線終止。

  7. 若找到行列式,控制會連同方法身份及已讀取的用戶端資料一併傳交給最終工作流程。 有時決定式資料位於客戶端資料映射到方法參數的內部甚至之後。

備註

HIP MVS 用戶端必須在 socket 發送後、socket 接收前立即執行 socket 關閉操作。 未能立即關閉 socket 會導致 TI 執行時拒絕資料、斷開連線,並將 808 事件訊息(交易整合器 HIP 應用程式接收的資料超出預期)記錄到伺服器應用程式事件日誌。 此外,傳送到工作站的資料封包可能會讓人誤以為是:Microsoft Network Monitor 顯示封包內的資料,且資料長度不會過長。

另請參閱

由 Windows 啟動的處理
程式設計模型