A Web service is a type of software system designed to serve as a method for communication between two devices connected to a network. Often, a Web service is simply a Web API that can be accessed over a network by a device requiring a functionality offered by the service.
Large-scale Web services in an enterprise often utilize XML messages that follow the SOAP standard, typically allowing for a machine-readable description of the functions performed by the service. A newer technology, called RESTful Web services, does not require XML messages.
Non-RESTful Web services have been criticized by some for their complexity and for being based upon large software vendors and integrators, instead of open source alternatives.