What is a Web Service?

The formal definition (according to www.w3c.org) is that a Web service is a software application identified by a Uniform Resource Identifier (URI), whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts and supports direct interactions with other software applications using XML-based messages via Internet-based protocols.

A Web service is a software system designed to support interoperable application to application interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with Web Services in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

There are two major classes of Web Services:

  • REST-compliant Web Services: The primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of "stateless" operations.
  • Arbitrary Web Services: The service may expose an arbitrary set of operations.

Both these Web Services use URIs to identify resources and use Web protocols (such as HTTP and SOAP) and XML data formats for messaging.