Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB
IFIP/ACM International Conference on Distributed systems platforms
Dynamic and selective combination of extensions in component-based applications
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
The case for reflective middleware
Communications of the ACM - Adaptive middleware
JAC: A Flexible Solution for Aspect-Oriented Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
The design of a configurable and reconfigurable middleware platform
Distributed Computing
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Support for distributed adaptations in aspect-oriented middleware
Proceedings of the 7th international conference on Aspect-oriented software development
Aspect-oriented software development
Aspect-oriented software development
Software as a Service: Configuration and Customization Perspectives
SERVICES-2 '08 Proceedings of the 2008 IEEE Congress on Services Part II
True and transparent distributed composition of aspect-components
Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware
Dynamic planning and weaving of dependability concerns for self-adaptive ubiquitous services
Proceedings of the 2009 ACM symposium on Applied Computing
PESOS '09 Proceedings of the 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems
An architecture for next generation middleware
Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
Composing components and services using a planning-based adaptation middleware
SC'08 Proceedings of the 7th international conference on Software composition
Multi-tenant SOA Middleware for Cloud Computing
CLOUD '10 Proceedings of the 2010 IEEE 3rd International Conference on Cloud Computing
A Transparent Approach of Enabling SaaS Multi-tenancy in the Cloud
SERVICES '10 Proceedings of the 2010 6th World Congress on Services
Enabling multi-tenancy: An industrial experience report
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
Hi-index | 0.00 |
Application-level multi-tenancy is an architectural design principle for Software-as-a-Service applications to enable the hosting of multiple customers (or tenants) by a single application instance. Despite the operational cost and maintenance benefits of application-level multi-tenancy, the current middleware component models for multi-tenant application design are inflexible with respect to providing different software variations to different customers. In this paper we show that this limitation can be solved by a multi-tenancy support layer that combines dependency injection with middleware support for tenant data isolation. Dependency injection enables injecting different software variations on a per tenant basis, while dedicated middleware support facilitates the separation of data and configuration metadata between tenants. We implemented a prototype on top of Google App Engine and we evaluated by means of a case study that the improved flexibility of our approach has little impact on operational costs and upfront application engineering costs.