工作流引擎采用
jBPM3.1.2
,引擎的流程定义、流程执行和流程监控等功能都经过验证
一、
弃用
Shark
的理由
1)
Shark2.0
的资料是在太少,而且
Shark2.0
还是
beta
版,目前还没有
release
版,本身提供的文档。
1.0
版是
2004
年发布的,现在找下载的地方都困难;
2)
Shark
的持久层是
DODS
,除了
Enhydra
他们,几乎没有人用这个东西,而且评价也不高,
Shark
也没有打算要支持
Hibernate
的意思,感觉和其他开源的项目相反,
Shark
打算把自己封闭起来。现在正是在使用
DODS
时报错,调起来很费力;
3)
Shark
的开发团队更新版本缓慢,怀疑他们的诚意,怀疑
Shark
的前途。
二、
使用
jBPM
的理由
1)
jBPM
目前版本为
3.1
,自带的文档十分丰富齐全,网上相关资料也非常丰富。持久层使用了
Hibernate3.0
,和
Struts
,
Spring
整合也十分容易,与目前开源项目的主流发展方向十分一致,与咱们一般项目的技术结构体系也一致;
2)
jBPM
投靠了
jBoss
,发展十分迅速。
jBPM
的野心是“JBoss jBPM is a powerful workflow, BPM, orchestration (BPEL) and web application pageflow platform that enables the creation of business processes that coordinate between people, applications and services
”,
jBPM
融合了
4
大功能:
Workflow
,
BPM
,
BPEL
,
PageFlow
,对
jBPM
的发展前途很看好。
HongSoft
在《工作流之大局势
(2006
版
)
》中推荐使用
jBPM
;
3)
有点的遗憾是
jBPM
的流程定义语言用的是
JPDL
,不是
WFMC
的
XPDL
,不过这也不是什么问题。
三、
JBPM
的一个订单示例
1)
主页面。页面包含待处理任务列表,以及创建一个新的订单流程实例链接;
2)
新建立一张订单,可以直接在可视化流程图看到当前操作在整个流程中的位置;
3)
用另外一个用户登陆,进入下一个任务环节“
evaluate web order
”;
4)
监控订单。