Persistent Variables for Business Process State Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automating business processes is challenging due to difficulties in designing and testing software programs, which can disrupt actual users and fail to maintain consistency when tasks fail to execute.

Innovation Solution

The system initiates a business process instance with instance variables, records and retrieves values in a data repository, executes compensation tasks when activities fail, and separates publication and deployment processes, allowing for abstract role associations and persistent variables to maintain consistency and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If trial runs of business processes are performed for testing, then testing completeness is improved, but disruption to actual users increases

Engineering Contradiction:
Improvetesting completenessVSAvoiddisruption to actual users
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by performing trial runs in a test environment before deploying to production. Business processes are instantiated and executed in a controlled testing environment where disruptions do not affect actual users, yet comprehensive testing can be performed to ensure reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If compensation tasks are added to maintain consistency, then business process consistency is improved, but process complexity increases

Engineering Contradiction:
Improvebusiness process consistencyVSAvoidprocess complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback through compensation tasks that automatically execute when a task fails. The system monitors task execution status and triggers compensatory actions to maintain business process consistency, creating a closed-loop feedback mechanism that handles failures without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies self-service by automatically executing compensation tasks when failures occur, without requiring external intervention. The business process instance self-corrects by invoking predefined compensation logic, maintaining consistency while avoiding the complexity of manual error handling procedures.

Inventive Principle:
Principle #25Self-service

3Productivity

If persistent variables are used to carry values between activities, then efficiency of value transfer is improved, but data management complexity increases

Engineering Contradiction:
Improveefficiency of value transferVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by using persistent variables as a multi-functional mechanism that serves both local instance state management and cross-activity data transfer. The same persistent variable infrastructure supports multiple activities within a business process instance, eliminating the need for separate data transfer mechanisms and reducing overall data management complexity despite the enhanced efficiency.

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

Data Source

PatentUS8478602B2Executing business processes using persistent variables
Publication Date: 2013.07.02 ORACLE INT CORP
  • US8478602B2 patent drawing
  • US8478602B2 patent drawing
  • US8478602B2 patent drawing

AI summary

Executing a business process includes initiating an instance of a business process comprising activities, where the instance has an instance variable. A first activity of the business process is executed, and a value corresponding to the instance variable is received. The instance variable and the value is recorded in an object, and the object is stored in a data repository. A second activity of the business process is executed, and the object is retrieved from the data repository for use with the second activity.