Java Reference
In-Depth Information
nature of XML, SOAP, and WSDL, Java tends to be a popular choice for Web
service implementation due to its OS-neutrality.
Web service systems are an improvement of client/server systems, and other pro-
prietary object models such as CORBA or COM, because they're built to stan-
dards and are free of many platform constraints. Additionally, the standards,
languages, and protocols typically used to implement Web services helps sys-
tems built around them to scale better.
Representational State Transfer (REST)
However, there exists an even less restrictive form of SOA than a Web service.
This style of architecture is called representational state transfer (REST), as
labeled by Dr. Roy Fielding in his doctoral dissertation. REST is a collection of
principles that are technology independent, except for the requirement that it be
based on HTTP, the protocol of the World Wide Web. In short, a system that con-
forms to the following set of principles is said to be RESTful:
• All components of the system communicate through interfaces with
clearly defined methods and dynamic, mobile, code
• Each component is uniquely identified through a hypermedia link (i.e.,
URL)
• A client/server architecture is followed (i.e., Web browser and Web server)
• All communication is stateless
• The architecture is tiered, and data can be cached at any layer
These principles map directly to those used in the development of the Web and,
according to Dr. Fielding, account for much of the Web's success. The HTTP
protocol, its interface of methods (GET, POST, HEAD, and so on), the use of
URLs, HTML, and JavaScript, as well as the clear distinction between what is a
Web server and a Web browser, all map directly to the first four principles. The
final principle, regarding tiers, allows for the common network technology found
in most Web site implementations: load balancers, in-memory caches, firewalls,
routers, and so on. These devices are acceptable because they don't affect the
interfaces between the components; they merely enhance their performance and
communication.
The Web is the premier example of a RESTful system, which makes sense since
much of the Web's architecture preceded the definition of REST. What the Web
makes clear, however, is that complex remote procedure call protocols are not
needed to create a successful, scalable, understandable, and reliable distributed
software system. Instead, the principles of REST are all that you truly need.
 
Search WWH ::




Custom Search