The term Web Services defines a set of lightweight protocols and standards (SOAP, WSDL, and UDDI) that facilitate integration. Adding a thin layer on top of standard XML, SOAP provides a lightweight protocol for exchanging data, invoking applications remotely, and handling exceptions. SOAP does not provide the functionality itself, but instead provides a platform- and language-neutral way of forwarding an incoming request (frequently an HTTP request, although FTP and SMTP are also supported) to the appropriate method or function in an existing application and then returning the value to the requester.
WSDL provides a way for service providers to advertise the list of operations they are willing to support. WSDL is quite verbose and is often generated by tools rather than being written by developers.
UDDI provides a set of specifications for companies to use when registering their services. Major companies, including IBM and Microsoft, are also hosting public repositories, which are currently not being audited. For most organizations, it is more practical to build private registries that can be updated and searched only by trusted parties.
In many cases, Web Services will not replace the existing technologies (application servers, EDI, EAI, etc.); they will instead coexist with them. The next chapter discusses outstanding issues that need to be addressed in rolling out Web Services at an enterprise level.