jBPM4.4详细讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

jBPM4.4

一、什么是jBPM

JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。

java Business Process Management :工作流,工作流引擎

注:记得j小写,因为j代表java,与Log4j中j一样

工作流管理系统不止一中,如还有Intaliol BPMS …但JBoss jBPM灵活性且扩展性高。

jBPM项目于2002.3由Tom Baeyens 发起,2003.12发布1.0版本,2004年10.18发布

2.0,并在这天加入了JBOSS组织-→被RedHat公司

二、能干什么

提供工作流的实现,帮助更好的进行BPM

三、jBPM有什么,简介jBPM的Service API 各种服务

1:ProcessEngine:流程引擎。并不负责具体的业务,而是用于获取各种Service。

2:RepositoryService:流程资源服务的接口,如流程定义发布、查询、删除等。

3:ExecutionService:用于操作流程实例的服务,可以进行流程实例发布、查询、流程推进、设置流程变量等操作。

4:TaskService:用于操作人工任务的服务,可以进行任务创建、查询、获取、提交完成、保存、删除等操作。

5:HistoryService:用于操作流程历史的服务,提供对流程历史库(就是已经完成的流程实例)的操作。比如:历史流程实例,历史活动实例等。

6:IdentityService:用于操作用户、用户组以及成员关系的服务

7:ManagementService:流程管理控制服务的接口,只提供异步工作(Job)相关的执行和查询操作。

四、Myeclipse8.5 搭配开发环境

1.jbpm-4.4.zip 下载完

2.myeclipse→help→Myeclipse Configuration Center →add…….

3.找到\jbpm-

4.4\install\src\gpd\jbpm-gpd-site.zip 安装这个插件

4.记得不要联网安装,不要选source文件

5.安装完后window→JBoss jBPM→runtime Location→add 添加jbpm的路径

6.添加lib下所有jar包,如果你使用的是tomcat6.0则:要把

Juel-api.jar ,juel-impl.jar,juel-engine.jar 拷到tomcat lib 下并把原来的el-api.jar删掉

项目中就不要再导上面三个包

五、修改配置文件

1、将example中的下列配置文件拷贝到java项目的src目录下:

jBPM.cfg.xml、jBPM.hibernate.cfg.xml、jBPM.mail.properties、

jBPM.mail.templates.xml、process_forms.css

2、在以上配置文件中的jBPM.hibernate.cfg.xml,实际上就是我们熟悉的

hibernate.cfg.xml,这里,要修改为连接我们的数据库。

name="connection.driver_class">oracle.jdbc.driver.OracleDriver

name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl

test

test

org.hibernate.dialect.Oracle9iDialect

3、在这里还需要强调,其中的一个配置:

create-drop

如果这个配置存在的话,那么每次操作数据库都会把原来的数据表干掉,然后

重新建立。所以,我们在第一次访问数据库的时候打开它,以后则关闭。

六、工作方式

采用xml定义流程方式,这Xml代码既可以直接放在java中,也可以单独存在一个xml文件中,然后我们对其进行解析。

ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(“…”)

ProcessDefinition.parseXmlResource("helloWorld.xml");

七、JPDL学习

JPDL(JBPM Process Definition Language)是构建于jBPM框架上的流程语言之一。

JPDL详细定义了这个状态图的每个部分,如: 开始、结束状态,状态之间的转换等。这种语言的定义对于用户来说比较容易理解,也比较容易对其进行扩展。一个JBPM的流程定义XML文件中包含一个< process-definition>元素,而一个< process-definition>元素又包含零个或一个< description>元素,零个或多个的< swimlane>元素,一个< start-state>元素,零个或多个的< state>元素或< decision>元素或< fork>元素或< join>元素,以及零个或多个的< action>元素,零个或多个元素,一个< end-state>元素等等。此外,< process definition>元素有一个标示符,以“name”属性来表示,这个属性必须存在,用来表示该流程的名称。

在jPDL中提供了任务(tasks)、待

处理状态(wait states)、计时器(timers)、自动处理(automated actions)…等术语,并通过图型化的流程定义,很直观地描述业务流程。

总结:可以理解为一个产生XML的图形化设计建模软件。

八、流程定义(ProcessDefinition)

就是对一个流程抽象的对象化定义。一套系统中,用户可以定义并保存多个流程定义实体,如:报销流程定义、请假流程定义、人事录用流程定义等。

流程节点:

是对流程中的过程环节/行为的抽象对象化定义。结点有两个主要职责:一,实现某个指定行为,这在jBPM中就是执行一段制定的Java代码;二,传递、

维持流程的延续,直至达到最终结点。

流程实例(ProcessInstance):

流程实例是流程定义的运行时状态,它记录了一个流程运行的起始时间、结束时间等状态信息。

任务实例(Task):

用来描述一个任务实例对象,可以分配给指定的操作者处理,当任务完成后,将触发流程继续向下流转。任务实例的生命周期很简单,生成实例-->处理-->

任务结束。

九、ProcessEngine流程引擎

相关文档
最新文档