OBLIVIOUS INTEGRATION OF VOLATILE FUNCTIONALITY IN WEB APPLICATION INTERFACES
Web applications are used to fast and continuous evolution. In response to new or changing requirements, additional code is developed and existing one is properly modified. When new requirements are temporary, i.e., when they specify some volatile functionality that is expected to be online only for some time and then removed, the additions and changes are destined to be later rolled back. This way to proceed, apart from being time and effort demanding, by involving the intrusive editing of the application's source code, brings along the risk of polluting it and introducing mistakes. In this paper, we present an approach to deal with volatile functionality in Web applications at the presentation level, based on oblivious composition of Web user interfaces. Our approach, which is inspired by well-known techniques for advanced separation of concerns such as aspect-oriented software design, allows to clearly separate the design of the application's core user interface from the one corresponding to more volatile functionality. Both core and volatile user interfaces are oblivious from each other and can be seamlessly composed using a transformation language. We show that in this way we simplify the application's evolution by preventing intrusive edition of the user interface code. Using some illustrative examples, we focus both on design and implementation issues, presenting an extension of the OOHDM design model that supports modular design of volatile functionality.
volatile functionality user interfaces separation of concerns oohdm web engineering