Scripting Language Editor with Sandbox for Business Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Business applications often face challenges in allowing third-party developers to create add-on components without requiring them to be familiar with the specific business application programming language, and existing solutions do not adequately prevent data access issues between different instances of scripting language editors.

Innovation Solution

A scripting language editor is provided that translates scripting language code into business application language code, using metadata from a backend system, and includes a sandbox environment to prevent unauthorized data access, allowing developers to create components without direct access to other users' data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If third-party developers use a scripting language editor to create add-on components, then development accessibility is improved, but data security risks increase due to potential unauthorized access to other users' data

Engineering Contradiction:
Improvedevelopment accessibilityVSAvoiddata security risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

A sandbox environment is introduced as an intermediary between the scripting language editor and the backend system. The sandbox acts as a mediator that receives scripting language code, translates it into the business application language, and executes it within isolated boundaries. This prevents direct access to other users' data while still enabling third-party developers to create functional add-on components, thus resolving the contradiction between development accessibility and data security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a translation mechanism is added to convert scripting language code to business application language, then developer productivity is improved, but system complexity increases

Engineering Contradiction:
Improvedeveloper productivityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The translation mechanism is implemented as an automated self-service component within the sandbox environment. When third-party developers write scripting language code, the system automatically translates it into the business application language without requiring manual intervention. This self-translating capability significantly improves developer productivity by eliminating the need for developers to learn and use the complex business application language directly, while the translation complexity is encapsulated within the sandbox rather than increasing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple instances of scripting language editor are connected to the backend system, then collaborative development is enabled, but data access control becomes more difficult

Engineering Contradiction:
Improvecollaborative development capabilityVSAvoiddata access control
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the data access environment by creating separate sandbox instances for each developer. Each sandbox instance is isolated from others, allowing multiple developers to work simultaneously on different components without direct access to each other's data. The sandbox environment provides individual data contexts for each developer while maintaining secure boundaries. This segmentation enables collaborative development through the shared backend system while preserving reliable data access control through isolation, resolving the contradiction between collaborative capability and data access security.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8959477B2Scripting language for business applications
Publication Date: 2015.02.17 SAP SE
  • US8959477B2 patent drawing
  • US8959477B2 patent drawing
  • US8959477B2 patent drawing

AI summary

The present disclosure involves systems, software, and computer implemented methods for providing a scripting language for business applications. One process includes operations for providing a scripting language editor for generating software components for a business application, the scripting language editor configured to receive scripting language input. A scripting language file saved by the scripting language editor is identified. Metadata associated with at least one of a business object or a data type of a platform of the business application is retrieved. A business application language file is generated based on the scripting language file and the retrieved metadata.