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)。