SaaS Platform Extension Hooks for Upgrade-Safe Customizations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-as-a-Service (SaaS) platforms face challenges in maintaining tenant customizations due to frequent upgrades, which can break existing integrations, forcing tenants to repeatedly reapply and reimplement customizations without control over upgrade cycles.

Innovation Solution

An upgrade-safe, extensible SaaS platform uses signaling and task control to invoke relevant mappers for API requests, allowing tenants to customize integrations via extension hooks independently of base type-mappers, with a business contract ensuring maintenance changes do not break customizations without renegotiation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If integration templates are used for each point of integration, then integration capability is provided, but customizations are broken when template versions are upgraded

Engineering Contradiction:
Improveintegration capabilityVSAvoidcustomization stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the integration template into two independent parts: base type-mappers (owned and updated by the SaaS provider) and extension hooks (owned and maintained by tenants). This segmentation allows each part to evolve independently, with the base template providing integration capability and extension hooks preserving tenant customizations across upgrades.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Extension hooks serve as an intermediary layer between the base integration template and tenant customizations. This intermediary allows the base template to be upgraded while maintaining compatibility with tenant-specific extensions, preventing customization breakage during SaaS upgrades.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If SaaS upgrades are rolled out without warning, then service updates are delivered promptly, but tenants have no control over upgrade timing

Engineering Contradiction:
Improveupgrade deployment speedVSAvoidtenant control over upgrades
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The system implements dynamic upgrade management where tenants can control the timing and pacing of upgrades. Tenants can choose to upgrade base type-mappers immediately, defer upgrades, or upgrade incrementally alongside their extension hooks, providing flexibility in upgrade scheduling while maintaining service updates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows tenants to perform preliminary actions before upgrades, such as reviewing upcoming changes, preparing extension hook modifications, and testing customizations in advance. This preliminary preparation time reduces disruption when upgrades are deployed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If tenants must reapply and reimplement customizations with each upgrade, then integration functionality is maintained, but time and resources are wasted

Engineering Contradiction:
Improveintegration functionalityVSAvoidtime for reimplementation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system recovers and preserves tenant customizations stored in extension hooks across SaaS upgrades. Instead of discarding customizations during upgrades, the system maintains them independently and automatically applies them after base template updates, eliminating repetitive reimplementation work.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

Tenant customizations are copied and stored in the extension hook layer, which is independent of the base integration template. This copying mechanism allows customizations to be preserved and reused across multiple upgrades without requiring reimplementation.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If base type-mappers are updated by the SaaS provider, then integration capabilities are improved, but tenant customizations may be broken

Engineering Contradiction:
Improveintegration capabilityVSAvoidcustomization breakage
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system segments ownership and update authority between base type-mappers (SaaS provider) and extension hooks (tenants). This segmentation allows the SaaS provider to improve integration capabilities in base type-mappers without affecting tenant customizations stored in extension hooks, preventing customization breakage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Extension hooks act as an intermediary protective layer that shields tenant customizations from changes in base type-mappers. When base type-mappers are updated, the extension hooks remain unchanged and continue to preserve tenant-specific logic, preventing harmful effects of base template updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240330088A1Upgrade-safe extensible software-as-a-service platform
Publication Date: 2024.10.03 ORACLE INT CORP
  • US20240330088A1 patent drawing
  • US20240330088A1 patent drawing
  • US20240330088A1 patent drawing

AI summary

Techniques for operating an upgrade-safe, extensible software-as-a-service (SaaS) platform are disclosed, including: receiving, by the SaaS platform, an application programming interface (API) request associated with a tenant of the SaaS platform; determining, by the SaaS platform, that the API request includes a tenant-specific type that extends a built-in type of the SaaS platform; responsive to determining that the API request includes the tenant-specific type: executing, by the SaaS platform, a mapper stack including at least (a) a first type-mapper associated with the built-in type of the SaaS platform and (b) a second type-mapper associated with the tenant-specific type; transmitting, by the SaaS platform, output of the mapper stack in response to the API request.