XML-RPC是一个远程过程调用(远端程序呼叫)(remote procedure call,RPC)的分布式计算协议,通过XML将调用函数封装,并使用HTTP协议作为传送机制。
XML-RPC是工作在Internet上的远程过程调用协议。一个XML-RPC消息就是一个请求体为xml的http-post请求,被调用的方法在服务器端执行并将执行结果以xml格式编码后返回。
RPC和RMI的简单比较
调用形式
在RMI和RPC之间最主要的区别在于方法是如何被调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。
classname.methodnam
在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个参数集和一个文本值,通常形成“classname.methodname”的形式。
methodname
这就向RPC服务器表明,被请求的方法在为“classname”的类中,名叫“methodname”。然后RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。这里的参数类型是与RPC请求中的类型是匹配的。
匹配成功后
一旦匹配成功,这个方法就被调用了,其结果被编码后返回客户方。
RPC代表远程过程调用。如其名称所示,它是一种调用远程计算机上可用的过程或功能的机制。RPC是比Web更老的技术。有效地,RPC为开发人员提供了一种定义可以通过网络调用的接口的机制。这些接口可以像单个函数调用一样简单,或者与大型API一样复杂。
什么是XML-RPC?
XML-RPC是使计算机可以轻松地在其他计算机上调用过程。
XML-RPC允许程序通过网络进行功能或过程调用。
XML-RPC使用HTTP协议将信息从客户端计算机传递到服务器计算机。
XML-RPC使用一个小的XML词汇表来描述请求和响应的性质。
XML-RPC客户端在XML请求中指定过程名称和参数,并且服务器在XML响应中返回故障或响应。
XML-RPC参数是一个简单的类型和内容列表 - 结构和数组是最复杂的类型。
XML-RPC没有对象的概念,也没有包含使用其他XML词汇表的信息的机制。
然而,使用XML-RPC和Web服务,Web成为一个程序连接的集合,其中计算机沿着紧密绑定的路径交换信息。
XML-RPC于1998年初出现; 它由UserLand Software发布,最初在其Frontier产品中实施。
为什么是XML-RPC?
如果您需要集成多个计算环境,但不需要直接共享复杂的数据结构,那么您会发现XML-RPC可以让您快速轻松地建立通信。
即使您在单一环境中工作,也可能会发现RPC方法可以轻松连接具有不同数据模型或处理期望的程序,并且可以轻松访问可重用的逻辑。
XML-RPC是在计算机之间建立各种连接的绝佳工具。
XML-RPC为集成商提供了使用标准词汇和方法交换信息的机会。
XML-RPC最明显的应用范围是连接不同种类的环境,允许Java与Perl,Python,ASP等进行交流。
XML-RPC技术概述
XML-RPC由三个较小的部分组成:
XML-RPC数据模型:用于传递参数,返回值和故障(错误消息)的一组类型。
XML-RPC请求结构:包含方法和参数信息的HTTP POST请求。
XML-RPC响应结构:包含返回值或故障信息的HTTP响应。