Re-engineering data-centric information systems for the Cloud – A method and architectural patterns promoting multi-tenancy

Furda, Andrei, Fidge, Colin, Barros, Alistair, & Zimmermann, Olaf (2017) Re-engineering data-centric information systems for the Cloud – A method and architectural patterns promoting multi-tenancy. In Mistrík, Ivan, Bahsoon, Rami, Ali, Nour, Heisel, Maritta, & Maxim, Bruce (Eds.) Software Architecture for Big Data and the Cloud. Elsevier. (In Press)


Enterprise applications are data-centric information systems that are being increasingly deployed as Software-as-a-Service (SaaS) Cloud offerings. Such service-oriented enterprise applications allow multiple tenants (i.e., groups of service consumers) to share the computational and storage capabilities of a single Cloud application instance. Compared to a more traditional single-tenant application deployment model, a multi-tenant SaaS architecture lowers both deployment and maintenance costs. These cost reductions motivate architects to re-engineer existing enterprise applications to support multi-tenancy at the application level. However, in order to preserve data integrity and data confidentiality, the re-engineering process must guarantee that different tenants allocated to the same application instance cannot access one another’s data, including both persistent values stored in databases and transient values created during calculations. This chapter presents a method and a set of architectural patterns for systematically re-engineering data-sensitive enterprise applications into secure multi- tenant software services that can be deployed to public and private Cloud offerings seamlessly. Architectural refactoring is introduced as a novel re- engineering practice and the necessary steps in multi-tenant refactoring are described from planning to execution to validation (including testing and code reviews). The method and patterns are validated in a fictitious, but realistic and representative case study that was distilled from real-world requirements and application architectures.

Impact and interest:

Citation counts are sourced monthly from Scopus and Web of Science® citation databases.

These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science® generally from 1980 onwards.

Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.

ID Code: 99933
Item Type: Book Chapter
Keywords: Architectural Patterns, Architectural Refactoring, Re-engineering, Cloud Computing, Software Evolution and Maintenance, Security, Testing
Divisions: Current > Schools > School of Electrical Engineering & Computer Science
Current > Schools > School of Information Systems
Current > QUT Faculties and Divisions > Science & Engineering Faculty
Deposited On: 12 Oct 2016 06:17
Last Modified: 04 May 2017 05:06

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page