`
xyz20003
  • 浏览: 289843 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

jBPM 创始人发布BPMN原生引擎Activiti-5.0-alpha1

阅读更多
Tom Baeyens也就是jBPM的原作者,离开了Red Hat之后,另起炉灶搞了一个Activiti的项目,这个项目是基于BPMN的原生流程引擎。

那么这个activiti到底有啥好处呢?让咱们一一道来:

它基于的Apache 2.0开源协议,比jBPM的LGPL更加宽松。

它是基于BPMN2.0标准规范的,最大的好处就是可以用oryz这个web流程设计器直接在web浏览器上设计流程了。(注:别高兴太早,oryz是用 svg写的,IE一律不支持。)

它是基于ibatis的,数据库层不再对hibernate有依赖。(注:alpha1只支持h2database,后面的版本会对mysql, oracle,postegl进行支持)

选用BPMN作为标准流程语言,也意味着原来的jBPM里的jPDL流程语言将不会被继续支持,也不知道PVM流程虚拟机是否会继续下去,如果Tom不想玩虚拟机了,activiti很可能就是一个只支持一种流程语言的引擎了。这点确实让人感到有点儿遗憾。

从www.activiti.org这个网站上可以下载到alpha1的发布包,其中包含了源代码,草草看了一下,核心库只有200多K,其中把原来自行实现的IoC自动注入的代码都删掉了。以后的IoC工作可能统一交给spring去管理,这对使用spring的同志来说,无疑是一个天大的好消息。

api部分对外部接口进行了简化,ExternalActivityBehaviour不见了,换成了EventActivityBehaviour,这一点让我感觉很舒服,毕竟signal其实也只是事件的一种特例,换成eventActivityBehaviour之后,也就意味着我们可以让活动节点支持更多事件处理操作了。

持久化部分换成了ibatis,这部分暂时还只支持h2database,脚本什么的也只有h2database的,虽然因为alpha1版本,功能不多情有可原,但是我还是担心使用ibatis会否大幅度增加数据库存储部分的维护量。希望后续发展不要因为这部分的问题遇到障碍。

表结构似乎和原来的jbpm4差不多,有些表名发生了变化。表的数目又少了很多,但是我情愿认为这不是为了优化,而是因为这个版本不成熟,因为看不到 log和history相关的表,所以,现在这个版本应该是没有历史留痕功能的。也没有看到变量表,也许都是用二进制的方式来保存的吧?

对BPMN2支持的部分,目前支持StartEvent, EndEvent, Task和UserTask,其他的都不支持,所以还是需要时间完善的。

实际上Tom和Joram的编码能力还是相当惊人的,从他们俩离开Red Hat到现在才不过两个月,就立刻搞出这么一个东西,而且网站也搞得有模有样的,真心希望他们能延续RoadMap,把这个项目完善起来。

项目首页:http://www.activiti.org/
分享到:
评论
32 楼 comsci 2010-05-24  
关键要看红帽子对BPM产品的发展规划是怎么样的,也许现在JBPM的作者的设计思路并没有和红帽子公司的发展战略产生共鸣吧。。。。
31 楼 ronghao 2010-05-22  
我不太看好Activiti,这一点有很多相似的例子。

相反,我认为作为red hat重要的中间件,jbpm的前途根本不需要担心。

我期望看到的是jbpm5对BI这一块的支持。
30 楼 ronartest 2010-05-21  
楼主能不能换个头像阿,我每次看到都吓倒了,心里总是有点毛毛的 。。
29 楼 xyz20003 2010-05-21  
supercwg 写道
是的,之前我们公司就是想作普元的OEM,基于BPS提供面向客户的解决方案,但基于一些非技术问题还是想探索采用开源的。很佩服您“在jbpm4的基础上而实现通用流程平”的目标,能够成为一个开源项目来让大家参与吗?


因为red hat不允许我单独为jbpm4开辟一个分支,所以我的想法只能继续围绕jbpm4的trunk来进行了。有兴趣的话可以直接在jbpm4官方论坛提出来,一起讨论。

你说的意思可能是希望在国内搞一个jbpm4的圈子,目前我没有这种资源,只能以后再说了。

另外,发一张jbpm5远景规划。

28 楼 supercwg 2010-05-21  
是的,之前我们公司就是想作普元的OEM,基于BPS提供面向客户的解决方案,但基于一些非技术问题还是想探索采用开源的。很佩服您“在jbpm4的基础上而实现通用流程平”的目标,能够成为一个开源项目来让大家参与吗?
27 楼 xyz20003 2010-05-21  
赞成你所说的共性与差异性,赞成国内流程平台这些开源项目提供了更多的功能接口。

不过,我不认为单纯提供了丰富的接口就能达到你之前所说的:“满足国内需求。”须知道,普元也是靠第三方厂商来进行实施的,单纯拿一个BPS出来,并不能直接给客户使用。没有实施过程,直接给你一个流程引擎,你一样会感觉左支右绌,因为通用引擎不是为了某一个特定业务实现的。

所以我更倾向于IBM之类的,一套产品,对应不同行业指定对应解决方案。最终实现大小通吃。
26 楼 supercwg 2010-05-21  
我主要是做政府行业的,也做过其他行业的,但是感觉这些项目做下来以后,很多共性的或类似的需求会反复的遇到,流程需求肯定是存在差异性的,这就要看引擎的定制能力了。之前也看过普元的BPS,也是一个工作流引擎(撇开可视化流程设计,studio的流程定制界面这些忽悠人的东东),纯粹从工作流引擎来说,普元BPS提供的接口还是相当丰富,考虑了很多的需求细节,“流程需求是存在差异性的”但人家都真是考虑了这些差异性了,听说应用效果也还真是不错。其实我一点都不觉得普元BPS引擎会比jbpm4强,但是应该是被认可了,就好像swing做界面是很强,但是却没太多人认同一样。
25 楼 xyz20003 2010-05-21  
supercwg 写道
我想其实我们一直都是跟着jbpm后面走,说不定哪天jbpm5推出来了,又接着跟着走,一两年以后还是在跟着走。开源工作流一直没有解决我们的实际需求,没有直接带来实际价值。但就在我们跟着走的时候,有些人已经开发出可以满足很多常见流程需求的小引擎了,可以解决很多实际问题了,哪怕设计很糟糕功能也不咋样。看了两周的源码了,去掉自带的identity、task、兼容seam、ejb、jboss等东东,感觉最内核jbpm应该是优美而简洁的,加上些中文注释和扩展接口,那么应该是有一个属于我们国内的实战版本的。



这个问题要从两头说,首先我们需要流程引擎,其次我们需要业务平台。流程引擎jbpm4已经比较成熟了,不能说完美,还有改进余地。业务平台方面,jbpm4没办法支撑实际应用。

从这方面来说,我不认为目前的jbpm4可以支撑起一套业务平台,它是更偏向理论技术的实现框架,一定需要进行定制开发才能实现具体业务。

同时,jbpm4也不会为了某些特例业务提供支撑,特有功能应该是第三方合作厂商的事情,流程引擎应该改保持优美而又纯粹。所以,究竟是“属于国内的实战版本”还是“属于某个公司某个行业的实战版本”还值得商榷。不知道supercwg是做什么行业的,但是至少我遇到的政府,金融,通信,制造业的不同客户,对流程需求也是不同的。如何保证在通用的基础上,可以为各种各样不同形式客户的需求进行支撑呢?这个话题有点儿大了。为自己当前的业务进行二次开发,和为更大层面上的不同业务进行支撑毕竟不同。

大放厥词之后,还是要脚踏实地,我的计划是在jbpm4的基础上,一步一步完善基础设施,希望可以先找个一个行业,慢慢丰富流程功能,再努力渗透到其他行业,进而实现通用流程平台的目标,道路还比较遥远,就看我自己能坚持到什么地步了。
24 楼 supercwg 2010-05-21  
我想其实我们一直都是跟着jbpm后面走,说不定哪天jbpm5推出来了,又接着跟着走,一两年以后还是在跟着走。开源工作流一直没有解决我们的实际需求,没有直接带来实际价值。但就在我们跟着走的时候,有些人已经开发出可以满足很多常见流程需求的小引擎了,可以解决很多实际问题了,哪怕设计很糟糕功能也不咋样。看了两周的源码了,去掉自带的identity、task、兼容seam、ejb、jboss等东东,感觉最内核jbpm应该是优美而简洁的,加上些中文注释和扩展接口,那么应该是有一个属于我们国内的实战版本的。
23 楼 xyz20003 2010-05-21  
supercwg 写道
jbpm是不是4.3版就到头了?应该也不会继续大一点的更新了,是吧?好像真的没有能够满足实际需要的开源工作流可选择的了。


我认为不会到头的,可以看一下JIRA中jbpm-4.4的roadmap,正在疯狂的进行bug fix。
https://jira.jboss.org/browse/JBPM
话说jia-4里的趋势图还是比较炫的。


supercwg 写道
之前替换掉IdentityService,因为功能太弱,后来发现Task方面的功能也很弱(要实现多种场景下的会签,联审子流程),也发现功能比较弱需要修改源码。另外,为了IOC这个问题又进一步将代码复杂化(个人比较喜欢用Spring),到了最后,发现我对JBPM的需求是:jpdl + 调度算法 + spring ioc,其他的根本就用不上或者无法用,无关痛痒。只是现在还没看明白如何将最内核的Execution调度这块抽取出来,否则直接维护这个内核就可以了,相关扩展就让大家各自去解决吧。


真是说到关键上了。jBPM强悍的地方就在于流程调度算法。TaskService比较单薄,IdentityService则完全是为了测试用的。

如果有可能的话,是否可以把对源代码的修改提交给官方,这样以后的版本中,就不用你们再费心维护这部分代码了。免得每次升级麻烦。又可以得到全世界开发者的测试,有利于提高代码的健康度。在此,我代表全世界的jbpm开发者谢谢你了。

关于抽离内核的问题,你可以把详细的需求描述一下,我们看看有没有可以下手的地方。(我想,只要把IdentitySession接口丰富起来,再把taskService踢出去,pvm就清爽了。)

22 楼 supercwg 2010-05-21  
之前替换掉IdentityService,因为功能太弱,后来发现Task方面的功能也很弱(要实现多种场景下的会签,联审子流程),也发现功能比较弱需要修改源码。另外,为了IOC这个问题又进一步将代码复杂化(个人比较喜欢用Spring),到了最后,发现我对JBPM的需求是:jpdl + 调度算法 + spring ioc,其他的根本就用不上或者无法用,无关痛痒。只是现在还没看明白如何将最内核的Execution调度这块抽取出来,否则直接维护这个内核就可以了,相关扩展就让大家各自去解决吧。
21 楼 supercwg 2010-05-21  
jbpm是不是4.3版就到头了?应该也不会继续大一点的更新了,是吧?好像真的没有能够满足实际需要的开源工作流可选择的了。
20 楼 jnoee 2010-05-21  
melin 写道
eos工作流为什么在国内企业应用很成功,就是因为了解国内行情,了解企业用户的需求。
基于活动图,自己定义套xml规范,灵活扩展,满足需求就可以了,客户可不关心什么标准不标准,没有bpm、BPMN2使人犯晕之类的概念。不管是jBPM 还是现在的activiti,走的肯定是学院派的路线,难堪大用...
不过现在activiti去掉自己的IOC和使用ibatis。还是比较感兴趣的...


第一次听说eos,很成功了吗?
能不能介绍下有哪些案例?
与JBPM3比较有哪些强项、哪些弱项?
19 楼 wanglifengchao 2010-05-21  
兄弟,留下你的QQ?
18 楼 hantsy 2010-05-20  
开源的工作流不是没有选择,而是太多了,不知道用什么好。
17 楼 loveExtJs 2010-05-20  
支持临远大大
16 楼 xyz20003 2010-05-20  
风险就是要评估一下非正常流程,回退会签,动态子流程之类的风险。如果这类流程太多,还是自己实现标志位比较好。
15 楼 lzmhehe 2010-05-20  
借宝地一问

现在我们都是使用表字段打标志位开发流程
准备尝试一下使用流程引擎
有什么比较好的推荐一下?

学习了一下xyz20003同学的 jbmp4的列子,觉得不错
不知道能否在项目中使用,或者在项目中使用有什么风险

谢谢
14 楼 melin 2010-05-20  
eos工作流为什么在国内企业应用很成功,就是因为了解国内行情,了解企业用户的需求。
基于活动图,自己定义套xml规范,灵活扩展,满足需求就可以了,客户可不关心什么标准不标准,没有bpm、BPMN2使人犯晕之类的概念。不管是jBPM 还是现在的activiti,走的肯定是学院派的路线,难堪大用...
不过现在activiti去掉自己的IOC和使用ibatis。还是比较感兴趣的...
13 楼 黑暗浪子 2010-05-20  
xyz20003 写道
kjj 写道

怪不得,原来我没有商业头脑
客户里如果由有懂行的,你这样做迟早砸了自己的 摊子!!!


我只忽悠别人这样做,自己不会做这种事情的。

kjj 写道
还是对jbpm不看好,过于学院化,要适应应用必须动大手术!!!!


jbpm过于学院派的原因,是否因为官方一直无法得到国内开发时的真实反馈?

BTW,除了jbpm,目前还有哪些开源的免费工作流解决方案?

osflow呢?

相关推荐

    Activiti-5.23.0.zip

    Activiti-5.23.0-release源代码,20200608下载于github。...创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。

    activiti-userguide-5-16

    优秀的轻量级BPMN2.0规范流程引擎——Activiti,由jBPM创始人——Tom Baeyens发起。

    activiti-5.15.1 开源工作流

    activiti-5.15.1 工作流 类似于jbpm 但是 比jbpm 简单些。

    activiti-5.22.0源码(以及 modeler 汉化文件).rar

    Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务 流程图。 官方提供的Activiti-activiti-5.22.0源码包 以及 ...

    activiti-5.21.0 jbpm的升级版本

    activiti-5.21.0的完整包第一部分,受限于60M限制,一共分成两部分下载,包含activiti-5.21 的所有资源,jbpm4的升级版本

    jbpm-bpmn2-5.1.0.Final.jar

    jbpm-bpmn2-5.1.0.Final.jar jbpm5

    Activiti-6x 开源代码

    Activiti-6x 开源代码,Activiti 是一个针对企业用户、开发人员 、系统管理员的轻量级工作流业务管理...创始人 Tom Baeyens 曾经是 JBoss jBPM 的项目架构师,所以之前接触过 jBPM4 的同学,会觉得 Activiti5 很亲切

    工作流bpmn\jbpm\activiti的3个学习指南

    工作流 bpmn、jbpm、activiti的3个学习指南

    jbpm-demo-master.zip_DEMO_activiti-master_jbpm-demo_mean3x7

    jbpm-demo activiti工作流demo工程

    Activiti-5.23.0-release源代码

    创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。 Activiti是一个独立运作和经营的开源项目品牌,并将独立于...

    activiti-5.17.0.zip

    官方下载activiti-5.17.0.zip文档 在Java领域,JBPM和Activity是两个主流的工作流系统毫无疑问Activity是JBPM的升级版

    Activiti5.23.0.zip源码

    创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。 Activiti是一个独立运作和经营的开源项目品牌,并将独立于...

    activiti-5.22.0.zip快速下载绿色下载

    创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。 Activiti是一个独立运作和经营的开源项目品牌,并将独立于...

    Activiti-Designer-5.18.1-20170707.zip

    Activiti eclipse插件。创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。

    jbpm-designer:用于jBPM的基于Web的BPMN2.0 Designer

    jbpm-designer jBPM Designer基于Web的BPMN2建模器。

    工作流插件 jbpm activiti

    工作流插件 activiti-5.15.1 jbpm-4.3 jbpm-4.4 jbpm-jpdl-suite-3.2.3

    activiti-engine5.13

    activiti5.13核心jar包,activiti是jbpm4的升级版,目前属于工作流行业较为流程的技术

    jbpm 5.0 jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版

    jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版

    activiti 5.13用户手册

    创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。 Activiti是一个独立运作和经营的开源项目品牌,并将独立于...

    Activiti-6.x.zip

    activiti6源码

Global site tag (gtag.js) - Google Analytics