02 三种主流Web服务架构 - XML-RPC

 Asp.Net WebAPI 是一种Web服务,是服务器端的技术,要想说清它,就要先把Web服务三种主流架构XML-RPC,SOAP,REST交代一下!

三种主流Web服务架构 - XML-RPC

RPC是Remote Procedure Call的缩写,中文是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。

一个RPC系统,必然包括2个部分: 1.RPC Client,用来向RPC Server调用方法, 并接收方法的返回数据; 2.RPC Server,用于响应RPC Client的请求,执行方法,并回送方法执行结果。

顾名思义,XML-RPC就是应用了XML技术的RPC,它是一种使用Http协议做为传输协议的远程过程调用(Remote Procedure Call,RPC)机制,使用Xml文本的方式传输命令和数据。后来在新的功能不断被引入下,这个标准慢慢演变成为今日的SOAP。

在RPC中,调用双方传递的数据常用二进制,而在XML-RPC中数据将是XML格式的。那么为什么用XML而不用二进制呢?我想一方面是为了兼容更多的语言,因为这个世界上除了C/C++等编译语言,还有很多其他语言,另一方面是为了隔离操作系统的差异,比如说Little Endian和Big Endian的差异等。基于种种原因,XML-RPC选择了XML这种中间语言作为其信息的格式,然后由各个语言负责将其转变成各自native(本土)的数据类型。

以下为一个 XML-RPC 请求的范例:

<?xml version="1.0"?>
<methodCall>
  <methodName>examples.getStateName</methodName>
  <params>
    <param>
        <value><i4>40</i4></value>
    </param>
  </params>
</methodCall>

相对于上述请求,以下为一个寻常回应的范例:

<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
        <value><string>South Dakota</string></value>
    </param>
  </params>
</methodResponse>

 

posted @ 2015-03-09 09:50  紫色物语  阅读(364)  评论(0编辑  收藏  举报