论坛首页 Java企业应用论坛

FireWorkflow微内核 vs jBPM流程虚拟机

浏览 3503 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-13   最后修改:2009-10-13

客观地说jBPM还是不错的,虽然我没有在项目中用过IBM,oracle等产品,但是我感觉jbpm比这两个大公司的产品好用,大公司的bpm产品纯粹徒有虚名。

这里,我不得不说,当前Fire workflow比jBPM还是要强一点点, 。我碰到很多人,非常迷信jBPM的流程虚拟机。对此我相当不以为然,本来计划写一系列的文章比较一下这两款产品,但是由于时间的问题,这个计划又要延迟了,甚至有点无限延迟的意思了。

今天我终于抽出时间,向大家再次吹一个牛皮,就是告诉大家如何在Fire workflow上面做一点简单的定制就能实现BPEL语言。在Fire 微内核上实现BPEL要比jBPM PVM漂亮N倍.

我没有时间实现完整的BPEL,只是实现了BPEL中的Sequnce, IF,While等语法。在附件中是一个完整的Eclipse项目,已经写好了测试用例,大家可以试验。

实现BPEL语法基本上只要在Fire 上增加3个类即可
BpelTranslator :实现Bpel语法到Fire 流程模型的转换
ActivityInstanceExtension,SynchronizerInstanceExtension :响应微内核事件驱动BPEL语言。

下面是一个复杂的BPEL语法的流程以及他的执行效果

复杂BPEL语法

当x=1,a=2,b=2时,执行结果如下:

    Sequence1 begin!
        Activity1.1 executed!
        If1.2 begin!
            IF_1.2.2 begin!
                Activity1.2.2.2 executed!
            IF_1.2.2 end!
        If1.2 end!
        While1.3 begin!
            XYZActivity executed!(1)
        While1.3 end!
        While1.3 begin!
            XYZActivity executed!(2)
        While1.3 end!
        Activity1.4 executed!
    Sequence1 end!
 

 


那么BPEL的语言结构在Fire 工作流网中表现为什么样子呢?下面这个图是While在Fire工作流网中的结构,在附件中的project中,可以打开测试类中的注释,将转换后的流程图输出来。

while转换后

 

  • 大小: 34.7 KB
  • 大小: 13.4 KB
   发表时间:2009-12-07  
您好:
     看了您的两篇关于工作流的文章,感觉您对工作流很了解,能否看下这个简单工作流框架,谈谈这个简单工作流的问题在哪里,和成熟工作流产品的差距在哪、?请务必详细些,谢谢!
0 请登录后投票
   发表时间:2009-12-08  
zhoutao_bj 写道
您好:
     看了您的两篇关于工作流的文章,感觉您对工作流很了解,能否看下这个简单工作流框架,谈谈这个简单工作流的问题在哪里,和成熟工作流产品的差距在哪、?请务必详细些,谢谢!


你要我看一下哪个“简单工作流框架”啊?是Fire workflow吗?

这个Fire Workflow就是我写的啊。哈哈。
0 请登录后投票
   发表时间:2009-12-11  
一个软件成熟与否要看应用的程度,如果应用的广泛,经过反馈后 ,自然就要成熟些,用户越多,反馈越多,就越成熟,开源产品的成熟度和商业产品的成熟度都是来自于用户的反馈以及建立在反馈基础上面的修改
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics