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(四)流程設計工具建立流程圖