In this chapter, we will cover the Representational State Transfer (REST) software architectural style, as described in Roy Fielding's PhD dissertation. You may find a brief discussion on HTTP before getting into the details of REST. Once the base is set, we will be ready for the next step. We will then discuss the set of constraints, the main components, and the abstractions that make a software system RESTful. Here is the list of topics covered in this chapter:
- The REST architectural style
- Introducing HTTP
- The evolution of RESTful web services
- The core architectural elements of a RESTful system
- The description and discovery of RESTful web services
- Java tools and frameworks for building RESTful web services