RESTful Web Services

Front Cover
"O'Reilly Media, Inc.", May 8, 2007 - Computers - 419 pages
"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 most popular distributed application in history, and Web services and mashups have turned it into a powerful distributed computing platform. But today's web service technologies have lost sight of the simplicity that made the Web successful. They don't work like the Web, and they're 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:
  • Emphasizes 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 Amazon's Simple Storage Service and the Atom Publishing Protocol
  • Discusses web service clients for popular programming languages
  • Shows how to implement RESTful services in three popular 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.
 

Contents

Chapter 1 The Programmable Web and Its Inhabitants
1
Chapter 2 Writing Web Service Clients
23
Chapter 3 What Makes RESTful Services Different?
49
Chapter 4 The ResourceOriented Architecture
79
Chapter 5 Designing ReadOnly ResourceOriented Services
107
Chapter 6 Designing ReadWrite ResourceOriented Services
143
Chapter 7 A Service Implementation
167
Chapter 8 REST and ROA Best Practices
215
Chapter 10 The ResourceOriented Architecture Versus Big Web Services
299
Chapter 11 Ajax Applications as REST Clients
315
Chapter 12 Frameworks for RESTful Services
339
Appendix A Some Resources for REST and Some RESTful Resources
365
Appendix B The HTTP Response Code Top 42
371
Appendix C The HTTP Header Top Infinity
389
Index
409
Copyright

Chapter 9 The Building Blocks of Services
259

Other editions - View all

Common terms and phrases

About the author (2007)

Sam Ruby is a prominent software developer who has made significant contributions to the many of the Apache Software Foundation's open source projects, and to the standardization of web feeds via his involvement with the Atom web feed standard and the popular Feed Validator web service.He currently holds a Senior Technical Staff Member position in the Emerging Technologies Group of IBM. He resides in Raleigh, North Carolina.