`
xyz20003
  • 浏览: 293252 次
  • 性别: 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

    Activiti 是一个基于 BPMN 2.0 规范的开源流程引擎,由 Tom Baeyens 创建,他曾是 jBPM 项目的创始人。这个“activiti-userguide-5-16”压缩包文件包含了 Activiti 5.16 版本的用户指南,帮助我们深入理解并有效使用...

    activiti-5.15.1 开源工作流

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

    jbpm-demo-master.zip_DEMO_activiti-master_jbpm-demo_mean3x7

    jbpm-demo-master.zip_DEMO_activiti-master_jbpm-demo_mean3x7是一个包含多个工作流演示项目的压缩包,主要涉及jbpm(Java Business Process Management)和activiti两个流行的工作流引擎。jbPM是JBoss组织开发的一...

    Activiti-5.23.0-release源代码

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

    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

    Activiti5.23.0.zip源码

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

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

    BPMN(Business Process Model and Notation)、jBPM和Activiti是三种广泛使用的工作流管理系统,它们各自有着独特的特性和优势。下面将详细阐述这三者的基本概念、应用场景以及如何学习和掌握它们。 首先,BPMN是...

    Activiti-6x 开源代码

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

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

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

    activiti-学习第一天

    ### 工作流基础知识与Activiti框架详解 #### 一、工作流概念解析 工作流(Workflow)是指“业务过程的部分或整体在计算机应用环境下的自动化”。它旨在通过自动化文档、信息或任务在多个参与者之间的传递流程,实现...

    Activiti工作流详细讲解完整教程.pdf

    创始人Tom Baeyens是JBoss JBPM项目的首席架构师,这使得Activiti从一开始就具备了深厚的技术底蕴和技术优势。 #### 特色 - **Eclipse插件**:Activiti提供了一个专门的Eclipse插件,允许开发人员直接在集成开发...

    Activiti-Designer-5.18.1-20170707.zip

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

    activiti-5.17.0.zip

    1. **流程定义与模型**:Activiti 使用BPMN 2.0标准来定义和建模工作流,这意味着你可以创建复杂的流程图,包括任务、事件、网关和子流程。BPMN 2.0提供了一种标准化的方式来描述业务流程,提高了流程的可读性和可...

    【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5

    "【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5" 这个标题表明这是一个关于jBPM发展历程的综合分析,涵盖了从jBPM3到jBPM5的变迁,并且提到了Activiti5,这是一款与jBPM相关的流程管理框架。标题暗示了文章...

    Activiti(开源bpm软件) v5.22.0 官方版

    activiti工作流是在jbpm4基础上实现的,主要运用于开发OA系统.ERP系统等里面的请假,审批,报销等流程的控制。目的是提高程序员开发效率,解决开发成本等。

    Activiti-6.x.zip

    1. BPMN 2.0支持:Business Process Model and Notation (BPMN) 2.0 是一种图形化表示业务流程的标准, Activiti 6.x全面支持这一标准,允许开发者使用流程图来设计复杂的业务流程,包括任务、事件、网关和流程实例...

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

    jbpm-designer是一款专为jBPM(Java Business Process Management)设计的基于Web的BPMN2.0(Business Process Model and Notation)建模工具。这个工具的主要目的是简化业务流程的设计和管理,使得非技术人员也能...

Global site tag (gtag.js) - Google Analytics