Semantic-workflow Documents

Documents Home

About Cheap Workflow

The Cheap Workflow is a lightweigth workflow engine can only work on semantic-*. It's also a good example showing how to use semantic.DA and semantic.transact java API.

Quck Start

TODO Howto ...

CheapEngine Reference

Workflow Template

Configuration
Nodes
Table: oz_wfnodes
timeoutRoute
timeout route, handled defaultly by CheapChecker
format: [node-id]:[text]:[handler-class-name]
parsed by CheapNode#parseTimeoutRoute().
details:
This field configure the workflow's timeout route.
The backgroound checker will check according to the route, if timeout (now() - opertime > timoutes), the workflow instance will stepped to the target node, the [node-id].
After the workflow stepping is handled, the handler's onTomeout() will be called, running in an independent thread, if a class is configured.

SQL Scripts

Mysql
node instance
It's recommended configure different table for each workflow, to optimize performance.
				-- Replace this table name, 'oz_sampleBusiness', keeping consists with value from oz_workflow.bussTable
				CREATE TABLE oz_sampleBusiness (
				instId varchar(20) COLLATE utf8mb4_bin NOT NULL,
				nodeId varchar(20) COLLATE utf8mb4_bin NOT NULL comment 'node FK',
				taskId varchar(20) COLLATE utf8mb4_bin NOT NULL comment 'fk to tasks.taskId',
				oper varchar(20) COLLATE utf8mb4_bin NOT NULL,
				opertime DATETIME,
				descpt varchar(200),
				remarks varchar(2000),
				handlingCmd varchar(10) COLLATE utf8mb4_bin,
				prevRec varchar(20) COLLATE utf8mb4_bin,
				PRIMARY KEY (instId)
				) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
				COMMENT ' work flow node instances, table name is configured in oz_workflow.instabl (separating table for performance)'; 

Known Issues in v0.8

  1. postFK and multiple tasks using same instance table

    TODO ...

  2. Handling commands should be presented in an additonal relation table

    Should we port some other opensource project?

  3. 'top()' for insert only in TSQL?

  4. semantic-transact HAVING, WINDOW?