A web service, as its name suggests, is an application component that provides a service which is available over the web. An application that uses this service is called service consumer/client. The communication (request and response) between a service provider and a consumer takes place through XML messages. Since, XML is used as a communication language, web service is independent of any programming language, operating system.
Usually, web services are built on the top of HTTP and SOAP messages are used for communication. The description (operations offered, message formats, bindings, location etc.) of a web service is provided as an XML document which is written in a language called Web Service Description Language (WSDL). In the following section, we shall discuss how to develop, deploy and use a simple web service using Java.
Source: Uttam Kumar Roy (2015), Advanced Java programming, Oxford University Press.