Chinaunix首页 | 论坛 | 博客
  • 博客访问: 982419
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: WINDOWS

2011-03-08 16:39:25

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



当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中,可以打开测试类中的注释,将转换后的流程图输出来。
阅读(903) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-27 20:07:44

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com