Created by ncardozo at October 26, 2011.
UCL, VUB and KUL collaborated in the paper: Context-oriented Programming for Customizable SaaS Applications. Accepted to the cloud computing track at SAC'12
Software-as-a-Service (SaaS) applications are multi-tenant software applications that are delivered as highly configurable web services to individual customers, which are called tenants in this context. For reasons of complexity management and to lower maintenance cost, SaaS providers maintain and deploy a single version of the application code for all tenants. As a result, however, custom-made extensions for individual tenants cannot be efficiently integrated and managed. In this paper we show that by using a context-oriented programming (COP) model, tenant-specific software variations can be easily integrated into the single-version application code base. Moreover, the selection of which variations to execute can be configured on a per tenant basis. As evaluation, we implemented a customizable SaaS application by integrating the context-oriented programming model on top of Google App Engine, a cloud platform for building multi-tenant web applications.