RESTful Web Services by Sam Ruby - A Rest Manifesto by karenw3409


									 RESTful Web Services by Sam Ruby

                                 Nice Book

Every developer working with the Web needs to read this book. -- David
Heinemeier Hansson, creator of the Rails framework RESTful Web
Services finally provides a practical roadmap for constructing services that
embrace the Web, instead of trying to route around it. -- Adam
Trachtenberg, PHP author and EBay Web Services Evangelist Youve built
web sites that can be used by humans. But can you also build web sites
that are usable by machines? Thats where the future lies, and thats what
RESTful Web Services shows you how to do. The World Wide Web is the
most popular distributed application in history, and Web services and
mashups have turned it into a powerful distributed computing platform. But
todays web service technologies have lost sight of the simplicity that made
the Web successful. They dont work like the Web, and theyre missing out
on its advantages. This book puts the Web back into web services. It
shows how you can connect to the programmable web with the
technologies you already use every day. The key is REST, the
architectural style that drives the Web. This book: E mphasizes the power
of basic Web technologies -- the HTTP application protocol, the URI
naming standard, and the XML markup language Introduces the Resource-
Oriented Architecture (ROA), a common-sense set of rules for designing
RESTful web services Shows how a RESTful design is simpler, more
versatile, and more scalable than a design based on Remote Procedure
Calls (RPC) Includes real-world examples of RESTful web services, like
Amazons Simple Storage Service and the Atom Publishing Protocol
Discusses web service clients for popular programming languages Shows
how to implement RESTful services in threepopular frameworks -- Ruby on
Rails, Restlet (for Java), and Django (for Python) Focuses on practical
issues: how to design and implement RESTful web services and clients
This is the first book that applies the REST design philosophy to real web
services. It sets down the best practices you need to make your design a
success, and the techniques you need to turn your design into working
code. You can harness the power of the Web for programmable
applications: you just have to work with the Web instead of against it. This
book shows you how.

* ISBN13: 9780596529260
* BUY WITH CONFIDENCE, Over one million books sold! 98% Positive
feedback. Compare our books, prices and service to the competition.
100% Satisfaction Guaranteed
* Brand New from Publisher. No Remainder Mark.

This is both a manifesto for what the authors term REST-Oriented
Architecture (ROA), and a technical dive into the mechanics and semantics
of REST. It comes as a big breath of fresh air after years of being
harangued by the putative benefits of Service-Oriented Architecture (SOA)
with its plethora of web-service standards centered on XML, SOAP, and
WSDL, and the many competing and largely incompatible SOA toolkits.

REST (or ReST) stands for Representational State Transfer, a term and
concept introduced by Roy Fielding nearly a decade ago. The basic idea is
that, in current practice, the www consists in large part of interconnected
resources where the connections are implemented by the basic HTTP
methods of GET and POST, and resource representation is typically
HTML, heavily annotated and marked-up, and difficult to work with
programmatically. But HTTP, combined with suitably chosen URIs, and
combined with more program-oriented representations such as XML and
JSON, can provide us the combined advantages of the interconnected web
and programmable services.

In the ReST model the HTTP methods (GET, PUT, POST, DELETE, and
maybe HEAD) are the only methods that would be exposed by a web
service. The service exposes URI (universal resource identifiers) for each
of the resources provided by the service (a possibly unbounded s et of
resources), and the methods are applied to those URIs. Each resource can
have one or many representations - for example, as XML, JSON, HTML,
PDF, etc. There are multiple ways of selecting a representation: for
example, adding an Accept header to the HTTP request, or adding some
kind of qualifier to the basic URI (for example, a .xml or .pdf suffix).
Representations can (and in the view of the authors, should) provide links
to related resources - in fact this ability to link to other resources is the
source of much of the power and attractiveness of the ReST model. This
ability to identify resources by URI sets ROA apart from SOA. As the
authors note, an SOA application normally has few URIs, sometimes only
one. So it is literally impossible for the result of a service call to identify the
related entities (I cant call them resources) for that call. Instead, the client-
side programmer must understand the documentation (possibly by poring
over the services WSDL description) to know how to accomplish any given
task. Unless the service designers used great care, the service calls within
the SOA application bear little relationship to one another, so
understanding some portion of the API provides no great insight into the
remainder of the API. The situation is (or can be) different in an ROA
application: knowing the set of basic resource types gives immediate
knowledge of how to access any particular resource instance. Knowing the
relationships between resources (for example, which resources are
containers, which resource types are related to other resource types) gives
knowledge of how to navigate the application - without the service provider
having to document every detail of that navigation.

This is exciting stuff. But there are many challenges. At the lo w end of the
scale, there is the issue that browsers know only the GET and POST
methods - not DELETE, PUT, and HEAD. So POST has to be overloaded
to provide the functionality of PUT and DELETE. At the top end of the
scale, it is not clear in any given case what resources should be exposed
and what their representation should be. We need a book entitled
Resource Oriented Design Patterns to fill this gap.

In the meantime, RESTful Web Services is a terrific guide to developing
web applications.

    For More 5 Star Customer Reviews and Lowest Price:
  RESTful Web Services by Sam Ruby - 5 Star Customer Reviews and Lowest Price!

To top