This course provides a detailed look at RESTful service design and best practices in a language-agnostic setting. Attendees will gain a deep appreciation for the ability of properly designed RESTful services to leverage the infrastructure of the Web. Each of the six REST constraints will be examined in detail along with the HTTP features which empower these constraints over the Internet. Important design concepts including resource-based modeling, the Richardson Maturity Model and decoupling clients and servers through HATEOAS (Hypermedia as the Engine of Application State) are covered in depth.