昆明理工大学信息工程与自动化学院学生实验报告
( 2014 — 2015 学年 第 2 学期)
课程名称:工作流技术 开课实验室:信自楼442 2015年4月24日
年级、专业、班 计科122 学号 201210405204 实验项目名称 基于JBPM的请假流管理系统 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 教 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 师 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 评 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 语 教师签名: 姓名 邹华宇 指导教师 成绩 胡守成 年 月 日 一、实验目的与内容
目的:熟悉在eclipse的开发环境,加深对工作流图的理解。 内容:基于JBPM实现一个员工请假管理系统。 假设应用背景如下:
在某一公司中,部门员工要请假的话需要提交申请。需要经理审批,在得到经理的同意后,还必须老板批准。如果是经理请假期间只要老板批准即可。在请假被批准之前,申请人可以撤销请假申请。
二、实验背景
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL和EULA协议。
本系统是基于工作流技术的员工请假系统,便于企业更加高效便捷对员工事务进行管理。确定了员工的请假制度,实现了请假制度的结构化、规范化。
随着企业办公自动化的发展,网上协同办公显的日趋重要,而工作流技术在协同办公系统的应用也日益普及。针对企业请假流程繁琐的问题,提出利用JBPM工作流的方法,并应用实践中,效果良好。
- 1 -
三、所用仪器、材料(设备名称、型号、规格等或使用软件)
PC机一台,JBPM 4.4,MyEclipse 10.1,数据库MySQL等。
四、程序代码及操作过程
1.新建简单的请假流程
(1)新建一个jbpm4.4的流程定义文件
右键点击src→New→Other,选择JBoss jBPM下的Jbpm 4 Process Definition,文件名写leave,版本号写4.4即可。
- 2 -
(2)用流程设计器打开新建的leave.jpdl.xml。
右键点击leave.jpdl.xml→Open With→jBPM jPDL4 Editor,,看见如下效果
(3)设计请假流程
在这个简单的请假流程中,包含开始(start)、结束(end)、任务(task)、决策(decision)四种流程元素。
流程设计如下:
- 3 -
(4)详细设计流程中的各任务节点的流转条件
①选中“申请”任务节点,在properties(属性)中,General标签的Name(属性值)填为“申请”,Assignment标签的Type选择 assignee(参与者,选择这个,可以指定该任务节点的直接参与者),Expression的属性值填为#{owner}(即指定这个任务节点的直接参与者就是这个流程的启动者)。
②选中“经理审批”任务节点,在properties(属性)中,General标签的Name(属性值)填为“经理审批”,Assignment标签的Type选择 candidate-groups(参与者,选择这个,可以该任务节点有某个用户组来参与),Expression的属性值填为manager(即指定这个任务节点的有manager这个用户组来完成)。
③“老板审批”节点同“经理审批”任务节点设置类似,只是Expression改为boss ④设置决策节点,选中“×”,在属性标签General中按如下所示填写:
- 4 -
Name(节点名称),Expression(判断表达式,其中day是在流程流转过程中的一个记录天数的属性,整个表达式的意思是天数大于3天需要老板审批,如果天数不大于3天,经理审批通过后就直接结束流程,不需要老板审批)。
⑤设计好流程后,点击保存,IDE将自动为你生成一个png的流程图片,切记不可在xml源码界面进行保存,否则会生成不完整的流程图片。
⑥在点击下方的“Source”属性,即可看到流程定义文件的xml源码 至此工程的src文件下就有下面这些文件:
2.发布流程
JBPM的流程发布其实很简单,只要使用JBPM已经封装好的方法进行使用,即可。 我们新建一个deploy.jsp的页面用户发布流程。在此讲解使用zip文件打包发布流程。 (1)将之前建立好的leave.jpdl.xml和leave.png文件,一起打包进leave.zip文件。 (2)deploy.jsp代码如下:
<%@ page language=\<%@page
import=\
- 5 -