Abstract
In order to serve a lot of different customers in a SaaS environment, software vendors have to comply to a range of different varying requirements in their software product. Because of these varying requirements and the large number of customers, a variable multi-tenant solution is needed to achieve this goal. This paper gives a pragmatic approach to the concepts of multi-tenancy and variability in SaaS environments and proposes three architectural patterns that support variability in multi-tenant SaaS environments. The Customizable Data Views pattern, the Module Dependent Menu pattern and the Pre/Post Update Hooks pattern are explained and shown as good practices for applying variability in a multi-tenant SaaS environment. All patterns are based on case studies performed at two large software vendors in the Netherlands who are offering an ERP software product as a service.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ma, D.: The Business Model of ”Software-As-A-Service”. In: IEEE International Conference on Services Computing, SCC 2007, pp. 701–702. IEEE, Los Alamitos (2007)
Gold, N., Mohan, A., Knight, C., Munro, M.: Understanding service-oriented software. IEEE Software 21(2), 71–77 (2005)
Turner, M., Budgen, D., Brereton, P.: Turning software into a service. Computer 36(10), 38–44 (2003)
Dubey, A., Wagle, D.: Delivering software as a service. The McKinsey Quarterly 6, 1–12 (2007)
Bezemer, C., Zaidman, A.: Multi-tenant SaaS applications: maintenance dream or nightmare? In: Proceedings of the International Workshop on Principles of Software Evolution (IWPSE), pp. 88–92. ACM, New York (2010)
Bezemer, C., Zaidman, A., Platzbeecker, B., Hurkmans, T., Hart, A.: Enabling multi-tenancy: An industrial experience report. In: 26th IEEE Int. Conf. on Software Maintenance, ICSM (2010)
Guo, C., Sun, W., Huang, Y., Wang, Z., Gao, B.: A framework for native multi-tenancy application development and management. In: The 9th IEEE International Conference on E-Commerce Technology, pp. 551–558 (2007)
Kwok, T., Nguyen, T., Lam, L.: A software as a service with multi-tenancy support for an electronic contract management application. In: IEEE International Conference on Services Computing, SCC 2008, vol. 2, pp. 179–186. IEEE, Los Alamitos (2008)
Yin, R.: Case study research: Design and methods. Sage Publications, Inc., Thousand Oaks (2009)
Hevner, A.R., March, S., Park, J., Ram, S.: Design science in information systems research. Mis Quarterly 28(1), 75–105 (2004)
Tremblay, M.C., Hevner, A.R., Berndt, D.J.: The Use of Focus Groups in Design Science Research. Design Research in Information Systems 22, 121–143 (2010)
Cooper, H.: Synthesizing research: A guide for literature reviews (1998)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering 14(2), 131–164 (2009)
Schiller, O., Schiller, B., Brodt, A., Mitschang, B.: Native support of multi-tenancy in RDBMS for software as a service. In: Proceedings of the 14th International Conference on Extending Database Technology, pp. 117–128. ACM, New York (2011)
Pohl, K., Böckle, G., van der Linden, F.: Software product line engineering: foundations, principles, and techniques. Springer-Verlag New York Inc., Secaucus (2005)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)
Eckerson, W.: Three Tier Client/Server Architectures: Achieving Scalability, Performance, and Efficiency in Client/Server Applications. Open Information Systems 3(20), 46–50 (1995)
Krasner, G., Pope, S.: A description of the model-view-controller user interface paradigm in the smalltalk-80 system. Journal of Object Oriented Programming 1(3), 26–49 (1988)
Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S.: A pattern language. Oxford Univ. Pr., Oxford (1977)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software, vol. 206
Buschmann, F.: Pattern-Oriented Software Architecture: A System of Patterns, vol. 1. John Wiley & Sons, Chichester (1996)
Schmidt, D.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. Wiley, Chichester (2000)
Kircher, M., Jain, P.: Pattern-Oriented Software Architecture : Patterns for Resource Management, vol. 3 (2004)
Buschmann, F., Henney, K., Schmidt, D.: Pattern-Oriented Software Architecture: Pattern Language for Distributed Computing, vol. 4. Wiley, Chichester (2007)
Buschmann, F.: Pattern-Oriented Software Architecture : On patterns and Pattern Languages, vol. 5 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kabbedijk, J., Jansen, S. (2011). Variability in Multi-tenant Environments: Architectural Design Patterns from Industry. In: De Troyer, O., Bauzer Medeiros, C., Billen, R., Hallot, P., Simitsis, A., Van Mingroot, H. (eds) Advances in Conceptual Modeling. Recent Developments and New Directions. ER 2011. Lecture Notes in Computer Science, vol 6999. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24574-9_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-24574-9_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24573-2
Online ISBN: 978-3-642-24574-9
eBook Packages: Computer ScienceComputer Science (R0)