Advertisement

Enabling Legacy Applications for Multi-tenancy Without Reengineering

  • Uwe HohensteinEmail author
  • Preeti Koka
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 743)

Abstract

Multi-tenancy is an architectural style to share resources amongst several tenants. It is an important facet of Cloud Computing and often considered a key element to make Software-as-a-Service (SaaS) profitable. Indeed, SaaS providers adopt multi-tenancy to optimize resource usage and to save operational costs. While literature often discusses how to develop new, green-field software with multi-tenancy, this paper focuses on adding multi-tenancy to existing, brown-field software. This is particularly relevant in the context of Cloud migration where legacy software should be moved into the Cloud. The major contribution of this paper is to present an approach to leave the application’s source code untouched, i.e., to add some new components in order to enable the application for multi-tenancy. To this end, we apply the aspect-oriented language AspectJ in an industrial case study to evaluate what can be achieved with such an approach as well as to enumerate the benefits and drawbacks in detail. In a nutshell, the approach is appropriate to handle REST applications and/or backend services. The following important facets of multi-tenancy can be achieved: Tenant management; tenant-specific authentication and data isolation among multiple tenants for various database servers and strategies; tenant-specific customization by modifying existing behavior, particularly, removing functionality but also to introduce new functionality; and as a by-product, to monitor all tenants’ activities as a prerequisite for a tenant-specific billing.

Keywords

Multi-tenancy Cloud migration Aspect-orientation AspectJ Industrial application Case study 

References

  1. 1.
    Andrikopoulos, V., Binz, T., Leymann, F., Strauch, S.: How to adapt applications for the Cloud environment - Challenges and solutions in migrating applications to the cloud. Computing 95(6), 493–535 (2013)CrossRefGoogle Scholar
  2. 2.
    Bezemer, C., Zaidman, A. Platzbeecke, B. Hurkmans, T., Hart, A.: Enabling multitenancy: an industrial experience report. In: Technical Report of Delft University of Technology, TUD-SERG-2010-030 (2010)Google Scholar
  3. 3.
    Bezemer, C., Zaidman, A.: Challenges of reengineering into multitenant SaaS applications. In: Technical Report of Delft University of Technology, TUD-SERG-2010-012 (2010)Google Scholar
  4. 4.
    Binz, T., Leymann, F., Schumm, D.: CMotion: a framework for migration of applications into and between clouds. In: SOCA 2011, pp. 1–4 (2011)Google Scholar
  5. 5.
    Chong, F., Carraro, G.: Architecture strategies for catching the long tail (2006). https://msdn.microsoft.com/en-us/library/aa479069.aspx. Accessed Nov 2016
  6. 6.
    Chong, F., Carraro, G., Wolter, R.: Multi-tenant data architecture (2006). http://msdn.microsoft.com/en-us/library/aa479086.aspx. Accessed Nov 2016
  7. 7.
    Elrad, T., Filman, R., Bader, A. (eds.): Theme section on aspect-oriented programming. CACM 44(10) (2001)Google Scholar
  8. 8.
    Fehling, C., Leymann, F., Mietzner, R.: A framework for optimized distribution of tenants in cloud applications. In: IEEE 3rd International Conference on Cloud Computing (CLOUD), pp. 252–259 (2010)Google Scholar
  9. 9.
    Guo, C., Sun, W., Huang, Y., Wang, Z., Gao, B.: A framework for native multi-tenancy application development and management. In: CEC/EEE 2007: International Conference on Enterprise Computing, E-Commerce Technology and International Conference on Enterprise Computing, E-Commerce and E-Services, pp. 551–558 (2007)Google Scholar
  10. 10.
    Hohenstein, U., Koka, P.: An approach to add multi-tenancy to existing applications. In: ICSOFT 2016, pp. 39–49 (2016)Google Scholar
  11. 11.
    Khajeh-Hosseini, A., Greenwood, D., Smith, J., Sommerville, I.: The cloud adoption toolkit: supporting cloud adoption decisions in the enterprise. Softw. Pract. Exp. 42(4), 447–465 (2012)CrossRefGoogle Scholar
  12. 12.
    Kiczales, G., et al.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, pp. 230–242 (2007)Google Scholar
  13. 13.
    Kong, L., Li, Q., Zheng, X.: A novel model supporting customization sharing in SaaS applications. In: International Conference on Multimedia Information Networking and Security (MINES), pp. 225–229 (2010)Google Scholar
  14. 14.
    Krebs, R., Momm, C., Kounev, S.: Architectural concerns in multi-tenant SaaS applications. In: CLOSER 2012, pp. 426–431 (2012)Google Scholar
  15. 15.
    Kwok, T., Nguyen, T., Lam, L.: A software as a service with multi-tenancy support for an electronic contract management application. In: International Conference on Services Computing (SCC), pp. 179–186 (2008)Google Scholar
  16. 16.
    Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming, 2nd edn. Manning, Greenwich (2009)Google Scholar
  17. 17.
    Lee, W., Choi, M.: A multi-tenant web application framework for SaaS. In: 2012 IEEE 5th International Conference on Cloud Computing (CLOUD), pp. 970–971 (2012)Google Scholar
  18. 18.
    Lee, J., Kang, S., Hur, S.: Web-based development framework for customizing java-based business logic of SaaS application. In: 14th International Conference on Advanced Communication Technology (ICACT), pp. 1310–1313 (2012)Google Scholar
  19. 19.
    Li, Q., Liu, S., Pan, Y.: A cooperative construction approach for SaaS applications. In: 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD), pp. 398–403 (2012)Google Scholar
  20. 20.
    Lizhen, C., Haiyang, W., Lin, J., Pu, H.: Customization modeling based on metagraph for multi-tenant applications. In: 5th International Conference on Pervasive Computing and Applications (ICPCA), pp. 255–260 (2010)Google Scholar
  21. 21.
    Mell, P., Grance, T.: The NIST definition of cloud computing. National Institute of Standards and Technology, September 2011. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf. Accessed Nov 2016
  22. 22.
    Moens, H., Truyen, E., Walraven, S., Joosen, W., Dhoedt, B., De Turck, F.: Developing and managing customizable software as a service using feature model conversion. In: IEEE Network Operations and Management Symposium (NOMS), pp. 1295–1302 (2012)Google Scholar
  23. 23.
    Momm, C., Krebs, R.: A qualitative discussion of different approaches for implementing multi-tenant SaaS offerings. In: Proceeding Software Engineering 2011, pp. 139–150 (2011)Google Scholar
  24. 24.
    Orue-Echevarria, L., et al.: Cloudifying applications with ARTIST: a global modernization approach to move applications onto the cloud. In: CLOSER 2014, pp. 737–745 (2014)Google Scholar
  25. 25.
    Park, J., Moon, M., Yeom, K.: Variability modeling to develop flexible service-oriented applications. J. Syst. Sci. Syst. Eng. 20(2), 193–216 (2011)CrossRefGoogle Scholar
  26. 26.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)CrossRefGoogle Scholar
  27. 27.
    Ruiz-Agundez, I., Penya, Y., Bringas, P.: A flexible accounting model for cloud computing. In: SRII 2011, pp. 277–284 (2011)Google Scholar
  28. 28.
    Schwanengel, A., Hohenstein, U.: Challenges with tenant-specific cost determination in multi-tenant applications. In: 4th International Conference on Cloud Computing, Grids and Virtualization 2013, pp. 36–42 (2013)Google Scholar
  29. 29.
    Shahin, A., Samir, A., Khamis, A.: An aspect-oriented approach for SaaS application customization. In: 48th Conference on Statistics, Computer Science and Operations Research 2013, Cairo University, Egypt, pp. 1–15 (2013)Google Scholar
  30. 30.
    Tsai, W., Shao, Q., Li, W.: OIC: ontology-based intelligent customization framework for SaaS. In: IEEE International Conference on Service-Oriented Computing and Applications (SOCA), pp. 1–8 (2010)Google Scholar
  31. 31.
    Tsai, W., Sun, X.: SaaS multi-tenant application customization. In: IEEE 7th International Symposium on Service Oriented System Engineering (SOSE), pp. 1–12 (2013)Google Scholar
  32. 32.
    Walraven, S., Truyen, E., Joosen, W.: A middleware layer for flexible and cost-efficient multi-tenant applications. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 370–389. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25821-3_19CrossRefGoogle Scholar
  33. 33.
    Wang Z. et al.: A study and performance evaluation of the multi-tenant data tier design pattern for service oriented computing. In: IEEE International Conference on eBusiness Engineering, (ICEBE), pp. 94–101 (2008)Google Scholar
  34. 34.
    Wang, H., Zheng, Z.: Software architecture driven configurability of multi-tenant SaaS application. In: Wang, F.L., Gong, Z., Luo, X., Lei, J. (eds.) WISM 2010. LNCS, vol. 6318, pp. 418–424. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16515-3_52CrossRefGoogle Scholar
  35. 35.
    Zhou, X., Yi, L., Liu, Y.: A collaborative requirement elicitation technique for SaaS applications. In: 2011 IEEE International Conference on Service Operations, Logistics, and Informatics (SOLI), pp. 83–88 (2011)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Siemens AG, Corporate TechnologyMunichGermany

Personalised recommendations