Abstract
Enterprise resource planning (ERP), customer relationship management (CRM), and other enterprise solutions are not used out of the box: Companies hire consultants to customize these software solutions that are deployed “on premises” to fit their specific business processes. When software vendors move to multitenant software-as-a-service (SaaS), they cannot onboard their customers who heavily customized their “on-premises” installation. In SaaS, all customers share the same source code and computing resources to ensure economies of scale. We present here a novel approach to support SaaS customization using microservices architectures: Each customization is encapsulated as a microservice that replaces the standard functionality. We evaluated the feasibility of our approach on two industrial studies of ERP and CRM service vendors and discussed different design choices. The results of our experiments show that our approach can achieve both the isolation required by multitenancy and the assimilation required by deep customization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
E. Evans, M. Fowler, Domain-driven Design: Tackling Complexity in the Heart of Software (Addison-Wesley, Boston, 2004). https://books.google.no/books?id=xColAAPGubgC
M. Feathers, Working Effectively with Legacy Code. (Martin, Robert C. Prentice Hall PTR, New Delhi, 2004). https://books.google.no/books?id=CQlRAAAAMAAJ
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series (Pearson Education, New Delhi, 1994). https://books.google.no/books?id=6oHuKQe3TjQC
C.J. Guo, W. Sun, Y. Huang, Z.H. Wang, B. Gao, A framework for native multi-tenancy application development and management, in The 9th IEEE International Conference on E-commerce Technology and the 4th IEEE International Conference on Enterprise Computing, E-commerce, and E-Services, 2007. CEC/EEE 2007 (IEEE, Piscataway, 2007), pp. 551–558
S. Hallsteinsen, M. Hinchey, S. Park, K. Schmid, Dynamic software product lines. Computer 41(4), 93–95 (2008)
S. Heyenrath, The .NET Standard/.NET Core version from the System Linq Dynamic functionality (2018). https://github.com/StefH/System.Linq.Dynamic.Core
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.M. Loingtier, J. Irwin, Aspect-oriented programming, in European Conference on Object-oriented Programming (Springer, Berlin, 1997), pp. 220–242
T. Kida, M. Takeda, A. Shinohara, M. Miyazaki, S. Arikawa, Multiple pattern matching in LZW compressed text, in Proceedings DCC’98 Data Compression Conference (IEEE, Piscataway, 1998), pp. 103–112
T. Kwok, A. Mohindra, Resource calculations with constraints, and placement of tenants and instances for multi-tenant SaaS applications, in International Conference on Service-Oriented Computing (Springer, Berlin, 2008), pp. 633–648
J. Lee, G. Kotonya, Combining service-orientation with product line engineering. IEEE Softw. 27(3), 35–41 (2010)
Microsoft: MusicStore test application that uses ASP.NET/EF Core (2018). https://github.com/aspnet/MusicStore
R. Mietzner, F. Leymann, Generation of BPEL customization processes for SaaS applications from variability descriptors, in IEEE International Conference on Services Computing, SCC’08, vol. 2 (IEEE, Piscataway, 2008), pp. 359–366
S. Newman, Building microservices: designing fine-grained systems. O’Reilly Media (2015). https://books.google.no/books?id=jjl4BgAAQBAJ
T. Nguyen, A. Colman, J. Han, Enabling the delivery of customizable web services, in 2012 IEEE 19th International Conference on Web Services (ICWS) (IEEE, Piscataway, 2012), pp. 138–145
P.H. Nguyen, Nguyen, H. Song, F. Chauvel, E. Levin, Towards customizing multi-tenant Cloud applications using non-intrusive microservices, in The 2nd International Conference on Microservices, Dortmund (2019)
M.T. Nygard, Release it!: Design and Deploy Production-Ready Software, 2nd edn. (Pragmatic Bookshelf, Raleigh, 2018)
Oracle, Application Development SuiteScript (2018). http://www.netsuite.com/portal/platform/developer/suitescript.shtml
T. Parsons, J. Murphy et al., Detecting performance antipatterns in component based enterprise systems. J. Object Technol. 7(3), 55–91 (2008)
K. Pohl, G. Böckle, F.J. van Der Linden, Software Product Line Engineering: Foundations, Principles and Techniques (Springer Science & Business Media, Berlin, 2005)
M.A. Rothenberger, M. Srite, An investigation of customization in ERP system implementations. IEEE Trans. Eng. Manag. 56(4), 663–676 (2009)
Salesforce, Apex Developer Guide (2018). https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/
H. Song, F. Chauvel, A. Solberg, B. Foyn, T. Yates, How to support customisation on SaaS: a grounded theory from customisation consultants, in Proceedings of the 39th International Conference on Software Engineering Companion (IEEE, Piscataway, 2017), pp. 247–249
C. Szyperski, D. Gruntz, S. Murer, Component Software: Beyond Object-oriented Programming. ACM Press Series. (ACM, New York, 2002). https://books.google.no/books?id=U896iwmtiagC
W.T. Tsai, X. Sun, SaaS multi-tenant application customization, in 2013 IEEE 7th International Symposium on Service Oriented System Engineering (SOSE) (2013), pp. 1–12
S. Walraven, E. Truyen, W. Joosen, A middleware layer for flexible and cost-efficient multi-tenant applications, in Proceedings of the 12th International Middleware Conference (International Federation for Information Processing, Amsterdam, 2011), pp. 360–379
S. Walraven, D. Van Landuyt, E. Truyen, K. Handekyn, W. Joosen, Efficient customization of multi-tenant software-as-a-service applications with service lines. J. Syst. Softw. 91, 48–62 (2014)
Acknowledgements
The research leading to these results has received funding from the Research Council of Norway under the grant agreement number 256594 (the Cirrus project). We want to thank our colleagues at Supper Office and Visma for the fruitful collaboration in the Cirrus project. This chapter is an extension of [1] presented at the 11th International Conference on the Quality of Information and Communications Technology (QUATIC 2018).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Song, H., Chauvel, F., Nguyen, P.H. (2020). Using Microservices to Customize Multi-tenant Software-as-a-Service. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-31646-4_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31645-7
Online ISBN: 978-3-030-31646-4
eBook Packages: Computer ScienceComputer Science (R0)