没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
















1. 简介简介
1.1. 翻译翻译(说明说明)
由[分享牛Flowable中国社区] 翻译,任何意见建议,欢迎联系QQ:3152981878。 如果想一起成为开源代码贡献人员,欢
迎大家加入qq交流群为社区贡献添砖加瓦。qq贡献群:1023773998
1.2. 协议协议
Flowable在Apache V2 协议下发布。
1.3. 下载下载
http://www.flowable.org/downloads.html
1.4. 源码源码
Flowable的发布包里包含了大部分源码,以JAR文件方式提供。Flowable的源码也可以通过以下链接获得:
https://github.com/flowable/flowable-engine
1.5. 必要的软件必要的软件
1.5.1. JDK 8+
运行Flowable需要JDK 8或以上版本。可以访问 Oracle Java SE downloads页面 点击“Download JDK”按钮获取。该页
面上也有安装指导。安装完成后,可以执行 java -version 。能看到JDK的版本信息就说明安装成功了。
1.5.2. IDE
可以自行选择用于Flowable开发的IDE。如果想要使用Flowable Designer,则需要Eclipse Mars或Neon。 到 Eclipse下
载页面选择Eclipse版本并下载。解压下载的文件, 然后执行eclipse文件夹下的eclipse文件。手册后续有专门一章介
绍如何安装我们的Eclipse Designer插件。
1.6. 反馈问题反馈问题
我们希望开发者在报告或提问之前,先看看提问的智慧。
看完提问的智慧,你可以在用户论坛提问、评论以及提交改进建议,也可以在我们的Github问题跟踪系统创建bug报
告。
1.7. 实验性功能实验性功能
标记有[实验性实验性]的章节介绍的功能还不够稳定。
.impl.包下的类都是内部实现类,不保证稳定。但是,在用户手册中作为配置参数介绍的类则是被官方支持的,可以
保证稳定。
1.8. 内部实现类内部实现类
在JAR文件中,所有.impl.包下的类(比如org.flowable.engine.impl.db)都是实现类,只应在内部使用。
Flowable BPMN 用户手册用户手册 (v 6.5.0-SNAPSHOT)

在JAR文件中,所有.impl.包下的类(比如org.flowable.engine.impl.db)都是实现类,只应在内部使用。
实现类中的所有类或接口都不保证稳定。
1.9. 版本策略版本策略
使用三个整数的形式标记版本:MAJOR.MINOR.MICRO。其中 MAJOR版本代表核心引擎的演进。MINOR版本代表
新功能与新API。MICRO版本代表bug修复与改进。
总的来说,Flowable希望在MINOR与MICRO版本中,对所有非内部实现类保持“源代码兼容性”,即应用可以正确构
建,且不改变语义。Flowable也希望在MINOR与MICRO版本中,保持“二进制兼容性”,即用新版本的Flowable直接替
换老版本的Jar文件,仍然可以正常工作。
如果在MINOR版本中修改了API,将保留原有版本,并使用@Deprecated注解。这种废弃的API将在两个MINOR版本之
后移除。
2. 开始开始
2.1. Flowable是什么?是什么?
Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流
程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。
这个章节将用一个可以在你自己的开发环境中使用的例子,逐步介绍各种概念与API。
Flowable可以十分灵活地加入你的应用/服务/构架。可以将JAR形式发布的Flowable库加入应用或服务,来
嵌入
引擎。
以JAR形式发布使Flowable可以轻易加入任何Java环境:Java SE;Tomcat、Jetty或Spring之类的servlet容器;JBoss
或WebSphere之类的Java EE服务器,等等。 另外,也可以使用Flowable REST API进行HTTP调用。也有许多Flowable
应用(Flowable Modeler, Flowable Admin, Flowable IDM 与 Flowable Task),提供了直接可用的UI示例,可以使用流
程与任务。
所有使用Flowable方法的共同点是核心引擎。核心引擎是一组服务的集合,并提供管理与执行业务流程的API。 下面的
教程从设置与使用核心引擎的介绍开始。后续章节都建立在之前章节中获取的知识之上。
第一节展示了以最简单的方式运行Flowable的方法:只使用Java SE的标准Java main方法。这里也会介绍许多核
心概念与API。
Flowable REST API章节展示了如何通过REST运行及使用相同的API。
Flowable APP章节将介绍直接可用的Flowable UI示例的基本方法。
2.2. Flowable与与Activiti
Flowable是Activiti(Alfresco持有的注册商标)的fork。在下面的章节中,你会注意到包名,配置文件等等,都使
用flowable。
2.3. 构建命令行程序构建命令行程序
2.3.1. 创建流程引擎创建流程引擎
在这个初步教程中,将构建一个简单的例子,以展示如何创建一个Flowable流程引擎,介绍一些核心概念,并展示如何
使用API。 截图时使用的是Eclipse,但实际上可以使用任何IDE。我们使用Maven获取Flowable依赖及管理构建,但是
类似的任何其它方法也都可以使用(Gradle,Ivy,等等)。

我们将构建的例子是一个简单的
请假
(holidayrequest)流程:
雇员
(employee)申请几天的假期
经理
(manager)批准或驳回申请
我们会模拟将申请注册到某个外部系统,并给雇员发送结果邮件
首先,通过File
→
New
→
Other
→
MavenProject创建一个新的Maven项目
在下一界面中,选中'createasimpleproject(skiparchetypeselection)'

填入'GroupId'与'Artifactid':
这样就建立了空的Maven项目,然后添加两个依赖:
Flowable流程引擎。使我们可以创建一个ProcessEngine流程引擎对象,并访问Flowable API。
一个内存数据库。本例中为H2,因为Flowable引擎在运行流程实例时,需要使用数据库来存储执行与历史数据。
请注意H2依赖包含了数据库
及
驱动。如果使用其他数据库(例如PostgreSQL,MySQL等),需要添加对应的数
据库驱动依赖。
在pom.xml文件中添加下列行:
1
2
3
4
5
6
7
8
9
10
11
12
<dependencies>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-engine</artifactId>
<version>6.5.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
</dependency>
</dependencies>
如果由于某些原因,依赖JAR无法自动获取,可以右键点击项目,并选择'Maven
→
UpdateProject'以强制手动刷新
(一般不会需要这么操作)。 在这个项目中的'MavenDependencies'下,可以看到flowable-engine与许多其他(传递
的)依赖。

的)依赖。
创建一个新的Java类,并添加标准的Java main方法:
1
2
3
4
5
6
7
8
9
package org.flowable;
public class HolidayRequest {
public static void main(String[] args) {
}
}
首先要做的是初始化ProcessEngine流程引擎实例。这是一个线程安全的对象,因此通常只需要在一个应用中初始化一
次。 ProcessEngine由ProcessEngineConfiguration实例创建。该实例可以配置与调整流程引擎的设置。 通常使用一
个配置XML文件创建ProcessEngineConfiguration,但是(像在这里做的一样)也可以编程方式创建它。
ProcessEngineConfiguration所需的最小配置,是数据库JDBC连接:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package org.flowable;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration;
public class HolidayRequest {
public static void main(String[] args) {
ProcessEngineConfiguration cfg = new
StandaloneProcessEngineConfiguration()
.setJdbcUrl("jdbc:h2:mem:flowable;DB_CLOSE_DELAY=-1")
.setJdbcUsername("sa")
.setJdbcPassword("")
.setJdbcDriver("org.h2.Driver")
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine processEngine = cfg.buildProcessEngine();
}
}
在上面的代码中,第10行创建了一个
独立
(standalone)配置对象。这里的'
独立
'指的是引擎是完全独立创建及使用的(而
不是在Spring环境中使用,这时需要使用SpringProcessEngineConfiguration类代替)。第11至14行中,传递了一个内
存H2数据库实例的JDBC连接参数。 重要:请注意这样的数据库在JVM重启后会消失。如果需要永久保存数据,需要切
换为持久化数据库,并相应切换连接参数。 第15行中,设置了true,确保在JDBC参数连接的数据库中,数据库表结构
不存在时,会创建相应的表结构。 另外,Flowable也提供了一组SQL文件,可用于手动创建所有表的数据库表结构。
剩余422页未读,继续阅读
资源评论


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


最新资源
- Qt C++绘制逻辑电路设计软件:打开新建背景图保存功能与多元件库操作集成开发文档
- 用友U8软件之出纳管理步骤【会计实务操作教程】.pptx
- (源码)基于ESP32微控制器的无人机控制器系统.zip
- 投稿软件开发实习心得体会.doc
- 如何规避网络贸易风险(上).ppt
- 通信工程专业本科毕业设计题目.doc
- 网络金融与电子支付-第6章--支付与结算实务.ppt
- 电子商务专业就业形势与对策分析.doc
- 生涯人物访谈-计算机专业.doc
- 2023年冬训调考题库通信专业.doc
- 基于光子晶体与MATLAB传输矩阵法的空气有毒物质浓度检测系统 高级版
- (完整版)西安市级政府网站建设方案.doc
- 一页纸项目管理-1.pptx
- 区块链应用项目商业计划书范文.pdf
- 智能家居解决方案商用型.docx
- 软件工程-期末考试题(含答案).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
