Multi-Tenant Software Inheritance via Master Application Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tenant systems face challenges in efficiently customizing server-based software applications to meet the diverse needs of different user groups, leading to increased development and deployment time and costs.
Innovation Solution
A multi-tenant architecture that allows for the creation of tenant applications derived from a master application, enabling customization and inheritance of functionalities, with the ability to selectively add or remove features based on user requirements, thereby reducing build and deployment time and costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multi-tenant systems customize server-based software applications for different user groups, then user requirements compliance is improved, but development and deployment time increases
Solution Approach 1:
The system segments the multi-tenant application into a master application and multiple tenant applications. The master application contains common functionalities that can be inherited by tenant applications, while tenant applications can have custom functionalities. This segmentation allows standardized inheritance of core features while enabling customization, thereby improving user requirements compliance without proportionally increasing development time.
Solution Approach 2:
The master application is developed in advance with all common functionalities that will be inherited by tenant applications. This preliminary action allows tenant applications to be created more quickly by inheriting pre-built features, reducing the overall development and deployment time while still meeting diverse user requirements.
2Adaptability or versatility
If multi-tenant systems customize server-based software applications for different user groups, then user requirements compliance is improved, but development costs increase
Solution Approach 1:
The master application serves multiple purposes by providing common functionalities that are inherited by multiple tenant applications. This universal base reduces redundant development across tenant applications, lowering overall development costs while still allowing each tenant application to be customized for specific user requirements through selective inheritance and addition of custom features.
3Productivity
If tenant applications inherit functionalities from master application, then build time is reduced, but system complexity increases
Solution Approach 1:
The system implements a nested structure where tenant applications are contained within the broader multi-tenant system and inherit from the master application. This nesting allows tenant applications to access and reuse functionalities from the master application without duplicating code, reducing build time. The hierarchical inheritance relationship manages complexity by organizing functionalities in a structured manner where common features are defined once in the master application and automatically available to all tenant applications.
Data Source
AI summary
In general, embodiments of the technology relate to a method for providing software functionalities to users of multi-tenant applications via inheritance. The method includes defining a functionality to be inheritable by a tenant application, in a master application, including selecting the functionality from a set of implemented functionalities, and defining a scope for the selected functionality, and publishing the master application. The method further includes, after publishing the master application, receiving a request to generate a tenant application. The request specifies the master application and the functionality to be inheritable by the tenant application. The method also includes generating the tenant application in response to the request. Further, the method includes publishing the tenant application, including the functionality, to a set of users; and receiving a request to access the published tenant application from a user of the first set of users.


