FireWorkflow 微内核 VS jBPM流程虚拟机

回复 [最后一篇]
comsci
comsci 的头像
User offline. Last seen 4 天 7 小时 ago. Offline
注册时间: 12/05/2009
积分: 41

客观地说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语法的流程以及他的执行效果

AComplexBpelProcess.JPG

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

  1.     Sequence1 begin!
  2.         Activity1.1 executed!
  3.         If1.2 begin!
  4.             IF_1.2.2 begin!
  5.                 Activity1.2.2.2 executed!
  6.             IF_1.2.2 end!
  7.         If1.2 end!
  8.         While1.3 begin!
  9.             XYZActivity executed!(1)
  10.         While1.3 end!
  11.         While1.3 begin!
  12.             XYZActivity executed!(2)
  13.         While1.3 end!
  14.         Activity1.4 executed!
  15.     Sequence1 end!

复制代码

那么BPEL的语言结构在Fire

工作流

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

While.JPG

BpelGrammerTest.zip (784.

snowfox
snowfox 的头像
User offline. Last seen 6 周 3 天 ago. Offline
注册时间: 03/27/2009
积分: 483

嗯,敢吹这个牛皮也是需要很大的自信和勇气的,呵呵,有时间我得好好研究研究你的FireWorkflow了

评论查看选项

选择您喜欢的显示评论的模式,并点击“保存设置”来保存您所做的改变。