Introducing REST


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introducing REST

  1. 1. Introducing REST Dong Liu Dept. of Computer Science Univ. of Saskatchewan
  2. 2. Agenda What is REST RESTful services Comparing RESTful and SOAP-based approaches Useful resources Jan. 8 2008 Dong Liu
  3. 3. REST Representational State Transfer The term comes from Roy Fielding’s PhD work More practical than theoretical It is an architectural style, not a technology, nor an architecture Software architecture = {Elements, Constraints, Rationale} * An architectural style abstracts elements and constraints from various specific architectures * Analogy: designs and design pattern * Perry & Wolf quot;Foundations for the study of software architecture,quot; SIGSOFT Softw. Eng. Notes. ACM, vol. 17, pp. 40-52, 1992. Jan. 8 2008 Dong Liu
  4. 4. Deriving REST RR: replicated repository from Roy T. Fielding quot;Architectural styles and the design of network-based software architectures,quot; University of California, Irvine, 2000. $: cache CS: client-server LS: layered system S: stateless VM: virtual machine COD: code on demand U: uniform interface Jan. 8 2008 Dong Liu
  5. 5. Uniform interface Resources are identified by ONE resource identifier mechanism Access methods are the same for all resources Resources are manipulated by exchanging representations Representations are in self-descriptive messages Hypermedia acts as the engine of application state Jan. 8 2008 Dong Liu
  6. 6. REST rationale Maximize reuse Minimize coupling Eliminate partial failure condition Scale without bound Simplify from Roy T. Fielding quot;The Rest of REST,quot; RailsConf Europe, 2007. Jan. 8 2008 Dong Liu
  7. 7. Generic process to design RESTful services 1. Identify resources 2. Design URIs 3. Expose a subset of the uniform interface 4. Design the representations from and to the client 5. Integrate this resource into existing resources, using hypermedia links and forms 6. Consider typical flows 7. Consider error conditions A revised version of P216 in Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007. Jan. 8 2008 Dong Liu
  8. 8. RESTful design of services (1) The example comes from Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007. Jan. 8 2008 Dong Liu
  9. 9. RESTful design of services (2) Jan. 8 2008 Dong Liu
  10. 10. RESTful design of services (3) Jan. 8 2008 Dong Liu
  11. 11. WS stack from Jan. 8 2008 Dong Liu
  12. 12. Interoperability? Support for the Basic Profile is the baseline for interoperable Web services. from Customers should demand that all of their Web services-enabled technology be compliant with the Basic Profile, and that in turn will lay the foundation for Web services to fulfill their promise and provide technology independent interoperability. Dan Sholler, Gartner Jan. 8 2008 Dong Liu
  13. 13. WS-Babel from Jan. 8 2008 Dong Liu
  14. 14. WS-Addressing from Jan. 8 2008 Dong Liu
  15. 15. Jan. 8 2008 The Web is agreement Dong Liu from
  16. 16. Two must-read’s Jan. 8 2008 Dong Liu
  17. 17. The community Yahoo rest-discuss group Steve Vinoski Paul Downey Sam Ruby Bill de hÓra Joe Gregorio Mark Nottingham Pete Lacey Stefan Tilkov Stuart Charlton Mark Baker … Jan. 8 2008 Dong Liu
  18. 18. Thanks
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.