RESTful Service Architectures for Pervasive Networking Environments



Computing facilities are an essential part of the fabric of our society, and an ever-increasing number of computing devices is deployed within the environment in which we live. The vision of pervasive computing is becoming real. To exploit the opportunities offered by pervasiveness, we need to revisit the classic software development methods to meet new requirements: (1) pervasive applications should be able to dynamically configure themselves, also benefiting from third-party functionalities discovered at run time and (2) pervasive applications should be aware of, and resilient to, environmental changes. In this chapter we focus on the software architecture, with the goal of facilitating both the development and the run-time adaptation of pervasive applications. More specifically we investigate the adoption of the REST architectural style to deal with pervasive environment issues. Indeed, we believe that, although REST has been introduced by observing and analyzing the structure of the Internet, its field of applicability is not restricted to it. The chapter also illustrates a proof-of-concept example, and then discusses the advantages of choosing REST over other styles in pervasive environments.


Service Orient Architecture User Agent Domain Name System Architectural Style Uniform Resource Identifier 
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.



This research has been Funded by the European Commission, Programme IDEAS-ERC, Project 227077-SMScom (SMSCom 2008).


  1. Ben Mokhtar, S., Kaul, A., Georgantas, N., Issarny, V.: Efficient semantic service discovery in pervasive computing environments. Middleware 2006, pp. 240–259 (2006)Google Scholar
  2. Berners-Lee, T., Hendler, J., Lassila, O.: The Semantic Web. Scientific American (2001)Google Scholar
  3. Caporuscio, M., Funaro, M., Ghezzi, C.: Architectural issues of adaptive pervasive systems. In: G. Engels, C. Lewerentz, W. Schäfer, A. Schïurr, B. Westfechtel (eds.) Graph Transformations and Model Driven Enginering – Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday, Lecture Notes in Computer Science, vol. 5765, pp. 500–520. Springer (2010)Google Scholar
  4. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.): Software Engineering for Self-Adaptive Systems, Lecture Notes in Computer Science, vol. 5525. Springer, Berlin, Heidelberg, New York (2009)Google Scholar
  5. Edwards, W.K., Newman, M.W., Sedivy, J.Z., Smith, T.F.: Experiences with recombinant computing: Exploring ad hoc interoperability in evolving digital networks. ACM Trans. Comput.-Hum. Interact. 16(1), 1–44 (2009). DOI 1502800.1502803Google Scholar
  6. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: ICSE ’09, pp. 111–121. IEEE Computer Society, Washington, DC, USA (2009). DOI Scholar
  7. Erenkrantz, J.R., Gorlick, M., Suryanarayana, G., Taylor, R.N.: From representations to computations: the evolution of web architectures. In: ESEC-FSE ’07, pp. 255–264 (2007)Google Scholar
  8. Fielding, R.T.: REST: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)Google Scholar
  9. Huang, Y., Garcia-Molina, H.: Publish/subscribe in a mobile enviroment. In: Proceedings of the 2nd ACM International Workshop on Data Engineering for Wireless and Mobile Access, pp. 27–34 (2001)Google Scholar
  10. Khare, R., Taylor, R.N.: Extending the representational state transfer (rest) architectural style for decentralized systems. In: ICSE ’04, pp. 428–437. IEEE Computer Society, Washington, DC, USA (2004)Google Scholar
  11. Kramer, J., Magee, J.: The evolving philosophers problem: Dynamic change management. IEEE Tran. Soft. Eng. 16(11), 1293–1306 (1990). DOI 60317Google Scholar
  12. Network Working Group: Role of the Domain Name System (DNS) (2003). RFC3467Google Scholar
  13. Object Management Group: Unified Modeling Langiage Specification (2010). Version 2.3Google Scholar
  14. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: ICSE ’98, 1998.Google Scholar
  15. Papadimitriou, D.: Future internet – the cross-etp vision document. (2009). Version 1.0
  16. Richardson, L., Ruby, S.: Restful web services. O’Reilly (2007)Google Scholar
  17. Roman, G.C., Picco, G.P., Murphy, A.L.: Software engineering for mobility: a roadmap. In: FOSE ’00, pp. 241–258. ACM, New York, NY, USA (2000). DOI http://doi.acm. org/10.1145/336512.336567Google Scholar
  18. Romero, D., Rouvoy, R., Seinturier, L., Carton, P.: Service discovery in ubiquitous feedback control loops. In: DAIS, pp. 112–125 (2010)Google Scholar
  19. Saha, D., Mukherjee, A.: Pervasive computing: A paradigm for the 21st century. Computer 36(3), 25–31 (2003). DOI 2003.1185214Google Scholar
  20. SMSCom: Self Managing Situated Computing. (2008)
  21. Vandewoude, Y., Ebraert, P., Berbers, Y., D’Hondt, T.: Tranquility: A low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Softw. Eng. 33(12), 856–868 (2007). DOI Scholar
  22. Vinoski, S.: Demystifying restful data coupling. IEEE Internet Computing 12(2), 87–90 (2008)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Politecnico di MilanoMilanoItaly

Personalised recommendations