开源工作流引擎的介绍 - 极悦
首页 课程 师资 教程 报名

开源工作流引擎的介绍

  • 2022-11-01 09:55:56
  • 3129次 极悦

该流程引擎完全开源免费,致力于打造与平台组织架构无关、高扩展的工作流引擎。

通过自定义用户选择器和条件处理器实现既有业务的组织架构关联和审批过程处理。

使用介绍

直接从git下载源码编译。

建议以分布式子系统或者微服务形式部署。

项目自带流程编辑器,以及 简单的流程模拟功能.

后台结构介绍

WorkFlowCore

是整个引擎的核心,核心通过抽象,允许 部分功能通过外部扩展

WorkFlowCore.Framework

是抽象的其中一个扩展,默认实现了以json文件为持久化的仓储 Repository和两个事件处理demo

WorkFlowCore.Host

是web服务的启动项目,在这里写接口代码

WorkFlowCore.Selector

是抽象的其中一个扩展,默认实现两个 用户选择器和条件处理器,

WorkFlowCore.Test

单元测试

需要自己实现的内容:

Repository

框架默认实现的只是一个以json文件为持久化的仓储,实际使用应该实现自己的持久化程序,实现 IBasicRepository 接口,将程序注册到容器服务中。

实现自己的用户选择器

不同项目的组织架构不同,这也是为什么要写这个框架,就是要把用户的选择从框架中抽取出来。

实现自定义用户选择器需要实现 IUserSelector 接口:

GetSelections 方法返回用户的选项类型,可以返回一些类型(比如角色,职位等组织架构信息)也可以直接返回用户列表

GetUsers 方法是在流程审批过程中,结合流程的各项参数去解析获取实际的用户数据,这里返回的是根据条件匹配到的用户列表。

自己实现的选择器需要注册到容器服务中

实现自己的条件处理器

一般的条件处理使用默认的条件处理可以完成,但是需要复杂的条件处理就需要自定义实现。比如需要根据表单中某个值去获取其它信息进行判断,就需要自己解析。

具体解析要看表单数据格式,具体问题具体分析。

要自定义 条件处理器 需要实现 ICondition 接口,该接口只有一个方法 CanAccept,结合流程数据判断某个路径是否能走。

注册选择器到容器服务中

事件扩展

目前系统提供 流程推送事件和流程结束事件,需要实现更多扩展功能比如通知处理流程,流程结束后推送消息之类的需求,需要自己实现ISendTaskEventHandler 和 ITaskFinishedEventHandler

实现的事件扩展需要注册到服务中

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交