Webservices are the methods of communication between software systems and connected devices over Internet infrastructure. They come in a number of very different technical varieties, such as SOAP and REST, but all are considered Webservices.
Webservices are considered to be the mechanisms by which different, separate systems communicate with each other over the World Wide Web. The actual implementations of specific Webservices can be very different, but they are all aimed at achieving an exchange of information/data across the Internet.
The W3C consortium identifies two major classes of Web services:
- REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations
- Arbitrary Web services, in which the service may expose an arbitrary set of operations.
Wikipedia describes the notion of Webservices as
Different software systems often need to exchange data with each other, and a web service is a method of communication that allows two software systems to exchange this data over the internet. The software system that requests data is called a service requester, whereas the software system that would process the request and provide the data is called a service provider.
Working with Webservices involves a number of other core computer science and programming concepts such as security, API and data structuring.
The actual concept of Webservices is completely agnostic of any specific programming language or framework, and Webservices can be achieved using a huge variety of technologies. It is not uncommon for the service requester to written in a completely different language, or on a different platform to that of the service provider.