Catálogo de padrões para o desenvolvimento de software como um serviço multi-tenant - Leite, Bruno Dias (2014)
Software as a Service (SaaS) represent a form of software distribution on demand and accessible via the Internet. The development of SaaS enables service users (tenants) to benefit from the low cost of deployment and maintenance. The Multi-Tenant (MT) architecture is often used in the development of SaaS, it allows the sharing of software and hardware resources, providing cost savings to the costumers and the service provider. A challenge that the SaaS developer has is to keep sharing the instance of the software in scenarios with tenants who have differing needs. In this project, to address the variability of tenants in SaaS MT were set some patterns, based on Software Product Lines techniques for customizing user interfaces, data, processes and permissions. A framework called FoSaaS (Framework of Software as a Service) has also been developed to support the use of patterns, providing support to developers in SaaS MT coding. In addition to allowing the customization of SaaS MT, experiments in this project indicated that patterns improve reuse, quality and productivity in developed SaaS MT. The applicability of the patterns was evidenced through real projects in developing commercial applications.