简体   繁体   English

SOAP - 简单对象访问协议?

[英]SOAP - Simple Object Access Protocol?

SOAP - Simple Object Access Protocol SOAP - 简单对象访问协议

I find some Difficulty in understanding the expansion of SOAP. 我发现在理解SOAP的扩展方面存在一些困难。

  • First thing, is it really S imple? 首先,它真的是S实现吗?
  • Second thing, is it used to access O bjects? 第二件事,它是用来访问O对象吗?
  • Third thing, If it used to access objects then what are the objects it can access? 第三件事,如果它用于访问对象,那么它可以访问的对象是什么?
  • Fourth thing, Is it purely object access protocol? 第四件事,它是纯粹的对象访问协议吗?

Help me to understand it more clearly. 帮助我更清楚地理解它。

No, it's not particularly simple, IMO. 不,这不是特别简单,IMO。 It means slightly different things to different people (message passing? RPC? object access? all of the above?) and implementations often have sticking points when they talk to each other. 这对于不同的人来说意味着不同的东西(消息传递?RPC?对象访问?以上所有?)和实现在彼此交谈时经常会有一些关键点。

Pete Lacey has a very humorous dialogue on this... Pete Lacey对此进行了非常幽默的对话 ......

Compared to some other protocols used to access "objects" over a network, especially public networks like the Internet, it is comparatively simple. 与用于通过网络访问“对象”的一些其他协议(尤其是诸如因特网的公共网络)相比,它相对简单。 But really, I suspect this is one of those cases where the acronym was arrived at before the to phrase it abbreviates was fully determined. 但实际上,我怀疑这是其中一个缩写词是在缩写完全确定之前到达的情况之一。

First. 第一。 The definition of SOAP as Simple Object Access Protocol has been dropped from the standard for some time now. SOAP作为简单对象访问协议的定义已经从标准中删除了一段时间。 It doesn't stand for anything. 它不代表什么。 That being said, here are a few comments: 话虽如此,这里有一些评论:

Simple surprisingly enough, it is simple. 简单到令人惊讶的是,它简单。 However, coupling it with all sorts of standard starting from the innocently looking WSDL which is not bad but lends itself to automation too much; 然而,从无辜的WSDL开始将它与各种标准相结合,这不是很糟糕,但却太过自动化了; down to the rocket science level WS-* which has all the messiness of committees (I worked in grid computing, and it was a bitter experience), that is what makes the ecosystem complex. 火箭科学水平WS- *具有委员会的所有混乱(我在网格计算中工作,这是一个痛苦的经历),这就是生态系统复杂化的原因。

Object : it is emphatically not object. 对象 :重点不是对象。 That is what made the standard body drop the expansion. 这就是标准体降低扩张的原因。 And that is the difference to things like CORBA. 这就是CORBA之类的差异。 The difference between object and service is that object is state and service (and SOAP) is stateless. 对象和服务之间的区别在于对象是状态,而服务(和SOAP)是无状态的。 An easy way to tell the difference is the life time. 一个简单的方法来区分生命时间。 CORBA objects have a lifetime usually controlled by the client. CORBA对象的生命周期通常由客户端控制。 SOAP services don't have a life time. SOAP服务没有生命周期。

Objects can be built on SOAP using contraptions such as WSRF or anything that binds state and services WS-Addressing style such as WCF. 可以使用诸如WSRF之类的绑定或者绑定状态和服务WS-Addressing样式的任何东西(例如WCF)在SOAP上构建对象。 That is not SOAP. 那不是SOAP。 That builds not it. 那不是建立它。 It will work but will be less scalable and more brittle. 它可以工作,但可扩展性更低,更脆弱。

Removing the object from SOAP makes it no longer an object access protocol. 从SOAP中删除对象使其不再是对象访问协议。 Whether that affects your next project and how to deal with it is in my opinion dependent on the particulars of that project. 这是否会影响您的下一个项目以及如何处理它在我看来取决于该项目的细节。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM