A Framework for Monitorable Services Implementation - CARDOSO, David Menezes (2012)
Since the very first graphical user interfaces, progress indicators have been widely used to provide feedback regarding the execution of a system long-running tasks. In fact, practical experience and formal experiments suggest that such indicators are an important user interface tool, as they enhance the attractiveness and effectiveness of the programs that incorporate them. However, in order to make progress feedback possible, the system services involved must provide on-line monitoring capabilities. As the software systems become increasingly larger and more complex — often involving complex interactions between various different components and abstraction layers —, the crosscutting nature of monitoring concerns can introduce several inherent challenges to the software development: (1) code quality degradation with respect to tangling and scattering; (2) costly software evolution and maintenance difficulties; (3) absence of specific development patterns and regular standardized process guidance; (4) loss of development productivity; and (5) inconsistent monitoring results. In this context, this work provides an analysis of monitoring requirements, possible approaches towards its implementation along with an analysis of the main benefits and weaknesses involved. Furthermore, it is proposed and evaluated a solution to aid the software development by overcoming the monitoring-related inherent challenges, rather by mitigating or completely eliminating the problems. The solution consists of a framework, extended libraries, and generic software process guidelines regarding the monitoring requirements, with focus on the Rational Unified Process (RUP), for exemplification purpose, but not limited to it.