TCP/IP 與 Internet 網路:第九章 RPC 高階程式介面           下一頁

 

翻轉工作室:粘添壽

 

第九章RPC 高階程式介面

9-1 RPC 簡介

我們在上一章裡介紹低階(Low-level)網路程式介面 - Socket,雖然利用 Socket Library 來開發程式,使用者不用理會有關網路的運作方式,但還是必須考慮到有關傳輸埠口的連接方式,和較低層次的傳輸動作(read() write())。如果我們能夠在 Socket 的基本架構上,再開發出更高階的程式介面,讓使用者呼叫遠端電腦上的程式,就如同呼叫本地程式一樣容易,對使用者而言,宛如沒有網路存在的方便性,這就是發展『遠端程式呼叫』(Remote Procedure Call, RPC的基本理念。

早期 RPC Sun 公司在『網路檔案系統』(Network File System, NFS上發展出的技術,其功能在於提供不同系統之間的檔案存取工具。近年來許多軟體廠商沿用 RPC 技術,應用在不同領域上的網路存取,最常見的是『資料庫伺服器』(Database Server所提供的網路之間資料處理工具,譬如,資料的查詢(Query)、插入(Insert)、更新(Update)、刪除(Delete)等等,這些處理工具都是透過 RPC 來實現。

一般在發展應用系統時,我們會將一些專屬功能程式,另外編寫成副程式,來讓其它應用程式呼叫,也稱為『程序呼叫』(Procedure Call,其運作方式如圖 9-1 所示。一個專屬程序也許會給予一個特殊功能,譬如一般資料庫系統,我們會將有關資料的查詢、更新、插入等等的動作製作成專屬程序,其它應用程式只要呼叫該程序並給予適當參數,就可以得到所需要的資訊。如果專屬程序和應用程式都存在同一部主機上,問題就比較簡單,一般也稱之為『本地程序呼叫』(Local Procedure Call, LRC。但近來網路應用非常普遍,常需要將某些專屬功能以一個獨立的設備來實現,以增加系統的效率。譬如,時尚非常流行將資料庫系統以一專屬設備來服務,也就是常見到的『資料庫伺服器』(Database Server,它所提供的專屬程式(查詢、更新、插入等)就必須能夠讓遠端電腦(或客戶端)呼叫,其運作方式如圖 9-2 所示。一部專屬主機能提供各種服務程式,讓遠端電腦透過網路來查詢,此工作模式稱之為『遠端程序呼叫』(Remote Procedure Call, RPC,這就是網路上的高階程式介面。

9-1 本地程序呼叫的運作方式

9-2 遠端程序呼叫的運作方式

 

<GOTOP>