首页 > 其他分享 >开源工作流引擎该如何扩展?扩展哪些功能?

开源工作流引擎该如何扩展?扩展哪些功能?

时间:2024-07-16 09:51:19浏览次数:13  
标签:功能 activiti 流程 扩展 开源 引擎 camunda

目前主流的开源流程引擎有activiti、flowable、camunda等,这几个开源流程引擎的版本很多,哪个开源流程引擎哪个版本的功能更多、性能更好,该如何选择请参考:https://lowcode.blog.csdn.net/article/details/116405594

无论您选择哪一个开源流程引擎,都不可能直接拿来即用,均需要做一定的扩展开发和集成开发,才能满足项目真正的需求。以下是基于开源工作流引擎需要定制和扩展开发的功能。

1、开发组织用户管理

activiti、flowable、camunda等开源流程引擎自带的用户组织模型很简单,无法适用中国企业组织架构,需要扩展了多组织用户模型,多组织架构、一人多岗、一人多部门、兼职部门等。

6-组织用户模型

2、开发动态表单引擎

activiti、flowable、camunda等开源流程引擎自带电子表单过于简单,仅仅是一个单表,字段按顺序排列显示,没有布局,没有扩展事件等功能,无法满足企业复杂业务需求,需要开发表单设计器和表单引擎组件。

7-表单设计器

3、开发流程门户界面

activiti、flowable、camunda等开源流程引擎自带的流程门户页面,包括发起流程、待办任务,流程审批,流程跟踪等功能,基本上不符合中国人操作习惯,以及对UI界面的审美需求,这部分前端界面均需要重新开发。

4、定制流程设计器功能

开源版的流程设计器基于bpmn2.0规范,但在中国特色流程需求下往往需要扩展一些属性,这就需要定制和完善流程设计器功能,提升流程设计效率,配置功能包括:流程选人、表单配置、按钮权限、流转规则、字段权限、超时流转、任务提醒、待办标题、启动权限等。开源流程设计器很多,选型参考https://lowcode.blog.csdn.net/article/details/134514038

5、开发流程监控管理

activiti、flowable、camunda等流程引擎分社区版和商业版,社区版即开源版上的流程监控分析功能很简单,全部的功能在商业版上才有,需要在开源版本自行扩展开发流程管理监控和流程分析的功能,包括:流程实例管理功能,方便管理员后台管理流程:增加办理人、减少办理人、流程删除、流程挂起等;流程分析功能:流程模板统计分析、任务办理统计分析、流程超时统计分析、流程实例统计分析。

10-流程监控分析

6、开发流程操作按钮

开源流程引擎默认就是基于节点连线进行流程流转,没有其它流程操作功能。需要增加中国特色流程操作功能,包括:办理、加签、减签、跳转、退回申请人、退回上一步、任意退回、委托、转办、传阅、催办、收回、撤销等,这些功能配置即生效,不能硬编码写死,不然很难维护。

5-流程特殊按钮

7、开发流程选人规则

activiti、flowable、camunda等开源流程引擎自带的流程审批人配置仅仅有user和group,无法满足中国企业复杂的选人需求,需要扩展流程多维度配置选人规则,包括:用户、部门、岗位、角色、关系等多种选人规则,尤其关系动态规则,审批类流程应用最多。

8-流程选人规则

8、国产化信创数据库适配

activiti、flowable、camunda等开源流程引擎均不支持信创国产化数据库(比如:达梦、人大金仓、神州通用等),需要扩展开发完成对国产数据库的适配。

12-国产数据库适配

9、集群高可用部署架构

activiti、flowable、camunda等流程引擎分社区版和商业版,社区版默认不提供集群高可用部署架构,需要项目上结合nginx、k8s等负载均衡软件或者云平台,自己开发部署负载均衡集群高可用架构。

流程引擎功能在线体验:http://www.yunchengxc.com

标签:功能,activiti,流程,扩展,开源,引擎,camunda
From: https://www.cnblogs.com/hibpm/p/18304574

相关文章

  • 第二部分:关键技术领域的开源实践【持续集成和交付Jenkins】
    Jenkins是一款广泛使用的开源持续集成(ContinuousIntegration,CI)和持续交付(ContinuousDelivery,CD)工具,它帮助企业解决了多个关键的痛点需求,主要包括以下几个方面:自动化构建与测试:Jenkins可以自动化执行构建过程,每当代码库中有新的提交时,Jenkins就可以自动运行构建脚本,并......
  • thinkPHP+swoole扩展搭建一个websocket连接聊天室(简易版)
    1.服务器搭建好宝塔面板,并开放用于连接websocket的端口:例如9502 2.本地准备好连接的文件,以thinkPHP举例:(1)根目录下的Websocket.php文件(2)前端index入口文件添加test()方法,然后在view目录里添加相应的test.html  test()方法: test.html:  3.打开宝塔面板,放行9502......
  • ArduPilot开源代码之EKF系列研读
    ArduPilot开源代码之EKF系列研读1.源由2.基本原理3.数学公式4.研读步骤5.参考资料1.源由EKF(扩展卡尔曼滤波器,ExtendedKalmanFilter)是一种非线性滤波算法,是标准卡尔曼滤波器在非线性系统中的扩展。它在处理和估计非线性系统状态时广泛应用,如机器人导航、目标......
  • OpenAI 曝新项目「草莓」,提升 AI 推理能力;智谱 AI 开源视频理解模型丨 RTE 开发者日报
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢......
  • 探索GraphRAG:构建高效的知识图谱索引与查询引擎
    GraphRAG系统简介GraphRAG是一个基于图的检索增强生成系统,它通过索引文本数据,然后使用这些索引数据来回答有关文档的问题。系统的核心在于其索引管道和查询引擎,它们共同工作,以提供快速且准确的信息检索服务。环境准备在开始之前,请确保你的开发环境中已安装Python3.10至3......
  • 智能小车开源样例运行
    环境准备前置条件按照官方指导文档完成CANN包安装CANN版本需要>=5.0.4.alpha001(本教程使用5.04alpha005)软件准备源码包:samples:CANNSamples(gitee.com)模型:cplusplus/contrib/Ascbot/README_CN.md·Ascend/samples-Gitee.com建议下载模型,权重和配置文件后本地使......
  • 可扩展的单核至四核[email protected]工业级核心板规格书
    1核心板简介 创龙科技SOM-TL62x是一款基于TISitara系列AM62x单/双/四核ARMCortex-A53+单核ARMCortex-M4F多核处理器设计的高性能低功耗工业核心板,通过工业级B2B连接器引出2xTSNEthernet、9xUART、3xCAN-FD、GPMC、2xUSB2.0、CSI、DISPLAY等接口。处理器ARMCortex-A......
  • 填鸭表单!开箱即用的开源问卷调查系统!
    大家好,我是Java陈序员。我们在日常生活中,有时候因为工作需要,需要发布一些问卷调查,来统计数据,获得反馈!今天,给大家介绍一款开箱即用的开源问卷调查系统!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍TDuck——一款免......
  • ELK Stack - Elasticsearch · 搜索引擎 · 部署应用 · 内部结构 · 倒排索引 · 服
    系列目录ELKStack-Elasticsearch·搜索引擎·全文检索·部署应用·内部结构·倒排索引·服务接入ELKStack-Kibana(待续)ELKStack-Logstash(待续)ELKStack-Beats(待续)ELKStack-ApplicationPerformanceMonitoring(待续)本章基于:RHELinux......
  • 使用Docker部署mailcow开源邮件系统详细过程
    1.项目介绍项目网站:mailcow:dockerized–Blog根据官方介绍,这个项目名称是mailcow,名称都是小写的。下面内容是通过AI翻译自官方文档:mailcow:dockerizeddocumentationmailcow:dockerized是一个基于Docker的开源组件/电子邮件套件。mailcow依赖于许多广为人知且长期......