
一起来看看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快速开发平台可视化开发,高效快速,开发成本低。兼容强,支持多种数据库,基于B/S架构,纯浏览器应用,只需要拖拽组件,拼接流程,就能实现各层的审批。面向服务接口设计,容易整合企业现有的资源。前后端分离设计,采用shiro权限验证,通过简单配置就可以实现功能权限和数据权限。开源级代码,二次扩展强。
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攻击手段。
模块功能
功能模块:开发向导、代码 生成器,商业智能、工作流、报表管理、移动端开发、作业计划、多语言、数据源管理、企业微信、钉钉、消息管理,菜单 管理,用户管理,机构管理,角色管理,区域管理,字典管理,日志查询等基础模块。
新增了环节用户任务,这时紧跟着新增一个表单即可,以及脚本、样式、Web API;删除了环节用户任务,这时可以不用管,为顾及旧版本的流程定义,其对应的表单还需要保留,并不能删除;修改了环节用户任务,比如在 A 环节新增了两个字段,同时在 B 环节减少了两个字段,这时就要为 A、B 两个环节各自重新创建表单、重新创建脚本、样式、以及重新创建Web API,因为表单变了,那么业务也就变了,SQL(表)也都跟着变了。
项目中使用了activiti作为工作流引擎,为了使用更加方便,自己开发了一套流程设置功能。先构建 BpmnModel 对象,再使用 RepositoryService 提供的deploy方法动态部署到activiti中。
功能开发完成后,开发本地测试和一轮测试之前都是OK的。然后前几日,在回归测试的时候,出现了某些用户可以成功部署,某些用户无法成功部署的“奇怪”现象。观察后台无法部署的后台错误日志:
这个报错的意思大概是:
于是想着百度看看 NCName 是什么类型,有什么约束。然后似乎没有一篇能说明白。试探了多次,发现:
为了证实想法,借助谷歌终于弄清楚了。 NCName只能以下划线(_)或字母开头,只能包含中划线(-)、下划线、字母和数字 ,我们的流程ID是按 单位ID+'_'+部门ID 规则拼接的,而单位ID是随机生成的字符串,所以有的是以数字开头的就无法部署。最终,我们更改了单位ID的 生成规则,保证是字母开头(多么简单粗暴的solution)。
>
青锋目前开源了一下版本架构:
springboot+layui+thymeleaf版本
springboot+layui+jsp版本
springboot+vue ant design 前后端分离版本
springcloud+ vue/react ant design 前后端分离双版本。
青锋springboot 家谱系统。
git clone >
Build-in form rendering(内置表单渲染)
Build-in form rendering is the simplest to get started with We'll explain it with an example
最简单的开始的方式是内置表单的渲染。我们将以一个示例进行解释。
The demo setup script installs the vacationRequest business process as an example of using task forms through Activiti Explorer Please check the example for the complete source code The business process diagram looks like this:
最近上线了一个小型SAAS系统,基于SpringCloud Alibaba,阿里云Serverless部署。系统的核心就是围绕自定义表单展开各种业务,之前对自定义表单的各种方案做过一些调研和对比,苦于没有找到一个比较成熟且“聪明”的方案。最终衡量利弊和开发效率之后,决定尝试一下MongoDB + 前端表单设计的方案。业务核心以外的其他模块Mq,Activiti等等都是一些成熟的方案。
就自定义表单这一块内容,从用户的角度,在表单设计页面用前端工具咔咔连拖带拽设计出一个表单,提交保存之后立马就可以用了,感受还是不错的。
背后要做的事情还挺多,简单罗列一下,后面分几篇文逐个记录一下。
1 数据类型和数据校验的问题。
2 多步骤表单、付款步骤以及各步骤的先决条件设置
3 如何支持Excel的导入,导入模板的管理及校验方式
……
一、表单的定义
现在使用前端进行自定义表单拖拽配置的工具很多,我用的Avue,有一些坑,不过能凑活用。后台所作的工作就是根据解析用户定义的表单配置(JSON格式),把字段、字段类型、校验规则、正则规则、是否必须等等属性全部解析出来保存好,作为后续校验用户提交数据的依据。
以上就是关于java工作流引擎中,哪个在市面上用得最多全部的内容,包括:java工作流引擎中,哪个在市面上用得最多、Activiti6.0中如何设计和关联表单、解决activiti流程部署时报错:not a valid value for 'NCName'等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)