Feb 11
4
Web services are encapsulated loosely coupled [and] contracted functions offered through standard protocols.
Like CORBA, Web services are components that one can reuse in building applications. The tasks that Web services perform when customers reuse and put together the components are not seen from the outside. This is known as the encapsulation. Encapsulated tasks are transparent. Reusable components can be encapsulated.
When a customer mixes and matches components, it means that the Web services are reconfigurable or, in a more formal sense, loosely coupled. Although tasks are reconfigurable, a change in the implementation of one function does not require a change to the invoking function. “Loosely coupled” does not refer to communications between two applications, as Web services rely on a remote procedure call (RPC) in which queries and responses are exchanged in XML over HTTP.
Loosely coupled also means that Web services can send messages to a queue for later retrieval, as in a workflow process. It is not necessary for a receiver to be present when a sender transmits a message; the receiver can get it at a later time — from a queue. It is also not necessary for the sender to get a response immediately after sending a message.
Encapsulated and loose coupling require wire-level messaging protocols to perform the data transfer between functions, independent of the runtime environment. XML, being a self-description language, is used and the Simple Object Access Protocol (SOAP) acts as the “envelope” for the messages. These messages must be routed with reliability and have transactions support (such as the SQL Commit statement).
Web services require contracted functions, meaning that there are publicly available functions (in addition to private ones not available to public applications). They include interfaces for standard description languages, such as discovery, workflow, and standard taxonomies used to search and store information a private directory (e.g., stock service brokerage) or public directory (e.g., UDDI).
The contracted functions can be extended to aggregations of Web services, transactions, and workflow, all of which require quality of service (QoS), security for confidentiality, authorization, data integrity, message origin authentication (not a replay of old message), and non-repudiation, as well as management for process execution at all levels.
Contracted functions are grouped into the following:
- Web description languages
- Discovery, workflow, and standard taxonomies
- Negotiation-runtime agreement on the protocols for Web services aggregations.
- Management, security, and quality of service (QoS)
All definitions or descriptions indicate implicitly or explicitly that Web services use standard protocols to distribute them over the Internet — in a format common to the customers. Standard protocols are widely published and freely available for anyone to implement. Standard organizations such as the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS) facilitate agreement and collaboration between companies on messaging standards. These protocols refer to the Open Standards component of the Web services stack.

