组件分享之后端组件——超轻量级的工作流引擎go-workflow近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 。欢迎大家进行持续关注 。
本节我们分享一个超轻量级的工作流引擎 go-workflow ,基本架构同Activiti工作流有些相似,但是它更精简,更轻量,它是一个工作流微服务 。它将所有的无关流程的数据,包括用户、用户组等信息从服务中解耦出去,go-workflow只纪录流程的流转,同时使用json数组替代bpmn来生成流程定义 , 简化流程定义的生成 。
表 procdef 用于保存流程的配置,
主要字段有:
表 proc_inst 用于保存流程实例,当用户启动一个流程时 , 就会在这个表存入一个流程实例,
主要字段有:
表 execution 用于保存执行流,当用户启动一个流程时 , 就会生成一条执行流,之后的流程就会按照执行流的顺序流转 ,
比如:开始-主管审批-财务审批-人事审批-结束,
主要的字段有:
表 identitylink 用于保存任务task的候选用户组或者候选用户以及用户所参与的流程信息 ,
主要字段有
表 task 用于保存任务,
主要字段有:
历史数据表包括 execution_history , identitylink_history,proc_inst_history , task_history这些表字段同正常的表相同,每隔20秒,将已经结束的流程数据会自动迁移过来
启动 go-workflow 微服务后,可以在浏览器中输入:进行存储
具体见 example.md 说明文档
通过调用 StartProcessInstanceByID 方法来启动流程实例,
主要涉及:
调用方法 Complete()方法来执行任务的审批 ,
涉及方法:
调用方法 WithDrawTask() 方法来执行任务的撤回
更多内容可以参考其官方 README
Gfast 工作流引擎 1.0Gfast管理系统采用go语言开发,基于GF(Go Frame)的后台管理系统,现增加工作流引擎模块开源发布 , 实现工作流引擎与业务解绑,不同业务数据均可接入,以业务数据驱动的状态机机制,让系统更具可用性 , 智能应用型,便捷设计性 。
主要特性
基于 jsPlumb 可视化设计流程图 , 接入element-ui前后分离模式,数据与界面分开便于管理和维护 , 设计器已封装为组件,既可单独将流程设计器使用在其他基于element-ui的前端项目的系统 。
支持可视化界面设计,支持拖拽式流程绘制,支持节点属性设置
可支持工作流设计开发管理,流程权限与后台权限双重认证
可以对步骤进行管理、读取、验证流程基本信息是否正确划分权限的人员可对流程进行终止,代审完善的流引擎机制,通过事务控制,流程运行安全稳定
规范的命名空间,可拓展的集成化开发 , 支持 直线式、会签式、转出式、同步审批式等多格式的工作流格式
可配置流程模型、流程节点规则、分支条件规则等
Gfast工作流引擎1.0 开源版
链接地址:
界面截图:
演示地址:
登录账号:test
登录密码:123456
什么是工作流引擎?工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算 。工作流要解决的主要问题是:为实现某个业务目标 , 在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务 。
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互 。工作流需要依靠工作流管理系统来实现 。
工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分 。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的 。
工作流的主要功能:
----工作流管理系统(WorkflowManagementSystem,WFMS)是定义、创建、执行工作流的系统 。在最高层上,WFMS应能提供以下三个方面的功能支持:
?8?4 建造功能:对工作流过程及其组成活动定义和建模;
?8?4 运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;
?8?4 运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能 。
工作流管理系统带来的好处:
----由于信息技术的发展和日趋激烈的商业竞争 , 人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案 。作为一种对常规性事务进行管理、集成的技术,WFMS的出现是必然的 。它可以带来以下收益:
?8?4 改进和优化业务流程,提高业务工作效率;
?8?4 实现更好的业务过程控制 , 提高顾客服务质量;
?8?4 提高业务流程的柔性等 。
工作流系统的主要组成部分
1.过程定义工具
----过程定义工具被用来创建计算机可处理的业务过程描述 。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令 。
----2.过程定义
----过程定义(数据)包含了所有使业务过程能被工作流执行子系统执行的必要信息 。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等 。
金诺科技的OA采用微软唯一的工作流平台Workflow Foundation来开发产品的工作流,Workflow Foundation是微软四大核心技术之一,为微软产品及相关应用程序提供通用的工作流设计平台和开发工具,它是一个进程内的工作流引擎,运行在内存中,速度快并且稳定,这是一般工作流所不具备的,金诺OA用户可以自行定义修改流程,从而实现自由流程和固定流程的完美集合,以适应需求的变化,操作也非常简单,只要通过拖拽就可以现实工作流的定义! =================================================================================希望采纳!O(∩_∩)O~
【工作流引擎go语言 工作流引擎的好处】关于工作流引擎go语言和工作流引擎的好处的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- mysqloracle字段类型长度,mysql数据库表字段类型
- i32130显卡怎么样,i32130搭配显卡
- linux启用端口的命令,linux如何启动端口服务
- 包含html5带视差效果网页模板的词条
- go语言调用硬解码视频 golang解释器
- 手机上用chatgpt练习口语,手机练口语的软件
- 安卓xml怎么和javascript的简单介绍
- word2010转pdf格式,2010word转pdf怎么转
- xmlgo语言 xml语言编写规则