JavaScript Activities in SOA Middleware Process Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current process execution languages in SOA middleware environments, such as BPEL, are inefficient due to their reliance on XML syntax, which is cumbersome and resource-intensive, and lack support for un-typed variables needed for modern mobile applications, as well as limited integration with JavaScript, a language preferred by many developers.

Innovation Solution

The system supports JavaScript activities and object notation variables within an executable process by using an extension namespace to define additional attributes and methods, enabling a process execution engine with an embedded JavaScript engine to interpret JavaScript artifacts and provide contextual information, states, and payloads, while allowing direct manipulation of variables using JavaScript and XPath functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If XML syntax is used in process execution language, then standardized framework for assembling enterprise components is provided, but development efficiency decreases and resource consumption increases

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

Solution Approach 1:

The patent introduces JavaScript as an intermediary language between the process execution engine and enterprise components. The JavaScript engine acts as a mediator that translates JavaScript code into process execution language operations, eliminating the need for developers to directly use XML syntax while maintaining compatibility with existing enterprise components and services.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If process execution language uses traditional syntax, then compatibility with existing SOA components is maintained, but support for un-typed variables and modern development practices is limited

Engineering Contradiction:
Improvesupport for un-typed variablesVSAvoidcompatibility with existing components
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the system into distinct layers: the process execution language layer maintains traditional XML-based syntax for compatibility, while the JavaScript layer provides modern un-typed variable support. The JavaScript engine translates between these layers, allowing developers to use flexible JavaScript variables while the underlying system maintains strict XML compatibility for existing SOA components.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If JavaScript engine is embedded in process execution engine, then JavaScript code execution capability is provided, but system complexity increases

Engineering Contradiction:
ImproveJavaScript code execution capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the JavaScript engine directly into the process execution engine, creating a unified system where both JavaScript and process execution language can coexist. This integration allows the system to execute JavaScript code natively within the process execution environment, eliminating the need for separate external JavaScript runtimes and reducing overall system complexity despite adding new functionality.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10223142B2System and method for supporting javascript activities in a process defined by a process execution language for execution in a SOA middleware environment
Publication Date: 2019.03.05 ORACLE INT CORP
  • US10223142B2 patent drawing
  • US10223142B2 patent drawing
  • US10223142B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for supporting JavaScript activities in an executable process defined by a process execution language. A JavaScript activity can be added to the executable process using attributes defined in an extension namespace to the process execution language. A process execution engine, with an embedded JavaScript engine, can be provided in a SOA middleware environment, to interpret JavaScript artifacts within the JavaScript activity and to provide contextual information, states and payloads of variables in the executable process. Within the JavaScript Activity, JavaScript code can be used to access a plurality of custom JavaScript objects; XPath functions and custom functions defined by the process execution language; and different types of variables in the executable process. JavaScript code can also be used to manipulate these variables using the XPath functions and custom functions accessible within the JavaScript activity.