Web Services(二)

06-10-19:
第二章:xml-rpc 实质
xml-rpc提供了一个基于xml和http的机制,来进行跨网的方法或者函数调用。xml-rpc提供了一套工具用来连接全异的系统,发布机器可以读懂的信息。
2.1xml-rpc概观
xml-rpc使用一小部分xml语法来描述请求和响应的自然属性。xml-rpc的参数是一个简单的类型和内容清单,struct和arrays是最复杂的类型。xml-rpc没有对象的概念,没有机制来包括使用其他xml语法的信息。
2.2为什么要使用xml-rpc
由于对象的困扰,xml-rpc似乎可能在许多程序中受限。用在两个领域:分布式系统作为glue code,来连接全异的私网;public服务。
2.2.1想定1:使用xml-rpc粘贴代码
创建自己的系统(协议,格式)需要广泛的测试,文档和debug。
2.2.2想定2:用xml-rpc发布服务
像传统的web发布,有同样的安全和架构问题,但是允许接收方是任何的客户端。
2.3xml-rpc技术概观
xml-rpc由3个相关的小部分组成:
1.xml-rpc data model:一套类型用来定义传递的参数,返回值和错误
2.xml-rpc request structures:一个http post请求,包含方法和参数信息
3.xml-rpc response structures:一个http response,包含返回值或者错误信息
三个部分结合起来就层了完整的rpc定义了。
2.3.1xml-rpc数据模型
6个基本的数据类型和2个混合的数据类型。似乎是最小的命名为program-to-program通讯。
所有的数据类型都是使用简单的xml元素来表示,contents表示value。可以看看MIME中的关于base 64的信息。
xml-rpc不会保证数组的数量和values的一致性。
数组和结构体都可以相互包含,这样你可以表示对象,但是在某些地方,你可以发现,使用soap更加的容易。/*缺点*/
2.3.2xml-rpc请求结构
xml-rpc请求是xml内容和http头的结合。
每个请求包含一个xml文档。
2.3.3xml-rpc 响应结构
和请求结构差不多,而且user-agent头将会反映xml-rpc库,不是某个程序来调用。
一个xml-rpc响应,仅仅能够包含一个参数,不管用没有用params元素。当然也可以返回一个数组,所以也有可能返回多个值。即使你的方法没有返回一些值,你仍然不得不返回一些东西。
xml-rpc根本没有标准化出错代码。/*缺点*/
所有的xml-rpc响应都使用200 ok响应代码。头不一样。
xml-rpc仅仅需要http 1.0支持,但是http1.1是兼容的。当响应被发送到了xml-rpc客户端的时候,整个连接就关闭了,接下来的请求需要重建连接。
2.4xml-rpc开发
在你的程序中使用xml-rpc,基本上意味着增加一个xml-rpc库,然后使用这个库。为了使你的代码顺利的执行,需要仅仅使用xml-rpc支持的基本类型。
下面是关于apache xml项目的apache xml-rpc。原来这些xml-rpc项目是表示按照标准实现了xml-rpc的通信。
2.5跨越简单的调用
xml-rpc的限制也是xml-rpc最吸引人的地方,因为他们充分的减少协议实现的难度,减少了协同工作的测试。xml-rpc本身并不体动状态管理的支持,但是程序能够使用参数来维持一次请求-响应循环,有点像web开发者使用cookies保持对会话的追踪。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值