1.RPC維基的解釋
RPC:Remote Procedure Call 遠程過程調用,計算機通信協議。該協議允許運行於一臺計算機的程序調用另一臺計算機的子程序,而程序員無需額外地爲這個交互作用編程。
交互就存在客戶端和服務端,RPC支持跨平臺跨語言,用JAVA寫的客戶端,能夠調用用C、C++語言提供的過程,下面就是client發佈請求後server提供API給client。
***.jar < -- 協議解析、連接處理、異常處理 <---API
client <-------->RPC Client Interface<----------------------------------------> RPC Server Interface<------->server
RPC Interface的實現並不是開源的,已經封裝好。實現語言爲IDL。
參考資料:http://kyfxbl.iteye.com/blog/1745550
2.接口描述語言
接口描述語言(Interface description language,縮寫IDL),是用來描述軟件組件接口的一種計算機語言。IDL通過一種中立的方式來描述接口,使得在不同平臺上運行的對象和用不同語言編寫的程序可以相互通信交流;比如,一個組件用C++寫成,另一個組件用Java寫成。
IDL通常用於遠程調用軟件。在這種情況下,一般是由遠程客戶終端調用不同操作系統上的對象組件,並且這些對象組件可能是由不同計算機語言編寫的。IDL建立起了兩個不同操作系統間通信的橋樑。
在IDL基礎上開發出來的軟件系統有Sun的ONC RPC,The Open Group的Distributed Computing Environment,IBM的System Object Model,Object Management Group的CORBA,和SOAP(用於Web service)。