jbpm-jdpl框架简介 下载本文

内容发布更新时间 : 2024/5/20 9:42:17星期一 下面是文章的全部内容请认真阅读。

jBPM-jPDL学习笔记―― 框架设计简介

概述:

jBPM(JBoss Business Process Managerment 业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。 jPDL是构建于jBPM框架上的流程语言之一。在jPDL中提供了任务(task)、待处理状态(wait states)、计时器(timers)、自动处理(automated actions)….等术语,并通过图形化的流程定义,很直观的描述业务流程。 jPDL可以部署于java语言的任何应用环境下,javaSE Application(Swing/SWT)、javaEE Application(Application Server)

jDPL分发包组成

目前jPDL的最新版本是3.2.2,下载包分为两种,一种是标准包(jbpm-jpdl-3.2.3.zip)只有20MB左右;一种是套件包(jbpm-jpdl-suite-3.2.3.zip)将近80M。俩者最大的区别是套装包自带一个已经配置号的Jboss服务,下载后解压缩后,可直接运行。

jDPL的核心程序包(jbpm-jpdl.jar) 他是一个典型的jar文件,他涵盖对流程定义和运行时流程实例上下文环境的操作API。在最简化的业务流程样例中,JDPL将流程定义在存储与XML格式的定义文件中,在运行时载入内存,在内存里记录完整的业务实例和执行过程的环境变量,并完成全部操作。显然,在实际应用中,流程信息必须被持久化的存储于数据库中。jPDL使用了Hibernae作为其对象持久化的API。

Graphical Process Designer 插件(jbpm-jpdl-designer-3.2.3.zip)

他是一个基于Eclipse的图形编辑插件。使用它可以对业务流程进行可视化的定制,而无须手动编辑XML文件。该插件还是提供了流程定义上传功能,可以将新定义的流程发布到在线运行的jPDL系统上

jPDL身份包(jbpm-identity.jar) 它是jPDL的一个轻量级扩展包,简单实现了组Group 、用户User 、许可权Permission等用户身份认证和鉴权机制。如果您的应用环境只需要简单的用户认证鉴权管理,那么它十分适合您。

jDPL Web控制台(jbpm-console.war) 它是一个标准Web应用(使用了JSF技术),提供了对jDPL平台执行情况的监控程序(对jPDL数据库的监控)。管理员可以通过该程序方便的维护jPDL的数据库,管理流程定义和流程实例的执行情况。同时,他还提供了一个简单的Getting started DEMO,方便初学者了解jPDL。

其它相关目录 在解压后的目录中,还有一些文件是很有用的 /config 该目录存放了jPDL的默认配置文件,包括hibernate.cfg.xml、Jbpm.cfg.xml(jPDL的主配置文件,默认是空的)、jBpm.mail.templates.xml(邮件模版配置文件)、log4j.properties(日志配置文件) /db 该目录存放了jPDL针对不同数据库的表初始化sql文件。这里要说的是,jbpm.jpdl.oracle.sql在oracle下批量运行时,会出现错误提示,原因是删除语句,现在系统中还没有表,就删除出错。需要修订后才能使用。 /designer(套件包中才有)该目录存放了Graphical Process Designer插件 /examples该目录存放了jPDL的简单范例

/doc该目录存放了jPDL的相关说明文档,包括用户指南、java API文档等 /server(套件中才有)该目录存放了配置好的JBoss和控制台程序,windows下双击start.bat 可立即执行。数据库使用的是HSQL,存放在/server/server/jbpm/data下。

jPDL业务流程模型

理解现实生活中的业务流程 下面通过一个简单的部门借款流程来了解现实中的业务流程概念,流程图如下:

上图表达了一个抽象的流程定义(Process Definition)。之所以称之为抽象,是因为它没有表示确切的执行者。当上述的借款人被具体化为“张三”,部门主管就成为张三的部门经理“李四”,而财务则明确为“王五”的时候,这个流程定义就被具体化了,称为一个流程实例(Process Instance) 。此外,过程中的相关人员我们称之为参与者(Actor);过程中需要参与者介入的环节称之为任务(task);每个任务在流程实例中的具体化称之为任务实例(Task Instance);从一个任务(节点)到另一个任务(节点)的转化过程叫做流程(Transition);而在流程中,有程序预先设定的行为如发送邮件,我们称之为活动(Action)。 通过上述样例,我们了解了业务流程中一些专有名词和概念。接下来,我们要从程序设计的角度来讲述jPDL中定义的流程对象模型。 在jPDL中,对流程的建模被划分为两大部分,一是针对“流程定义”的静态模型部分;二是针对具体“流程实例”的运行时动态模型。在这一章节,我们详细的讲述jPDL的对象及对应的数据库设计。

静态的流程定义模型 编号 对象 PD-001 流程定义实体(Process Definition)