Architecture refactoring can be thought of as a process of changing the architecture of an existing application without altering the functional behavior. It is to improve the operational and developmental quality attributes such as performance, stability, complexity and maintainability. Due to changing business expectations, as well as runtime environments, architecture refactoring may need to be done incrementally, over multiple software release cycles. In this industry experience report we present an architectural refactoring of a mission critical integration application, after it was originally implemented. We discuss the drivers behind the refactoring and the approach. Initial results from the refactoring show significant improvement of stability and throughput of the system. We also present recommendations on architectural refactoring, and discuss the importance of key performance indicators that drive architecture refactoring.
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=1953365.