Abstract:In the context of cloud computing, software is delivered as a service to the customer through the Internet, and such a software delivery mode is called SaaS (software as a service). Unlike the traditional software delivery mode, SaaS software is usually running on the server side, which provides services to multiple tenants at the same time. As a result, SaaS software should be designed to meet the individual needs of different tenants, they should be flexible enough to cater for the rapidly changing tenant's requirements, and the response to a talent's change should not affect other tenants. Using the adaptive service composition method based on variability management and its supporting platform, a reusable and customizable SaaS software development method for the context of cloud computing is proposed, and a supporting platform is developed to facilitate the adoption of the proposed method. The platform includes a SaaS mode supporting service composition engine and a remote customization tool. The proposed method first creates an abstract service composition model to meet the common requirements of different tenants, and then the supporting platform is used to interpret the model and derive multiple different process instances at runtime, which are concurrently executed and isolated. A case study is conducted to validate the feasibility of the proposed method and evaluate the performance of the supporting platform using a domain specific SaaS software. Experimental results show that the proposed method and platform present a viable alternative for multi-tenant and multi-instance delivery mode for SaaS software.