Unified Runtime Environment for JavaScript Scope Chain Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service-oriented architecture (SOA) middleware environments face inefficiencies in using process execution languages like BPEL, which are unfamiliar to modern developers and inefficient due to XML-based syntaxes, limiting flexibility and performance, especially in mobile applications that require un-typed variables and efficient data processing.

Innovation Solution

A system and method for reusing JavaScript code in a SOA middleware environment, incorporating a unified runtime environment with a process execution engine and embedded JavaScript engine, supporting object notation variables and JavaScript activities, allowing for efficient data manipulation and reuse of legacy JavaScript code through a JavaScript scope chain.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If process execution languages like BPEL with XML-based syntaxes are used in SOA middleware environments, then standardized framework for assembling enterprise components is provided, but development efficiency and flexibility deteriorate due to unfamiliar syntax and inefficiency for modern developers

Engineering Contradiction:
ImproveflexibilityVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent merges the process execution engine with a JavaScript engine in a unified runtime environment, allowing BPEL processes to leverage JavaScript's efficiency and modern developer familiarity while maintaining SOA standards, thus resolving the contradiction between standardized framework and development efficiency

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The JavaScript engine acts as an intermediary between the BPEL process execution language and the underlying SOA infrastructure, enabling modern developers to work with familiar JavaScript syntax while the system maintains compatibility with standardized enterprise components

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If typed XML-based variables are used in BPEL processes, then type safety is maintained, but performance and flexibility deteriorate due to rigid type constraints and inefficient data processing

Engineering Contradiction:
Improvetype safetyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the variable representation from typed XML structures to untyped JavaScript objects, fundamentally altering the data parameter representation to enable more efficient processing while maintaining sufficient type safety through runtime checks and the structured nature of JavaScript objects

Inventive Principle:
Principle #35Parameter changes

3Productivity

If legacy JavaScript code is not reused in BPEL processes, then process execution language consistency is maintained, but resource consumption increases and development efficiency decreases

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The unified runtime environment provides multi-functionality by supporting both BPEL process execution and JavaScript code execution within the same engine, enabling legacy JavaScript code to be reused across different contexts and reducing overall resource consumption through code sharing

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

Data Source

PatentUS10089084B2System and method for reusing JavaScript code available in a SOA middleware environment from a process defined by a process execution language
Publication Date: 2018.10.02 ORACLE INT CORP
  • US10089084B2 patent drawing
  • US10089084B2 patent drawing
  • US10089084B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for reusing JavaScript code in a service orchestration process in a SOA middleware environment. The system can include a unified runtime environment on an application server, wherein the unified runtime environment includes a process execution engine with an embedded JavaScript engine, and an executable process defined by a process execution language executing on the process execution engine. The system can further include a plurality of JavaScript libraries, each defining JavaScript variables with one of a SOA server scope, a component scope, or a process scope. These scopes and an execution scope of a JavaScript variable can form a JavaScript scope chain. When a JavaScript variable in an executable process is being resolved, the JavaScript engine can start in an execution scope of the JavaScript variable, and searches down the scope chain until the variable is resolved or the scope chain is exhausted.