A web service provides an interface for machine-to-machine or application communication over computer networks such as the Internet. In this process, data is exchanged and functions are called on remote computers (servers). Each web service has a Uniform Resource Identifier (URI) that uniquely identifies it. In addition, depending on the implementation, a web service contains an interface description in machine-readable format that defines how to interact with the web service, such as WSDL in XML format. Communication can take place via protocols from the Internet context, such as HTTP or HTTPS. These protocols can be used to transmit data in XML or JSON format, for example. A web service is platform-agnostic and is usually available for several programs to access.
Pros of Web Service
- The open standards used avoid licensing costs. Since these standards also include the ubiquitous Internet-based technologies, they can also be used in many places. Here, too, there is a cost advantage.
- Web services can be based on virtually any transmission protocol. With a large number of different users on the Internet, HTTP is commonly used for data transmission because firewall problems are rare. This is an advantage over comparable technologies such as CORBA, DCOM or Java RMI. As described, web services are not bound to HTTP and can also be transmitted using other protocols such as SMTP – for example for asynchronous transmission – or FTP – for example for very large messages – and are therefore openly suitable for different application scenarios.
- The use of already existing and widely used Internet standards (HTTP, XML, etc.) creates an open and flexible architecture that is independent of the platforms, programming languages and protocols used. For example, Windows C# clients can communicate behind a firewall with Java servers implemented on Linux. The widely used standard protocols enable interoperability across any heterogeneity on the Internet.
- The barriers to entry are comparatively low.

Cons of Web Service
- The main difficulties in the implementation of web services are likely to concern security aspects. For example, during transport, it is important to ensure that important web services are encrypted or that authentication is required. Whether HTTPS is sufficient here or solutions such as XML signature, XML encryption or SAML should be used should be weighed up depending on the use case.
- Particular attention is paid to performance, which is negatively affected by excessive overhead. The administrative burden increases with highly distributed systems.
- More know-how is required than, for example, Remote Procedure Call (RPC). Programming languages that want to integrate web services require special libraries (e.g. for the Document Object Model).