BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Alfresco发布Activiti项目——基于Apache 2许可的BPM引擎

| 作者 Josh Long 关注 7 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2010年5月26日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

本周一,知名的企业内容管理(ECM)系统提供商Alfresco Software 发布了开源的业务流程管理(BPM)项目——Activiti,该项目由jBPM创建者,前JBoss jBPM领导与BPM权威Tom Baeyens主持大局。前jBPM团队成员Joram Barrez此前也加入了该项目,成为Activiti的核心开发人员。长久以来,Alfresco一直将jBPM嵌入到其产品当中,今后也将继续对其提供支持。最后,Alfresco将在今后的产品发布中将Activiti纳入进来。

Activiti是个全新、基于Apache 2许可的开源项目,提供了轻量级、嵌入式的BPM引擎并支持BPMN 2.0。在当今BPM市场中存在太多的规范,但没有一个能够解决BPM引擎或是工作流引擎所遇到全部问题。BPEL最为人诟病之处在于限制太大,如果运行时模型需要构建非常复杂的流程时BPEL就帮不上什么忙了。更令人感到困惑的是,BPMN 1.0出来后指定了一整套符号集来描述流程,但却没有说明执行语义,这与BPEL别无二致。很多厂商表示要构建能与BPEL进行双向转换的BPMN工具,但这是不可能的,因为BPMN中的很多东西都无法在BPEL中描述。

很多引擎都提供了其他选择,比如jBPM。jBPM提供了一个叫做jPDL的简单、私有的XML语法,可以手工编写该XML文件并嵌入到应用当中。

Activiti采取的是另一种方式,它使用了BPMN 2.0,后者定义了执行语义和可视化的流程描述。这为业务分析师和工程师们提供了一种标准、直观、双向的环境来解决流程的运行时展示问题。与jBPM(事实上,包括任何优秀的工程项目)一样,Activiti将流程模型从语言中解耦出来,这样就可以在该模型之上使用其他流程语言了。与jBPM不同的是,Activiti并没有使用私有格式,因为私有格式还需要转换为BPMN 2.0,而这一点容易给人造成困扰,它使用BPMN 2.0作为原生格式。

Activiti还带有一个可视化的建模器(叫做Acitviti Modeler),可以对非常复杂的图形建模。BPMN 2.0使用起来也非常简洁和方便。虽说有些地方要比jPDL繁琐,但Activiti在schema中引入了“快捷方式”来解决这个问题。这些”快捷方式“最终能转换为合法的BPMN 2.0,因此并不会表现出私有扩展的迹象。

Activiti是轻量级的,能够轻松集成到现有应用当中,这与Spring框架的目标不谋而合。除了本身支持BPMN 2.0之外,我们还可以推测出该工作流引擎其他的应用场景:Spring Web Flow根据网页导航描述工作流、Spring Batch将工作流用于成批处理管道、Spring Integration根据事件”推测“流程状态,诸如此类。SpringSource已经任命Spring Batch项目的领导Dave Syer代表Spring社区参与到Activiti团队中,旨在将BPMN带给Spring用户。

想要尝试Activiti的用户可以看看这个10分钟上手指南,如果想要深入了解Activiti请翻阅Activiti用户指南。目前该项目是独立运作的——作为Alfresco的一部分,但很快就将创建自己的社区

查看英文原文:Alfresco Announces Activiti Project, an Apache 2 Licensed BPM Engine

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Nov 1st by xu huisheng

等待11月Activiti发布正式版。^_^

Re: Nov 1st by 龙 张

楼上莫非是徐会生,看到了你在网上发布的一些jBPM视频,对初学者起了不少的帮助作用。自从jBPM的两元大将离开后,感觉jBPM停滞不前了,不知Activiti能否超出jBPM,成为开源工作流系统新的领军人物

与jBPM4.3何其的相似啊 by 龙 张

刚才看了一下Activiti的网站,其中的指南部分介绍了Activiti的使用方法,与jBPM4.3何其的相似啊,连接口名称、结构都几乎一模一样的,一样的Facade模式,一样的各种Service,相似的配置文件名,完全流露出jBPM创建者的痕迹。看好Activiti

部分Activiti代码 by 龙 张

ProcessEngine processEngine = new Configuration()
.configurationResource(configurationResource)
.buildProcessEngine();

ProcessService processService = processEngine.getProcessService();
TaskService taskService = processEngine.getTaskService();
ManagementService managementService = processEngine.getManagementService();
IdentityService identityService = processEngine.getIdentityService();

简直就是另一个jBPM4.3

Re: 与jBPM4.3何其的相似啊 by 张 鹏

同一批核心人员做的当然一样了,不过也好啊,这样节约学习成本。比较看好基于BPMN2规约的做服务编排的时候可以方便很多。省得转换了。

好强大…… by 郭 峰

在这个帖子里貌似看见 风中叶 老师和 临远 大哥了……

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

6 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT