Go语言流程引擎go-activiti


Go语言流程引擎go-activiti

项目传送门go-activiti

参考Activiti实现,满足部分功能。项目还在完善中,欢迎activiti爱好者加入,Go语言她不香么。

现有能力

  • 节点类型,支持用户审批节点、排他网关、包容网关、并行网关
  • 流程功能,支持流程部署、流程发起、流程审批
  • 支持历史数据回溯
  • 全局事务
  • 全局事件监听,现支持节点事件处理

BPMN文件解析,先使用的是JSON库,使用方便,但存在缺陷,不支持扩展后续完善件process

全局事务,参考activiti设计模式,依赖命令模式和责任链模式,使用gorm的事务能力,不需要关注事务。

defer db.ClearTXDB()
db.GORM_DB.Transaction(func(tx *gorm.DB) error {
    db.InitTXDB(tx)
    value, err = transactionContextInterceptor.Next.Execute(command)
    return err
 })

后续计划:

  • 支持更多节点类型
  • bpmn解析完善,可扩展
  • 流程能力支持:流程跳转,驳回等等
  • 监听事件完善
  • 数据库默认值处理
  • 项目结构调整

期待您的加入。

Go语言流程引擎go-activiti介绍到这里,更多Go学习请参考编程字典Go教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://blog.csdn.net/qq_34758074/article/details/108681721?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163523372016780265481777%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163523372016780265481777&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-21-108681721.pc_v2_rank_blog_default&utm_term=go&spm=1018.2226.3001.4450