Workflow Engine Decouples User Interface From Business Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tight coupling of user interfaces with application business logic leads to complex change management procedures and increased application deployment times, as changes in business rules require modifications across multiple front-end systems.

Innovation Solution

A system decouples user interfaces from application business logic using an Application Programming Interface (API) with a screen descriptor meta-language (SDML), allowing front-end systems to focus on data presentation and leveraging business rules stored in a workflow engine, thereby isolating application logic from user interface development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If user interfaces are tightly coupled with application business logic, then the system can directly control and display business-specific screens, but changes in business rules require modifications across multiple front-end systems resulting in complicated change management procedures and increased deployment times

Engineering Contradiction:
Improveadaptability to business rule changesVSAvoidcomplexity of change management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a workflow engine as an intermediary layer between the front-end user interface systems and the back-end application business logic. The workflow engine receives requests from multiple front-end systems, dynamically determines the next screen based on application rules and user data, and returns the appropriate screen descriptors. This mediator absorbs the complexity of business rule changes, allowing front-end systems to remain unchanged while adapting to new business requirements through workflow engine updates alone.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts application business logic from front-end user interface systems and consolidates it into a separate workflow engine. By taking out the business rule determination logic from multiple front-end systems and centralizing it in the workflow engine, the patent enables independent modification of business rules without affecting front-end systems, thereby simplifying change management while maintaining adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If application business logic is distributed across multiple front-end systems, then each system can independently process its specific tasks, but changes to business rules create a ripple effect requiring updates to all front-end systems

Engineering Contradiction:
Improveindependent processing capabilityVSAvoiddeployment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges the scattered application business logic from multiple front-end systems into a single centralized workflow engine. This consolidation allows the system to maintain the independent processing capability of multiple front-end systems while eliminating the ripple effect of changes. When business rules need to be updated, only the workflow engine requires modification, significantly reducing deployment time while preserving the productivity benefits of multiple independent front-end systems.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If front-end user interfaces incorporate application business logic, then the system can dynamically determine and display appropriate screens based on business rules, but changes in business rules require modifications to all front-end systems

Engineering Contradiction:
Improvedynamic screen determinationVSAvoidease of system maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The workflow engine serves as an intermediary that handles dynamic screen determination based on application business rules. Front-end systems send requests to the workflow engine, which dynamically determines the appropriate next screen based on current user data and business rules, then returns the screen descriptor. This approach maintains the adaptability of dynamic screen determination while improving ease of maintenance, as business logic changes only require workflow engine updates rather than modifications to multiple front-end systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts application business logic from front-end user interface systems and places it in the workflow engine. This extraction preserves the dynamic screen determination capability while significantly improving ease of system maintenance. The workflow engine becomes the single point of modification for business rule changes, making the system easier to maintain while retaining the flexibility to dynamically adapt screens based on business rules.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9826027B2User interfaces generated by a workflow engine
Publication Date: 2017.11.21 BANK OF AMERICA CORP
  • US9826027B2 patent drawing
  • US9826027B2 patent drawing
  • US9826027B2 patent drawing

AI summary

According to one embodiment of the present disclosure, a first processor with a store of application rules and a second processor communicably coupled to the first processor. The second processor generates a request for a next user application screen. The request comprises a current application screen identifier and user data. The second processor transmits the request for the user application screen to the first processor. The first processor receives the request for the next user application screen and determines dynamically, based on the current application screen identifier, the user data, and the plurality of application rules, user interface contents of the next user application screen. The first processor formats a response describing the user interface contents of the next user application screen and transmits the response to the second processor. The second processor receives the response and renders the next user application screen.