Advertisement

RESTful Web Services: Principles, Patterns, Emerging Technologies

  • Cesare Pautasso
Chapter

Abstract

RESTful Web services are software services which are published on the Web, taking full advantage and making correct use of the HTTP protocol. This chapter gives an introduction to the REST architectural style and how it can be used to design Web service APIs. We summarize the main design constraints of the REST architectural style and discuss how they impact the design of so-called RESTful Web service APIs. We give examples on how the Web can be seen as a novel kind of software connector, which enables the coordination of distributed, stateful and autonomous software services. We conclude the chapter with a critical overview of a set of emerging technologies which can be used to support the development and operation of RESTful Web services.

Keywords

Remote Procedure Call Resource Identifier Poll Resource Uniform Interface Poll Instance 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgments

Many thanks to Erik Wilde for all the help in preparing and running four editions of a successful WWW and ICWE tutorial on RESTful Web Services.

References

  1. 1.
    Allamaraju, S.: RESTful Web Services Cookbook. O’Reilly and Associates Sebastopol, California (2010)Google Scholar
  2. 2.
    Alonso, G.: Myths around web services. Bull. Tech. Committee Data Eng 25(4), 3–9 (2002)Google Scholar
  3. 3.
    Amundsen, M.: Building Hypermedia APIs with HTML5 and Node. O’Reilly, USA (2011)Google Scholar
  4. 4.
    Berners-Lee, T.: Long live the web. Sci. Am. (12) (2010)Google Scholar
  5. 5.
    Berners-Lee, T., Cailliau, R., Luotonen, A., Frystyk Nielsen, H., Secret, A.: The world wide web. Communications of the ACM 37(8), 76–82 (1994). doi: 10.1145/179606.179671
  6. 6.
    Berners-Lee, T., Fischetti, M., Dertouzos, M.: Weaving the Web. Harper Collins, San Francisco (1999)Google Scholar
  7. 7.
    Daigneau, R.: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison Wesley, Upper Saddle River (2011)Google Scholar
  8. 8.
    Dusseault, L., Snell, J.M.: Patch method. http. Internet RFC 5789 (2010)Google Scholar
  9. 9.
    Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, Upper Saddle River (2005)Google Scholar
  10. 10.
    Erl, T., Carlyle, B., Pautasso, C., Balasubramanian, R.: SOA with REST: Principles, Patterns and Constraints for Building Enterprise Solutions with REST. Prentice Hall, Upper Saddle River (2012)Google Scholar
  11. 11.
    Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine, Irvine, California (2000)Google Scholar
  12. 12.
    Fielding, R.T., Gettys, J., Mogul, J.C., Frystyk Nielsen, H., Masinter, L., Leach, P.J., Berners-Lee, T.: Hypertext transfer protocol. http/1.1. Internet RFC 2616 (1999)Google Scholar
  13. 13.
    Fielding, R.T., Taylor, R.N.: Principled design of the modern web architecture. ACM Trans. Internet Technol. 2(2), 115–150 (2002). doi: 10.1145/337180.337228
  14. 14.
    Goland, Y.Y., Whitehead, E.J., Faizi, A., Carter, S., Jensen, D.: Http extensions for distributed authoring—webdav. Internet RFC 2518 (1999)Google Scholar
  15. 15.
    Hadley, M., Sandoz, P.: JAX-RS: The java api for restful web services. Java Specification Request (JSR) 311 (2009)Google Scholar
  16. 16.
    Maleshkova, M., Pedrinaci, C., Domingue, J.: Investigating web apis on the world wide web. In: Proceedings of the 8th IEEE European Conference on Web Services (ECOWS2010), pp. 107–114 (2010). doi: 10.1109/ECOWS.2010.9
  17. 17.
    Nielsen, J.: User interface directions for the web. Commun. ACM 42(1), 65–72 (1999). doi: 10.1145/291469.291470 Google Scholar
  18. 18.
    Papazoglou, M.P., van den Heuvel, W.J.: Service oriented architectures: approaches, technologies and research issues. VLDB J. 16, 389–415 (2007)CrossRefGoogle Scholar
  19. 19.
    Parastatidis, S., Webber, J., Silveira, G., Robinson, I.: The role of hypermedia in distributed system development. In: Pautasso et al. [21], pp. 16–22. doi: 10.1145/1798354.1798379
  20. 20.
    Pautasso, C., Wilde, E., Marinos, A. (eds.): First International Workshop on RESTful Design (WS-REST 2010). Raleigh, North Carolina (2010)Google Scholar
  21. 21.
    Pautasso, C., Wilde, E.: Why is the web loosely coupled? a multi-faceted metric for service design. In: Quemada, J., León, G., Maarek, Y.S., Nejdl, W. (eds.) 18th International World Wide Web Conference, pp. 911–920. ACM Press, Madrid, Spain (2009)Google Scholar
  22. 22.
    Pautasso, C., Zimmermann, O., Leymann, F.: Restful web services vs. "big" web services: Making the right architectural decision. In: Huai, J., Chen, R., Hon, H.W., Liu, Y., Ma, W.Y., Tomkins, A., Zhang X. (eds.) 17th International World Wide Web Conference, pp. 805–814. ACM Press, Beijing, China (2008)Google Scholar
  23. 23.
    Richardson, L.: Developers like hypermedia, but they don’t like web browsers. In: Pautasso et al. [21], pp. 4–9. doi: 10.1145/1798354.1798377
  24. 24.
    Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly & Associates, Sebastopol (2007)Google Scholar
  25. 25.
    Tilkov, S.: REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien. dpunkt.verlag, Heidelberg, Germany (2009)Google Scholar
  26. 26.
    Tilkov, S.: REST litmus test for web frameworks (2010). http://www.innoq.com/blog/st/2010/07/rest_litmus_test_for_web_frame.html
  27. 27.
    Vinoski, S.: Restful web services development checklist. IEEE Internet Comput. 12(6), 94–96 (2008). doi: 10.1109/MIC.2008.130 Google Scholar
  28. 28.
    Vinoski, S.: Rpc and rest: Dilemma, disruption, and displacement. IEEE Internet Comput. 12(5), 92–95 (2008)CrossRefGoogle Scholar
  29. 29.
    Vinoski, S.: Serendipitous reuse. IEEE Internet Comput. 12(1), 84–87 (2008). doi: 10.1109/MIC.2008.20
  30. 30.
    Webber, J., Parastatidis, S., Robinson, I.: REST in Practice: Hypermedia and Systems Architecture. O’Reilly & Associates, Sebastopol (2010)Google Scholar
  31. 31.
    Wilde, E., Pautasso, C. (eds.): REST: From Research to Practice. Springer, Heidelberg (2011)Google Scholar
  32. 32.
    Zuzak, I., Schreier, S.: Arrested development: guidelines for designing REST frameworks. Internet Comput. 16(4), 26–35 (2012)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Faculty of InformaticsUniversity of LuganoLuganoSwitzerland

Personalised recommendations