Front cover image for RESTful Web Services

RESTful Web Services

""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 You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what RESTful Web Services shows you how to do. The World Wide Web is the
eBook, English, 2008
O'Reilly Media, Sebastopol, 2008
1 online resource (448 pages)
9780596515218, 9780596554606, 0596515219, 0596554605
1109039351
Available in another form:
Table of Contents; Foreword; Preface; The Web Is Simple; Big Web Services Are Not Simple; The Story of the REST; Reuniting the Webs; What's in This Book?; Administrative Notes; Conventions Used in This Book; Using Code Examples; Safari® Enabled; How to Contact Us; Acknowledgments; Chapter 1. The Programmable Web and Its Inhabitants; Kinds of Things on the Programmable Web; HTTP: Documents in Envelopes; Method Information; Scoping Information; The Competing Architectures; RESTful, Resource-Oriented Architectures; RPC-Style Architectures; REST-RPC Hybrid Architectures The Human Web Is on the Programmable WebTechnologies on the Programmable Web; HTTP; URI; XML-RPC; SOAP; WS-*; WSDL; WADL; Leftover Terminology; Chapter 2. Writing Web Service Clients; Web Services Are Web Sites; Wrappers, WADL, and ActiveResource; del.icio.us: The Sample Application; What the Sample Clients Do; Making the Request: HTTP Libraries; Optional Features; Ruby: rest-open-uri and net/http; Python: httplib2; Java: HttpClient; C#: System.Web.HTTPWebRequest; PHP: libcurl; JavaScript: XMLHttpRequest; The Command Line: curl; Other Languages; Processing the Response: XML Parsers Ruby: REXML, I GuessPython: ElementTree; Java: javax.xml, Xerces, or XMLPull; C#: System. Xml. XmlReader; PHP; JavaScript: responseXML; Other Languages; JSON Parsers: Handling Serialized Data; Clients Made Easy with WADL; Chapter 3. What Makes RESTful Services Different?; Introducing the Simple Storage Service; Object-Oriented Design of S3; A Few Words About Buckets; A Few Words About Objects; What If S3 Was a Standalone Library?; Resources; HTTP Response Codes; An S3 Client; The Bucket List; The Bucket; The S3 Object; Request Signing and Access Control; Signing a URI; Setting Access Policy Using the S3 Client LibraryClients Made Transparent with ActiveResource; Creating a Simple Service; An ActiveResource Client; A Python Client for the Simple Service; Parting Words; Chapter 4. The Resource-Oriented Architecture; Resource-Oriented What Now?; What's a Resource?; URIs; URIs Should Be Descriptive; The Relationship Between URIs and Resources; Addressability; Statelessness; Application State Versus Resource State; Representations; Deciding Between Representations; Links and Connectedness; The Uniform Interface; GET, PUT, and DELETE; HEAD and OPTIONS; POST Creating subordinate resourcesAppending to the resource state; Overloaded POST: The not-so-uniform interface; Safety and Idempotence; Safety; Idempotence; Why safety and idempotence matter; Why the Uniform Interface Matters; That's It!; Chapter 5. Designing Read-Only Resource-Oriented Services; Resource Design; Turning Requirements Into Read-Only Resources; Figure Out the Data Set; General Lessons; Split the Data Set into Resources; General Lessons; Name the Resources; Encode Hierarchy into Path Variables; No Hierarchy? Use Commas or Semicolons; Map URIs; Scale
Algorithmic Resource? Use Query Variables
English
pmt-eu.hosted.exlibrisgroup.com ProQuest Safari Tech Books Online