Simply stated, a web service is a self-contained software component that performs specific functions and publishes information about its capabilities to other components over a network.
Web services are based on a collection of Internet standards, including the Web Services Definition Language (WSDL), an XML format for defining the connection points exported by a service; the Universal Description, Discovery, and Integration (UDDI) specification, a collection of XML protocols and an infrastructure for the description and discovery of web services; and the Simple Object Access Protocol (SOAP), an XML-based protocol for messaging and RPC-style communication between web services. Leveraging these three technologies, web services can be combined and matched to build innovative applications, processes, and value chains.
Even more appealing, web services offer a coherent mechanism for mitigating the typically arduous task of integrating multiple web applications, coordinating standards to pass data, protocols, platforms, and so on. Web services can describe their own functionality and search out and dynamically interact with other web services via WSDL, UDDI, and SOAP. Web services thus provide a means for different organizations to connect their applications with one another to conduct dynamic e-business across a network, no matter what their application, design, or run-time environment (ASP.NET, ISAPI, COM, PHP, J2EE, and so on).
What differentiates web service from plain old web site? Web services are targeted at unintelligent agents rather than end users. As Microsoft puts it, “In contrast to websites, browser-based interactions, or platform-dependent technologies, web services are services offered computer-to-computer, via defined formats and protocols, in a platform-independent and language-neutral manner.”