IBM i 遠端指令與分散式程式呼叫(DPC)程式設計模型允許大多數 IBM i 應用程式以請求-回應方式(僅限用戶端發起)與 TI 互動,且只需最小修改。 DPC 是一種有文件記錄的協定,支援在 IBM i 上進行程式間整合,且可透過 TCP/IP 網路協定,從基於 PC 的應用程式輕鬆存取。
備註
此介面不支援主機發起處理(HIP);IBM i 整合僅適用於用戶端發起的通話。
下圖總結了用戶端、預設 DPC 伺服器與 IBM i 交易程式之間的工作流程。 括號內的數字表示事件發生的大致順序。 圖後有更詳細的事件描述。
IBM i 模型流程
IBM i DPC 程式設計模型的工作流程摘要圖
IBM i DPC 程式設計模型的運作方式如下:
應用程式在 TI 元件中呼叫一個方法,該元件在元件服務或 .NET Framework 中設定。
TI 執行時會呼叫 TI 自動化代理。
若應用程式為 COM+ 元件,TI Automation 代理:
讀取先前由 TI Designer 建立的類型程式庫。
將自動化資料型態映射到 IBM i RPG 資料型態。
若應用程式是 .NET Framework 組件,則使用 TI Automation 代理:
讀取 TI 設計器先前建立的組件與元資料。
將 .NET Framework 的資料型態對應到 IBM i RPG 的資料型態。
TI Automation 代理則是:
呼叫轉換例程,將應用程式資料轉換為 IBM i RPG 類型。
建立代表 RPG PLIST 的參數化訊息緩衝區。
將訊息傳遞給 IBM i DPC 傳輸元件。
TI TCP 傳輸會使用 IBM i 電腦的網際網路協定(IP)位址及伺服器的埠位址,向 DPC 伺服器系統發送連線請求。 TI TCP 傳輸接著等待回覆。
IBM i 上的 DPC 伺服器會接受會話請求並發送接收指令。 DPC 伺服器接著等待啟動伺服器請求。
TI 自動化代理會向 DPC 伺服器發送啟動伺服器請求並發出接收訊息。 TI TCP 傳輸接著等待啟動伺服器回覆。
DPC 伺服器處理啟動伺服器的請求,發送啟動伺服器的回應,然後執行接收操作。 DPC 伺服器接著等待交換屬性請求。
TI 執行時會處理啟動伺服器的回應,發送屬性請求,並發出接收訊息。 TI 執行時會等待交換屬性的回覆。
DPC 伺服器先處理交換屬性請求,再發送交換屬性回覆,然後執行接收操作。 DPC 接著等待遠端程式呼叫請求。
TI 執行時處理交換屬性的回覆,接著發送遠端程式呼叫請求,接著是遠端程式呼叫回覆及轉換後的資料。
DPC 伺服器處理請求,發送遠端程式呼叫回覆,接著傳送遠端程式呼叫參數與資料。
TI 自動化代理接收回覆資料並處理回覆。 TI 自動化代理:
接收來自 TCP 傳輸元件的訊息。
讀取訊息緩衝區。
若應用程式為 COM+ 元件,TI Automation 代理:
將 IBM i 資料型態對應到自動化資料。
呼叫轉換例程,將 IBM i RPG 類型轉換為應用程式資料。
若應用程式為 .NET 組合語言,TI 自動化代理:
將 IBM i 資料型態對應到 .NET Framework 的資料型態。
呼叫轉換例程,將 IBM i RPG 類型轉換為應用程式資料。
TI 執行時會將轉換後的資料回傳給呼叫該方法的 COM 或 .NET Framework 應用程式。
備註
訊息的最大大小為 32,767 位元組,包含欄位標頭與資料。
備註
RMTPGMCALL 最多可傳送 35 個參數,這些參數可以是 IN、OUT 或 IN/OUT 的任意組合。
主機整合伺服器包含範例程式碼,展示如何實作 IMS Connect 程式設計模型。 範例程式碼位於 \安裝目錄\SDK\Samples\AppInt。 啟動 Microsoft Visual Studio,打開你想用的教學,然後按照 說明文件中的指示操作。
關於配置大型主機及撰寫 IBM IE 伺服器應用程式的資訊,請參閱 ILE RPG/400 程式設計師指南第 4 版(IBM 文件 #SC09-2507-02)及 ILE RPG/400 參考版 3(IBM 文件 #SC09-2077-01)。
另請參閱
交易整合器元件
將資料型別從 RPG 轉換成自動化
將資料型別從自動化轉換到 RPG
IBM i 安全
COMTIContext 介面
TI 執行時環境
選擇合適的程式設計模型
程式設計模型