Cordys BOP4業務流程模型中所使用的常用BPMN構件

肖永威發表於2015-04-22


啟動事件(Start Event)

    啟動事件是BPMN表示流程開始的構件,並且是有效業務流程模型所強制的。啟動事件沒有任何輸入聯結器。啟動事件可以通過各種觸發器被例項化,這說明如下:

    表1.啟動事件觸發機制

觸發型別

描述

圖示

No Message or Timer

無訊息或定時:啟動事件無任何定義。

Message

訊息:啟動事件通過輸入訊息觸發。

Timer

定時器:當定時器被啟用,業務流程模型應附時間表。


活動(Activity)

    活動是涉及操作業務流程中最小單位。用於連線和順序執行擁有開始和結束點及專注於從業務流程模型獲取通用目標的一組邏輯活動。在設計業務流程時,活動表示為一個BPMN構件,並且是執行業務處理過程內的通用術語。當只是執行單一活動時,無論當活動被說為非原子的幾個其他相互依賴活動,反之亦然活動是可以說成原子的。做為流程模型一部分的不同型別活動是簡單活動,任務、Web服務、決策表等等。在Cordys BOP平臺,活動使用下圖例表示:


     

    表2.活動型別

活動型別

描述

Web Service

Web服務:當Web服務連線到活動,傳送SOAP請求執行某一特定任務。不需要使用者操作。

XForm or External User Interface

XForm或外包使用者介面:當XForm或外部介面繫結到活動,在業務流程執行時,送XForm或外包介面到收件箱(Inbox),訊息可以是XForm、外部介面、或使用者資訊。

Activity

活動:這型別活動沒有方法或繫結使用者介面。這類活動用於訊息對映(message map)分配。

Decision Table

決策表:當決策表繫結到活動上時,決策表是從業務流程模型的引用。


決策(Decision)

    決策是BPMN構件。決策功能是做為業務流程控制關口,可流程控制選擇一個或更多個路徑。決策至少有一個接入連線和兩個或更多個出口連線。決策表示圖如下所示:
     

基於資料決策(Data-based decisions)

    基於資料的決策表示分支節點,路徑選擇基於包含在輸出聯結器總的條件表示式。僅有一個可選擇路徑。
    

基於事件決策(Event-based decisions) 

    基於事件的決策表示分支節點,路徑選擇基於在過程中節點上所發生的事件。特定事件,通常是接受訊息決定路徑的選擇。儘管例如可以使用定時器事件,Cordys BOP使用基於決策的接收訊息事件(Receive Message Event)。
    


結束事件(End Event

    結束事件(End)是BPMN構件,表示流程的結束。結束事件將不會有任何輸出處理流程。有效流程模型應該有至少一個結束事件(End),並可以在一個流程模型裡有多個結束事件。到達出口結束事件是結束事件的結果,在此基礎上,有不同型別的結束事件描述如下:

    表3 結束(End)事件型別

型別

描述

表示圖形

None

無:這種結束事件型別沒有定義任何結果。在子流程,結束事件觸發業務流程返回父流程。

Message

訊息:這種結束事件型別表示,傳送流程結果給流程參與者。在流程的結束,子流程傳送輸出訊息給父流程。

Error

錯誤:這種結束事件型別表示命名為“錯誤”應該發生在流程結果。該錯誤將被事件內容中的中間事件(Intermediate event)所捕獲。在子流程中,流程錯誤可用於異常處理,它將連線到父流程異常處理事件。

Rollback

回滾:這種結束事件表示補償機制是必須的。當流程回滾時,補償標示符將觸發中間事件(Intermediate event)。

Break Loop

打破迴圈:這種型別結束事件功能有助於打破並退出迴圈,繼續執行迴圈後面最近的活動。
注意:打破迴圈 結束型別只出現在結束事件(End event)滑鼠右鍵裡,選擇分組(Group as)操作,並選擇下列分組構件:While、Until和For Each。


  • While: 
  • Until: 
  • For Each: 

Continue Loop

繼續迴圈:這種型別的結束事件功能有助於打破當前迴圈並開始迭代下一組迴圈。
N注意:繼續迴圈 結束型別只出現在結束事件(End event)滑鼠右鍵裡,選擇分組(Group as)操作,並選擇下列分組構件:While、Until和For Each。


  • While: 
  • Until: 
  • For Each: 

Terminate

終止:這種結束事件型別的功能是終止流程的執行。
注意:終止 結束型別只出現在結束事件滑鼠右鍵裡,選擇分組(Group as)操作並選擇嵌入子流程。

Abort

拋棄:這種結束事件型別的功能是拋棄流程的執行。
注意:拋棄 結束型別只出現在結束事件滑鼠右鍵裡,選擇分組(Group as)操作並選擇交易。




接收訊息(Receive Message

    接收訊息事件是BPMN構件,這是由流程參與者的傳入訊息觸發。在流程接到指定訊息前,流程始終處於等待狀態,而一旦接到訊息,流程將流轉到下一個最近的活動環節。接收訊息事件也可以用於父流程與子流程間的同步處理,在這個案例,接收訊息用在主流程。接收訊息表示圖如下: .

    如果接收訊息仿照決策構件,決策(Decision)翻譯成BPML“選擇(Choice)”。在執行時,輸出聯結器的選擇依賴最後輸入流程的訊息。為了決策選擇,從前一個活動環節或者子流程使用傳送訊息事件(Send Message event)來接收到的訊息,可以用做輸出訊息。在設計時,當接收訊息用在決策結構之後,決策條件可以為空。
    

    在執行期間,當遇到接收訊息事件,主流程將處於等待狀態。如果子流程是優先“接收訊息”並且應該沒有任何輸出訊息,接收訊息指定通過來自子流程的“傳送訊息事件”為輸入訊息。如果子流程有輸出訊息,那麼,直到執行完子流程,並通過主流程接收輸出訊息時,主流程將處於等待狀態。


傳送訊息事件(Send Message Event)

    傳送訊息活動是BPMN構件,用於從子流程到父流程或主流程傳送訊息。如果等待到為獨立子流程“Sub Process is finished”標記選項,傳送訊息事件(Send Message event)用於子流程與父流程同步。如果不標記這個選項,父流程持續等待未完成的子流程。在一些活動後,一些資訊/資料可能會被髮送給父流程。在父流程中,接收訊息建模從獨立子流程傳送訊息事件(Send Message event)拾取訊息。在父流程中接收訊息應該與獨立子流程傳送訊息事件的連線,定義相同的訊息名稱。

   

    傳送訊息可以通過拖拽連線到傳送訊息事件(Send Message event),在工作空間的專案內容中,選定流程指定訊息或活動訊息進行拖拽。


    譯者水平有限,歡迎反饋交流。

相關文章