Cloud Sandbox for Enterprise Software Extensibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing enterprise software extensibility approaches lead to complex implementation projects, delayed adoption of innovations, and high costs due to hidden dependencies and lack of flexibility in software lifecycle management, particularly in cloud-based environments.

Innovation Solution

Implementing a sandbox-based development and testing system within a cloud environment that allows for the creation and modification of programming objects without affecting the productive system, using a combination of side-by-side and in-app extensibility methods, with strict API controls to ensure stability and flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom extensions are implemented directly in the productive system, then functionality can be extended, but system stability and reliability deteriorate due to hidden dependencies and potential conflicts with core systems

Engineering Contradiction:
ImproveextensibilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system is segmented into a productive system and a separate sandbox environment. Custom extensions are developed, tested, and validated in the sandbox before being deployed to the productive system. This segmentation isolates experimental modifications from the core productive system, preventing stability issues while maintaining extensibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sandbox acts as an intermediary layer between developers and the productive system. It provides a controlled environment where extensions can be modified and tested without directly affecting the productive system. The sandbox mediates the interaction between custom logic and the core enterprise suite, ensuring stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a sandbox environment is implemented for testing extensions, then system stability is improved, but implementation complexity increases due to the need for separate development and testing infrastructure

Engineering Contradiction:
Improvesystem stabilityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The sandbox environment is designed to replicate the productive system's architecture, data models, and interfaces. This universality allows the sandbox to serve multiple functions: development, testing, validation, and even training. The same enterprise suite technology stack is used in both environments, reducing the need for separate specialized infrastructure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The sandbox is created as a copy of the productive system environment, containing replicated data, configurations, and system structures. This copying approach allows realistic testing without requiring completely separate infrastructure, simplifying implementation while maintaining stability.

Inventive Principle:
Principle #26Copying

3Reliability

If strict API controls are implemented, then system reliability is improved, but ease of operation deteriorates due to restricted access and modified logic constraints

Engineering Contradiction:
Improvesystem stabilityVSAvoidease of modification
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements dynamic control where API access restrictions are applied contextually. In the sandbox environment, developers have flexible access to modify logic and test extensions. When extensions are deployed to the productive system, strict API controls are automatically applied to maintain reliability. This dynamic approach adapts access levels to the operational context.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different levels of access and control are applied to different parts of the system. The sandbox environment allows unrestricted modification and testing, while the productive system enforces strict API controls. This local differentiation of quality and access rights enables both ease of operation during development and reliability during production.

Inventive Principle:
Principle #3Local quality

4Adaptability or versatility

If extensions are decoupled from core systems, then adaptability is improved, but integration complexity increases due to the need for seamless connection between sandbox and productive system

Engineering Contradiction:
ImproveextensibilityVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The sandbox environment is nested within the overall enterprise suite architecture, maintaining consistent data models, interfaces, and integration patterns with the productive system. This nesting allows extensions developed in the sandbox to be seamlessly integrated into the productive system without complex adapter layers, as they share the same architectural framework.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10402308B2Sandboxing for custom logic
Publication Date: 2019.09.03 SAP SE
  • US10402308B2 patent drawing
  • US10402308B2 patent drawing
  • US10402308B2 patent drawing

AI summary

A method of extending the functionality of an enterprise software suite is disclosed. A request is received from a client system to modify a programming object on a productive system deployed in the cloud environment. A logical unit of programming objects is identified on the productive system, the logical unit including the programming object. Copies of each of the programming objects in the logical unit of programming objects are created in a sandbox of a combined development and test system deployed in the cloud environment, the copies including a copy of the programming object. The copy of the programming object is modified in the sandbox. A result of the modifying of the copy of the programming object in the sandbox is communicated for presentation in a client system without modifying the programming object on the productive system.