遠程過程調用
遠程過程調用 |
RPC是遠程過程調用(Remote Procedure Call)的縮寫形式。SAP系統RPC調用的原理其實很簡單,有一些類似於三層構架的C/S系統,第三方的客戶程序通過接口調用SAP內部的標準或自定義函數,獲得函數返回的數據進行處理後顯示或打印。
目錄
簡介
RPC的概念與技術早在1981年由Nelson提出。1984年,Birrell和Nelson把其用於支持異構型分布式系統間的通訊。Birrell的RPC 模型引入存根進程( stub) 作為遠程的本地代理,調用RPC運行時庫來傳輸網絡中的調用。Stub和RPC runtime屏蔽了網絡調用所涉及的許多細節,特別是,參數的編碼/譯碼及網絡通訊是由stub和RPC runtime完成的,因此這一模式被各類RPC所採用。由於分布式系統的異構性及分布式計算模式與計算任務的多樣性,RPC作為網絡通訊與委託計算的實現機制,在方法、協議、語義、實現上不斷發展,種類繁多,其中SUN公司和開放軟件基金會在其分布式產品中所建立和實用的RPC較為典型。在SUN公司的網絡文件系統NFS及開放網絡計算環境ONC中,RPC是基本實現技術。OSF醞釀和發展的另一個重要的分布式計算軟件環境DCE也是基於RPC的。在這兩個系統中,RPC既是其自身的實現機制,又是提供給用戶設計分布式應用程序的高級工具。由於對分布式計算的廣泛需求,ONC和DCE成為Client/Server模式分布式計算環境的主流產品,而RPC也成為實現分布式計算的事實標準之一。
評價
通過IPC和RPC,程序能利用其它程序或計算機處理的進程。客戶機/服務器模式計算把遠程過程調用與其它技術(如消息傳遞)一道,作為系統間通信的一種機制。客戶機執行自己的任務,但靠服務器提供後端文件服務。RPC為客戶機提供向後端服務器申請服務的通信機制。如果你把客戶機/服務器應用程序想作是一個分離的程序,服務器能運行數據訪問部分,因為它離數據最近,客戶機能運行數據表示和與用戶交互的前端部分。這樣,遠程過程調用可看作是把分割的程序通過網絡重組的部件。LPC有時也稱耦合(Coupling)機制用這種方式分割程序,當用戶要訪問數據時就無需每次拷貝整個數據庫或它的大部分程序到用戶系統。其實,服務器只處理請求,甚至只執行一些數據計算,把得出的結果再發送給用戶。因為當數據存放在一個地方時,數據庫同步很容易實現,所以多個用戶可同時訪問相同的數據。[1]