Sharing with a Difference: Realizing Service-Based SaaS Applications with Runtime Sharing and Variation in Dynamic Software Product Lines

A single-instance multi-tenant (SIMT) SaaS application enables a SaaS provider to achieve economies of scale through runtime sharing. However, runtime sharing can make tenant-specific variations difficult to achieve in such an application. In this paper, we propose an approach to realizing SIMT SaaS applications, which is based on Dynamic Software Product Lines (DSPL) and supports runtime sharing and variation. With the collaboration among a subset of services as the unit of composition, the commonality among the tenants' requirements is realized in the DSPL architecture by sharing collaboration units, and their variability is realized by composing different collaboration units, all at runtime. In addition, we adopt a feature-based high-level representation of the commonality and variability between the tenants' requirements to facilitate the runtime creation and reconfiguration of their application variants. We compare our approach with two alternative approaches in terms of development effort and degree of sharing. We further quantify the runtime overhead incurred by our multi-tenancy support.

[1]  Wil M. P. van der Aalst Business Process Configuration in the Cloud: How to Support and Analyze Multi-tenant Processes? , 2011, 2011 IEEE Ninth European Conference on Web Services.

[2]  Luciano Baresi,et al.  Service-Oriented Dynamic Software Product Lines , 2012, Computer.

[3]  Yannis Smaragdakis,et al.  Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs , 2002, TSEM.

[4]  Jairus Hihn,et al.  Cost estimation of software intensive projects: a survey of current practices , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[5]  Jaejoon Lee,et al.  Combining Service-Orientation with Product Line Engineering , 2010, IEEE Software.

[6]  Iris Groher,et al.  Aspect-Oriented Model-Driven Software Product Line Engineering , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[7]  Klaus Schmid,et al.  Cloud-based software product lines , 2012, SPLC '12.

[8]  Srinath Perera,et al.  A Scalable Multi-Tenant Architecture for Business Process Executions , 2012, Int. J. Web Serv. Res..

[9]  Andreas Geppert,et al.  Dynamic workflow schema evolution based on workflow type versioning and workflow migration , 1999, Proceedings Fourth IFCIS International Conference on Cooperative Information Systems. CoopIS 99 (Cat. No.PR00384).

[10]  Malte Lochau,et al.  Dynamic configuration management of cloud-based applications , 2012, SPLC '12.

[11]  Ralph Mietzner A method and implementation to define and provision variable composite applications, and its usage in cloud computing , 2010 .

[12]  Marco Sinnema,et al.  VxBPEL: Supporting variability for Web services in BPEL , 2009, Inf. Softw. Technol..

[13]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[14]  Sven Apel,et al.  Granularity in software product lines , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[15]  Jun Han,et al.  Modeling and Managing Variability in Process-Based Service Compositions , 2011, ICSOC.

[16]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[17]  Paulo F. Pires,et al.  Exploiting software product lines to develop cloud computing applications , 2012, SPLC '12.

[18]  Jeffrey M. Voas,et al.  What's in a Name? Distinguishing between SaaS and SOA , 2008, IT Professional.

[19]  Andreas Rausch,et al.  Toward Realization of Deployment Variability for Software-as-a-Service Applications , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[20]  Frank Leymann,et al.  Flexible Process-Based Applications in Hybrid Clouds , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[21]  Sven Apel,et al.  Research challenges in the tension between features and services , 2008, SDSOA '08.

[22]  Jun Han,et al.  Using role-based coordination to achieve software adaptability , 2007, Sci. Comput. Program..

[23]  Wouter Joosen,et al.  A Middleware Layer for Flexible and Cost-Efficient Multi-tenant Applications , 2011, Middleware.

[24]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[25]  Bikram Sengupta,et al.  Tenant Onboarding in Evolving Multi-tenant Software-as-a-Service Systems , 2012, 2012 IEEE 19th International Conference on Web Services.

[26]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[27]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[28]  Sooyong Park,et al.  Building Dynamic Software Product Lines , 2012, Computer.

[29]  Alan Colman,et al.  Orchestration as Organisation , 2015 .