Scalable Workflow Processing via Segmented Decision Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current workflow processing technologies lack scalability and flexibility, making it difficult to handle complex workflows effectively.
Innovation Solution
A workflow processing system that includes servers with a workflow execution application and decision applications, which orchestrate workflow instances through queues and activities, allowing for flexible and scalable processing by using functional logic and load balancing to manage workflow complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If current workflow processing technologies are used, then workflow processing can be implemented, but scalability and flexibility are insufficient to handle complex workflows
Solution Approach 1:
The workflow processing system is segmented into distinct functional components: workflow definitions stored in data stores, workflow execution applications that orchestrate instances, decision applications that evaluate conditions, and activity applications that perform tasks. This segmentation allows each component to be independently developed, deployed, and scaled, thereby improving flexibility while managing complexity through modular architecture.
Solution Approach 2:
The workflow execution application serves multiple functions: it retrieves workflow definitions, instantiates workflow instances, coordinates decision applications, manages activity execution, and handles communication between components. This multi-functionality reduces the need for separate specialized systems, enhancing adaptability while consolidating complexity into a unified platform.
2Productivity
If workflow processing complexity increases, then more complex workflows can be handled, but scalability is limited
Solution Approach 1:
The system creates copies of workflow definitions from the data store to instantiate multiple workflow instances. Each instance is a copy that can be independently executed and managed. This copying mechanism enables scalable processing of multiple workflows simultaneously without requiring proportional increases in system complexity, as the same execution framework handles all instances.
Solution Approach 2:
The system manages complexity by parameterizing workflow definitions, which contain configurable parameters that define workflow behavior, conditions, and activities. By changing parameters in the workflow definition rather than restructuring the entire system, the platform can handle increasingly complex workflows while maintaining consistent system architecture, thereby improving processing capacity without proportionally increasing system complexity.
Data Source
AI summary
Disclosed are various embodiments for scalable workflow processing. In one embodiment, a plurality of decision applications each embody a functional expression of a corresponding one of a plurality of workflow definitions. Each of the plurality of decision applications is configured to be repeatedly instantiated. A workflow execution application is configured to orchestrate an execution of each one of a plurality of workflow instances. The workflow execution application is in data communication with each instance of a respective one of the plurality of decision applications. Each of the plurality of decision applications is configured to determine a next action to be taken for respective ones of the plurality of workflow instances.


