Context and Data Management for Multitenant Enterprise Applications in SaaS Environments: A Middleware Approach

  • Chun-Feng LiaoEmail author
  • Kung Chen
  • Jiu-Jye Chen
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 555)


Software as a service (SaaS) is a promising service model of cloud computing. Its key characteristic is the ability for clients to use a software application on a pay-as-you-go subscription basis. To be economically sustainable, a SaaS application must be multitenant. However, it is generally agreed that designing a multitenant enterprise application in SaaS environments is a non-trival task. In this work, we propose an integrated service middleware that addresses cross-cutting concerns when developing and deploying multitenant enterprise SaaS applications. To verify the feasibility of our approach, a sample SaaS application have been implemented on the proposed middleware. Also, two tenant-specific virtual applications are constructed to demonstrate multi-tenancy. Finally, a series of performance evaluations are conducted to assess the overheads of making an enterprise application multitenant enabled.


Multitenancy Schema-mapping Universal table SaaS 



This work is sponsored by Ministry of Science and Technology, Taiwan, under grant 103-2221-E-004-005, 103-2221-E-004-018, and 103-2218-E-004-001.


  1. 1.
    Mell, P., Grance, T.: The NIST Definition of Cloud Computing, 2nd edn, pp. 800–145. NIST Special Publication (2011)Google Scholar
  2. 2.
    Momm, C., Krebs, R.: A qualitative discussion of different approaches for implementing multi-tenant saas offerings. In: Proceedings of Software Engineering 2011, Workshop (2011)Google Scholar
  3. 3.
    Chong, F., Carroro, G.: Architecture strategies for catching the long tail (2011).
  4. 4.
    Koziolek, H.: The sposad architectural style for multi-tenant software applications. In: Proceedings of the 9th Working IEEE/IFIP Conferences on Software Architecture (2012)Google Scholar
  5. 5.
    Krebs, R., Momm, C., Konev, S.: Architectural concerns in multi-tenant saas applications. In: Proceedings of the International Conference on Cloud Computing and Service Science (CLOSER12) (2012)Google Scholar
  6. 6.
    Galchev, G., Fleischer, C., Luik, O., Kilian, F., Stanev, G.: Session handling based on shared session information, US Patent App. 11/322,596 (2007)Google Scholar
  7. 7.
    Fang, S., Tong, Q.: A comparison of multi-tenant data storage solutions for software-as-a-service. In: Proceedings of the 6th International Conference on Computer Science and Education (ICCSE 2011) (2011)Google Scholar
  8. 8.
    Aulbach, S., Grust, T., Jacobs, D., Kemper, A., Rittinger, J.: Multi-tenant databases for software as a service: schema-mapping techniques. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data (2008)Google Scholar
  9. 9.
    Weissman, C.D., Bobrowski, S.: The design of the multitenant internet application development platform. In: Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data (2009)Google Scholar
  10. 10.
    Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, vol. 2. Wiley, New York (1996)Google Scholar
  11. 11.
    Bezemer, C.P., Zaidman, A.: Challenges of reengineering into multi-tenant saas applications. Delft University of Technology, Technical report TUD-SERG-2010-012 (2010)Google Scholar
  12. 12.
    Cai, H., Wang, N., Zhou, M.J.: A transparent approach of enabling saas multi-tenancy in the cloud. In: Proceedings of IEEE World Congress on Services (2010)Google Scholar
  13. 13.
    Wang, H., Zheng, Z.: Software architecture driven configurability of multi-tenant SaaS application. In: Wang, F.L., Gong, Z., Luo, X., Lei, J. (eds.) Web Information Systems and Mining. LNCS, vol. 6318, pp. 418–424. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  14. 14.
    Truyen, E., Cardozo, N., Walraven, S., Vallejos, J., Bainomugisha, E., Gunther, S., D’Hondt, T., Joosen, W.: Context-oriented programming for customizable SaaS applications. In: Proceedings of ACM Symposium on Applied Computing (2012)Google Scholar
  15. 15.
    Pereira, J., Chiueh, T.C.: SQL Rewriting Engine and its Applications, Technical report. Stony Brook University (2007)Google Scholar
  16. 16.
    Li, C.: Transforming relational database into hbase: a case study. In: 2010 IEEE International Conference on Software Engineering and Service Sciences (ICSESS). IEEE (2010)Google Scholar
  17. 17.
    Azeez, A., Perera, S., Gamage, D., Linton, R., Siriwardana, P., Leelaratne, D., Weerawarana, S., Fremantle, P.: Multi-tenant soa middleware for cloud computing. In: 2010 IEEE 3rd International Conference on Cloud Computing (Cloud). IEEE (2010)Google Scholar
  18. 18.
    Strauch, S., Andrikopoulos, V., Sáez, S.G., Leymann, F., Muhler, D.: Enabling tenant-aware administration and management for jbi environments. In: 2012 5th IEEE International Conference on Service-Oriented Computing and Applications (SOCA). IEEE (2012)Google Scholar
  19. 19.
    Shimamura, H., Soejima, K., Kuroda, T., Nishimura, S.: Realization of the high-density SaaS infrastructure with a fine-grained multitenant framework. NEC Tech. J. 5, 132–136 (2010)Google Scholar
  20. 20.
    Joines, S., Willenborg, R., Hygn, K.: Performance Analysis for Java Web Sites. Addison-Wesley Professional (2003)Google Scholar
  21. 21.
    Liao, C.F., Chen, K., Chen, J.J.: Toward a tenant-aware query rewriting engine for universal table schema-mapping. In: 2012 IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom) (2012)Google Scholar
  22. 22.
    Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley (2003)Google Scholar
  23. 23.
    Aarniala, J.: Instrumenting java bytecode. In: Seminar Work for the Compilerscourse, Department of Computer Science, University of Helsinki, Finland (2005)Google Scholar
  24. 24.
    Russell, C.: Java Data Objects 2.0. JSR 243 Specification (2010)Google Scholar
  25. 25.
    Miller, F., Vandome, A., John, M.: DataNucleus. VDM Publishing, Saarbrucken (2010)Google Scholar
  26. 26.
    Hall, R., Pauls, K., McCulloch, S.: OSGi in Action: Creating Modular Applications in Java. Manning Publications Company, Greenwich (2011)Google Scholar
  27. 27.
    Halili, E.H.: Apache Jmeter: A Practical Beginner’s Guide to Automated Testing and Performance Measurement for your Websites. Packt Publishing, Birmingham (2008) Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Computer ScienceNational Chengchi UniversityTaipeiTaiwan

Personalised recommendations