InfoQ Explores: REST
This is the first edition of what is expected to become a recurring series on InfoQ.
The idea behind this minibook is that a number of InfoQ articles and interviews which deal with a particular topic (in this case, REpresentational State Transfer, or REST) are combined together to provide a detailed exploration suitable for both beginners and advanced practitioners.
This 127 page PDF compilation contains InfoQ’s best REST related content, including:
- A Brief Introduction to REST - In this article, Stefan Tilkov provides a pragmatic introduction to REST (REpresentational State Transfer), the architecture behind the World Wide Web, and covers the key principles: Identifiable resources, links and hypermedia, standard methods, multiple representations and stateless communication
- Resource-Oriented Architecture: The Rest of REST - In this first article in the Resource-Oriented Architecture series, Brian Sletten discusses the REST architecture style, the history of SOA, SOAP and WS-*, the Semantic Web, URLs as identifiers, URIs and URNs, freedom of form, logically-connected late-binding systems, HATEOAS, and the impact of the Semantic Web upon software systems
- RESTful HTTP in practice - Gregor Roth overviews the basics of RESTful HTTP and discusses typical issues that developers face when they design RESTful HTTP applications, showing how to apply the REST architecture style in practice. Gregor describes commonly used approaches to name URIs, discusses how to interact with resources through the Uniform interface, when to use PUT or POST and how to support non-CRUD operations
- How to GET a Cup of Coffee - In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes
- Addressing Doubts about REST - Invariably, learning about REST means that you'll end up wondering just how applicable the concept really is beyond introductory, "Hello, World"-level stuff. In this article, Stefan Tilkov addresses 10 of the most common doubts people have about REST when they start exploring it, especially if they have a strong background in the architectural approach behind SOAP/WSDL-based Web services
- REST Anti-Patterns - In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them: tunneling everything through GET or POST, ignoring caching, response codes, misusing cookies, forgetting hypermedia and MIME types, and breaking self-descriptiveness
- Ian Robinson discusses REST, WS-* and Implementing an SOA - In this interview from QCon San Francisco 2008, Ian Robinson discusses REST vs. WS-*, REST contracts, WADL, how to approach company-wide SOA initiatives, how an SOA changes a company, SOA and Agile, tool support for REST, reuse and foreseeing client needs, versioning and the future of REST-based services in enterprise SOA development
- Jim Webber on "Guerilla SOA" - In this interview, recorded at QCon London, Jim Webber, ThoughtWorks SOA practice leader talks to Stefan Tilkov about Guerilla SOA, a lightweight approach to SOA that does not rely on big middleware products, a message-oriented architectural style called MEST and its differences to REST, and the SOAP Service Description Language (SSDL)
- Ian Robinson and Jim Webber on Web-based Integration - In this interview, recorded at QCon London 2009, Ian Robinson and Jim Webber talk to Stefan Tilkov about the Web as a platform for integration, the usefulness of various degrees of RESTful HTTP and the benefits of REST in theory and practice
- Mark Little on Transactions, Web Services and REST - In this interview, recorded at QCon London 2008, Red Hat Director of Standards and Technical Development Manager for the SOA platform Mark Little talks about extended transaction models, the history of transaction standardization, their role for web services and loosely coupled systems, and the possibility of an end to the Web services vs. REST debate
- CORBA Guru Steve Vinoski on REST, Web Services, and Erlang - In this interview, recorded at QCon San Francisco 2007, CORBA Guru Steve Vinoski talks to Stefan Tilkov about his appreciation for REST, occasions when he would still use CORBA and the role of description languages for distributed systems. Other topics covered include the benefits of knowing many programming languages, and the usefulness of of Erlang to build distributed systems