Tenant-Specific SaaS Service Generation Through Modular Extension Points
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SaaS platforms face a trade-off between ease of access and rich, granular extensibility, lacking customization flexibility while maintaining multitenant access.
Innovation Solution
The proposed solution involves a computing system that identifies virtual partitions, determines consistency, and generates new virtual partitions by flattening graphs, allowing for customizable services by combining core modules with tenant-specific extension modules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a common codebase is used across all tenants in a SaaS platform, then ease of access and multitenant support are improved, but tenant-specific customization capability deteriorates
Solution Approach 1:
The codebase is segmented into a common platform portion and tenant-specific extension portions. The system divides the software architecture into shared core functionality that all tenants access and customizable extension points where each tenant can register their own logic, achieving both ease of access to the common platform and customization capability through modular segmentation.
2Ease of operation
If tenant-specific logic is registered through restricted extensibility, then ease of access is maintained, but customization flexibility deteriorates
Solution Approach 1:
The system provides a universal extensibility mechanism where the common platform codebase includes built-in capabilities to register and execute tenant-specific logic through standardized extension points. This universal approach allows any tenant to customize their experience while maintaining access to the common platform, eliminating the need for predetermined restricted extensibility.
3Adaptability or versatility
If a monolithic codebase is modified to achieve total customization, then customization flexibility is improved, but maintenance complexity and time consumption deteriorate
Solution Approach 1:
Instead of modifying a monolithic codebase, the system segments the code into a stable common platform portion and separate tenant-specific extension portions. This segmentation allows customization without affecting the core platform, significantly reducing maintenance complexity and time consumption while maintaining total customization capability.
Solution Approach 2:
Tenant-specific logic is extracted from the common codebase and registered as separate extension modules. This extraction allows the common platform to remain unchanged and maintainable while providing complete customization flexibility through the extracted and independently managed tenant-specific components.
4Adaptability or versatility
If isolated customized codebases are created for each tenant, then customization flexibility is improved, but maintenance complexity deteriorates due to proliferation of codebases
Solution Approach 1:
The system merges the common platform codebase with tenant-specific extension logic into a unified execution environment. Instead of maintaining separate isolated codebases for each tenant, the extensions are registered and integrated with the common platform, reducing maintenance complexity through consolidation while preserving customization flexibility.
Solution Approach 2:
A universal extension registration mechanism is provided that allows multiple tenants' customized logic to be registered and managed within the same common codebase framework. This universal approach eliminates the need for separate isolated codebases while maintaining the ability to customize for each tenant individually.
Data Source
AI summary
Technologies are provided for generation of an executable package that provides a tenant-specific service. Generation of the executable package can be based on customization assets and a core codebase. The core codebase can define core modules that provide a core service that is common across tenants. Each core module includes one or multiple extension points. The customizations can be defined within one or multiple virtual partitions, where a virtual partition includes a filesystem or another type of non-transitory storage structure. The VP can include multiple customization resources and customization components. The customizations can permit building extension modules that can be mapped onto respective extension points of core module(s) in order to customize the common core service and yield the tenant-specific service. The core codebase can be built to generate built core modules. The executable package can be formed by combining built extension modules and built core modules.


