Abstract
Enterprises have increasingly adopted the Software-as-a-service (SaaS) model to facilitate on-demand delivery of software applications. A SaaS customer - tenant - may operate in diverse environments and may demand a different level of qualities from the application. A tenant may also operate in a dynamic environment where expectations from the application may change at run-time. To be able to operate in such environments, SaaS application requires support at both the architecture and implementation levels. This paper highlights the issues in building a SaaS that can accommodate such diverse and dynamic environments. We propose a methodological framework called Chameleonic-SaaS that abstracts out the responsibilities involved and provides guidelines to realize it. Our framework introduces variability in the architecture to manipulate the architecture-level decisions, especially tactics. Feasibility of the framework is demonstrated by an example of a MOOC application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abu Matar, M., Mizouni, R., Alzahmi, S.: Towards software product lines based cloud architectures. In: 2014 IEEE International Conference on Cloud Engineering (IC2E), pp. 117–126, March 2014
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional, Boston (2012)
Benlian, A., Hess, T.: Opportunities and risks of software-as-a-service: Findings from a survey of IT executives. Decis. Support Syst. 52(1), 232–246 (2011)
Bezemer, C.P., Zaidman, A.: Multi-tenant SaaS applications: maintenance dream or nightmare? In: Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE), IWPSE-EVOL 2010, pp. 88–92. ACM, New York (2010)
Cai, H., Wang, N., Zhou, M.J.: A transparent approach of enabling saas multi-tenancy in the cloud. In: 2010 6th World Congress on Services (SERVICES-1), pp. 40–47, July 2010
Frederick Chong, G.C., Wolter, R.: Multi-tenant data architecture, June 2006. http://msdn.microsoft.com/en-us/library/aa479086.aspx
Galster, M.: Architecting for variability in quality attributes of software systems. In: Proceedings of the 2015 European Conference on Software Architecture Workshops, ECSAW 2015, pp. 23:1–23:4. ACM, New York (2015)
Haugen, O., et al.: Common variability language (CVL). OMG Submission (2012)
Horcas, J.M., Pinto, M., Fuentes, L.: Injecting quality attributes into software architectures with the common variability language. In: Proceedings of the 17th International ACM Sigsoft Symposium on Component-based Software Engineering, CBSE 2014, pp. 35–44. ACM, New York (2014)
Jacob, B., Lanyon-Hogg, R., Nadgir, D.K., Yassin, A.F.: A practical guide to the to the IBM autonomic computing toolkit, April 2004. http://www.redbooks.ibm.com/redbooks/pdfs/sg246635.pdf
Koziolek, H.: The sposad architectural style for multi-tenant software applications. In: 2011 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 320–327, June 2011
La, H.J., Kim, S.D.: A systematic process for developing high quality SaaS cloud services. In: Jaatun, M.G., Zhao, G., Rong, C. (eds.) CloudCom 2009. LNCS, vol. 5931, pp. 278–289. Springer, Heidelberg (2009). doi:10.1007/978-3-642-10665-1_25
Metzger, A., Pohl, K.: Software product line engineering and variability management: achievements and challenges. In: Proceedings of the on Future of Software Engineering, FOSE 2014, pp. 70–84. ACM, New York (2014)
Mietzner, R., Unger, T., Titze, R., Leymann, F.: Combining different multi-tenancy patterns in service-oriented applications. In: Proceedings of the 13th IEEE International Conference on Enterprise Distributed Object Computing, EDOC 2009, pp. 108–117. IEEE Press, Piscataway (2009)
Ruehl, S.T., Andelfinger, U.: Applying software product lines to create customizable software-as-a-service applications. In: Proceedings of the 15th International Software Product Line Conference, SPLC 2011, vol. 2, pp. 16:1–16:4. ACM, New York (2011)
Scott, J., Kazman, R.: Realizing and refining architectural tactics: availability, Technical report, CMU/SEI-2009-TR-006 ESC-TR-2009-006 (2009)
Tekinerdogan, B., Ozturk, K., Dogru, A.: Modeling and reasoning about design alternatives of software as a service architectures. In: 2011 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 312–319, June 2011
Tool, P.: Puppet tool (retrieved, April 2016). http://puppetlabs.com/
Acknowledgment
The authors gratefully acknowledge the financial support from Tata Consultancy Services and MHRD, Govt. of India for this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Agrawal, A., Prabhakar, T.V. (2016). Towards a Framework for Building SaaS Applications Operating in Diverse and Dynamic Environments. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science(), vol 9839. Springer, Cham. https://doi.org/10.1007/978-3-319-48992-6_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-48992-6_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-48991-9
Online ISBN: 978-3-319-48992-6
eBook Packages: Computer ScienceComputer Science (R0)