Placeholder Activity for Dynamic Workflow Version Binding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In workflow systems, when a single activity type cannot be loaded, it prevents the entire workflow from being loaded, requiring impractical modifications to multiple workflows and leading to old versions of activities being used by long-running processes, which restricts editing and private workflow activities.

Innovation Solution

Employing a placeholder activity that can be loaded in a workflow design application, enabling binding to an actual activity type at runtime, allowing dynamic use of the latest activity version without modifying the workflow definition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single activity type cannot be loaded, then the entire workflow cannot be loaded, but this prevents workflow designers from editing or correcting workflow objects

Engineering Contradiction:
Improveworkflow loading reliabilityVSAvoidworkflow editing capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The workflow is segmented into reference activities that contain only metadata (activity name, assembly name, version) rather than the full activity implementation. This allows the workflow definition to be loaded independently of the actual activity types, enabling workflow designers to edit and correct workflow objects even when activity types are unavailable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A reference activity serves as an intermediary between the workflow definition and the actual activity implementation. The reference activity contains minimal information needed to identify the activity and can be loaded without requiring the full activity type, thus bridging the gap between workflow loading and activity execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If workflow definition is modified to replace an activity, then the workflow can use a new activity version, but all workflows using that activity must be modified individually

Engineering Contradiction:
Improveactivity version updatingVSAvoidworkflow modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The workflow definition预先 (in advance) includes reference activities with activity metadata (name, assembly name, version) rather than hardcoding full activity implementations. This preliminary structuring allows centralized updates to activity references in the workflow definition, which automatically propagate to all workflows using those references, eliminating the need to modify each workflow individually.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If assemblies containing all activities are required for workflow editing, then workflows can be edited in design applications, but this restricts private workflow activities and forces all activities to be released at once

Engineering Contradiction:
Improveworkflow design application editingVSAvoidprivate activity support
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The essential activity information (name, assembly name, version) is extracted from the full activity implementation and stored in the reference activity within the workflow definition. This extraction allows workflows to be edited in design applications using only the reference metadata, while the actual activity implementations can remain private or be released independently without requiring all activities to be available simultaneously.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8667461B2Workflows or processes with dynamic reference activity
Publication Date: 2014.03.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8667461B2 patent drawing
  • US8667461B2 patent drawing
  • US8667461B2 patent drawing

AI summary

A placeholder activity is employed in a workflow or process definition, which may be loaded in a workflow design application even if the type of activity referred by the placeholder activity cannot be loaded. The “reference activity” enables a workflow or a process to bind to an actual activity type at runtime such that the workflow or process can dynamically use a latest version of the activity without a need to modify the workflow/process definition.