2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE) (2016)
April 5, 2016 to April 8, 2016
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CBSE.2016.20
The architecture of classic productivity software are moving from a traditional desktop-based software to a client server architecture hosted in the Cloud. In this context, web browsers behave as application containers that allow users to access a variety of Cloud-based applications and services, such as IDEs, Word processors, Music Collection Managers, etc. As a result, a significant part of these software run in the browser and accesses remote services. A lesson learned from development framework used in distributed applications is the success of pluggable architecture pattern as a core architecture concept, i.e., a Software Architecture that promotes the use of Pluggable Module to dynamically plug. Following this trend, this paper discusses the main challenges to create a component-based platform supporting the development of dynamically adaptable single web page applications. This paper also presents an approach called KevoreeJS based on models@runtime to control browser as component platform which address some of these challenges. We validate this work by presenting the design of a dashboard for sensor based system and highlighting the capacity of KevoreeJS to dynamically choose the placement of code on the server or client side and how KevoreeJS can be used to dynamically install or remove running components.
Browsers, Computer architecture, History, Software, Servers, Adaptation models, Runtime,Single page application, Web Engineering, Dynamic component model
Maxime Tricoire, Olivier Barais, Manuel Leduc, Francois Fouquet, Gerson Sunye, Brice Morin, Johann Bourcier, Gregory Nain, Ludovic Mouline, "KevoreeJS: Enabling Dynamic Software Reconfigurations in the Browser", 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE), vol. 00, no. , pp. 49-58, 2016, doi:10.1109/CBSE.2016.20