Web services (WS) are one of many ways to transfer data between two or more instances of servers. It is a service that uses the Simple Object Access Protocol (SOAP) over HTTP and transfers data in rigid XML formats.
A Web service is described by what is known as Web Service Definition Language (WSDL). Every WS has an accompanying WSDL contains metadata that describes the service contract that is needed to connect to the service. When a client application “consumes” a WS, the client uses the WSDL to define the needed proxy classes.
WS is less popular these days because they tend to have higher overhead and are slower than REST services. Data transferred using WS are serialized into large XML outputs and does not make use of HTTP’s cache-ability.
Representational State Transfer (REST) is not a protocol but an architectural design for network-based software architectures. REST uses HTTP standards meaning that it uses HTTP verbs and HTTP response code. Data can be serialized into any media format types but are typically serialized into JSON.
One of the major benefits of a RESTful service is that they are stateless, each request to a is treated as if it is a new request (idempotent)