天天看点

Activity(四)流程设计工具创建流程图

1、引言

在前面我们知道了怎么创建流程控制引擎,而Activiti 的正常使用还需要进行部署流程,而这就有一个很重要的前提。那就是创建相应的流程图,并让其能被 service 所调用从而实现流程的执行。

2、流程图创建工具

2.1 简述第一种创建方式

在这里说明一点,流程图的创建可以使用两种方式,第一种是XML版本的,案例如下:

我们看到的是一个无开始事件(左侧的圆圈),后面是两个用户任务:“写每月财务报告”和 “验证每月财务报告”,以一个无结束事件(右侧带有粗边框的圆圈)结束。

  • 在这里,start task 告诉我们什么入口点的过程。
  • 在 user task 声明是我们的过程的人工任务的表示。请注意,第一个任务分配给会计组,而第二个任务分配给管理组。有关如何将用户和组分配给用户任务的更多信息,请参见用户任务分配部分。
  • 当到达 end task 时,该过程结束。
  • 这些元素通过顺序流相互连接。这些顺序流具有source和target,用于定义顺序流的方向。

其对应的xml 版本的配置如下:

<definitions id="definitions"
  targetNamespace="http://activiti.org/bpmn20"
  xmlns:activiti="http://activiti.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>
           

2.2 视图模式创建流程图

这里我们创建一个简单的流程图作为示范入门。

开发流程 首先要做的,就是要设计好流程图;一个项目可能会包括多个流程图;所以在src/test/resources源文件夹下新建一个包diagrams,以后所有的流程图文件(bpmn文件和生成的png文件)都放在这个包下;

然后在diagrams上右击,New - > Other :创建一个新的流程实例图

选择 Activiti下的 Activiti Diagram 要开始开发一个Activiti流程图表:

这里 中间区域,是用来绘制流程图标的。右侧是绘制流程图标的工具箱,下面的Properties是属性视图,目前看到的是整个helloWorld流程图的属性:

然后来画流程图,任何流程,都必须有一个开始事件节点和结束事件节点:

在右侧的工具箱里会看到有个StartEvent 和EndEvent。先点下 然后拖到中间的绘图区域就OK了;

当然每个节点的属性都可以看到,而且可以设置,可以点击选中一个节点,然后在属性视图上看到所以值;

会看到这里插件都给设置了初识属性值,可以改 ,也可以不改,都行;

之后在搞一个用户任务节点(开发最常用的节点),拖一个到中间绘图区域

这里的任务节点,必须要有一个人去处理这个任务,而且在实际开发中,根据实际业务,给这个用户任务节点取个名字,

当然这里是初识,所以就搞个myprocess名字,然后分配给“小龙”这个人;

这样就完成了最简单的流程图设计。

转载自 :Activity(四)流程设计工具创建流程图

继续阅读