1.1 & 1.2 Introduction and Formal Definition of Web Services
W3C Official Definition: A Web Service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
Key Defining Characteristics:
- Platform & Language Neutrality: A Java client running on Linux can communicate seamlessly with a C# .NET service running on Windows Server.
- Loose Coupling: Changes to the internal implementation of a service do not break client applications as long as the public interface contract remains intact.
- Standard Wire Protocols: Relies on open Internet standards (HTTP, HTTPS, SMTP, XML, JSON).
- Self-Describing & Discoverable: Services publish metadata contracts (WSDL / OpenAPI) that can be registered and discovered dynamically via registries (UDDI).