A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It is a method of communication between two electronic devices over a network. Web services are self-contained, modular, distributed, dynamic applications that can be described, published, located, or invoked over the network to create products, processes, and supply chains. They use standardized protocols and open standards such as TCP/IP, HTTP, Java, HTML, and XML.
Web services can be offered by an electronic device to another electronic device, communicating with each other via the Internet, or a server running on a computer device, listening for requests at a particular port over a network. They can be used by software programs written in a variety of programming languages and running on a variety of platforms to exchange data via computer networks such as the Internet in a similar way to inter-process communication on a single computer.
Web services are not tied to any one operating system or programming language, which means that Java can talk with Perl, and Windows applications can talk with Unix applications. They are XML-based information exchange systems that use the Internet for direct application-to-application interaction. Web services support communication among numerous apps with HTML, XML, WSDL, SOAP, and other open standards.