1. 名词解释 1.1. BPM Business Process Management,业务流程管理,“通过建模.自动化.管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”. 1.2. BPMN Business Process Modeling Notation,业务流程建模与标注,包括这些图元如何组合成一个业务流程图(Business Process Diagram):讨论BPMN的各种的用途,包括以何种精度来影响一个流程图中的模型:BPMN作为一个标准的价值,以及BPMN…
1. 引言 由于Activiti面世出现也比较早,加上是Java领域的开源工作流,自然而然也被很多企业个人拿来使用,有做做简单的或有深入的二次开发使用的.作为一个资深的BPM领域技术专家,貌似如果没有研究过Activiti的话会显得不专业,所以我们也免不了俗,自然而然也是对Activiti做过剖析. 关于Activiti的选型还是有必要说一说,从纯技术角度上说,不从所谓商业角度,因为那不是讨论的范畴.所以正好以此为契机把它整理成一篇全面一些的文章,就想着也提供给有需要的技术达人在Activiti…
前言 目前主流的Java开源流程引擎有Activiti.Flowable.Camunda,笔者在进行流程引擎技术选型时,除了功能方面,性能和稳定性是尤其关注的指标,是选择Flowable?还是Camunda?我们先进行了二者性能对比测试,先分享给大家. 一.测试环境 PC笔记本,8G内存,CPU两核i5-8250压测工具:JMeter5.1数据库:mysql5.7Flowable版本:6.4.1Camunda版本:7.10 二.测试用例 基于springboot编写测试代码,调用流程引擎的API…
最近我们有个使用了jbpm 6.2(6.2是一个较大的里程碑)的批处理模块,因为大BOSS一直觉得太重了,希望有更加轻量级的解决方案,因为我们基本上没有真正意义上流程的概念,只有静态的流程图,因为一直忙于其他事情,于是这周才正式开始研究jbpm的一些细节(前几年很多支持的项目中也接触过,不过更多的是解决一些故障类问题,本身对流程类的不感冒).顺便研究了下jbpm. jbpm的整体技术栈从用户层面组成如下: activiti技术栈: bpmn web设计器:https://bpmn.io/,集成A…
1.  工作流 简单地来讲,工作流就是在计算机的协助下实现流程的自动化控制.目前,笔者熟知的主流的框架有:Camunda .Flowable .Activiti .jBPM.还有我们国产的盘古BPM.其中,Camunda .Flowable 都有商业版(企业版)和非商业版(社区开源版). 技术产品各有千秋,Flowable专注于流程引擎,Activiti现在专注于Cloud.笔者最推荐Camunda,盘古BPM还没用过看起来应该也挺好用的. 关于Camunda补充几篇文章 Camunda开源版与…
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个.开发低代码平台.OA系统.BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器,对于市场上如此多的开源流程引擎,哪个功能和性能好,该如何选型呢? 一.流程引擎选型 1.Osworkflow Osworkflow是…
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.现在国内用的最多的是activiti.flowable.camunda,下面主要从功能和性能方面对flowable和camunda进行对比分析,给大家提供流程引擎选型参考. 一.功能方面对比 由于Flowable与Camunda好多功能都是类似的,因此在这里重点罗列差异化的功能 (1)camunda支持流程实例的迁移,比如同一个流程有多个实例,多个流程版本,不同流程实例运行在不同的版…
Camunda BPM 是一个灵活的工作流和过程自动化框架,它的核心是一个在Java虚拟机内部运行的原生BPMN 2.0流程引擎,因此它可以嵌入到任何Java应用程序或运行时容器中.Camunda BPM与Java EE 6集成,并可以与Spring Framework完美匹配. Camunda BPM平台还提供了一套丰富的.围绕BPM生命周期的组件: 流程实现和执行组件:camunda engine(负责执行BPMN 2.0流程).REST API.Spring/CDI集成 流程设计组件:ca…
基于springboot的flowable工作流实例实现 flowableUI 创建实例教程 https://www.cnblogs.com/nanstar/p/11959389.html Flowable 中文官网 https://tkjohn.github.io/flowable-userguide/#_deploying_a_process_definition 1.首先创建一空白的个springboot的项目 2.这里是编辑项目名称,我这里写的是flowabledemo 3.这个位置是选…
本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步 程序员是块砖,哪里需要哪里搬 公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程. 项目主要用 Springboot + Flowable 重构原有的工作流程,Flowable 是个用 Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架. 官方地址:https://www.flowable…
官网:https://camunda.com/ 官方文档:https://docs.camunda.org/get-started/spring-boot/project-setup/ 阅读新体验:http://www.zhouhong.icu/post/155 一.简介 Camunda是一个工作流引擎,执行Bpmn2.0标准,因此依赖于基于bpmn的流程图(本质上是一个xml文件) 二.一个完整的报销 demo 入门 1.创建一个SpringBoot项目,导入数据库依赖.Camunda 等依赖…
Flowable 6.0.0.RC1 release,第一个可流动的6引擎版本(6.0.0.RC1). Flowable 6.0.0.RC1 relase新增加的功能以及特色: 包重命名为org.Flowable ,重命名flowable.cfg的配置文件.xml和flowable-context.xml. 类名称重命名使用Flowable 而不是Activiti在需要的地方. 功能在IDM引擎分离,身份和身份数据库表是由这个引擎.默认情况下IDM引擎启动时启用可流动的引擎,但它可以被禁用的di…
工作流管理系统基本概念 近两年随着电子商务环境不断演进(例如阿里巴巴的B2B电子商务平台),从原来支持企业内部单系统的业务流程.到企业内部应用.服务的集成,再进一步向企业与合作伙伴之间业务交互,工作流正扮演着越来越重要的角色. - BPMI业务流程管理促进会 BPMI(Business Process Management Initiative,业务流程管理促进会)一直在积极推动BPM的标准化.它的目标是使各种类型以及不同行业的公司都可以跨越Internet.透过防火墙开发与操作涉及多个业务伙伴…
最近新到了一家公司,这家公司做的人力资源管理,需要一个OA系统,所以就让我做一个选型,经过我2周时间的筛选,试用,沟通,测试,最终确定了几款,这个艰辛的路程,在这里记录一下~ 寻找OA的路程------>>>>> 问题: 这个OA是我们自己公司内部使用,还是可能会给客户企业使用? 内部使用,将来可能卖给客户 需要web端和手机端都有吗?  是的 现在使用的OA系统是什么产品?   是自己搭建的CCFlow(JFlow),无移动端 一些资源: 开源软件网:https://www…
前言 flowable6.4.1流程引擎官方支持的数据库有:MySQL.hsql.Oracle.DB2 .postgres.SQL Server.H2.对于其他类型的数据库如何支持,尤其是国产数据库的支持,下面以达梦数据库为例进行介绍.对于其他国产数据库如人大金仓.神州通用等也是同样的修改方法,只是需要注意一下对应数据库的方言即可. 一.引入达梦数据库驱动包 在maven工程的Resources目录下建lib目录,放入达梦数据库驱动包Dm7JdbcDriver17.jar,并配置maven为本地…
前言 本文重点介绍开源流程引擎camunda的核心概念,这些概念同样适用于JBMP.Activiti.Flowable流程引擎,了解这些基本概念和原理,使用流程引擎API将更得心应手. 一.Process Definition Process Definition即流程定义.Process Definition定义了流程的结构,或者说定义了业务活动的执行过程.Camunda bpm使用bpmn2.0作为其流程定义的主要建模语言.在Camunda BPM中,提供了C/S流程建模工具(Modeler…
前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注意不是一张业务表),那么如何扩展一张数据库表并无缝地融入到流程引擎的机制中呢?下面以Camunda BPM为例,介绍如何扩展自定义数据库表. 模拟一个客户需求 假设某一客户的业务流程很多,有几百个,这些流程在camunda里是平层放的,没有按照业务归类,不便于管理和使用,客户希望把这些流程按照业务分…
​  市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源流程引擎主要有activiti.flowable.camunda这三款,无论选择哪一个开源流程引擎,都不可能拿来即用,需要做大量的功能扩展,才能满足项目需求.以下以camunda开源流程引擎为例说明,需要扩展哪些功能才能满足中国特色的流程项目需求. 1.扩展中国特色流程操作功能 开源流程引擎默认就是…
郑昀 创建于2014/10/30 最后更新于2014/10/31   一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售运营的数据分析师: 要求数据分析师掌握查询SQL查询脚本编写技巧,掌握不同业务的数据存储在不同的数据集市里: 不管他们的计算任务是提交给 数据库 还是 Hadoop,计算时间都可能会很长,不可能在线等待: 所以, 使用者提交了一个计算任务(PIG/SQL/Hive SQL),控制台告知任务已排队,给…
工作流是整个OA系统的核心,也是BPM的核心,工作流到 底需要实现哪些功能,本文就此以用户的需求为蓝本进行阐述.工作流表面看起来是很简单的,无非是一个表单模板,一个流程定义,然后起草后根据设定的流程一 步一步走下出,但是由于业务的差别以及千变万化的需求,实际上比需要实现的功能远比上述功能要复杂得多,这也是很多的开源的工作流系统并没有真正用到 OA中来的原因.一个基本的要求是:一个审批模板可以供全单位使用,如请款单,全单位就一个请款单格式,其流程的设定可以应用全单位并且能够正常流转,这样的要求实现…