工作流引擎的介绍

工作流引擎的介绍


 以前都不知道工作流引擎,最近接触到这个名词,所以做了一个简单的检索和学习,记录一下。

提纲

1、工作流的概念

2、Java领域常用的工作流引擎

1、工作流的概念

================

以请假为例,现在大多数公司的请假流程是这样的:

员工打电话(或网聊)向上级提出请假申请->上级口头同意->上级将请假记录下来->月底将请假记录上交公司->公司将请假录入电脑。

采用工作流技术的公司的请假流程是这样的:

员工使用账户登录系统->点击请假->上级登录系统点击允许。

就这样,一个请假流程就结束了。

有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是:用的。但是这一切的工作都会在上级点击允许后自动运行!

这就是工作流技术。

从上面的例子,很容易看出:

工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善了企业资源利用率、提高了企业运作的灵活性和适应性、提高了量化考核业务处理的效率、减少了时间的浪费。

而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。

2、Java领域常用的工作流引擎

========================

目前Java领域工作流引擎已经好几个了,jBMP3、jBMP4、jBMP5、Acitivity5、SWF等已经比较成熟了。

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

2、jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。

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

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

5、SWF与其说是工作流引擎,不如说是分布式计算调度框架,SWF中只包括Task和History两部分,甚至是每个Task之间如果要传递一些数据的话,都只能通过第三方存储(比如Message Queue或者Redis),不过这也给了编程更大的灵活性,问题是这种灵活性是不是非常需要。

参考资料:

1、三分钟了解Activity工作流引擎,https://blog.csdn.net/fafa211/article/details/79297305,了解工作流的概念,通过例子理解了工作流

2、几大工作流引擎对比,https://blog.csdn.net/u012867699/article/details/78866880?utm_source=debugrun&utm_medium=referral,知道了目前java领域的jBPM3、4、5、Acitivity5、SWF

3、哪家工作流软件好,https://www.cnblogs.com/expert/p/3844581.html

4、http://blog.sina.com.cn/s/blog_53da0d780100t76r.html,读了

猜你喜欢

转载自www.cnblogs.com/zhangzl419/p/9571594.html