A framework for monitorable services implementation
David Cardoso, Augusto C. A. Sampaio · 2012
Since the very first graphical user interfaces, progress indicators have been widely used to provide feedback regarding the execution of long-running system tasks. In order to make progress feedback possible, the involved services must provide on-line monitoring capabilities. However, on larger concurrent and object-oriented implementations, as services execution involve multiple interactions between various components and abstraction layers, the crosscutting nature of the monitoring concerns can introduce some challenges to the software development --- such as code quality degradation, absence of standardized code patterns, and loss of development productivity. In this context, after analyzing some possible solutions to the monitoring problem, we propose a general framework to support the development of monitorable services, as well as some extended libraries that are used to illustrate a concrete implementation. We also evaluate the proposed solution through a real case study performed in a private software development organization.