工作流引擎JBPM的持久化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作流引擎JBPM的持久化
工作流引擎JBPM的持久化
【工作流引擎JBPM的定义】
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流
程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
jBPM是公开源代码项目,使用它要遵循ASL(Apache License Version 2.0)和EULA(JBoss
End User License Agreement)协议。
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss 企业中
间件平台的一个组成部分,它的名称也改成JBoss jBPM。
随着jBPM加入JBoss组织,jBPM 也将
进入一个全新的发展时代,它的前景是十分光明的。
【工作流引擎JBPM的特色】
HBMP的最大特色就是它的业务逻辑定义没有采用目前的一些规范,如WfMC´s
XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition
language (jPdl)。
jPdl认为一个业务流程可以被看作是一个UML 状态图。
jPdl就是详细定义
了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义
,直观地描述业务流程。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。
Hibernate是目前Java领域非
常流行的一种数据存储层解决方案,只要是Hibernate 支持的数据库,jBPM 也就支持。
通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。
【工作流引擎JBPM的持久化】
在DB中部署一个简单流程,模拟webapp来进行测试流程执行。
说明:本文不使用流程定义的图形化工具(jboss-ide、eclipse插件)来进行流程定义,
而是直接使用流程字符串来进行部署流程。
1、首先简单介绍一下org.jbpm.JbpmConfiguration类:
1)此类为线程安全的,可做为org.jbpm.JbpmContext(jbpm上下文)的工厂类。
此类一般是指jbpm.cfg.xml此配置文件。
2)JbpmConfiguration实例可以通过两种方式获得:
第一种来自一个资源文件:
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();此
方法在第二节中我们已经见识过了
或者
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance (myXmlResource);这种可以指定配置文件的路径。
第二种来自一个xml字符串:
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString (...);
上述两种方法,注意一下,此类方法的重载方法。
2、贴出代码
TestDeployDefinition
public class TestSimpleDB extends T estCase{
private static JbpmConfiguration jpbmConfig;
static{
//初始化jpbmConfig:使用此方法默认加载的是org/jbpm/default.jbpm.cfg.xml
jpbmConfig = JbpmConfiguration.getInstance();
}
//一、部署流程
public void deployProcessDefination(){
//流程定义的xml数据:此流程分为三个节点:开始节点、s节点、结束结点
String processXML =
"" +
" " +
" " +
"。