### 知识点一:JBPM5.3 概述
**知识点详解:**
#### 1.1 什么是JBPM?
JBPM(JBoss Business Process Management)是Red Hat提供的一个开源业务流程管理系统,用于实现业务流程的设计、执行与监控。JBPM支持多种流程设计方式,包括图形化界面设计和XML定义等,它主要采用BPMN 2.0标准来定义流程。
#### 1.2 概览
JBPM的核心特性包括:
- **核心引擎**:负责流程的执行。
- **Eclipse编辑器**:提供图形化的流程设计工具。
- **基于Web的设计器**:允许通过网页进行流程设计。
- **jBPM控制台**:用于管理正在运行的流程实例。
- **文档结构**:详细介绍了各个部分的文档组织结构。
#### 1.3 核心引擎
核心引擎是JBPM的执行中心,它解析并执行流程定义,管理流程实例的状态变迁,并处理事件和数据。
#### 1.4 Eclipse编辑器
Eclipse编辑器提供了一个集成开发环境(IDE),其中包含专用的插件,使得开发者能够通过图形化的方式设计流程模型。
#### 1.5 基于Web的设计器
基于Web的设计器让用户能够在任何有浏览器的地方进行流程设计,无需安装任何软件。
#### 1.6 jBPM控制台
jBPM控制台提供了一个用户友好的界面,管理员可以通过该界面管理流程实例,监控流程执行情况,以及进行人工任务管理等操作。
#### 1.7 文档结构
文档分为多个章节,每个章节都详细地介绍了JBPM的一个方面,帮助用户更好地理解和使用JBPM。
### 知识点二:获得开始
#### 2.1 下载
用户可以从官方网站或者开源仓库下载JBPM的相关组件和文档。
#### 2.2 获得开始
开始使用JBPM之前,需要准备必要的开发环境,例如安装Java环境、Eclipse IDE等。
#### 2.3 社区
JBPM拥有活跃的社区支持,用户可以在社区获取帮助、分享经验和技术交流。
#### 2.4 资源
- **2.4.1 许可证**:JBPM采用Apache License 2.0许可发布,这意味着它是完全免费且开源的。
- **2.4.2 源代码**:源代码可以从GitHub等平台下载。
- **2.4.3 从源文件构建**:提供了构建指南,帮助用户从源码编译JBPM。
### 知识点三:安装
#### 3.1 必备的
安装JBPM前,需要确保系统满足以下条件:
- Java SE Development Kit (JDK) 版本至少为1.6以上。
- Eclipse IDE或其他兼容的IDE。
- 数据库支持(如MySQL、PostgreSQL等)。
#### 3.2 下载installer
用户可以从官网下载适合的操作系统的安装包。
#### 3.3 演示安装
提供了快速演示安装指南,帮助用户快速上手。
#### 3.4 10分钟指南:使用Eclipse工具
指导用户如何使用Eclipse工具进行流程设计和开发。
#### 3.5 10分钟向导:使用jBPM控制台
介绍如何通过jBPM控制台管理流程实例。
#### 3.6 10分钟指南:使用Guvnor知识库和设计器
指导用户如何使用Guvnor工具进行知识管理及流程设计。
#### 3.7 如果遇到问题或有问题应该怎么去做
提供了常见问题解答和故障排除指南,帮助用户解决安装和使用过程中可能遇到的问题。
### 知识点四:核心引擎的API
#### 4.1 jBPMAPI
- **4.1.1 KnowledgeBase**:用于存储流程定义和规则。
- **4.1.2 会话**:管理流程实例的执行。
- **4.1.3 事件**:处理流程中的事件,如开始事件、结束事件等。
#### 4.2 Knowledge-based API
知识基API提供了一种更高级的抽象层次,使用户能够更方便地管理和执行流程。
### 知识点五:核心引擎:基础
#### 5.1 创建一个流程
- **5.1.1 Eclipse BPMN2.0图形编辑器插件**:介绍如何使用Eclipse插件设计流程。
- **5.1.2 使用XML定义流程**:提供XML格式的流程定义方法。
- **5.1.3 使用流程API定义流程**:通过编程方式定义流程。
#### 5.2 不同流程构造的细节概述
- **5.4 事件细节**:包括开始事件、结束事件、中间事件等。
- **5.5 动作细节**:涉及脚本任务、服务任务、用户任务等。
- **5.6 Gateways细节**:介绍分支和汇聚网关的使用。
#### 5.3 流程属性的细节
详细介绍了流程定义中的各种属性及其作用。
#### 5.4 事件细节
- **5.4.1 开始事件**:触发流程的初始步骤。
- **5.4.2 结束事件**:表示流程完成的标志。
- **5.4.3 中间事件**:流程中的关键点,可以是时间、消息或其他类型的事件。
#### 5.5 动作细节
- **5.5.1 脚本任务**:执行特定脚本的任务。
- **5.5.3 服务任务**:调用外部服务的任务。
- **5.5.3 用户任务**:需要人工参与的任务。
- **5.5.4 重用的子流程**:可以重复使用的子流程。
- **5.5.5 业务规则任务**:基于规则的任务。
- **5.5.6 嵌入子流程**:在主流程中嵌入另一个流程。
- **5.5.7 多个实例子流程**:同一子流程的多个实例。
#### 5.6 Gateways细节
- **5.6.2 合并网关**:用于汇聚多个分支。
#### 5.7 在你的应用中使用流程
介绍如何将流程集成到现有应用程序中。
#### 5.8 其他特性
- **5.8.1 数据**:管理流程执行过程中涉及的数据。
- **5.8.2 约束**:定义流程执行的约束条件。
- **5.8.3 动作脚本**:定义动作执行的脚本。
- **5.8.4 事件**:处理流程中的事件。
- **5.8.5 计时器**:用于定时触发流程的机制。
- **5.8.6 更新流程**:如何修改已部署的流程定义。
### 知识点六:BPMN2.0核心引擎
#### 6.1 Business Process Model and Notation 2.0 Specification
介绍了BPMN 2.0的标准和语法,以及如何在JBPM中应用这些标准。
#### 6.2 例子
提供了具体的BPMN 2.0流程定义的例子。
#### 6.3 支持的元素/属性
列举了JBPM支持的所有BPMN 2.0元素和属性。
### 知识点七:核心引擎:持久化和事务
#### 7.1 运行时状态
- **7.1.1 二进制持久化**:一种快速但不便于查询的持久化方式。
- **7.1.2 SafePoints**:用于确保持久化的正确性。
- **7.1.3 配置持久化**:如何配置持久化策略。
- **7.1.4 事务**:处理流程执行中的事务管理。
#### 7.2 流程定义
介绍如何持久化流程定义本身。
#### 7.3 历史日志
- **7.3.1 将流程事件存储到数据库**:记录流程执行的历史信息。
### 知识点八:核心引擎:示例
#### 8.1 jBPM示例
提供了完整的示例项目,帮助用户理解JBPM的实际应用。
#### 8.2 示例
通过具体案例展示JBPM的应用场景。
#### 8.3 单元测试
介绍了如何编写单元测试以验证流程的正确性。
### 知识点九:Eclipse BPMN2.0 Plugin
#### 9.1 安装
指导用户如何安装Eclipse BPMN2.0插件。
#### 9.2 创建你的BPMN2.0流程
详细介绍如何使用插件设计BPMN 2.0流程。
#### 9.3 元素和属性的顾虑
讨论了在设计流程时需要注意的关键元素和属性。
### 知识点十:设计器
#### 10.1 安装
介绍了如何安装基于Web的设计器。
### 知识点十一:控制台
#### 11.1 安装
指导用户安装jBPM控制台。
#### 11.2 运行流程管理控制台
- **11.2.1 管理流程实例**:如何查看和管理正在执行的流程实例。
- **11.2.2 人工任务列表**:显示待处理的人工任务。
- **11.2.3 报告**:生成流程执行的报告。
#### 11.3 添加新的流程/任务表
指导如何在控制台中添加新的流程或任务表格。
#### 11.4 REST interface
介绍了如何通过REST API与jBPM控制台交互。
### 知识点十二:Human Tasks
#### 12.1 流程内的Humantasks
- **12.1.1 Swimlanes**:用于表示不同的执行者角色。
- **12.2 Humantask管理组件**:提供了管理人工任务的功能。
- **12.2.1 任务生命周期**:介绍人工任务的状态变迁。
- **12.2.2 将任务组件链接到jBPM引擎**:如何将任务组件集成到JBPM中。
- **12.2.3 启动任务管理组件**:指导如何启动任务管理组件。
- **12.2.4 和任务管理组件的交互**:如何通过UI与任务管理组件交互。
#### 12.3 人工任务管理接口
- **12.3.1 Eclipse integration**:如何在Eclipse中集成人工任务管理功能。
- **12.3.2 基于Web的任务视图**:介绍基于Web的任务管理界面。
### 知识点十三:特定领域的流程
#### 13.1 介绍
介绍了如何为特定领域定制流程。
#### 13.2 示例:通告
通过通告流程示例展示了如何为特定业务场景定制流程。
### 知识点十四:测试和调试
#### 14.1 单元测试
- **14.1.1 使用Helper方法创建你的session**:介绍如何设置测试环境。
- **14.1.2 断言**:如何编写断言来验证流程的行为。
- **14.1.3 测试与外部服务的结合**:如何测试流程与外部服务的交互。
- **14.1.4 配置持久化**:在测试环境中如何配置持久化。
#### 14.2 调试
- **14.2.1 流程实例视图**:用于查看流程实例的状态。
- **14.2.2 人工任务视图**:查看人工任务的状态。
- **14.2.3 核查视图**:用于核查流程执行的情况。
### 知识点十五:流程知识库
介绍了如何管理和使用流程知识库,包括存储流程定义和规则等。
### 知识点十六:业务活动监视器
提供了业务活动监视器的相关介绍,帮助用户监控业务流程的执行情况。