Information Technology Reference
In-Depth Information
parties are fixed. Only one party (the client) can use the services of the
other. Developers must use polling instead of notification in these com-
mon cases.
Most uses of HTTP as a transport protocol are made in ignorance of how
the operation is accomplished. As a result, there is no way to know whether
the method used is appropriate to the operation. The REST architecture has
become a Web Service alternative that makes appropriate use of HTTP's
defined methods.
7.4.3 SOA and RESTful Web Services
REpresentational State Transfer (REST) is a style of software architecture for
distributed hypermedia systems such as the World Wide Web. As such, it
is not strictly a method for building Web Services . The terms representational
state transfer and REST were introduced in 2000 in the doctoral dissertation of
Roy Fielding, one of the principal authors of the Hypertext Transfer Protocol
(HTTP) specifications 1.0 and 1.1.
REST refers to a collection of network architecture principles, which outline
how resources are defined and addressed. The term is often used in a looser
sense to describe any simple interface that transmits domain-specific data
over HTTP without an additional messaging layer such as SOAP or session
tracking via HTTP cookies. These two meanings can conflict as well as over-
lap. It is possible to design a software system in accordance with Fielding's
REST architectural style without using HTTP and without interacting with
the World Wide Web. It is also possible to design simple XML+HTTP inter-
faces that do not conform to REST principles but instead follow a model of
remote procedure call. Systems that follow Fielding's REST principles are
often referred to as RESTful .
Proponents of REST argue that the Web's scalability and growth are a
direct result of a few key design principles. Application state and function-
ality are abstracted into resources. Every resource is uniquely addressable
using a universal syntax for use in hypermedia links, and all resources share
a uniform interface for the transfer of state between client and resource. This
transfer state consists of a constrained set of well-defined operations and
a constrained set of content types, optionally supporting code on demand.
State transfer uses a protocol that is client-server based, stateless and cache-
able, and layered.
An important concept in REST is the existence of resources, each of
which is referenced with a global identifier (e.g., a URI in HTTP). In order
to manipulate these resources, components of the network (user agents and
origin servers) communicate via a standardized interface (e.g., HTTP) and
exchange representations of these resources (the actual documents convey-
ing the information). For example, a resource, which is a circle, may accept
and return a representation that specifies a center point and radius, format-
ted in Scalable Vector Graphics (SVG), but may also accept and return a
Search WWH ::




Custom Search