Java Reference
In-Depth Information
Overall, REST can be described as a technology and platform-independent
architecture, where loosely coupled components communicate via interfaces
over standard Web protocols. Software, hardware, and data-centric designs are
employed to maximize system efficiency, scalability, and network throughput.
The underlying principle, although never explicitly mentioned in any REST
description, is simplicity.
REST differs from other software architecture in that it marries the concepts
common to software architecture (interfaces, components, connectors, patterns,
and so on) with those of network architecture (portability, bandwidth manage-
ment, throughput measurement, protocol latencies, and so on). This combination
makes REST ideal for distributed software systems where scalability in terms of
both processing power and communication efficiency are critical.
Figure 10.1 illustrates the REST architecture in one comprehensive diagram that
combines logical software architecture with physical network elements. For
instance, it demonstrates the following REST principles:
Communication is performed over HTTP.
Clients contain optional server caches for efficiency.
Services can employ caches to back-end systems.
There are no restrictions on the number of clients per service, or the num-
ber of services per client.
Services can call services.
REST Service A
Physical Server 1
Physical Server 2
HTTP
Client A
L
cache
cache
Client B
data
REST Service B
HTTP
HTTP
Client C
cache
DNS
REST Service C
Figure 10.1
Overview of REST Components
 
Search WWH ::




Custom Search