Roy T. Fielding, Richard N. Taylor, Justin Erenkrantz, Michael M. Gorlick, E. James Whitehead, Rohit Khare, Peyman Oreizy; Reflections on the REST Architectural Style and “Principled Design of the Modern Web Architecture; In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017); 2017; pages 4-11 (8 pages); landing
Seventeen years after its initial publication at ICSE 2000, the Representational State Transfer (REST) architectural style continues to hold significance as both a guide for understanding how the World Wide Web is designed to work and an example of how principled design, through the application of architectural styles, can impact the development and understanding of large-scale software architecture. However, REST has also become an industry buzzword: frequently abused to suit a particular argument, confused with the general notion of using HTTP, and denigrated for not being more like a programming methodology or implementation framework. In this paper, we chart the history, evolution, and shortcomings of REST, as well as several related architectural styles that it inspired, from the perspective of a chain of doctoral dissertations produced by the University of California’s Institute for Software Research at UC Irvine. These successive theses share a common theme: extending the insights of REST to new domains and, in their own way, exploring the boundary of software engineering as it applies to decentralized software architectures and architectural design. We conclude with discussion of the circumstances, environment, and organizational characteristics that gave rise to this body of work.
There are 59 references.
Roy T. Fielding, Richard N. Taylor. Principled Design of the Modern Web Architecture. In Proceedings of the 22nd International Conference on Software Engineering (ICSE). 2000. pages 407–416. IEEE, Limerick, Ireland.
Justin R. Erenkrantz. Computational REST: A New Model for Decentralized, Internet-Scale Applications. Ph.D. Dissertation. University of California, Irvine, Irvine, California, USA. 2009.
Michael Martin Gorlick. Computational State Transfer: An Architectural Style for Decentralized Systems. Ph.D. Dissertation. Technical Report UCI-ISR-16-3. University of California, Irvine, Irvine, California, USA. 2016.
David Alan Halls. Applying Mobile Code to Distributed Systems. Ph.D. Dissertation. University of Cambridge, Cambridge, UK. 1997.
Michael Hicks. Dynamic Software Updating. Ph.D. Dissertation. Computer and Information Science, University of Pennsylvania, Philadelphia, Pennsylvania, USA. 2001.
Mozilla Project Things is announced.
Mozilla Firefox Connect Devices project is abandoned.
the theory, the Web of Things (WoT)
the framework, the architecture
a meta-layer among the Great Cultures.
Web of Things
Software tack, shown later
Proprietary lock-in at the core; Internet of Things (IoT) is a “Great Cultures” system; <quote><snip>most home and industrial IoT vendors <snip/> align themselves with <snip/> IoT ecosystems pushed by a handful of the world’s largest tech companies. </quote>
<quote>All of these stacks include proprietary technology, as well as varying degrees of more open technologies that are more or less controlled by a single company.</quote>
TLS (Transport Layer Security)
Web Thing API
A Specification Proposal
“simple” <ahem>nobody ever comes out with a “complex” specification, now do they?</ahem>
Web Thing Description, a format
JSON, an encoding
a default [meaning something else could replace that?]
REST + WebSockets
Web Thing API
“Great Cultures”, a.k.a. “The Ecosystems”
The three more Linux-oriented ecosystems listed here —
Hyper-Text Transport Protocol (HTTP)
The transfer of hypertext
Representational State Transfer (REST)
The manifestation and transfer of a representation of the (internal) state of a workflow in zero or more remote applications; the workflow execitomg among the client and server(s)
Transport Layer Security (TLS)
Web Socket (WebSockets) Yes, everywhere except Opera