严格来说,这两个东西不是可对比的概念。
成都创新互联是一家专注于成都网站设计、成都做网站与策划设计,凤城网站建设哪家好?成都创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:凤城等地区。凤城做网站价格咨询:13518219792
工作流是抽象的概念,Web Flow是一个具体的产品。
Web Flow是专门定义界面跳转顺序的,你如果想用Web Flow将页面组织成特定的工作流来实现特定的业务,也是可以的,但通常工作流有专门的工作流系统,一般更强大。
工作流系统一般都要求:
1、可视化的流程编辑。
2、支持分支、合并。
3、支持子流程。
4、支持流程节点的页面定制。
5、支持同一流程的多个版本。
6、管理流程的执行历史。
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攻击手段。
模块功能
功能模块:开发向导、代码 生成器,商业智能、工作流、报表管理、移动端开发、作业计划、多语言、数据源管理、企业微信、钉钉、消息管理,菜单 管理,用户管理,机构管理,角色管理,区域管理,字典管理,日志查询等基础模块。
Snaker工作流引擎本着轻量、简单、灵巧理念设计。
一、轻量:
1、可以不依赖主流的ioc、orm框架独立运行(使用JDBC+Dbutils)
2、整个jar占用170K
二、简单:
1、流程组件简单。
2、表设计简单(目前只有7张表)
3、上手简单,只需要根据实际的项目环境配置snaker.properties/snaker.xml两个文件即可
三、灵巧:
1、扩展性:暴露较多的可扩展接口,甚至是核心的流程组件(只需在snaker.xml中增加bean的配置即可)。
2、数据持久层面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver。
当然,基于以上三点设计肯定会损失流程引擎的一些特性。所以Snaker目前主要针对中小型项目需要增加工作流特性的系统。
如果,你的项目中部分业务需要使用工作流而觉得JBPM、ACTIVITI开发成本太高时,可考虑Snaker!
我没太看明白你的需求,,,
大致给你个思路
流程单据表(这里不知道你这个表是干什么用的,按我的理解来给你说)
流程定义 流程编号
内容:请假 QJ
借款 JK
然后你的其他几个单据流水号,应该就是单据号
都以流程单据中的流程编号开头
例如请假单据流水号就为QJ20140422,,,,这样为结构
这样的话,你的凭证界面就能和你的流程单据有关联了;
当然也有其他的很多方式,也可以再给你提供一种
流程定义 流程编号 凭证号
内容:请假 QJ 001
借款 JK 002
加入凭证号,然后每种单据也加入凭证号字段,
例如请假单,就默认他的凭证号都为001,这样一样是可以有关联
你可以具体根据实际情况,考虑我给你的方式