JBPM与Activity分析
更新时间:2024-04-25 00:22:01 阅读量: 综合文库 文档下载
- jbp美白丸效果咋样推荐度:
- 相关推荐
1 概述
这里对现阶段市面上的几个主流工作流引擎进行对比,同时将其与FixFlow进行功能和各方面的对比。这里选定的目标是JBPM和Activit,现在两者最新稳定版本分别是JBPM5以及Activiti5。
同时这里会讲讲FixFlow这个国产工作流引擎,对于国内用户来说,使我们在几个国外工作流之外又有了更多的选择。我们可以看到国内的开源流程引擎也可以做到国际级的水平,同时还可以支持加签、会签、回退等这样的“中国式工作流”。
2 JBPM和Activiti对比
首先先看看JBPM5和Activiti5,这两者现在可以说是国内外最常见到的开源工作流引擎。如果总管两者的发展史会发现两者的奠基人都是来自于一个叫Tom Baeyens的人。所以就会发现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.
?
面向流程的知识管理
?
规则引擎
3 FixFlow
JBPM和Activiti如此强大,那么国内也有很多厂商已经在使用了,但是在实际项目里得到的统一结果可能就是“不咋地”。这很简单,因为相比起SSH这样的框架,工作流与业务更贴近,因此对其灵活度的要求就更高。更高的灵活度就意味着更多可定制化成分。因此比如我们想造一辆汽车,SSH可以给我们的可能是生产线、发动机这样成品式的组件,而JBPM和Activiti给我们的则是油漆铁板这样的原材料。其主要问题主要在:
3.1 JBPM和Activiti的中国化
JBPM和Activiti已经被国内大量程序员所了解并加入到所使用的项目中。这两者也是国内架构人员的座上宾。
但是在使用中真的如此顺利么?笔者也曾用过这两者,也和用过两者的同行做过一些交流。我们认为这两者对于国产使用实际效果不佳。尤其在面对中国工作流需求时,两者不但没有提高更多帮助,反而使用户感觉掣肘。
3.1.1 API复杂,学习曲线高
正是由于业务的高可变性,开源的工作流引擎必须提供更多的api以供使用。这种复杂的API使程序员上手非常困难,使用者与其是被自己的业务捆住不如说是被困在寻找各种API的路上。
3.1.2 沟通成本高,反馈困难
大型的开源工作流产品无一例外是由国外团队维护,与其沟通并非容易的问题。
3.1.3 从引擎到应用必须经过二次开发
国外的工作流引擎在使用前一定会有架构师进行本地封装,有些是根据特定应用进行的封装,有些事通用的封装。这里JBPM的封装难度就比较大,而Activiti则稍小,不过依然是一件比较痛苦的事情。
3.1.4 国内只拿到引擎,而没有学会BPMS架构
之前也说过BPM最大的客户价值在于BPMS,这些正是各大工作流引擎所追寻的目标所在。客户为何要用工作流,工作流能为其带来什么好处?工作流绝不仅仅是对项目开发减少维护难度,更多是为各种切片分析提供详细的数据基础。市面上虽然有一些分析类的产品
3.1.5 中国式工作流
国外工作流引擎最大的一个问题还是无法适应中国式工作流,加签、会签、任意节点退回等等中国特有的管理模式,使国外的工作流无法原生支持这些内容,必须要经过复杂的二次开发才能支持起来。
3.2 FixFlow能带来什么
FixFlow是FixTeam带来的一款开源工作流引擎,这款工作流引擎有以
下特点。FixTeam是方正国际旗下的BPMCS开发小组,其BPMCS开发平台以是国内极具影响力的主流开发平台。
FixFlow其技术架构上走的是Activiti路线,同时为了方便使用,采用了更符合程序员使用习惯的API体系。提供了完整的中文本地化支持,同时还支持了各种中国式工作流。该引擎源自方正国际的BPMCS开发平台,该项目已有大量项目在线稳定运行,保障了其运行效率和稳定性。其主要优势如下
3.2.1 数十年积淀,运行稳定
FixFlow流程引擎源自于BPMCS,BPMCS本身是一款已经发展数十年的开发平台。项目组人员把平台的流程引擎单独抽取出来成了FixFlow,他拥有BPMCS里所有的流程引擎功能。目前已有福田康明斯、世纪互联、邮政储蓄银行、华东勘测设计院等多加公司正在使用这款流程引擎。
3.2.2 优质的本地化支持
FixFlow现在在GIT Hub上存放源代码,使用者可以在上面提出自己的问题与bug。或者也可以加入QQ群152654373,同样可以获取最及时的交流帮助。
3.2.3 完整的BPMS支持
FixFlow不仅仅是一个简单的开源工作流引擎,对于企业级用户来说,可以以FixFlow为中心获取BI报表、业务活动监控BAM、开发平台等全方
位的支持。
3.2.4 BPMN2.0标准化
FixFlow是国内首家全面支持BPMN2.0的开源工作流引擎。任何标准化设计器设计出来的BPMN配置文件,都可以直接拷贝至FixFlow里直接使用
3.2.5 Groovy脚本语言
FixFlow是国内首家使用脚本语言作为核心的开源工作流引擎。这样其流程运转的维护难度大大降低。
3.2.6 插件式图形设计器
FixFlow所有的流程和所有流程配置都可以在设计器上完成。通过配置就可以完成所有的可配置项。
3.2.7 嵌入式工作流
JBPM和Activiti的创始人Tom Baeyens曾说过独立式工作流已死。确实,其因有两个:一是独立部署的BPMS需要很高的安装使用成本,需要独立部署、需要用户支出大量的培训成本和维护成本;二是独立部署的BPMS与外部系统的交互方式是分布式,这使得很多问题变得复杂,例如分布式事务。Tom Baeyens代表了相当一部分人特别是开发人员的观点。
该观点实际上有些片面,其实应该更深入理解里面的内容。准确来说BPMS应该分成两部分来看,一部分是工作流引擎,一部分是工作流知识库
和相关应用(BAM、BI)。Tom Baeyens提出的很多问题其实都是工作流引擎单独部署带来的,如果工作流引擎单独在外,那么所有的系统与其交互必然成本高昂,如果其他功能再有所问题则整套体系都显得脆弱不堪。可是如果每个系统各自为政,就会出现网状交织的系统部署情况,这种情况对于信息化后续发展来说无疑是一剂毒药。
所以该观点的准确理解是流程引擎嵌入化,流程引擎应该是嵌入到每个系统之中,这样对于程序开发人员来说无疑是福音。而流程的管理系统系统应该集中化,建立流程知识库,让知识库统一管理,做到集中化。同时多系统串联应该引入ESB,做到应用调用流程,流程调用ESB,然后ESB再去调用注册服务的应用这样的调用结构。
3.2.8 API简单易集成
嵌入式工作流引擎其优点就是可以集成到其他系统中,这个系统无论是已经开发完成的系统,还是架构中的系统都可以把引擎集中到里面。
该引起来自于开发平台,所以易用性是绝对有保障的,集成难度远低于各个开源工作流引擎。只要了解一些基本的Spring知识,就可以将其轻松完
成集成工作。
FixFlow所有的API都是来自于FixFlowShellProxy这个类作为调用起始。学习周期很短。
3.2.9 商业化支持
FixFlow也有其商业版,如果使用者希望得到企业级的技术支持,可以从方正国际获取到商业版的FixFlow以及相关支持。
4 总结
如果你现在正在使用JBPM或者Activiti,那么你应该已经感觉到这两款引擎所带来的好处与坏处。此时有了一个新的选择FixFlow,再架构新项目的时候可以再也不用为“中国式工作流”进行复杂的逻辑封装。
这里附上关于FixFlow的几个地址 GIT地址:https://github.com/fixteam 官网地址:https://github.com/fixteam 下载地址:https://github.com/fixteam
正在阅读:
JBPM与Activity分析04-25
高中理科数学解题方法篇方程与函数04-12
《旅游资源的分类与特性》导学案.doc06-08
今日基督徒普遍的可怜的光景01-26
机关党组织战斗力得到进一步增强座谈会发言08-30
rjw7100手提式防爆探照灯和手提式防暴探照灯价格04-13
证券从业考试通关经验-谭铧08-14
18m跨度三角形钢结构设计要点03-23
XX-XX学年第一学期高三年级工作计划02-29
- 1Structural Knowledge Discovery Used to Analyze Earthquake Activity
- 2Activtiy完全解析(一、Activity的创建过程)
- 3jBPM-jPDL学习笔记—框架设计简介(一)
- 4Android学习笔记(3)-Activity的生命周期
- 5Android窗口管理服务WindowManagerService切换Activity窗口(App
- 6Android学习笔记(3)-Activity的生命周期
- 7Activtiy完全解析(一、Activity的创建过程)
- 8Safety, Activity, and Immune Correlates of Anti–PD-1 Antibody in Cancer
- 9jBPM-jPDL学习笔记—框架设计简介(一)
- 10Activity-based costing approach in the measurement of cost of quality in SMEe a case study
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Activity
- 分析
- JBPM
- 2006-2008浙江省建设工程造价员(园林)资格考试真题 - secret[1
- 坚持从严治警从优待警
- 青岛市市容和环境卫生管理条例(2017)
- JT叔叔伤寒杂病论慢慢教课程3(上)详解
- 机械员备考练习题 - 图文
- 桥梁设计说明
- 西安电子科技大学电磁场大作业 - 图文
- 明清淮安河下徽州盐商研究
- 这个世界独缺莽撞人
- 部编教材七上语文 天的怀念 基于标准的学历案
- 凌科芯安告诉您如何选择真正有效的加密芯片
- 建设监理综合练习题
- 工程机械按揭贷款合作协议
- 2012年1-12月党员政治学习笔记
- 关于职业倦怠的文献综述
- 咏柳练习题
- 2017年工程咨询继续教育公路建设项目基本建设程序试卷90分
- 审计试题
- 婚礼主持全过程台词
- 全国咨询工程师(投资)100分试题