日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署

發布時間:2023/12/3 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BPMN的介紹

Activiti項目是一項新的基于Apache許可的開源BPM平臺,從基礎開始構建,旨在提供支持新的BPMN 2.0標準,包括支持對象管理組(OMG),面對新技術的機遇,諸如互操作性和云架構,提供技術實現。

那什么是BPM和BPMN呢?

BPM:即業務流程管理,是一種以規范化的構造端到端的卓越業務流程為中心,以持續的提高組織業務績效為目的的系統化方法,常見商業管理教育如EMBA、MBA等均將BPM包含在內。

BPMN:業務流程建模與標注,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram)。業務流程示意圖是由一系列的元素符號構成。作為BPMN的基礎,這些符號將業務流程建模簡單化、圖形化,將復雜的建模過程視覺化,讓閱讀者對BPMN有一個更加清晰明了的了解。既然BPMN符號如此重要,那在繪制BPMN示意圖之前,便必須要對BPMN符號的名稱、意義、使用方法等有一個全面的理解。

BPMN的四種基本元素

l 流對象(Flow Objects):包括事件、活動、網關,是BPMN的核心元素;

事件Event 用一個圓圈表示,它是流程中運行過程中發生的事情。事件的發生會影響到流程的流轉.事件包含Start\Intermediate\End三種類型.如下圖:

活動Activities用圓角矩形表示,一個活動多個活動組成,活動的類型分為Task和Sub-Process。如下下圖:

網關Gateway用菱形表示,用于控制流程的分支和聚合.具體符號表示如下:

l 連接對象(Connecting Objects):包括順序流、消息流、關聯;

l 泳道(Swimlanes):包括池和道兩種類型;

l 人工信息(Artifacts):包括數據對象、組、注釋。

Activiti的流程部署

下面介紹在IDEA中如何部署一個簡單的考勤補簽流程

1、首先在resource目錄下新建bpmn目錄

2、點擊bpmn目錄右鍵——>new——>bpmn文件,輸入bpmn文件名后會出現如下界面:

該界面的左邊是屬性面板,可以查看和修改各個bpmn元素的屬性值,中間是bpmn流程圖,最右側是流程圖中的各種元素。

3、繪制流程圖

1)拖放一個StartEvent(開始事件)和一個EndEvent(結束事件)到流程圖中,分別將名稱設置為“補簽開始”和“補簽結束”。

2)拖放兩個UserTask,分別將名稱設置為技術經理審批和人事專員確認

3)將圖形連接起來,如上圖,提示:將鼠標移動到圖形中心,圖標形狀會發生變化,然后拖動到下一個圖形就完成了連接。

4、生成流程圖png圖片

部署一個Activiti流程需要bpmn文件和流程圖圖片(png格式),可以復制bpmn文件然后將后綴名改為xml,在xml文件上點擊右鍵——>Diagrams——>Show BPMN2.0 Designer會出現如下界面:

點擊左上方的導出按鈕,選擇resources下的bpmn目錄,就會保存為png圖片。

5、部署流程

上章介紹過Activiti的核心引擎ProcessEngine,所有的服務都需要通過流程引擎來獲得。

部署流程需要使用RepositoryService,倉庫服務是存儲相關的服務,一般用來部署流程文件,獲取流程文件,查詢流程定義信息等操作,是引擎中的一個重要的服務。

獲得方法:

RepositoryService repositoryService

= engine.getRepositoryService();

部署流程:

@Test

public void deployAddSigninProcess() {

//獲得配置對象

ProcessEngineConfiguration config =

ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();

//創建核心引擎

ProcessEngine processEngine = config.buildProcessEngine();

//獲得倉庫服務

repositoryService = processEngine.getRepositoryService();

//部署流程,支持鏈式編程

repositoryService

.createDeployment() //創建部署對象

.key("addsigninProcess") //設置部署流程鍵值

.addClasspathResource("bpmn/proc_addsignin.bpmn") //添加bpmn文件

.addClasspathResource("bpmn/proc_addsignin.png") //添加png文件

.name("補簽流程") //設置流程名稱

.deploy(); //部署

}

執行完上面的代碼后會向下面三張表中插入記錄:

act_re_deployment存放流程定義的顯示名和部署時間,每部署一次增加一條記錄

act_re_procdef存放流程定義的屬性信息,部署流程定義都會在這張表中增加一條記錄。

act_ge_bytearray存儲流程定義相關的部署信息。即流程定義文檔的存放地。

這樣一個補簽的流程就完成了部署,后面我們可以按照部署的流程進行層層審批直到完成整個流程。

千鋒Java培訓作為中國IT研發人才一體化服務的開拓者,為學生制定合理有序的學習計劃,0學費入學,2周免費試聽不滿意不收費,與學員簽訂就業協議,堅持良心面授,從千鋒Java培訓班出去的學員均已高薪就業。千鋒推出的免費java視頻教程,讓學員能夠方面的鞏固基礎技術能力。

總結

以上是生活随笔為你收集整理的java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。