终于明白了Document Exchange vs. RPC models

Document Exchange vs. RPC models
    使用 RPC-encoded 还是 document-style 进行交互是在创建体系结构的过程中首先要决定的事情之一。这个选择会影响到体系结构中的耦合级别。
    RPC (remote procedure call)实际上是对一个远程方法的调用,尽管Web services是基于XML的,但你仍然可以采用类似RPC的方式来与后台服务进行交互。这种交互通常是一个简单的请求/响应过程。客户端发送一个包含方法调用的SOAP消息,应用服务器接收这个请求,转换后传递给后台对象(比如,Java object, EJB method, 或者 C# method)。创建基于RPC的Web services 几乎不需要开发人员做任何工作,因为所需的工作仅仅是创建映射关系而已。注意,即使采用这种方式,XML文件也仅仅是作为调用请求的载体。
    采用document-style,"business documents"以XML格式通过网线传输。,"business documents"不是被直接映射为后台方法调用,因为它们实际上是完整的、自包含的业务文档。Web services接收到XML文档之后,可能先对它进行预处理,执行一些任务,然后创建响应返回。在XML文档和后台对象之间通常没有直接的映射关系,实际上,一个请求很可能会激活几个后台组件完成服务任务。开发人员必须自己完成很多工作来实现XML数据的处理和映射,而且市场上基本没有能够自动完成这种工作的工具。document-style经常会与异步通讯协议一起来搭建一个稳定的、松散耦合的体系架构。
    你可以把RPC vs. document style类比为打电话和发送电子邮件。一个是同步的请求响应模式,一个是异步的事件队列处理模式。
    一般的情况下你都应该在系统架构中采用document style消息。尽管RPC模式可以让你迅速实现Web services,但当你要与超出你控制范围之外的客户、供应商和合作伙伴进行协作的时候,这种模式往往不能提供足够的支持。你需要一个体系结构来把你(还有你的客户端应用)保护起来,使你不受远端服务的 具体实现的影响。
    Document style消息具有如下优点:
  • 你可以充分利用XML的能力来描述和验证业务数据,而采用RPC方式的时候,XML描述的仅仅是调用的方法及其参数。 
  • 客户端和服务提供者之间无需采用紧密耦合的服务协议,RPC通常是静态的,当所调用的方法的signature改变的时候,客户端也需要跟着改变。而document style就不会有这么严格的要求。 
  • 因为是自包含的,document style 更适合于异步处理。 

    document style 最大的缺陷就是实现起来比较困难,尽管如此,它所带来的灵活性使得实现所付出的代价显得物有所值,而且越来越多的平台提供商开始为这种方式提供支持。诸如WS-I这样的组织也在倡导采用该方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值