To be honest with you I really don't get the relationship that Web Services share with SOAP and REST.
I have a very simplistic understanding of the whole topic, web services are software designed to facilitate machine-to-machine communication over a network. Web services have an interface that machines understand (WSDL). Other systems interact with a service using SOAP messages.
Where does my understanding of Web Services slip up?
Very brief attempt at an answer - if this doesn't do it, then please edit your question or comment to clarify what you are looking for.
SOAP is basically a protocol allowing for a platform independent way of performing RPCs or by passing one-way documents (not done nearly as often). It is relatively procedural in nature. You are correct that WSDL is a contract of the interface that the two pieces of software agree to communicate by (I'm careful not to say 'machine' there as you can have SOAP interaction on the same machine too.
REST itself is more of a paradigm on how we are supposed to expose and communicate with 'resources'. I consider it a bit more OO in that everything you are dealing with is a resource (or object) exposed at a specific URL that has the same methods defined on it... the same methods established by the HTTP protocol, which basically amount to a CRUD interface. Though there is no established contract, in the case of a WSDL with SOAP, that doesn't mean that REST 'services' don't have interfaces... they do. They just don't have a uniform way of providing a contract for them (perhaps WADL is becoming widespread enough for this).
If you are curious about REST, I highly recommend giving "RESTful WebServices" by Ruby and Richardson a read.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With