/doc 该目录存放 jPDL 的相关说明文档,包括用户指南、Java API 文档等
/server (套件包中才有) 该目录存放了配置好的 jBoss 和控制台程序,Windows 下双击 start.bat 可立即执行。数据库使用 HSQL,存放于/server/server/jbpm/data 下。
jPDL 业务流程模型
理解现实生活中的业务流程
下面我们通过一个简单的部门借款流程来了解现实中的业务流程概念,流程图如下:
上图表达了一个抽象的流程定义(Process De?nition)。之所以称之为抽象,是因为它没有表示确切的执行者。当上述的借款人被具体化为“张三”,部门主管就成为张三的部门经理“李四”,而财务
则明确为“王五”的时候,这个流程定义就被具体化,成为了一个流程实例(Process Instance)。此外,过程中的相关人员我们称之为参与者(Actor);过程中需要参与者介入的环节称之为任务
(Task);每个任务在流程实例中的具体化称之为任务实例(Task Instance);从一个任务(结点)到另一个任务(结点)的转化过程叫做流转(Transition);而在流程中,由程序预先设定的行为如发
送邮件,我们称之为活动(Action)。 通过上述样例,我们了解了业务流程中一些专有名词和概念。接下来,我们要从程序设计的角度来讲述 jPDL 中定义的流程对象模型。
在 jPDL 中,对流程的建模被划分为两大部分,一是针对“流程定义”的静态模型部分;二是针对具体“流程实例”的运行时动态模型。在这一章节,我们将详细的讲述 jPDL 的对象及对应的数据库设计。
静态的流程定义模型
编号
PD-001
对象 流程定义实体(Process De?nition)
描述 流程定义实体是对一个流程抽象的对象化定义,如图-002。一套系统中,用户可
以定义保存多个流程定义实体,如:报销流程定义、请假流程定义、人事录用流程
定义等。每个流程定义还可以有多个不同的版本,如:针对同样的报销流程可以有
修订前和修订后的两个流程定义,同时存储于 jPDL 数库中。用户可以通过流程名