Databinding Constructs for Workflow Interface Data Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing process-oriented applications face challenges in efficiently exchanging data between workflow and user interface layers, particularly in managing user input events and resuming workflow instances, often requiring custom code and lacking a standardized approach for data transfer.

Innovation Solution

The use of databinding constructs for exchanging data between workflow and user interface layers, employing read-only and read/write constructs to transfer data from workflow to user interface and vice versa, allowing for seamless population of user interfaces and continuation of workflow processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If custom code is used for data transfer between workflow and user interface layers, then data exchange can be achieved, but the complexity of the system increases and standardization is lost

Engineering Contradiction:
Improveease of implementationVSAvoidsystem complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent introduces databinding constructs as intermediary components that mediate data transfer between workflow and user interface layers. These constructs serve as standardized intermediaries that replace custom code, reducing system complexity while maintaining data exchange functionality. The databinding constructs act as a formal interface layer that standardizes the data transfer protocol.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The databinding constructs are designed as universal components that can handle multiple types of data transfers between workflow and user interface layers. A single databinding construct framework supports various data exchange scenarios (one-way, two-way, initialization, updates) without requiring separate custom code for each case, thereby reducing overall system complexity.

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

2Adaptability or versatility

If databinding constructs are used for data exchange, then standardization is improved and custom code is reduced, but the system requires a formal framework that increases initial setup complexity

Engineering Contradiction:
ImprovestandardizationVSAvoidframework complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The databinding framework is segmented into distinct construct types (one-way databinding, two-way databinding, initialization databinding, update databinding) that can be independently selected and applied. This segmentation allows the system to use only the necessary construct types for each specific data transfer scenario, reducing the effective complexity while maintaining standardization benefits.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If workflow execution is suspended for user input, then user interaction is enabled, but the workflow processing time increases

Engineering Contradiction:
Improveuser interaction capabilityVSAvoidworkflow processing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-defining databinding constructs and their associated data transfer rules before workflow execution. When user interaction is needed, the suspended workflow can quickly resume and apply the pre-configured databinding logic, reducing the time penalty of suspension. The databinding constructs are prepared in advance to enable rapid data transfer upon workflow resumption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7606824B2Databinding workflow data to a user interface layer
Publication Date: 2009.10.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7606824B2 patent drawing
  • US7606824B2 patent drawing
  • US7606824B2 patent drawing

AI summary

In a workflow system data is exchanged using databinding constructs between the workflow and user interface layer. During an execution of a workflow a user interface instance is activated in anticipation of a user input event. The workflow is suspended and data for populating the user interface instance is provided to the user interface layer using a databinding construct from the workflow. Upon receiving user input, another instance of the workflow is loaded and data associated with the user input provided from the user interface to the workflow employing a databinding construct such that the other instance of the workflow is executed with the data associated with the user input.