Fire workflow的IOC容器 vs Jbpm4的IOC容器

前几天看到ronghao网友写了一篇帖子“Jbpm4的IOC容器[url]http://www.iteye.com/topic/381607[/url]”,正好这几天在写Fire workflow1.0的文档,写到IOC容器这一章节。于是心血来潮,拿出来PK一下。 :wink:

其实,[size=medium][b]Fire workflow根本没有IOC容器![/b][/size]

我没有忽悠大家,Fire workflow真的没有IOC容器。那么怎么和Jbpm4的IOC容器PK呢?

[size=medium][b]Fire workflow可以将任何第三方IOC容器当作自己的容器,缺省使用Spring[/b][/size]。

容器的作用是为引擎创建Bean的实例,充分利用第三方容器可以使得引擎和业务代码集成得更加优雅。

在Fire workflow 1.0中,定义了一个新的服务,叫做Bean Factory Service。该Service的接口如下图。
[img]http://nychen2000.iteye.com/upload/attachment/104346/d00e80f7-73a3-36a4-9c39-d7f15f0586b1.png[/img]

1.0中,bean factory的缺省实现是org.fireflow.engine.beanfactory.SpringBeanFactory,以Spring ioc容器作为BeanFactory,如下图

[img]http://nychen2000.iteye.com/upload/attachment/104350/bc865615-4025-3302-9fda-35723a3c37c4.png[/img]


下面,以与用户管理系统的集成为例,说明bean factory的优点。假设某Task的AssignmentHandler设置如下图。
[img]http://nychen2000.iteye.com/upload/attachment/104352/0783d9d6-b48f-3cba-b9fe-faeda0314e6c.png[/img]


工作流Engine需要通过bean factory服务获得上图中的org.fireflow.example.workflowextension. RoleBasedAssignmentHandler的实例。在使用SpringBeanFactory的情况下,该bean的配置如下图。从图中可以看出,RoleBasedAssignmentHandler可以很方便的引用到业务系统的UserDAO实例。业务代码和工作流引擎优雅地集成在一起了!

[img]http://nychen2000.iteye.com/upload/attachment/104354/e8c1b993-5878-389a-b14e-2d1cc5ce0a0b.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值