Web services overview

A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.

Web services are self-contained, self-describing modular applications that can be published, located, and invoked across the Web.

Web services are self-contained. On the client side, no additional software is required.  A programming language with XML and HTTP client support is enough to get you started.  On the server side, a Web server and servlet engine are required.  The client and server can be implemented in different environments.  It is possible to Web service enable an existing application without writing a single line of code.

Web services are self-describing. The client and server need to recognize only the format and content of request and response messages.  The definition of the message format travels with the message; no external metadata repositories or code generation tools are required.

Web services are modular. Simple Web services can be aggregated to form more complex Web services either by using workflow techniques or by calling lower layer Web services from a Web service implementation.

Web Services are platform independent. Web services are based on a concise set of open, XML-based standards designed to promote interoperability between a Web service and clients across a variety of computing platforms and programming languages.

Web services might be anything, for example, theatre review articles, weather reports, credit checks, stock quotations, travel advisories, or airline travel reservation processes. Each of these self-contained business services is an application that can easily integrate with other services, from the same or different companies, to create a complete business process. This interoperability allows businesses to dynamically publish, discover, and bind a range of Web services through the Internet.

Categories of Web services

Web services can be grouped into three categories:

Business information. A business shares information with consumers or other businesses. In this case, the business is using Web services to expand its scope. Examples of business informational Web services are news streams, weather reports, or stock quotations.

Business integration. A business provides transactional, "for fee" services to its customers. In this case, the business becomes part of a global network of value-added suppliers that can be used to conduct commerce. Examples of business integration Web services include bid and auction e-marketplaces, reservation systems, and credit checking.

Business process externalization. A business differentiates itself from its competition through the creation of a global value chain. In this case, the business uses Web services to dynamically integrate its processes. An example of business process externalization Web services is the associations between different companies to combine manufacturing, assembly, wholesale distribution, and retail sales of a particular product.

Service roles and interactions

A network component in a Web Services architecture can play one or more fundamental roles: service provider, service broker, and service client.

Binding involves establishing all environmental prerequisites that are necessary to successfully complete the services. Examples of environmental prerequisites include security, transaction monitoring, and HTTP availability. The relationships between these roles are described in Figure 1.

Figure 1. Service roles and interactions.

Figure 1 illustrates the interactions between the service broker, service provider, and service requestor.

For more information on Web services, refer to www.ibm.com/developerworks/webservices