### 相关知识点 #### 一、JBPM概述 - **JBPM介绍**:JBPM是一个高度可扩展的工作流管理系统,完全使用Java语言编写。它采用Hibernate作为持久化层,这意味着只要Hibernate支持的数据库,JBPM都能支持。此外,JBPM可以部署在任何Java应用服务器上,提供灵活的应用环境。 #### 二、开始前的准备工作 - **JBPM下载**:访问JBPM官方网站(http://www.jboss.com/products/jbpm),下载最新版本(以3.2.1版本为例)。推荐下载`jbpm-starters-kit-3.1.2`版本,此版本包含了JBPM流程设计器的Eclipse插件以及基于JBOSS服务器的示例流程等相关文件。 - **环境配置**:解压下载的文件到指定目录,如`jbpm-starters-kit-3.1.2`,其中包含JBPM的Eclipse项目文件。通过Eclipse导入这些项目文件,具体步骤为:从Eclipse的`File`菜单中选择`Import`->`Existing Projects into Workspace`,然后根据提示找到JBPM目录并导入。 #### 三、第一个流程:HelloWorld示例 - **流程定义**:JBPM使用XML来定义流程。这种定义方式常见于大多数工作流引擎中。 - **示例流程图**:示例展示了简单的HelloWorld流程,其流程定义可以嵌入Java代码或作为一个独立的XML文件。 - **流程定义方式**:本节将详细介绍两种流程定义方式——嵌入Java代码和独立XML文件。 #### 四、JPDL(Jobflow Process Definition Language) - **简介**:JPDL是JBPM的工作流定义语言,用于定义流程结构及其控制逻辑。 - **流程版本(Version)**:每个流程定义可以有多个版本,用于跟踪变更历史。 - **流程定义(Process Definition)**:定义整个流程的结构和行为。 - **process-definition**:定义流程的基本信息,如ID、名称等。 - **node**:代表流程中的一个步骤或活动。 - **start-state**:流程的起始节点。 - **end-state**:流程的终止节点。 - **state**:表示一个静态的步骤或等待点。 - **task-node**:代表用户需要完成的任务。 - **fork**:允许流程分叉为多条路径。 - **join**:合并多条路径至一条。 - **decision**:基于条件判断选择不同的路径。 - **transition**:连接节点之间的线,表示流程从一个节点移动到另一个节点。 - **event**:流程中发生的特定事件。 - **action**:当触发某个事件时执行的操作。 - **script**:允许在流程中嵌入脚本语言。 - **expression**:用于计算或评估的表达式。 - **variable**:存储流程数据。 - **handler**:处理特定类型的事件。 - **timer**:用于定时操作。 - **create-timer**:设置定时器。 - **cancel-timer**:取消定时器。 - **task**:定义具体任务。 - **swimlane**:定义任务的所有者或参与者。 - **assignment**:任务的分配规则。 - **controller**:控制流程的行为。 - **process-state子流程**:在一个流程内嵌套另一个流程。 - **sub-process子流程**:类似于process-state,但更灵活。 - **condition条件**:用于决策节点的条件表达式。 - **exception-handler异常处理**:处理流程中可能出现的异常。 #### 五、流程中任务的分配 - **assignment-handler**:通过编写特定处理器来分配任务。 - **swimlane**:指定任务的归属者,通常基于角色或组织结构。 #### 六、JBPM持久化 - **特殊数据库支持**:JBPM支持多种数据库,主要通过Hibernate进行持久化操作。 - **JBPM数据库安装**:需要配置JBPM与特定数据库的连接。 - **流程发布**: - **搭建JBPM的WEB应用**:配置JBPM作为Web应用运行。 - **发布第一个流程**:通过Web界面发布预先定义好的流程。 #### 七、日历(Scheduler) - **Scheduler在C/S程序上的应用**:在客户端/服务器模式下的应用实例。 - **Scheduler在Web上的应用**:在Web环境中调度任务。 - **Scheduler时间的分类**:不同类型的定时任务配置。 #### 八、异步执行 - **异步任务**:在不影响主流程的情况下执行某些任务。 #### 九、JBPM流程建模与应用 - **JBPM的建模工具**:用于设计流程的图形化工具。 - **建模工具的安装**:如何安装和配置建模工具。 - **公司报销流程示例** - **流程建模**:设计报销流程的具体步骤。 - **流程数据库搭建**:创建数据库支持报销流程。 - **构建业务表**:定义必要的业务表格。 - **报销流程的发布**:将设计好的流程部署到生产环境。 - **应用程序搭建**:开发支持报销流程的应用程序。 #### 十、总结 - **写在最后**:回顾全文内容,并对未来可能的发展方向进行展望。























- 粉丝: 659
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 无线网络解决方案投标.doc
- (完整版)北京交通大学软件工程(完整ppt教程).ppt
- 项目管理过程之计划和预算模式.doc
- 电子商务网站实训报告.doc
- 项目管理及实施方案.doc
- 基于方程的COMSOL气泡空化模型及其在多领域中的应用研究
- 金算盘软件操作手册分公司金算盘操作手册.doc
- 网络协议分析实验报告.doc
- PLC课设水塔水位PLC自动控制系统.doc
- 软件需求评审报告.doc
- 电气控制与PLC应用教案及讲稿10.docx
- 电气工程及其自动化专业外文文献英文文献外文翻译方面.doc
- 智能家居控制系统课程设计样本.doc
- 数据库课程设计高校工资管理系统.doc
- 基于51单片机的时钟电路设计.doc
- 漫画中国式项目管理-项目团队沟通篇一.pdf


