JBPM与Activity分析.docx
- 文档编号:30739677
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:9
- 大小:335.33KB
JBPM与Activity分析.docx
《JBPM与Activity分析.docx》由会员分享,可在线阅读,更多相关《JBPM与Activity分析.docx(9页珍藏版)》请在冰豆网上搜索。
JBPM与Activity分析
1概述
这里对现阶段市面上的几个主流工作流引擎进行对比,同时将其与FixFlow进行功能和各方面的对比。
这里选定的目标是JBPM和Activit,现在两者最新稳定版本分别是JBPM5以及Activiti5。
同时这里会讲讲FixFlow这个国产工作流引擎,对于国内用户来说,使我们在几个国外工作流之外又有了更多的选择。
我们可以看到国内的开源流程引擎也可以做到国际级的水平,同时还可以支持加签、会签、回退等这样的“中国式工作流”。
2JBPM和Activiti对比
首先先看看JBPM5和Activiti5,这两者现在可以说是国内外最常见到的开源工作流引擎。
如果总管两者的发展史会发现两者的奠基人都是来自于一个叫TomBaeyens的人。
所以就会发现JBPM系列和Activiti系列的风格方面有很多相似,而Activiti看起来更像是JBPM的后续发展。
2.1从JBPM3到Activiti5
从架构层面上来看JBPM3的架构为:
从这张图可以很清晰的看出JBPM的技术架构,可以说作为一个工作流引擎应该有的成分:
设计器、控制台、流程引擎、引擎数据库这几者已经明显的标注之上,在后续的各个工作流引擎中这种架构都没有颠覆性的变化。
这里我们来看一下JBPM5的架构
他引入了规则引擎Drools,规则引擎负责了整个流程引擎的运转,而知识仓库的存在。
让面向流程的知识管理有了更直观的认识,事实上JBPM的代码操作几乎都是从知识库类开始的。
这张图很好的表现出了一个以BPMS为方向的流程产品应该是什么样的架构模式。
如果说JBPM是产品经理的造物的话,那么Activiti就是技术人员的杰作,Activiti更多的精力是放在了技术架构的精妙。
其易用性方面是JBPM难以比拟的。
集成一个Activiti的难度要远低于JBPM,同时JBPM业务化的api体系也着实让技术人员有些头疼。
这张图就是Activiti的架构图,可以看出这张图与其说产品架构图,更有点像技术架构图。
在产品层面上,其知识库的概念还没有完全突出出来。
所以说对两者来说,JBPM的产品架构很不错,而Activiti的技术架构比之要强。
两者可以说各有所长,不过他们之间有一些已经确定的共识。
两者其实都在往BPMS的方向前进。
2.2优势与共同点
1.如何设计流程,在组织中高效地对设计出的流程进行沟通,取得共识?
∙提供跨越组织的流程标准标记符号与术语(BPMN已经成为标准)
∙流程及相关文档的可视化(流程/内容存储仓库)
∙提供在组织结构内进行不同层次之间的流程导航(流程存储仓库支持组织模型)
∙流程定义在各个层次/部门间的一致性,避免业务人员的流程建模转换到IT系统时受到损耗(流程引擎支持基于图的建模,支持扩展)
2.如何更好地执行流程?
∙业务活动的实时监控,预警与控制(BAM)
∙流程执行的仿真
∙流程执行的统计分析与反馈(报表)
3.如何更好地管理流程?
∙打破各个应用系统之间的界线,统一管理所有流程(EAI,与ESB的集成)
∙对业务人员友好的建模工具
4.如何在执行流程过程中遵循业内最佳实践和规则?
∙面向流程的知识管理
∙规则引擎
3FixFlow
JBPM和Activiti如此强大,那么国内也有很多厂商已经在使用了,但是在实际项目里得到的统一结果可能就是“不咋地”。
这很简单,因为相比起SSH这样的框架,工作流与业务更贴近,因此对其灵活度的要求就更高。
更高的灵活度就意味着更多可定制化成分。
因此比如我们想造一辆汽车,SSH可以给我们的可能是生产线、发动机这样成品式的组件,而JBPM和Activiti给我们的则是油漆铁板这样的原材料。
其主要问题主要在:
3.1JBPM和Activiti的中国化
JBPM和Activiti已经被国内大量程序员所了解并加入到所使用的项目中。
这两者也是国内架构人员的座上宾。
但是在使用中真的如此顺利么?
笔者也曾用过这两者,也和用过两者的同行做过一些交流。
我们认为这两者对于国产使用实际效果不佳。
尤其在面对中国工作流需求时,两者不但没有提高更多帮助,反而使用户感觉掣肘。
3.1.1API复杂,学习曲线高
正是由于业务的高可变性,开源的工作流引擎必须提供更多的api以供使用。
这种复杂的API使程序员上手非常困难,使用者与其是被自己的业务捆住不如说是被困在寻找各种API的路上。
3.1.2沟通成本高,反馈困难
大型的开源工作流产品无一例外是由国外团队维护,与其沟通并非容易的问题。
3.1.3从引擎到应用必须经过二次开发
国外的工作流引擎在使用前一定会有架构师进行本地封装,有些是根据特定应用进行的封装,有些事通用的封装。
这里JBPM的封装难度就比较大,而Activiti则稍小,不过依然是一件比较痛苦的事情。
3.1.4国内只拿到引擎,而没有学会BPMS架构
之前也说过BPM最大的客户价值在于BPMS,这些正是各大工作流引擎所追寻的目标所在。
客户为何要用工作流,工作流能为其带来什么好处?
工作流绝不仅仅是对项目开发减少维护难度,更多是为各种切片分析提供详细的数据基础。
市面上虽然有一些分析类的产品
3.1.5中国式工作流
国外工作流引擎最大的一个问题还是无法适应中国式工作流,加签、会签、任意节点退回等等中国特有的管理模式,使国外的工作流无法原生支持这些内容,必须要经过复杂的二次开发才能支持起来。
3.2FixFlow能带来什么
FixFlow是FixTeam带来的一款开源工作流引擎,这款工作流引擎有以下特点。
FixTeam是方正国际旗下的BPMCS开发小组,其BPMCS开发平台以是国内极具影响力的主流开发平台。
FixFlow其技术架构上走的是Activiti路线,同时为了方便使用,采用了更符合程序员使用习惯的API体系。
提供了完整的中文本地化支持,同时还支持了各种中国式工作流。
该引擎源自方正国际的BPMCS开发平台,该项目已有大量项目在线稳定运行,保障了其运行效率和稳定性。
其主要优势如下
3.2.1数十年积淀,运行稳定
FixFlow流程引擎源自于BPMCS,BPMCS本身是一款已经发展数十年的开发平台。
项目组人员把平台的流程引擎单独抽取出来成了FixFlow,他拥有BPMCS里所有的流程引擎功能。
目前已有福田康明斯、世纪互联、邮政储蓄银行、华东勘测设计院等多加公司正在使用这款流程引擎。
3.2.2优质的本地化支持
FixFlow现在在GITHub上存放源代码,使用者可以在上面提出自己的问题与bug。
或者也可以加入QQ群152654373,同样可以获取最及时的交流帮助。
3.2.3完整的BPMS支持
FixFlow不仅仅是一个简单的开源工作流引擎,对于企业级用户来说,可以以FixFlow为中心获取BI报表、业务活动监控BAM、开发平台等全方位的支持。
3.2.4BPMN2.0标准化
FixFlow是国内首家全面支持BPMN2.0的开源工作流引擎。
任何标准化设计器设计出来的BPMN配置文件,都可以直接拷贝至FixFlow里直接使用
3.2.5Groovy脚本语言
FixFlow是国内首家使用脚本语言作为核心的开源工作流引擎。
这样其流程运转的维护难度大大降低。
3.2.6插件式图形设计器
FixFlow所有的流程和所有流程配置都可以在设计器上完成。
通过配置就可以完成所有的可配置项。
3.2.7嵌入式工作流
JBPM和Activiti的创始人TomBaeyens曾说过独立式工作流已死。
确实,其因有两个:
一是独立部署的BPMS需要很高的安装使用成本,需要独立部署、需要用户支出大量的培训成本和维护成本;二是独立部署的BPMS与外部系统的交互方式是分布式,这使得很多问题变得复杂,例如分布式事务。
TomBaeyens代表了相当一部分人特别是开发人员的观点。
该观点实际上有些片面,其实应该更深入理解里面的内容。
准确来说BPMS应该分成两部分来看,一部分是工作流引擎,一部分是工作流知识库和相关应用(BAM、BI)。
TomBaeyens提出的很多问题其实都是工作流引擎单独部署带来的,如果工作流引擎单独在外,那么所有的系统与其交互必然成本高昂,如果其他功能再有所问题则整套体系都显得脆弱不堪。
可是如果每个系统各自为政,就会出现网状交织的系统部署情况,这种情况对于信息化后续发展来说无疑是一剂毒药。
所以该观点的准确理解是流程引擎嵌入化,流程引擎应该是嵌入到每个系统之中,这样对于程序开发人员来说无疑是福音。
而流程的管理系统系统应该集中化,建立流程知识库,让知识库统一管理,做到集中化。
同时多系统串联应该引入ESB,做到应用调用流程,流程调用ESB,然后ESB再去调用注册服务的应用这样的调用结构。
3.2.8API简单易集成
嵌入式工作流引擎其优点就是可以集成到其他系统中,这个系统无论是已经开发完成的系统,还是架构中的系统都可以把引擎集中到里面。
该引起来自于开发平台,所以易用性是绝对有保障的,集成难度远低于各个开源工作流引擎。
只要了解一些基本的Spring知识,就可以将其轻松完成集成工作。
FixFlow所有的API都是来自于FixFlowShellProxy这个类作为调用起始。
学习周期很短。
3.2.9商业化支持
FixFlow也有其商业版,如果使用者希望得到企业级的技术支持,可以从方正国际获取到商业版的FixFlow以及相关支持。
4总结
如果你现在正在使用JBPM或者Activiti,那么你应该已经感觉到这两款引擎所带来的好处与坏处。
此时有了一个新的选择FixFlow,再架构新项目的时候可以再也不用为“中国式工作流”进行复杂的逻辑封装。
这里附上关于FixFlow的几个地址
GIT地址:
官网地址:
下载地址:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JBPM Activity 分析