??xml version="1.0" encoding="utf-8" standalone="yes"?>
时下的新Chcȝ到我Q一定会认ؓ在下是个十的老古董,q不Q《功夫》这L片子我到今年
2
月底才看。不q看q《功夫》,我想的一定比一般的人多Q周星星迹江湖Q和他胖子大哥出LҎӞZ么要他大哥胸前画两把斧头Q找个假靠山呗!装是斧头帮的人才不会被h啊?/span>
q让我想到年前的一则新闻:
jbpm joins jboss and becomes jboss-jbpm
。也是说了Q?/span>
jbpm
找了个靠?/span>
jboss
Q以后不用自己在外流了?/span>
好,我们转入正题Q谈q里说的三大L开源工作流引擎Q?/span>
Shark,osworkflow,jbpm
?/span>
Shark
的靠山是
Enhydra
?/span>
Enhydra
做过什么呢Q多了!?/span>
j2ee
应用服务器,?/span>
o/r mapping
工具Q到q个工作引擎等{。ؓ什?/span>
Shark
的持久层采用
DODS
来实玎ͼ是因ؓ他们是一家h?/span>
Jbpm
的靠山是
jboss
?/span>
Jbpm3
的持久层采用
hibernate3
来实玎ͼ也是因ؓq个原因吧?/span>
Jbpm3
的图形化程定义已经军_嵌入?/span>
jboss eclipse IDE
中,大家看看
jboss eclipse IDE preview 1.5
版,我们已经可以用插件方式编辑一?/span>
jbpm3
程定义文g了?/span>
Osworkflow
的靠山是
opensymphony
。我是非常喜Ƣ这个组l的Q它做出了很多的好东ѝ在开发工作流理pȝӞ我就推荐用它的另外一个东西:
webwork2
。笔者主持的开源工作流引擎
AgileFlow
是Z
ww2+spring+hibernate
架构实现的?/span>
完成本段时说句题外话Q现在基本上所有的
J2EE
应用E序服务器都有自q工作引擎,如上面提到的
Enhydra,jboss
和没有提到的
websphere
?/span>
weblogic
{,可见Q学习工作流引擎技术的是非常重要的?/span>
光有靠山是不行的Q周星星加入了斧头帮q不是被邪神打扁了头Q要救自己,q是要靠如来掌?/span>
Shark
的流E定义语a?/span>
XPDL
Q我们知道,
XPDL
的两个最重要的概忉|
Process
?/span>
Activity
?/span>
XPDL
中的
Activity
是基?/span>
UML1.x
中的zd囄概念。活动图天生的适于工作程建模Q它相对于状态图的一个最大的优点是容易做q发U程的分叉控Ӟq些q发U程可以同时执行也可以顺序执行;它还有一个优Ҏ有泳道的概念Q可以控制工作流引擎中的d的生?/span>
Shark
的如来神掌是zd图?/span>
Osworkflow
的如来神掌又是什么呢Q我们知道,它有个重要概忉|
State…?/font>
呵呵Q我们知道了Q它的如来神掌是
FSM
。不知道
FSM
是什么东西?Q那你读大学时肯定不是好学生Q当然了Q不知道也不打紧Q你把他cM理解为状态图可以了?/span>
Osworkflow
中的
State
是由
step
?/span>
status
联合表达的,一?/span>
State
是一?/span>
step
中的某个
status
Q?/span>
state
的{换由
action
来驱动,cM状态图中的
event,
因ؓ一?/span>
event
对应一?/span>
action
嘛?/span>
Jbpm
的如来神掌就没有上面的简单了Q它l合应用了状态图
+
zd?/span>
+PetriNet
的知识,而且Q这里的zd图还?/span>
UML2.0
版的?/span>
UML2.0
的活动图中,节点不叫zdQ?/span>
Activity
Q而叫动作
(action)
Q活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一pd的动作,q些动作l成了活动?/span>
Jbpm
?/span>
action
也改名了Q称?/span>
state
?/span>
Jbpm
使用的状态图的概忉|
transition/event
{,q个自己ȝ吧?/span>
Jbpm
来内部实Cq采用了
PetriNet
的概念,?/span>
token,signal
{。什么?又不知道
PetriNet
什么东东?那你大学是学计算机的吗?不是Q那你可能是学文U的Q学机械
/
甉|
/
土木工程
/
交通运输等专业都有接触
PetriNet
的课E,如果没有学过Q还是看?/span>
jbpm
吧,反正我们也不搞理论,知道大致概念p?/span>
做预是件吃力不讨好的事情,好多国外的大师做的预也是被人骂?/span>
…?/font>
q怺我去q年中在《工作流之大局ѝ中做的预测q是基本正确。那时我的预是Q?/span>
Shark…?/font>
登上头号宝座。应该说Q在那篇文章发表前,国内的工作流引擎使用率最高的?/span>
osworkflow;
到去q年底,
Shark
占有了明显的优势地位,我分析有如下原因Q?/span>
1Q?span style="FONT: 7pt 'Times New Roman'">
2Q?/font>
如来掌
3Q?/font>
市场预测
2Q?span style="FONT: 7pt 'Times New Roman'">
因ؓ我自诩?/span>
Shark
工作引擎在国内的主要推q者”,大部分给我反馈工作流理pȝ开发选用技术的朋友都是用的
Shark
3Q?span style="FONT: 7pt 'Times New Roman'">
Shark
的确是一套不错的工作引擎,q你只是想学习
XPDL
Q你也可以从学习
Shark
开?/span>
现在已经C《工作流之大局ѝ中说的从封建社会向资本M转型的时代,而驱动这一转型的,不是别hQ正是上面说?/span>
jbpm
?/span>
Jbpm3
在
3
月发布阿发版,
jbpm3
的最l版支?/span>
bpel4ws
的核心部分。所以,我估计,
Shark
在引领风骚数百天后Q被
jbpm3
赶下W一宝。笔者的开源敏捷工作流开发框?/span>
AgileFlow
整?/span>
jbpm3
Q同时对
agile
引擎?/span>
jbpm3
引擎提供支持?/span>
?/span>
bpel4ws
真的和我们q么快的亲密接触了吗Q没有。我估计在今q它是不会真正走q我们的生活的,那会是什么时候呢Q这是我下文章要预测的内容,我现在可不敢pQ我现在考虑的是Q是不是要自诩?/span>
jbpm3
工作引擎在国内的主要推q者”,呵呵?/span>
转自Q?a >http://blog.csdn.net/hongbo781202/archive/2005/02/28/304751.aspx