A Web service is a set of functionalities that are packaged as a single entity and published to the Web for use by other applications. Web services are building blocks for creating open distributed systems, and allow companies and individuals to quickly and cheaply make their digital assets available worldwide. One early example is Microsoft Passport, a convenient authentication service hosted by Microsoft. Here are some other examples:
- a credit checking service that returns credit information when given a person's social security number.
- a stock quote service that returns the stock price associated with a specified ticker symbol.
- a purchasing service that allows computer systems to buy office supplies when given an item code and a quantity.
A Web service can aggregate other Web services to provide a higher-level set of features. For example, a Web service could provide a set of high-level travel features by orchestrating lower-level Web services for car rental, air travel, and hotels. Applications of the future will be built from Web services that are dynamically selected at runtime based on their cost, quality, and availability.
This category welcomes submission of resources covering the development of Web Services, i.e. programmable web components utilizing technologies such as UDDI, WSDL, SOAP, and XML.
This category is NOT for general commercial services provided over the web or commercial services for building Web Services. These sites should be submitted to the Computers: Internet: Web Design and Development category. Submitting a site to inappropriate category will delay the listing of the site.
This category is specifically for resources that help developers in the development of Web Services or development of applications that use other Web Services.
REST [Representational State Transfer] is an architectural style for building large-scale networked applications. It is a description of the facets of the WWW that made the Web so successful.
REST describes a networked system in terms of
- data elements (resource, resource identifier, representation)
- connectors (client, server, cache, resolver, tunnel)
- components (origin server, gateway, proxy, user agent)
REST is an architecture that separates server implementation from the client's perception of resources, scales well with large numbers of clients, enables transfer of data in streams of unlimited size and type, supports intermediaries (proxies and gateways) as data transformation and caching components, and concentrates the application state within the user agent components.
-- Roy Fielding