JSON Variable Support in SOA Middleware via REST Partner Links

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current process execution languages in SOA middleware environments, such as BPEL, rely heavily on XML, which is inefficient for data storage and processing due to its human-readable format and structural requirements, making it costly for operations like data manipulation and service invocations, and lacks support for un-typed variables needed for modern applications like mobile apps.

Innovation Solution

The system supports object notation (JSON) variables by defining additional methods and attributes within an extension namespace, enabling direct receipt of JSON payloads via REST partner links and allowing manipulation using JavaScript, eliminating the need for XML's structural constraints and type validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If XML is used for data storage and processing in process execution language, then structural integrity and type validation are maintained, but processing efficiency and data manipulation performance deteriorate

Engineering Contradiction:
Improvestructural integrityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the data representation parameter from XML to JSON, allowing the system to maintain structural integrity through JSON schema validation while achieving better processing efficiency. JSON's lighter syntax and more flexible structure enable faster data manipulation compared to XML's verbose format.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent substitutes the XML parsing and validation mechanism with JSON parsing and validation mechanism. This replacement enables more efficient data processing while maintaining reliability through JSON schema validation, resolving the contradiction between structural integrity and processing efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If XML syntax is used in process execution language, then type validation and structural requirements are enforced, but developer familiarity and ease of operation decrease

Engineering Contradiction:
Improvetype validationVSAvoiddeveloper familiarity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent changes the syntax parameter from XML to JSON, which is more familiar to modern developers. JSON's intuitive key-value structure and lack of mandatory closing tags make it easier to operate while maintaining type validation through JSON schema, resolving the contradiction between reliability and ease of operation.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If XML-based variables are used, then structured data representation is maintained, but flexibility for un-typed variables and modern applications is lost

Engineering Contradiction:
Improvestructured data representationVSAvoidflexibility for un-typed variables
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent changes the data type parameter from strongly-typed XML variables to flexible JSON variables. JSON's inherent flexibility allows un-typed variables while maintaining structured data representation through JSON schema validation, enabling adaptability for modern applications like mobile apps.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the variable system universal by supporting both typed and un-typed variables through JSON. The JSON-based variable system can accommodate various data types and structures, providing multi-functionality that XML cannot achieve, thus resolving the contradiction between stability and adaptability.

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

Data Source

PatentUS10268496B2System and method for supporting object notation variables in a process defined by a process execution language for execution in a SOA middleware environment
Publication Date: 2019.04.23 ORACLE INT CORP
  • US10268496B2 patent drawing
  • US10268496B2 patent drawing
  • US10268496B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for supporting object notation (e.g., JavaScript Object Notation (JSON)) variables in a process defined by a process execution language for execution in a SOA middleware environment. An extension namespace can define additional methods and attributes to enable support for object notation variables in the process. With the support for object notation variables, the process can be defined to include a representational state transfer (REST) partner link, for directly receiving object notation payloads from an external service into an object notation variable in the process, where the object notation variable can be accessed and manipulated using JavaScript.