主頁 > 企業開發 > BPM作業流引擎常見的術語和概念介紹

BPM作業流引擎常見的術語和概念介紹

2023-04-06 07:36:32 企業開發

本文重點介紹BPM業務流程管理中常常用到概念和術語,這些概念同樣適用于JBPM、Activiti、Flowable、Camunda等主流的開源流程引擎,

一、BPM模型符號協議

1、BPMN (業務流程模型和標記法)

BPMN:業務流程模型和標記法(BPMN, Business Process Model and Notation)是一套圖形化表示法,用于以業務流程模型詳細說明各種業務流程,它最初由業務流程管理倡議組織(BPMI, Business Process Management Initiative)開發,名稱為"Business Process Modeling Notation",即“業務流程建模標記法”,

2、CMMN (案例管理模型符號)

Case Management Model Notation 案例管理模型符號,CMMN是一種圖形符號,用于捕獲基于處理需要各種活動的案例的作業方法,這些活動可能以不可預測的順序執行以回應不斷變化的情況,使用以事件為中心的方法和案例檔案的概念,CMMN擴展了可以用BPMN建模的界限,包括結構化作業量減少和知識作業者推動的作業量,使用BPMN和CMMN的組合允許用戶覆寫更廣泛的作業方法,

3、DMN(決策模型符號)

DMN是決策模型和符號(Decision Model and Notation)的英文縮寫,是由BMN背后的組織OMG管理的一個標準,DMN 是一種用于精確規范業務決策和業務規則的建模語言和符號,DMN 旨在與 BPMN 和/或 CMMN 一起作業,提供一種機制來對與流程和案例相關的決策進行建模,雖然 BPMN、CMMN 和 DMN 可以獨立使用,但它們經過精心設計以相互補充,BPMN、CMMN和DMN真正構成了流程改進標準的“三冠王”,

 

二、流程引擎相關術語

1、流程定義(Process Definition)

Process Definition即流程定義,指通過建模生成的一個符合BPMN規范的完整流程模型定義檔案,Process Definition定義了流程的結構,或者說定義了業務活動的執行程序,Camunda bpm使用bpmn2.0作為其流程定義的主要建模語言,

2、流向/順序流(Flow):

順序流是連接兩個流程節點的連線,順序流是一端帶有箭頭的實線,可在圖中或單個池中鏈接流程內的各個元素,并顯示各個元素的執行順序,訊息流是一端帶有箭頭的點線,可鏈接兩個單獨的池(或兩個單獨的池中的元素),并顯示訊息發送的方向,

3、流程實體(Process Instance)

Process Instance即流程實體,流程實體是流程定義的單獨執行,流程定義和流程實體是一對多關系,流程實體與流程定義的關系與面向物件編程中物件與類的關系相同(在這種類比中,流程實體扮演物件的角色,流程定義扮演類的角色),

流程定義設計完成后,發布到BPM,通過流程引擎決議流程定義,發起一次流程即創建了一個流程實體,比如:創建了一個“請假流程”,這是一個流程定義,張三發起了一次請假流程,即創建了一個流程實體,李四也發起了一次請假,就是創建了另一個流程實體,這兩個實體均基于流程定義創建生成,

4、執行實體(Execution)

Execution即流程執行實體,如果流程實體包含多個執行路徑(例如,在并行網關之后),則會同時產生多個執行實體,即execution, 通過excutionId能夠區分流程實體內的當前活動路徑,

Execution(執行)是分層的,流程實體中的所有Execution(執行)組成一個樹,Process Instance(流程實體)是樹中的根節點,Process Instance(流程實體)本身就是一個Execution(執行),

5、活動實體(Activity Instance)

Activity Instance即活動實體,活動實體概念與執行概念類似,但采用了不同的視角,雖然可以將執行想象為在流程中移動的令牌,但活動實體表示活動(任務、子流程等)的單個實體,因此,活動實體的概念更面向狀態,

6、任務(Task)

task 所有的任務都是活動,但是活動不全是任務,任務是一個流程的節點,但是并非所有流程節點都是任務,

用戶任務: 就是需要用戶參與觸發的任務,

服務任務: 服務任務又可以劃分為各種各樣的服務任務,

7、服務任務(Service Task)

Camunda中的Service Task(服務任務)用于呼叫服務,在Camunda中,可以通過呼叫本地Java代碼、外部作業項、web服務形式實作的邏輯來完成的,

8、腳本任務(Script Task)

在Camunda中,腳本任務是一個自動活動,當流程執行到腳本任務時,相關的腳本自動執行,camunda支持大多是兼容JSR-223的腳本引擎實作,比如Groovy, JavaScript, JRuby and Jython,

9、定時任務(Job and Job Definition)

Job and Job Definition即作業執行器,Camunda流程引擎包含一個名為Job Executor的組件,作業執行器是一個調度組件,負責執行異步后臺作業,考慮一個計時器事件的例子:每當流程引擎到達計時器事件時,它將停止執行,將當前狀態保存到資料庫,并創建一個作業以在將來繼續執行,部署流程時,流程引擎會為流程中的每個活動創建作業定義,這些活動將在運行時創建作業,

10、事件(event)

event 事件是BPMN流程建模元素,表示在流程程序中“發生”的事情,事件會影響流程的走向,BPMN定義了不同的事件型別,事件包含開始(Start)、中間(Intermediate)、邊界(Boundary)和結束(End)四種型別,根據觸發方式不同,可以分為捕獲事件(Catching Event)和拋出事件(Throwing Event),

詳細參考:https://lowcode.blog.csdn.net/article/details/122886122

11、流程變數(Process Variable)

Process Variable即流程變數,流程變數在整個作業流中扮演很重要的作用,是業務和流程引擎之間互動資訊的載體,業務可以把資料放到流程變數里傳遞給流程引擎,流程引擎也可以把資訊放到流程變數給傳遞給業務,流程變數最常見的用途有路由條件運算式、流程執行事件引數等,例如:請假流程中有請假天數、請假原因等一些引數都為流程變數的范圍,流程變數的作用域范圍是流程實體,也就是說各個流程實體的流程變數是不相互影響的,

12、網關(Gateways)

Gateway是BPMN2規范中的流程定義元素,中文可稱為“網關”、“決策”、“判斷”,網關用來控制流程的執行流向,當在拆分路徑時產生令牌,在合并路徑時消費令牌,常用網關可分為排他網關(XOR)、并行網關(AND)和包容網關(OR),BPMN2.0規范中提供了bpmn:exclusiveGateway排他網關標簽、bpmn:parallelGateway并行網關標簽來定義,activiti、flowable、camunda等開源作業流引擎均支持該標簽,

13、泳道(Swimlanes)

BPMN中的泳道物件(也稱為泳道)是表示業務流程參與者的矩形框,泳道可能包含由該泳道(參與者)執行的流物件,除了必須有一個空體的黑盒子,泳道可以水平排列,也可以垂直排列,它們在語意上是相同的,只是表示不同,對于水平泳道,流程從左到右流動,而垂直泳道中的流程從上到下流動,泳道的例子包括客戶、客戶部門、支付網關和開發團隊,

池(Pools):pool代表業務流程中的參與者,它可以是一個特定的物體(如部門)或一個角色(如助理經理、醫生、學生、供應商),

游道(Lanes):lane是池的子磁區,例如,當您有一個池部門時,您可以將部門主管和普通職員作為泳道,與池一樣,您可以使用lane來表示流程中涉及的特定物體或角色,

14、子流程(SubProcess)

子流程是包含其他活動、網關、事件等的活動,其本身形成的流程是更大流程的一部分,子流程完全在父流程中定義(這就是為什么它通常被稱為嵌入式子流程),

BPMN 2.0區分了嵌入式子流程(Embedded Subprocess)和呼叫活動(Call Activity),從概念上看,當流程執行到達活動時,兩者都將呼叫子流程,

不同之處在于,呼叫活動參考流程定義外部的流程,而子流程嵌入在原始流程定義中,呼叫活動的主要用例是擁有可重用的流程定義,可以從多個其他流程定義呼叫該定義,子流程的流程定義是在運行時決議的,如果需要,也可以獨立呼叫子流程,

當流程執行到達呼叫活動時,將創建一個新的流程實體,該實體用于執行子流程,可能會像在常規流程中那樣創建并行子執行,主流程實體將一直等待,直到子流程完全結束,然后繼續原始流程,

子流程允許分層建模,許多建模工具允許折疊子流程,隱藏子流程的所有細節,并顯示業務流程的高級端到端概述,

15、特別流程(Ad-hoc)

臨時流程是一組業務活動和相應的工件(例如,資訊,決策和產品),只能在高級別的聚合中進行標準化,實際的活動種類及其排序因個案而異,臨時流程在國內也被稱為“任意流”,以下是Ad-hoc流程的特征:

雖然可以預測某些活動,但是一開始就無法完全指定大部分程序,因為它需要的資訊只能以某種方式進入專案,

如果我們假設在ad-hoc流程的背景關系中永遠不會確定下一步,則它們的執行不能由傳統的基于流程的資訊系統控制,在大多數情況下,知識作業者可以控制流程,

似乎不可能在設計時考慮臨時程序的所有可能性,這樣的程序模型將變得復雜且難以管理,

16、部署(deployment)

Deployment(部署)是指將流程定義發布到作業量引擎中之后稱為deployment,

17、身份管理(IDM)

提供SSO功能憑證管理作業,可以用來管理權限、用戶、組

18、流程設計器(Modeler)

模型管理工具,用于定義流程模型、表單及應用定義,在Camunda BPM中,提供了C/S流程建模工具(Modeler)和B/S流程建模工具(Web-based tooling for BPMN, DMN, CMMN, and Forms | bpmn.io),用戶通過拖拉拽的方式設計流程圖,這個設計完的xml檔案就是流程定義,

19、表單(Form)

form 表單配置給每個流程節點使用,如請假申請中需要用戶填寫請假天數事由,審批節點中需要審批人填寫審批意見等,

三、中國特色流程操作概念

1、會簽

會簽是一種聯合審批的特殊審批流程,可理解為一種多人投票機制,一個任務需要多個人同時處理,然后匯總多個人的意見,決定流程下一步該如何執行,流程設計時,若會簽審批節點中設定多個參與人,流程運行時,會簽節點任務需要多人共同處理,然后匯總多人的處理意見,決定會簽節點的處理結果,

會簽分并行會簽和順序會簽兩種:

  • 并行會簽:指同一個審批節點設定多個人,如A、B、C三人,三人會同時收到待辦任務,需全部同意之后,審批才可到下一審批節點,
  • 順序會簽:指同一個審批節點設定多個人,如A、B、C三人,三人按順序依次收到待辦,即A先審批,A提交后B才能審批,需全部同意之后,審批才可到下一審批節點,

免費在線體驗系統:http://www.yunchengxc.com

2、或簽

一個流程審批節點里有多個處理人,任意一個人處理后就能進入下一個節點,例如:員工發起采購申請,提交給多名領導審批,只要有一名領導同意即可提交到下一節點,

BPMN2.0規范中提供了bpmn:multiInstanceLoopCharacteristics多實體回圈的模型定義,并通過bpmn:completionCondition標簽定義多實體完成條件,activiti、flowable、camunda等開源作業流引擎均支持該屬性,

3、抄送

抄送:將審批結果通知給抄送串列對應的人,

4、駁回

駁回:將審批重置發送給某節點,重新審批,駁回也叫退回,也可以分退回申請人、退回上一步、任意退回等,

  • 退回申請人: 直接把流程退回給申請節點
  • 退回上一步: 退回流程上一節點
  • 退回任意節點: 退回到流程走過任意一個節點

5、轉辦

轉辦:A轉給其B審批,B審批后,進入下一節點,

6、委派

委派:A轉給其B審批,B審批后,轉給A,A審批后進入下一節點,

7、跳轉

跳轉:可以將當前流程實體跳轉到任意辦理節點

8、拿回

拿回:在當前辦理人尚未處理檔案前,允許上一節點提交人員執行拿回

9、撤銷

撤銷:流程發起者可以對流程進行撤銷處理

10、催辦

催辦:可以給當前辦理人員發送催辦通知訊息

11、加簽

加簽:允許當前辦理人根據需要自行增加當前辦理節點的辦理人員

12、減簽

減簽:在當前辦理人操作之前減少辦理人

 

 

 

專注云原生、低代碼、流程引擎研發和應用,免費體驗環境:http://www.yunchengxc.com

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/549244.html

標籤:其他

上一篇:JavaScript快速入門(二)

下一篇:Cesium 案例(一) Z-Indexing Geometry

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more