Flowable入门系列文章20 - 基本的Flowable概念一

Posted 分享牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable入门系列文章20 - 基本的Flowable概念一相关的知识,希望对你有一定的参考价值。

1、先决条件

本教程假设您正在运行Flowable演示程序,并且您正在使用独立的H2服务器。编辑db.properties并设置jdbc.url=jdbc:h2:tcp://localhost/flowable,然后根据H2的文档运行独立的服务器。

2、目标

本教程的目标是了解Flowable和一些基本的BPMN 2.0概念。最终结果将是一个简单的Java SE程序,它部署一个流程定义,然后通过Flowable引擎API与此流程交互。我们还会涉及Flowable的一些工具。当然,在你的业务流程中构建自己的Web应用程序时,也可以使用本教程中学到的东西。

3、用例

用例很简单:我们有一家公司,我们称之为BPMCorp。在BPMCorp,每个月都需要为公司股东编写财务报告。这是会计部门的责任。报告完成后,上级管理层的其中一位成员在发送给全体股东之前需要批准该文件。

4、过程图

上面描述的业务流程可以使用Flowable Designer进行图形化定义。但是,对于本教程,我们将自己输入XML,因为在这个阶段我们将学习最
多的这种方法。我们的流程的图形BPMN 2.0表示法如下所示

我们看到的是一个没有开始的事件(在左边的圆圈),接下来是两个用户任务:“编写月度财务报告”和 “验证月度财务报告”,结束于一个没有结束的事件(右边有厚边框) 。

5、XML表示

此业务流程的XML版本(FinancialReportProcess.bpmn20.xml)如下所示。很容易识别我们流程的主要元素(单击链接转到该BPMN 2.0构造的详细部分):

  • 在(无)启动事件告诉我们什么切入点是过程。
  • 在用户任务声明是我们的过程的人工任务的表示。请注意,第一个任务分配给会计组,第二个任务分配给管理组。有关如何将用户和组分配给用户任务的更多信息,请参阅用户任务分配部分。
  • 当到达无结束事件时,该过程结束。
  • 元素通过顺序流相互连接。这些序列流具有a source和target,定义了序列流的方向。
<definitions id="definitions"
targetNamespace="http://flowable.org/bpmn20"
xmlns:flowable="http://flowable.org/bpmn"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL">
<process id="financialReport" name="Monthly financial report reminder process">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="writeReportTask" />
<userTask id="writeReportTask" name="Write monthly financial report" >
<documentation>
Write monthly financial report for publication to shareholders.
</documentation>
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>accountancy</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<sequenceFlow id="flow2" sourceRef="writeReportTask" targetRef="verifyReportTask" />
<userTask id="verifyReportTask" name="Verify monthly financial report" >
<documentation>
Verify monthly financial report composed by the accountancy department.
This financial report is going to be sent to all the company shareholders.
</documentation>
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>management</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<sequenceFlow id="flow3" sourceRef="verifyReportTask" targetRef="theEnd" />
<endEvent id="theEnd" />
</process>
</definitions>

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:

以上是关于Flowable入门系列文章20 - 基本的Flowable概念一的主要内容,如果未能解决你的问题,请参考以下文章

Flowable入门系列文章47 - 电子邮件任务

Flowable入门系列文章23 - 基本的Flowable概念四

Flowable入门系列文章7 - 基本配置一

Flowable入门系列文章22 - 基本的Flowable概念三

Flowable入门系列文章21 - 基本的Flowable概念二

Flowable入门系列文章10 - 基本配置四