Modeling, deploying, and controlling volatile functionalities in web applications - Urbieta, Mario Matías (2012)
One of the main characteristics of most Web applications is their high dynamism. Once implemented and deployed for the ﬁrst time, new functionalities are added to meet new or changed requirements. Some of these functionalities may appear on the Web in response to an unexpected event, or phenomena (such as a natural calamity) after which they are removed. Some others are activated periodically, to coincide with a particular date, or period of the year (such as, return to school, Christmas holidays, etc.). Implementing such volatile functionalities usually impacts on a number of aspects of a Web application, including content, navigation, presentation, business processes, and user operations. Their cyclic activation/deactivation, which requires repetitive changes in the application code, may be the cause of waste of eﬀort and application quality deterioration, up to incorrect functioning. In this paper, we present an approach to decouple the design and implementation of volatile functionalities from that of stable ones, i.e. the core functionalities of the application. The approach is instantiated in the context of the Object-Oriented Hypermedia Design Method (OOHDM), but its principles and related techniques are generally applicable to any other Web engineering method. We show how our approach enables the deployment and removal of these functionalities in a cost-eﬀective and safe way and at runtime, thus providing business agility. A framework to classify volatile functionalities and a number of examples are also reported.