JavaScript Activities in SOA Middleware Process Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Adaptability or versatility
If JavaScript engine is embedded in process execution engine, then JavaScript code execution capability is provided, but system complexity increases
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.
Data Source
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.


