JAVA工作流框架哪个比较好?
Activiti、JBPM、JBoss Seam、XJR java快速开发平台
Activiti是由jBPM 的创建Tom Baeyen离JBoss之后建立的项目,构建在开发 jBPM 版本1到4时积累的多年经验的基础之上,旨在创建下一代的 BPM 解决方案。文档丰富,csdn有相应专栏,并且国人贡献了一本《activiti实战》详细的讲解了基于activiti的开发内容,网上教程资源丰富。Activiti上手比较快,界面也比较简洁、直观,学习周期相对较短。官方提供webapp war包,部署在Tomcat下可快速操作和了解activiti,esclipse提供支持activiti项目的ide插件,总的来说环境支持良好。
代码量大,核心代码改动难度较大,但提供了完整的技术文档,架构良好,网上开发文档较多,一定上降低了二次开发的难度。
支持,用户体验好,但是流程设计器是英文版,还需要汉化。
支持多种表单:动态表单,外置表单,普通表单,但表单设计未集成,需要自己集成表单设计。
支持绝大部分工作流功能,符合中国国情的审批流程需要在此基础上进行开发。
JBPM(Java Business Process Management):JAVA业务流程管理,是一个可扩展、灵活、开源的流程引擎, 它可以运行在独立的服务器上或者嵌入任何Java应用中。
1、jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。
2、jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。
3、jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过内容仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。
JBoss Seam,算得上是Java开源框架里面最优秀的快速开发框架之一。
Seam是一个很棒的选择,作为程序员来说,要比用 Spring/Hibernate/Struts省心的多,更能够把精力放在业务逻辑的编写上面,开发效率也很不错,可能是Java开源框架里面最优秀的快速开发框架之一了。
Activti的学习价值比较高,是工作流入门的好教材,可以学习里面好的代码风格和思路。Activiti最大的优点就是免费开源,小项目中应用简单的串行并行流转基本能满足需求。现在很多开发人员会选择它。但是要拿Activiti做到中国式的企业级应用门槛和难度很高。想用Activiti来做符合中国国情的审批流程,其实还需要做大量的开发封装。接下来介绍一款基于Activiti扩展的工作流引擎。
XJR java快速开发框架工作流程引擎:采用主流的Activiti工作流引擎,遵循bpmn规范,可实现XML、Json一键导入导出,以及添加了人员动态选择、便捷式会签设置、便捷式任务委托设置、添加自定义表单、自定义节点按钮、动态变量选择(包括会签变量、按钮变量、表单变量)以及各节点属性优化,遵循以客户为中心的优化原则,将整个流程的操作变得简单、快捷,实现0基础客户短时间可自由编辑流程模板。
XJR快速开发平台技术选型
使用目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等,支持多种数据库MySQL, Oracle, sqlserver等。 分层设计:使用分层设计,分为dao,service,Controller,view层,层次清楚,低耦合,高内聚。 安全考虑:严格遵循了web安全的规范,前后台双重验证,参数编码传输,密码md5加密存储,shiro权限验证,从根本上避免了SQL注入,XSS攻击,CSRF攻击等常见的web攻击手段。
模块功能
功能模块:开发向导、代码 生成器,商业智能、工作流、报表管理、移动端开发、作业计划、多语言、数据源管理、企业微信、钉钉、消息管理,菜单 管理,用户管理,机构管理,角色管理,区域管理,字典管理,日志查询等基础模块。
软件特点:
1.可视化工作流、动态表单、智能报表、所见即所得,真正零代码开发.
2. 并非从零开始:整合包括办公室管理、客户关系管理、财务管理、销售管理、供应商管理、人事管理等等超过100套的应用模板,用户只需拷贝模板进行必要修改即可使用,无需从“零”开始。
3.随时随地处理事务:myApps平台还支持短信和手机客户端,能够方便的实现移动商务。无论在何时何地只要手机有信号,用户就能通过手机处理事务。
4.首创内置宏语言:在流程和表单中内置宏语言(JavaScript)实现,在不需要重新编译、安装的条件下,可动态地创建或调整业务逻辑,满足高级用户的要求。
5.灵活与扩展:对于动态表单所创建数据,创建了查询微语言DQL(类是SQL语法),为检索提供全面的灵活性和可扩展性,能够很好的封装不同数据库的本地方言。
6.与主流系统的通用:myApps平台具有与SAP ERP无缝整合能力,并已经通过SAP NET WEAVER认证,同时系统提供第三方开发接口,可以和当前主流ERP系统整合。
7.采用Java开发:产品采用Java开发,全面兼容主流应用服务器平台,包括IBM Websphere、BEA Weblogic、Jboss、Apache Tomcat等。
8.兼容性强:对移动终端设备的型号有广泛的适合性,如:支持手机等智能设备的接入、兼容手机、PDA、上网本等移动终端设备。
9.myAPPS内建工作流引擎支持浏览器(IE/Firefox)做为客户端,同时还提供了强大的图形客户端,涵盖了对企业业务流程需求分析、快速开发部署、流程绩效分析和管理等等一系列的支持。
2017-08-01
Activity的资料可能容易找一些
JBPM的资料大部分是4的版本