SOAP - 简单对象访问协议?

时间:2010-08-16 13:04:16

标签: java .net web-services soap protocols

SOAP - 简单对象访问协议

我发现在理解SOAP的扩展时遇到了一些困难。

  
    
        
  • 首先,是否 S 实施?
  •     
  • 第二件事,是否用于访问 O 对象?
  •     
  • 第三件事,如果用于访问对象,那么它可以访问的对象是什么?
  •     
  • 第四件事,它是纯粹的对象访问协议吗?
  •     
  

帮助我更清楚地理解它。

3 个答案:

答案 0 :(得分:5)

不,这不是特别简单,IMO。这对于不同的人来说意味着不同的东西(消息传递?RPC?对象访问?以上所有?)和实现在彼此交谈时经常会有一些关键点。

Pete Lacey对此有一个very humorous dialogue ......

答案 1 :(得分:2)

与用于通过网络访问“对象”的其他协议(尤其是Internet等公共网络)相比,它相对简单。但实际上,我怀疑这是首字母缩略词在其缩写完全确定之前达到的情况之一。

答案 2 :(得分:2)

首先。 SOAP作为简单对象访问协议的定义已经从标准中删除了一段时间。它不代表什么。话虽如此,这里有一些评论:

简单令人惊讶的是, 很简单。然而,从无辜的WSDL开始将它与各种标准相结合,这不是很糟糕,但却太过自动化了;火箭科学水平WS- *具有委员会的所有混乱(我在网格计算中工作,这是一个痛苦的经历),这就是生态系统复杂化的原因。

对象:它强调不是对象。这就是标准体降低扩张的原因。这就是CORBA之类的差异。对象和服务之间的区别在于对象是状态,而服务(和SOAP)是无状态的。一个简单的方法来区分生命时间。 CORBA对象的生命周期通常由客户端控制。 SOAP服务没有生命周期。

可以使用诸如WSRF之类的绑定或者绑定状态和服务WS-Addressing样式(如WCF)的任何东西在SOAP上构建对象。那不是SOAP。那不是建立它。它可以工作,但可扩展性更低,更脆弱。

从SOAP中删除对象使其不再是对象访问协议。这是否会影响您的下一个项目以及如何处理它在我看来取决于该项目的细节。