WebReference.com - Part 1 of Chapter 3: Professional XML Web Services, from Wrox Press Ltd (1/7)
Professional XML Web Services
SOAP is a specification for using XML documents as messages. The SOAP Specification contains:
- A syntax for defining messages as XML documents, which we refer to as SOAP messages
- A model for exchanging SOAP messages
- A set of rules for representing data within SOAP messages, known as SOAP encoding (or section 5 encoding due to the section of the specification it appears in)
- A guideline for transporting SOAP messages over HTTP
- A convention for performing remote procedure calls (RPC) using SOAP messages
SOAP and Web Services
With all the buzz and acronyms surrounding the topic of Web Services, it can get a little confusing. The list of protocols and technologies related to Web Services grows everyday. Of all the Web Services acronyms, SOAP is probably the most important. It is rapidly becoming the standard protocol for accessing a Web Service, and accessing the service is key. For Web Services to work as a technology, there must be well-defined approaches for discovering a service (UDDI Â Universal Description Discovery and Integration) and determining its capabilities (WSDL Â Web Service Definition Language). For any individual Web Service to succeed, however, these technologies are optional: written documentation or even a conversation over coffee can define the location of a service and its methods. However, without a protocol to access the methods, the service is useless. SOAP is the best choice today for that protocol.
Although SOAP is a great choice for a Web Services messaging protocol, it is not the only choice. Web Services can simply operate on HTTP GET, or only expose functionality through XML-RPC. This does not make these components any less of a Web Service than a component that works with SOAP. Generally, however, SOAP is the messaging protocol of choice for Web Services. There is widespread acceptance of SOAP both by vendors and independent developers, and the tools and implementations that work with SOAP are improving all the time.
The first version of the SOAP Specification that was available to the public was released in 1999, and it was a result of collaboration between developers at Microsoft, DevelopMentor, and UserLand Software. The current version, SOAP 1.1, was released on May 8th 2000 as a Note by the W3C with additional contributions from IBM and Lotus. Since then more than twenty different implementations have been started covering a wide variety of languages and platforms.
For a complete list of SOAP implementations, go to http://www.soapware.org/directory/4/implementations. Here you will be able to find a SOAP implementation that fits your needs, or if there isn't one yet, you will find the resources to help you build it.
Created: November 12, 2001
Revised: November 12, 2001