Web Services, Part I: Introduction
SOAP and UDDI
You call Web services with messages that are written in the SOAP format. SOAP is a specification that defines the XML format for messages. A well-formed XML fragment enclosed in a couple of SOAP elements is a SOAP message. SOAP stands for Simple Object Access Protocol. You could print out a SOAP message, fax it to a remote location, and type it into the remote machine without violating the SOAP standard. More likely, you would send a SOAP message inside an HTTP message. There's no standard for how a SOAP message is carried, and SOAP doesn't care what the transport is. The SOAP specification defines what an HTTP message containing a SOAP message must look like.
The SOAP specification includes three major parts. The required part defines the structure of an XML document that can be used to exchange data between applications. Section 5 defines a way to encode programming language data types in XML. Such a message is called a section-5 encoded SOAP message. A regular message that contains an XML document is called a literal SOAP message. Section 7 of the SOAP definition is also optional. It deals with RPC (remote procedure calls), where the message is sent synchronously. You call a Web service's function and wait to check the return code. The default specification is for asynchronous call.
One of the critical principles of XML Web services is that systems connect through the Internet, which is a safe assumption. Internet connectivity is readily available and is provided with a very low cost to users of these Web services. The only problem is how to find these resources on the Internet. Will there be search engines? Directories? Some of the big computer companies such as Microsoft, Ariba, COMPAQ, Dell, HP, IBM, SAP, and others, are participating in a broad industry effort to define UDDI (Universal Description, Discovery, and Integration). UDDI provides a way to locate and understand services provided by other companies. It's a kind of "yellow pages" on the Internet for the industry.
Next: How to develop Web services