This document provides an overview of Representational State Transfer (REST) architectural style and how to design RESTful web services. It discusses different service styles like RPC, message-oriented and resource-oriented services. It explains REST constraints like client-server, stateless, cache etc. and how REST uses HTTP methods and URIs to manipulate resources. The document also provides examples of Amazon S3 REST API and developing RESTful services using JAX-RS in Java.