远程过程调用
维基百科,自由的百科全书
远程过程调用(Remote Procedure Call,RPC,台灣又譯為遠端程序呼叫)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。
目录 |
[编辑] 历史起源
远程过程调用的概念最早诞生于1976年,详细描述于RFC 707。商业上最早的RPC应用是由Xerox公司在1981年以“Courier”的名义使用的。 The first popular implementation of RPC on Unix was Sun's RPC(英语中亦偶称作ONC RPC),which was used as the basis for NFS. Another early Unix implementation was the RPC mechanism in Apollo Computer's Network Computing System (NCS), which after HP's acquisition of Apollo later surfaced as DCE/RPC in the OSF's Distributed Computing Environment (DCE). A decade later Microsoft adopted DCE/RPC as the basis of their Microsoft RPC (MSRPC) mechanism, and implemented DCOM (and ActiveX) atop it. Around the same time (mid-90's), Xerox PARC's ILU, and the Object Management Group's CORBA, offered a similar but platform-neutral paradigm, also based on distributed objects with an inheritance mechanism.
[编辑] 信息传递
远程过程调用是一个分布式计算的客户端-服务器(Client/Server)的例子,它简单而又广受欢迎。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地衍生了各式远程过程调用协议,而且它们并不互相兼容。
[编辑] 標準化的溝通機制
为了允许不同的客户端均能访问服务器,许多标准化的 RPC 系统应运而生了。其中大部分采用接口描述语言(Interface Description Language,IDL),方便跨平台的远程过程调用。
[编辑] 参见
- 本地过程调用