posted on 2024-07-09, 19:45authored byMohamed Almorsy, John Grundy, Amani S. Ibrahim
Software-as-a-service multi-tenancy helps service providers to cut cost, improve resource utilization, and reduce service customization and maintenance time as the tenants share the same service instance. However, existing large-scale business applications inherently do not support multi-tenancy. This hinders these applications' vendors from adopting the cloud model. Thus reengineering such applications to support multi-tenancy has become a key requirement. Reengineering such applications to support multi-tenancy is a complex and challenging task as it requires a deep understanding of the given application and almost all system modules need to be revisited. In this paper we introduce SMURF, Supporting Multi-tenancy Using Reengineering Aspects 'Re-Aspect' Framework, to help service providers reengineering their legacy applications to support multi-tenancy. SMURF is based on our new re-aspects concept where a given system modification to disable, modify, replace or inject code is encapsulated in a re-aspect. SMURF realizes given system modifications (captured as re-aspects) by automating both change impact analysis and change propagation processes. We analyze the SaaS multi-tenancy pattern, discuss the set of requirements to migrate a single-tenant application to support multi-tenancy, describe SMURF approach, architecture and implementation details, and experimental results of SMURF given a set of open source web applications.