Skip to content

An API for workflow engine, it offers a set API operations helping to manage workitem flow.

Notifications You must be signed in to change notification settings

YaoYao-dd/workflowEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workflow Engine

An API for workflow engine.

What does it do?

It offers a set API operations helping to manage workitem, the core feature includes:

Workitem:

  • Start a workitem with customized Business object.
  • Fetch associated Business Object by a workitemId.
  • Fetch all workitems created by operator.

WorkItemStep:
A workitem can go through different steps, e.g. an absence request(workitem) will go though Manger's approval, then audit's review...

  • Fetch all workitems which are pending a specified operator's approval/rejection.
  • Process a workitem acting as an reviewer, after approval, the workitem will be routed to next operator.
  • Reject a workitem acting as an reviewer.

WorkItem route policy definition:

  • Refer to Case1DefaultRoutePolicy.java
  • An Operation can be marked as autoChecked or manual checked.
  • When AutoChecker exists, the specified operation will be triggered automatically and asynchronously.
  • When AutoChecker does NOT exist, an explicit call to process workitem must be made in order to continue to process a workitem.

Workflow Engine API specification.

specification OpenAPI.json

Env setup

Technical Features

  • No 3rd workflow library is needed.
  • It depends on Springboot, Mybatis, H2 database(default DB)
  • H2 database console is enabled at http://localhost:8080/h2-console , jdbc connection string: jdbc:h2:file:~/test by default.
  • General workflow implementation are defined below com.yaod.workflow.engine.core, normally NO need to touch them.
  • Different project should have their own domain, route policy... etc for their specific requirement, see example at com.yaod.workflow.engine.usercase
  • Sample router policy is defined Case1DefaultRoutePolicy, of course, we can add support for xml/other configuration file.

Important notes:

  • This is a POC project, aims to illustrate how workflow framework works, it is NOT a production ready library.

About

An API for workflow engine, it offers a set API operations helping to manage workitem flow.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages