### Flowable官方文档汉化版知识点详解
#### 一、Flowable简介与核心特性
**Flowable**是一款轻量级的业务流程管理(Business Process Management, BPM)引擎,使用Java编写,支持BPMN 2.0标准。该引擎允许开发者部署业务流程定义,创建流程实例,执行查询操作,访问活动及历史流程实例等相关数据。
- **灵活性**:Flowable非常灵活,可以嵌入到不同的Java环境中,包括Java SE应用、Servlet容器(如Tomcat、Jetty)、Spring框架、Java EE服务器(如JBoss、WebSphere)等。
- **API**:提供了丰富的API来管理和执行业务流程。
- **UI组件**:Flowable还提供了几个开箱即用的应用程序(Flowable Modeler、Flowable Admin、Flowable IDM 和 Flowable Task),用于处理流程和任务。
- **REST API**:除了Java API之外,还支持通过REST API与Flowable进行交互。
#### 二、安装与配置
- **许可证**:Flowable遵循Apache V2许可证。
- **下载地址**:可以通过官方网站 [http://flowable.org/downloads.html](http://flowable.org/downloads.html) 下载。
- **源码位置**:源代码位于GitHub上,具体地址为 [https://github.com/flowable/flowable-engine](https://github.com/flowable/flowable-engine)。
- **所需软件**:
- **JDK**:至少需要JDK 7+版本。可以从Oracle官方网站下载Java SE JDK,安装后可通过命令行输入`java -version`来验证安装成功。
- **IDE**:可以选择任意IDE进行开发。若使用Flowable Designer,则需安装Eclipse Mars或Neon版本。
#### 三、报告问题
开发人员在报告问题或询问前,建议先阅读相关文档以确保问题的描述清晰明了。对于bug报告,可在GitHub的issue跟踪器中提交;对于增强功能或建议,则可以在用户论坛上发布。
#### 四、实验性功能与内部实现
- **实验性功能**:文档中标记为"[实验]"的功能不应被视为稳定,可能会在未来版本中发生变化。
- **内部实现类**:在JAR文件中,所有包含`.impl.`包名的类均为内部实现类,不对外提供稳定性保证。
#### 五、版本控制策略
- **版本号格式**:采用标准的整数三元组表示:`MAJOR.MINOR.MICRO`。
- **版本变更规则**:
- `MAJOR`:代表核心引擎的重大变化。
- `MINOR`:代表新功能和API的引入。
- `MICRO`:主要用于错误修复和改进。
- **兼容性**:Flowable在`MINOR`和`MICRO`版本中尽力保持源代码兼容性和二进制兼容性,以确保应用程序的平稳升级。
#### 六、入门教程
- **创建流程引擎**:本教程将指导开发者如何创建Flowable流程引擎,介绍核心概念,并演示如何使用API。
- **使用示例**:
- 在Java SE环境中使用普通的Java主类运行Flowable。
- 使用REST API与Flowable进行交互。
- 利用Flowable提供的应用程序处理流程和任务。
#### 七、Flowable与Activiti的关系
Flowable起源于Activiti项目的分支,继承了其基础架构和功能,但在命名、包结构等方面进行了调整,以适应Flowable项目的发展需求。
#### 八、总结
通过本文档的介绍,我们可以了解到Flowable是一款强大且灵活的业务流程引擎,适用于多种应用场景。无论是通过Java API还是REST API,Flowable都能为开发者提供便捷的方式来管理和执行业务流程。同时,Flowable还提供了一系列工具和支持,帮助开发者快速搭建和优化流程管理解决方案。