简体   繁体   中英

SOAP - Simple Object Access Protocol?

SOAP - Simple Object Access Protocol

I find some Difficulty in understanding the expansion of SOAP.

  • First thing, is it really imple? 吗?
  • Second thing, is it used to access bjects? 吗?
  • 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. 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.

Pete Lacey has a very humorous dialogue on this...

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. 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; 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.

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. The difference between object and service is that object is state and service (and SOAP) is stateless. An easy way to tell the difference is the life time. CORBA objects have a lifetime usually controlled by the client. SOAP services don't have a life time.

Objects can be built on SOAP using contraptions such as WSRF or anything that binds state and services WS-Addressing style such as WCF. That is not 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. Whether that affects your next project and how to deal with it is in my opinion dependent on the particulars of that project.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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