SOAP allows two programs to exchange XML documents over HTTP. Using this simple mechanism, it is possible to create a Remote Procedure Call (RPC) model, which many web services do. In that style of SOAP, the documents describe operations to call and the parameters they take. The response document describes the return value of the RPC. SOAP services are usually accompanied by Web Services Description Language (WSDL) documents that describe the calls available in a service and descriptions of the types they use. In the web service world, WSDL documents play the same role that reflection does in .NET. It makes it possible for generic tools to operate with web services without knowing their details beforehand.
The SOAP web service infrastructure has several defining characteristics:
Both the web service server and the client application are connected to the Internet.
The data format with which the two ends of the connection communicate conforms to the same open standard. SOAP messages usually consist of self-describing, text-based XML documents.
The systems at the two ends of the connection are loosely coupled. In other words, web services do not care what operating system, object model, or programming language is used on either end of the connection as long as both the web service and the consuming application are able to send and receive messages that conform to the proper protocol standard.
The logic behind the web service process is shown schematically in Figure 16-2 ...