java 工作流引擎调研总结

工作流基础概念 术语

Activity工作流 –java运用

几大工作流引擎对比

activiti和jbmp对比-深入了解jBPM5与Activiti之间的差异对比

csdn-JBPM(二)—JBPM工作流基本操作

Springboot +activiti

activiti 入门系列

jbmp入门总结 工作流定义:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完

jbmp和Activiti工作流程: 1 使用ui画出(定义工作流),并生成xml文件 2 将xml文件部署到实际项目,工作流框架使用引擎加载xml。 3 实际调用。

主流工作流程框架
Activity5.13、JBPM4.4、OSWorkFlow、WorkFlow

activiti5.13版本,有23张表。

JBPM底层使用hibernate操作数据库。

Activiti框架底层使用的mybatis操作数据库。

jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。

jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。JBPM4.4框架底层有数据库支持,18张表。

jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过内容仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。

Activiti5基于jBPM4的开源工作流系统,与Alfresco的集成增加了其流程可视化与管理能力,同时通过创新的Activiti Cycle协作组件支持流程相关人员之间的协调,最后,它加强了集成能力。

与jbpm相比,Activiti的优势
1、与jBPM4相比,Activiti5最令人瞩目的特性就在于它的协作工具组件。

Activiti Modeler—建模器 基于开源Signavio Web流程编辑器的一个定制版本,提供了对BPMN2.0图形化规范的支持,建模后的流程以文件格式进行存储。

Activiti probe—管理及监控组件 对流程引擎运行期实例提供管理及监控的Web控制台。包含部署的管理、流程定义的管理、数据库表的检视、日志查看、事务的平均执行时间、失败多次的工作等功能。

2、Activiti拥有更简洁健壮的接口

Activiti中提供TaskQuery接口,可以设置各种查询过滤,排序方式,最终通过list方法执行查询,相比jbpm,它还提供了分页查询功能,双方高下立判。

3、Activiti拥有更友好的用户体验

JBPM核心引擎完全没有关于表单的任何抽象,它的工作机制是通过全局常量,流程变量,任务变量,这些概念十分技术化。

相比之下Activiti则更贴近实际的应用场景,它将为开始节点,以及人工任务提供了表单设置,用户可以设置字段名称,字段类型。通过Activiti的平台可以根据这些设置去生成表单,但如果不使用其平台只使用引擎的话,也支持通过它来表达与第三方表单的关系。这些表单设置的元数据信息也可以通过接口去获取。

4、Activiti支持启动引擎后随时热部署 JBPM存在一个软肋,一个RuntimeService只能在启动的时候指定bpmn资源,一旦启动后便不再能够去更新或者增加bpmn了,这会导致我们系统集成的困难,因为我们自然希望整个系统只有一个工作流引擎实例运行。Activiti则提供了Deploy机制,将bpmn资源的热部署,热更新都做了很好的支持

5、Activiti拥有更友好易用的Eclipse编辑插件和在线插件

6、Activiti依赖更少的jar包

Activiti依赖的第三方jar包较少,主要就是mybatics,而JBPM则依赖了一大堆的jar,从drools到繁杂的hibernate,再到自身拆分的零零散散的jar包,让人不由觉得它是一个庞大的怪物。

Activiti
基于jbmp4开源代码而来。传言是要替换掉jbmp。

在springboot中新建activiti。https://blog.csdn.net/chq1988/article/details/75699792/。

使用步骤 1 在图形界面(Eclipse的插件Activiti)中配置工作流,每个节点上配置表达式(service.方法)。 2 根据配置的生成xml文件

经过调研发现,工作流主要比较适合流程比较多,比较复杂的业务。要使用工作流框架的话,还需要一定的学习成本,基于现在的情况就暂时自己开发了。

你可能感兴趣的:(java,Activiti)