JBPM学习(1)----概述

来源:互联网 发布:php数组在末尾添加元素 编辑:程序博客网 时间:2024/05/17 23:04

1.             综述

 

JBPM框架入图所示:

JBPM用户包括了process designeruser,group or systemJBPM把这些用户分为两类,如上图中ACTOR的图标所示;JBPM引擎是通过HIBERNATE持久化数据的;

      

   11流程的定义

      

JBPM的流程制定者(process designer),其职责是通过JBOSS JBPM流程绘制工具绘制流程定义,流程定义绘制完毕成XML形式存在,绘制后的文件系统中包括最基本的三个文件和一系列的资源文件(资源文件:比如你在此流程执行过程中需要的类、图片、文档等),最基本的三个文件包括:1processDefinition.xml2gpd.xml3processimage.jpg

processDefinition.xml文件主要描述了流程执行的过程,从processDefinition.xml中我们可以很清楚的知道流程的业务走向,包括业务是从哪里开始执行,怎样才能使业务结束,业务执行过程中经历了哪些事;processimage.jpg主要是以图片的形式描述了流程的业务走向;在用图片形式描述业务流程的时候,要在图片中绘制每个业务节点(所谓业务节点就是业务流程中的步骤),业务节点在图片中所处的位置问题是在gpd.xml中定义每个节点的坐标;

下图就是一张简单的以图片形式展现的网上购物的流程图(processimage.jpg):

 

12流程的部署

 

       流程绘制完成之后,就应该把流程部署在JBPM引擎中,JBPM引擎则会把此流程存入数据库,数据库中有一系列的表用于存放流程中的各中业务节点(业务节点:例如图中的“等待付款”就是业务流程中的一个业务接点,它是在“检验定单”完成之后开始执行的);

 

13流程的使用

 

       流程定义(processDefinition)完成之后可以根据此流程定义由此流程的使用者(actor)(使用者包括用户,组或者另一套软件系统)用JBPM的上下文(JbpmContext)得到一个流程实例(ProcessInstance)(流程实例:我们可以把流程定义描述成一个JAVA类,把流程实例描述成一个JAVA对象,流程定义只是一个定义,它是抽象的,只是以描述的形式存在;流程实例是具体的,是已经开始执行或正在执行的流程。);

       流程是有用户权限的约束的,权限指明了某一个流程只能提供给某一个用户或者某一类用户使用(某一类用户也叫做组);JBPM有自己的用户模块,JBPM把它叫做身份组件,你也可以使用自己的用户模块;

       流程实例生成之后,就可以从流程实例中得到开始节点(比如上图中的“新建订单”,是由买家来完成的),用户就可以执行此任务(task),当用户执行完此任务之后进行流程实例的提交或者此任务的提交,JBPM会保存用户当前的操作,用于下一个任务的开始,任务中有任务清单,通常也叫做表单,表单可以在processDefinition.xml中定义,定义在某一个任务上,定义的内容有表单中每个项的名称,类型等;买家用户执行完“新建订单”之后,卖家就可以查找属于自己的任务列表,任务列表中包含了此订单,卖家可以检验此订单,如果检验通过流程实例就等待执行下一个任务,如果由于买家表单填写不够详细而导致检验不通过,就把任务返还给买家,流程实例又回到最初的任务,买家得重新执行“新建表单”的任务,在这一系列的任务中,表单中的数据是不会丢失的,它是存在数据库中的,我们可以从数据库中检索得到。

       从上一段描述中可以看出,流程实例中的多个任务是有不同的用户执行的,比如“新建订单”是由买家执行的,“检验订单”任务是由卖家执行的,所以任务是有用户权限限制的;

 

解决以下问题的对应文档:

 

1.  如何搭建JBPM的框架?--------------------------------------JBPM框架的搭建.doc

2.  如何绘制JBPM流程图?--------------------------------------JBPM流程图的绘制.doc

3.  如何部署JBPM流程?-----------------------------------------JBPM流程的部署.doc

4.  如何使用部署在JBPM引擎中的流程?--------------------如何使用JBPM流程.doc

5.  如何使JBPMSPRING整和?-----------------------------JBPM整和SPRING.doc

 

阅读文档时所要参照的其他资料:

/资料/ jbpm3帮助文档.chm

/资料/jPdl 参考手册.PDF

 

 
原创粉丝点击