工作流引擎采用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) 监控订单。
