Workflow Engine

Some logic is so simple that it can be written within a Workflow – action or time-based – or perhaps just a simple class file. But the desire is to have this logic as part of a Chain so that it can be run in sequence with other engines.

The Workflow Engine allows you to identify a Workflow or Class File (with an Execute method) and will create a Grid Task and that Grid Task will call the Workflow or the Class’s Execute method. The workflow or class will execute, if no error the task will complete successfully, and the Chain may continue.

The Workflow Engine is limited to not being able to accept parameters.

Action

NEO supports two types of actions. The most desirable to automate was the Time-Based Workflow. The action-based workflow would be based on an action requiring a model that wouldn’t be available for a generic engine such as Workflow Engine.

TIME_BASED allows the engine to execute any time-based workflow. Must specify a GROUP_NAME and SCHEDULE_NAME to uniquely identify the workflow. The workflow will execute exactly as if the user went to the JMX console and executed the workflow immediately.

You can find the GROUP_NAME and SCHEDULE_NAME in the DVCE_SCHEDULE_ENTRIES table.


select * from dvce_schedule_entries;

Class

CLASS_BASED allows the engine to execute any code in a CLASS with a method execute(string), where the string parameter is assumed to be a JSON string of parameters for the method. CLASS_NAME must be the fully qualified class name and the PARAMETER_JSON is assumed to be a JSON string.

WorkflowExecutionClassBased interface and WorkflowExecutionClassBasedSample were created to provide a basic sample of how developers should create a class file to allow Workflow Execution Engine to run.

UI

Only supported via the JMX Console (or through Chain Engine). Does not support UI because users do not know about Workflows or Classes.

images/download/attachments/144836374/image2021-7-29_9-48-56-version-1-modificationdate-1645138890000-api-v2.png