What Are Web Services?
Simply put, Web Services are loosely coupled, contracted components that communicate via XML-based interfaces. Let’s take a closer look at this definition:
Loosely coupled means that Web Services and the programs that invoke them can be changed independently of each other. Loose coupling also implies that Web Services are platform independent.
Contracted means that a Web Service’s behavior, its input and output parameters, and how to bind to it are publicly available.
A component is encapsulated code, which means that the implementation of each component is hidden from outside the component. Each component’s functionality is only known by the interface it exposes.
Because all Web Services’ interfaces are built with XML, they all share the advan-tages of XML: They have a human readable, text-based format that is firewall friendly and self-describing. All Web Services are described using a standard XML notation called its service description.
Put another way, Web Services are self-contained applications that can be described, pub-lished, located, and invoked over the Internet (or any network, for that matter).
We will also talk extensively about the Web Services model of distributed computing, which is the overall approach to distributed technology enabled by Web Services. Web Services can be thought of merely as enabling a new remote procedure call (RPC) archi-tecture, but the power of the technology goes far beyond what existing RPC architectures can provide. These new capabilities are part of the Web Services model.