I built a Web service application using SOAP to communicate. When I described how this application worked to our enterprise architect, he said that it wasn't actually a Web service application. So what really is a "Web service", and why wasn't my application a Web service application?
The best definition of Web service comes from the W3C: "Web services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks." The key point in this definition is "interoperate". Web services are all about making heterogeneous applications interoperate. The values of broad interoperability are many: it promotes the network effect and encourages a strong tool and infrastructure marketplace -- both of which dramatically drive your costs down, while improving your time-to-market and productivity.
With the best of intentions, some developers "work around" the Web service specifications. For example, because of perceived performance issues, they might use a virtually empty SOAP message body and pass their real message content in a SOAP attachment. While this message might be sent using SOAP, since you need to manually process the attachment yourself in custom code it certainly is not broadly interoperable and thus can't be considered a Web service -- no 3rd party tools or infrastructure will directly support it so you lose all of the benefits Web services had to offer in the first place. Don't let your application fall into this trap. Follow both the intent and the specifics of the standards (not only SOAP and WSDL, but also WS-I) and you will benefit significantly from the broad interoperability that is the true value of Web services.
Dig Deeper on Topics Archive
Related Q&A from Daniel Foody
Daniel Foody defines end-to-end security and discusses the different parts of security to consider. Continue Reading
Dan Foody discusses the capability of using Web services for ASP applications. Continue Reading
Daniel Foody discusses the "find-bind-execute" paradigm and secure service directories. Continue Reading