​  市场上基于Java语言的开源工作流引擎有:osworkflow、jbpm、activiti、flowable、camunda等,其中osworkflow、jbpm流程引擎已经过时,目前主流的开源流程引擎主要有activiti、flowable、camunda这三款,无论选择哪一个开源流程引擎,都不可能拿来即用,需要做大量的功能扩展,才能满足项目需求。以下以camunda开源流程引擎为例说明,需要扩展哪些功能才能满足中国特色的流程项目需求。

1、扩展中国特色流程操作功能

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

2、重新开发组织用户模型

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

3、重新开发电子表单功能

camunda自带电子表单过于简单,仅仅是一个单表,字段按顺序排列显示,没有布局,没有扩展事件等功能,无法满足企业复杂业务需求,需要扩展了电子表单功能。

4、扩展流程配置选人规则

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

5、重新开发流程门户界面

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

6、增加流程监控管理功能

Camunda开源版本功能较为简单,流程监控管理功能在Camunda商业版上才有,我们基于开源版本需要自行扩展流程管理监控的功能,包括:流程实例管理功能,方便管理员后台管理流程:增加办理人、减少办理人、流程删除、流程挂起等;流程分析功能:流程模板统计分析、任务办理统计分析、流程超时统计分析、流程实例统计分析。

7、完善流程设计器配置化功能

优化了流程设计器,camunda大部分手动输入项改成界面配置功能,提升流程设计效率,配置功能包括:流程选人、表单配置、按钮权限、流转规则、字段权限、超时流转、任务提醒、待办标题、启动权限等。

8、增加对国产数据库的适配

Camunda默认支持mysql\oracle\pg等主流的数据库,但对信创国产数据库(达梦、人大金仓、神州通用等)没有支持,我们需要按需求增加对国产数据库的适配,这部分需要修改Camunda进行扩展开发。

参考:http://www.yunchengxc.com/

开源流程引擎camunda如何扩展的更多相关文章

  1. 开源流程引擎Camunda BPM如何扩展数据库表

    前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...

  2. 开源流程引擎osworkflow、jbpm、activiti、flowable、camunda哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  3. 开源流程引擎该如何选择flowable还是camunda

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.现在国内用的最多的是activiti.flowable.camunda,下面主要从功能 ...

  4. 基于camunda开源流程引擎如何实现会签及会签原理解析

    一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...

  5. Camunda开源流程引擎快速入门——Hello World

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早,国内人用的 ...

  6. 基于开源流程引擎开发BPM或OA有哪些难点

    前言     如何基于开源流程引擎开发OA系统?开源流程引擎哪个好?把它整合到自己的产品里难不难,有没有啥风险?这是大家经常遇到的问题.笔者从2006年开始参与流程引擎开发,经历了三代流程引擎研发,支 ...

  7. Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  8. camunda开源流程引擎的数据库表结构介绍

    Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存 ...

  9. 基于laravel的有偿开源流程引擎

    系统主要文档已经编写完成,具体请前往查看[系统文档](https://www.kancloud.cn/lijianlin/jishullin_workflow_engine/1894424 " ...

随机推荐

  1. 圆桌killer

    [问题描述] 圆桌上围坐着2n个人.其中n个人是好人,另外n个人是坏人.如果从第m(m<=2n)个人开始数数,数到第k个人,则立即处死该人:然后从被处死的人之后重新开始数数,再将数到的第k个人处 ...

  2. 面试官:Zookeeper集群怎么搭建?

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 作为一名Java拧螺丝选手,不必 ...

  3. 搭建Vue小页面

    学习链接:https://blog.csdn.net/zhenzuo_x/article/details/81013475 环境搭建: 浏览器:Chrome IDE:VS Code或者WebStorm ...

  4. 搭建springboot集成mybatis

    1.new project创建新项目选择spring initializr: 2.选择依赖需要选择web.mybatis.mysql就够了,后续需要其他的直接pom引入依赖就好了: 3.自己在java ...

  5. shell、bash和sh区别

    shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. shell 是一个命令语言解释器(co ...

  6. Python 读取UCI iris数据集分析、numpy基础学习

    python基础.numpy使用.io读取数据集.数据处理转换与简单分析.读取UCI iris数据集中鸢尾花的萼片.花瓣长度数据,进行数据清理,去重,排序,并求出和.累积和.均值.标准差.方差.最大值 ...

  7. mysql组提交

    当mysql开启binlog日志时,会存在一个内部XA的问题:事务在存储引擎层redo log的写入和binlog的写入一致性问题. mysql通过两阶段提交很好的解决了redo log和binlog ...

  8. 输入一个字符串,内有数字和非数字字符。例如:a123x456 17960 302tab5876。将其中连续的数字作为一个整数,依次存放到一维数组a中,例如123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。

    题目内容:输入一个字符串,内有数字和非数字字符.例如:a123x456 17960 302tab5876.将其中连续的数字作为一个整数,依次存放到一维数组a中,例如123放在a[0],456放在a[1 ...

  9. Java语言学习day12--7月11日

    ###16随机点名器代码实现 * A: 随机点名器案例代码 /* 随机点名器,集合改进 (学生的姓名和年龄) 现实中有学生这个事物,使用定义类的形式,描述学生事物 属性: 姓名,年龄 姓名存储了数组, ...

  10. Em 和 Rem 的基本使用

    1. Em html 结构 <div id="box-1"> <h3>Box One</h3> <p> Lorem ipsum do ...