摘要:該文章的目的是對BPMN(Business Process Modeling Notation)的概要描述和介紹。描述基本的BPMN符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram)
2、BPMN簡介
2.1概述
該文章的目的是對BPMN(Business Process Modeling Notation)的概要描述和介紹。
描述基本的BPMN符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram);討論BPMN的各種的用途,包括以何種精度來影響一個流程圖中的模型;(Also discussed will be the different uses of BPMN, including how levels of precision affect what a modeler will include in a diagram.);BPMN作為一個標准的價值,以及BPMN未來發展的遠景
2.2BPMN是什么
由BPMI(The Business Process Management Initiative)開發了一套標准叫業務流程建模符號(BPMN)。在 BPMI Notation Working Group超過2年的努力,於2004年5月對外發布了BPMN 1.0 規范。BPMN的主要目標是提供一些被所有業務用戶容易理解的符號,從創建流程輪廓的業務分析到這些流程的實現,直到最終用戶的管理監控。BPMN也支持提供一個內部的模型可以生成可執行的BPEL4WS。因此BPMN的出現,彌補了從業務流程設計到流程開發的間隙。
BPMN定義了一個業務流程圖(Business Process Diagram),該業務流程圖基於一個流程圖(flowcharting),該流程圖被設計用於創建業務流程操作的圖形化模型。而一個業務流程模型(Business Process Model),指一個由的圖形對象(graphical objects)組成的網狀圖,圖形對象包括活動(acticities)和用於定義這些活動執行順序的流程控制器(flow controls)
2.3BPMN基礎
業務流程圖由一組圖形元素構成。這些元素讓我們很容易開發一個簡單的,為大多數業務分析人員更熟悉的流程圖。
對於建模者來說,這些圖形都是易於區分和識別的。比如活動是長方形,路由是菱形。
需要強調的是,開發BPMN的一個動機就是創建一套簡單的機制來創建業務流程模式,與此同時,還要能夠應付業務流程內在的復雜性。
尋找一個可以處理這些相互沖突的需求的途徑,是將這些圖形符號組織並分類。
BPMN四種基本元素是:
- Flow Objects
- Connecting Objects
- Swimlanes
- Artifacts(人造物品)
2.4流對象(Flow Objects)
流對象是BPD的核心元素。
有三個流對象 Event, Activity, Gateway
Event, 事件
用一個圓圈代表事件(Event),它指的是在業務流程的運行過程中發生的事情。這些事件影響流程的流轉,事件通常有一個cause (trigger)或者impact (result)。
有三種類型的事件:Start, Intermediate, and End
Activity,活動
用圓角矩形表示一個活動, is a generic term for work that company performs.一個活動可以由多個活動組成,活動的類型包括:Task 和 Sub-Process
Gateway,網關
菱形代表網關,用來控制流程的分支和聚合。
2.5連接對象Connecting Objects
在一個圖中,連接對象將流程對象連接起來組成業務流程的結構。三種連接對象:
Sequence Flow 序列流
用實線實心箭頭表示,代表流程中將被執行的活動的執行順序。
Message Flow 消息流
用虛線空心箭頭表示,用來表示2個分開的流程參與者(業務實體或業務角色)之間發送或者接收到的消息流。
Association 結合關系
點狀虛線表示,用於顯示活動的輸入輸出。
2.6甬道Swimlanes
用以區分不同的功能和職責。
BPMN有2中類型的甬道:
Pool
代表流程中的一個參與者。它也可以用作一個圖形容器來與其他的pool相分隔。通常在交互流程中出現(B2B)。
Pool主要用於2個獨立的實體或者參與者之間的物理划分。
各個pool中的活動通常是有自身的流程的。因此,順序流(the Sequence Flow)通常不會越過多個pool的,而消息流是可以的,如下圖就是一個帶pool的業務流程圖
Lane
Pool的子划分,可以垂直或者水平的,用來對活動的組織和分類。
Lane更加接近我們傳統的甬道的概念。
Lane常用來將活動按照角色划分,流程可以在一個pool中跨Lane流轉,但是在同一個pool中消息流通常不跨lane流轉。
一個簡單業務流程的例子
詳細的部分業務流程圖
2.7描述對象Artifacts
為了擴展基本符號,提供描述額外的上下文,BPMN使用了描述對象artifact
BPMN
Data Object
Data Objects are用於描述活動所需或者產生的數據。他們用連線與活動連接起來。
Group
用於描述和解釋目的,不會影響流程的流轉。
Annotation
提供一些附加性的文本信息給流程圖的閱讀者。
一個使用artifacts的例子:
2.8BPMN分類
業務流程模型(Business process modeling )提供不同的模型,以面向不同的讀者,使用BPD可以有2個基本的模型
- Collaborative (Public) B2B Processes 協作流程模型
- Internal (Private) Business Processes 獨立式流程模型
Collaborative B2B Processes 協作流程模型
該模型描述了2個以上的業務實體之間的交互,不是從某一個特殊的參與者的角度,而是從一個全局的角度描述了這些流程的交互。描述的方式是使用活動的執行順序和參與者之間的消息的流轉。
2.9BPMN 的用途(通過 BPD 創建的業務流程種類)
<1>Collaborative(Public) B2B Processes
用 Pool 的方式描述兩個或多個業務實體(流程)之間的互動(參與者之間的互動);主要描述業務實體之間可視(Public)的活動之間的互動
<2>Internal(Private) Business Processes
主要描述獨立的業務實體(流程),也會描述出與外部參與者的互動關系,但主要描述業務實體之間不可見(Private,獨立業務實體內部)的活動
(例子:泳道內的業務實體為 Internal,泳道之間的業務實體為 Collaborative)
2.10BPMN 與 BPEL4WS 的轉換
(模型)
(例子)
使用BPMN建模的價值
眾多的成員保障了BPMN作為一個業務流程建模語言的標准。BPMN的發展也是減少現有過多的流程建模工具和語言的局面。同時,BPMI組織借鑒了很多已有建模語言的技術和經驗,例如UML的活動圖,UML EDOC的業務流程圖,IDEF等等。推動BPMN發展的另一個因素是,以往的業務流程模型和系統設計開發從技術上被分開,這樣就要手動的將業務流程模型轉化為運行模型。這樣會使流程所有者很容易出錯,而且很難理解流程的升級和執行。
將一個BPMN圖映射到BPEL4WF
為了減少規范之間的不兼容性,BPMN的一個關鍵的目標就是在面向業務流程建模語言和實現該流程的編成語言之間建立一個橋梁。由於擁有豐富的對象屬性,BPMN的圖形化對象可以映射到BPEL4WS v1.1。
下圖標記了一個業務流程圖的一部分是如何轉化為BPEL4WS的。
BPMN的將來
雖然BPMN規范當前版本是1.0,很多公司已經開始或即將開始支持該規范了。
大量應用經驗的積累以及用戶的反饋,提供了很多有價值的東西,尤其包括映射到BPEL4WS的部分。短期內不會有大版本發布,1.1版本將在1年之后發布。該版本會使BPMN更能滿足有着更多上下文的高層業務模型,比如包括,業務規則業務策略的模型。BPMI是個非正式組織,它仍在不斷發展,並且致力於開發BPM系統的核心規范。
BPMI和OMG組織正在討論一些有意思的東西,如UML中的活動圖(Activity Diagrams)可能會與BPMN的業務流程圖合並。