Maturity Model for Liquid Web Architectures

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10360)

Abstract

Liquid Web applications adapt to the set of connected devices and flow seamlessly between them following the user attention. As opposed to traditional centralised architectures, in which data and logic of the application resides entirely on a Web server, Liquid software needs decentralised or distributed architectures in order to achieve seamless application mobility between clients. By decomposing Web application architectures into layers, following the Model View Controller design pattern, we define a maturity model for Web application architectures evolving from classical solid applications deployed on single devices, to fully liquid applications deployed across multiple Web-enabled devices. The maturity model defines different levels based on where the application layers are deployed and how they migrate or synchronize their state across multiple devices. The goal of the maturity model described in this paper is to understand, control and describe how Web applications following the liquid user experience paradigm are designed and also provide Web developers with a gradual adoption path to evolve existing Web applications.

Keywords

Maturity model Liquid web architecture Decentralised web Liquid software 

References

  1. 1.
    Abbott, M.L., Fisher, M.T.: The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise. Pearson Education (2009)Google Scholar
  2. 2.
    Badam, S.K., Elmqvist, N.: Polychrome: a cross-device framework for collaborative web visualization. In: Proceedings of the Ninth ACM International Conference on Interactive Tabletops and Surfaces, pp. 109–118. ACM (2014)Google Scholar
  3. 3.
    Bellucci, F., Ghiani, G., Paternò, F., Santoro, C.: Engineering Javascript state persistence of web applications migrating across multiple devices. In: Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 105–110. ACM (2011)Google Scholar
  4. 4.
    Berners-Lee, T., Fischetti, M., Foreword By-Dertouzos, M.L.: Weaving the Web: the Original Design and Ultimate Destiny of the World Wide Web by its Inventor. HarperInformation (2000)Google Scholar
  5. 5.
    Bila, N., Ronda, T., Mohomed, I., Truong, K.N., de Lara, E.: Pagetailor: reusable end-user customization for the mobile web. In: Proceedings of the 5th International Conference on Mobile Systems, Applications and Services, pp. 16–29. ACM (2007)Google Scholar
  6. 6.
    Brusilovsky, P., Maybury, M.T.: From adaptive hypermedia to the adaptive web. Commun. ACM 45(5), 30–35 (2002)CrossRefGoogle Scholar
  7. 7.
    Casteleyn, S., Garrig’os, I., Maz’on, J.N.: Ten years of rich internet applications: a systematic mapping study, and beyond. ACM Transactions on the Web (TWEB) 8(3), 18 (2014)Google Scholar
  8. 8.
    DB-Engines: DB-Engines ranking (2017). http://db-engines.com/en/ranking
  9. 9.
    Elmqvist, N.: Distributed user interfaces: state of the art. In: Distributed User Interfaces, pp. 1–12. Springer, London (2011)Google Scholar
  10. 10.
    Esenther, A.W.: Instant co-browsing: lightweight real-time collaborative web browsing. In: Proceedings of WWW (2002)Google Scholar
  11. 11.
    Frosini, L., Manca, M., Paternò, F.: A framework for the development of distributed interactive applications. In: Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 249–254. ACM (2013)Google Scholar
  12. 12.
    Gallidabino, A., Pautasso, C.: Deploying stateful web components on multiple devices with liquid.js for Polymer. In: Proceedings of CBSE, pp. 85–90. IEEE (2016)Google Scholar
  13. 13.
    Gallidabino, A., Pautasso, C., Ilvonen, V., Mikkonen, T., Systä, K., Voutilainen, J.P., Taivalsaari, A.: On the architecture of liquid software: technology alternatives and design space. In: Proceedings of WICSA, pp. 122–127. IEEE (2016)Google Scholar
  14. 14.
    Gallidabino, A., Pautasso, C., Ilvonen, V., Mikkonen, T., Systä, K., Voutilainen, J.P., Taivalsaari, A.: Architecting liquid software. J. Web Eng. (2017)Google Scholar
  15. 15.
    Ghiani, G., Paternò, F., Santoro, C.: On-demand cross-device interface components migration. In: Proceedings of the 12th International Conference on Human Computer Interaction with Mobile Devices and Services, pp. 299–308. ACM (2010)Google Scholar
  16. 16.
  17. 17.
    Hartman, J., Manber, U., Peterson, L., Proebsting, T.: Liquid software: a new paradigm for networked systems. Technical report 96–11. University of Arizona (1996)Google Scholar
  18. 18.
    Husmann, M., Marcacci Rossi, N., Norrie, M.C.: Usage analysis of cross-device web applications. In: Proceedings of the 5th ACM International Symposium on Pervasive Displays, pp. 212–219. ACM (2016)Google Scholar
  19. 19.
    Husmann, M., Norrie, M.C.: XD-MVC: Support for cross-device development. In: 1st International Workshop on Interacting with Multi-Device Ecologies in the Wild (Cross-Surface 2015), ETH Zürich, Switzerland, Zürich (2015)Google Scholar
  20. 20.
    Jazayeri, M.: Some trends in web application development. In: Future of Software Engineering, FOSE 2007, pp. 199–213. IEEE (2007)Google Scholar
  21. 21.
    Kovachev, D., Renzel, D., Nicolaescu, P., Klamma, R.: DireWolf - distributing and migrating user interfaces for widget-based web applications. In: Daniel, F., Dolog, P., Li, Q. (eds.) ICWE 2013. LNCS, vol. 7977, pp. 99–113. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39200-9_10 CrossRefGoogle Scholar
  22. 22.
    Krug, M., Wiedemann, F., Gaedke, M.: SmartComposition: a component-based approach for creating multi-screen mashups. In: Casteleyn, S., Rossi, G., Winckler, M. (eds.) ICWE 2014. LNCS, vol. 8541, pp. 236–253. Springer, Cham (2014). doi:10.1007/978-3-319-08245-5_14 Google Scholar
  23. 23.
    Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Operating Syst. Rev. 44(2), 35–40 (2010)CrossRefGoogle Scholar
  24. 24.
    Marcotte, E.: Responsive Web Design. Editions Eyrolles (2011)Google Scholar
  25. 25.
    Mikkonen, T., Systä, K., Pautasso, C.: Towards liquid web applications. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 134–143. Springer, Cham (2015). doi:10.1007/978-3-319-19890-3_10 CrossRefGoogle Scholar
  26. 26.
    Nebeling, M., Speicher, M., Norrie, M.C.: CrowdAdapt: enabling crowdsourced web page adaptation for individual viewing conditions and preferences. In: Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 23–32. ACM (2013)Google Scholar
  27. 27.
  28. 28.
  29. 29.
    Raposo, M., Delgado, J.: Empowering the web user with a browserver. In: Quintela Varajão, J.E., Cruz-Cunha, M.M., Putnik, G.D., Trigo, A. (eds.) CENTERIS 2010. CCIS, vol. 109, pp. 71–80. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16402-6_8 CrossRefGoogle Scholar
  30. 30.
    Santosa, S., Wigdor, D.: A field study of multi-device workflows in distributed workspaces. In: Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing, pp. 63–72. ACM (2013)Google Scholar
  31. 31.
    Schollmeier, R.: A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications. In: Proceedings of the First International Conference on Peer-to-Peer Computing, pp. 101–102 (2001)Google Scholar
  32. 32.
    Sivasubramanian, S., Pierre, G., Van Steen, M., Alonso, G.: Analysis of caching and replication strategies for web applications. IEEE Internet Comput. 11(1), 60–66 (2007)CrossRefGoogle Scholar
  33. 33.
    Taivalsaari, A., Mikkonen, T.: A roadmap to the programmable world: software challenges in the IoT era. IEEE Softw. 34(1), 72–80 (2017)CrossRefGoogle Scholar
  34. 34.
    Taivalsaari, A., Mikkonen, T., Systa, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: 2014 IEEE 38th Annual Computer Software and Applications Conference (COMPSAC), pp. 338–343. IEEE (2014)Google Scholar
  35. 35.
    Voutilainen, J.-P., Mikkonen, T., Systä, K.: Synchronizing application state using virtual DOM trees. In: Casteleyn, S., Dolog, P., Pautasso, C. (eds.) ICWE 2016. LNCS, vol. 9881, pp. 142–154. Springer, Cham (2016). doi:10.1007/978-3-319-46963-8_12 CrossRefGoogle Scholar
  36. 36.
    Wallis, M., Henskens, F., Hannaford, M.: A distributed content storage model for web applications. In: Proceedings of 2010 Second International Conference on Evolving Internet (INTERNET), pp. 98–106. IEEE (2010)Google Scholar
  37. 37.
    Web Bluetooth Community Group: Web bluetooth (2017), https://webbluetoothcg.github.io/web-bluetooth/
  38. 38.
    Yang, J., Wigdor, D.: Panelrama: enabling easy specification of cross-device web applications. In: Proceedings of the 32nd Annual ACM Conference on Human Factors in Computing Systems, pp. 2783–2792. ACM (2014)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Faculty of InformaticsUniversity of Lugano (USI)LuganoSwitzerland

Personalised recommendations