定義業(yè)務(wù)過程間協(xié)同的交互契約是跨組織業(yè)務(wù)過程建模的核心關(guān)鍵問題。對象管理組織提出的業(yè)務(wù)過程模型和符號BPMN 2.0是業(yè)務(wù)過程管理領(lǐng)域事實上的工業(yè)標(biāo)準(zhǔn)。將BPMN 2.0中的編排應(yīng)用于定義業(yè)務(wù)過程間的交互契約,不僅可直觀描述交互契約,還可得到眾多工具的支持,有利于業(yè)務(wù)過程間協(xié)同的實施。
【關(guān)鍵詞】BPMN 2.0 編排消息交互 過程模型
1 引言
對業(yè)務(wù)過程間的交互進(jìn)行定義是自上而下式跨組織業(yè)務(wù)過程建模必須解決的關(guān)鍵問題。為實現(xiàn)不同組織業(yè)務(wù)過程間的有效協(xié)同,有必要提供全局性的交互契約,以規(guī)范業(yè)務(wù)過程間的協(xié)同。為此,對象管理組織(The Object Management Group,簡稱OMG)于2011年1月頒布了業(yè)務(wù)過程模型和符號BPMN(Business Process Model and Notation,簡稱BPMN)2.0。在BPMN 2.0中,建模者可以使用編排(choreography)來直觀定義業(yè)務(wù)過程間的交互契約。
2 PMN 2.0中編排
在BPMN 2.0中,編排由下述四種元素組成:編排活動(choreography activity)、事件(event)、網(wǎng)關(guān)(gateway)和序列流(sequence flows)。其中,編排的核心子集如圖1示,其中,編排活動、事件、網(wǎng)關(guān)統(tǒng)稱為流對象(flow objects);序列流又稱為連接對象(connection objects)。
3 排在交互契約定義中的應(yīng)用
圖2是文獻(xiàn)[3]中使用協(xié)作圖定義的火車站服務(wù)。該協(xié)作圖包含四個參與者:Customer(客戶)、TrainStation(火車站)、Availability(車票檢查組件)、Booking(車票預(yù)訂組件)。該協(xié)作圖描述了四個參與者間的交互場景:首先,Customer向TrainStation發(fā)送請求消息(消息發(fā)送事件1:request)。其次,TrainStation與Availability間進(jìn)行消息交互,以檢查是否有可用的火車票(消息發(fā)送事件A1:info,A2:infoAvail,A3:itinerary*)。然后,TrainStation與Booking間進(jìn)行消息交互,以預(yù)定可用的火車票(消息發(fā)送事件B1:book,B2:ack,B3:invoice),最后,TrainStation把最終的結(jié)果發(fā)送給Customer(消息發(fā)送事件2:result)。其中,A3:itinerary*為迭代事件,B3:invoice?為條件事件。
進(jìn)一步,該協(xié)作圖事實上包含三個會話,分別是:
(1)request, info, infoAvail, itinerary*, book, ack, result, invoice;
(2)request, info, infoAvail, itinerary*, book, ack, invoice, result;
(3)request, info, infoAvail, itinerary*, book, ack, result。
針對圖2示的火車站服務(wù),使用BPMN 2.0編排定義的火車站服務(wù)如圖3示。下面說明如何使用BPMN 2.0編排定義該火車站服務(wù)所描述的四個參與者間的交互契約。
編排活動可用于定義參與者間的消息發(fā)送事件,例如消息發(fā)送事件1:request、A1:info,A2:infoAvail等。尤其需要注意的是,標(biāo)準(zhǔn)循環(huán)的編排任務(wù)可用于定義迭代事件。此外,每個編排任務(wù)分為三部分:上下部分用于描述消息的發(fā)送者和接收者,中間部分用于描述消息。
序列流可用于定義消息發(fā)送事件的順序關(guān)系,例如消息發(fā)送事件1:request和消息發(fā)送事件A1:info間的順序關(guān)系用序列流描述。
網(wǎng)關(guān)可用于定義消息發(fā)送事件間的選擇關(guān)系和并發(fā)關(guān)系,例如消息發(fā)送事件B3:invoice和消息發(fā)送事件2:result間的并發(fā)關(guān)系用并發(fā)網(wǎng)關(guān)描述。
事件可用于定義交互契約的開始和結(jié)束。進(jìn)一步說,開始事件用于定義交互契約的開始;結(jié)束事件用于描述交互契約的結(jié)束。
4 結(jié)論
隨著全球經(jīng)濟(jì)化的發(fā)展和企業(yè)信息化程度的不斷提高,組織間業(yè)務(wù)過程的協(xié)同變得越來越普遍。將BPMN 2.0中的編排應(yīng)用于建模業(yè)務(wù)過程間的交互契約,有利于業(yè)務(wù)過程協(xié)同的實施。
(通訊作者:代飛)
參考文獻(xiàn)
[1]代飛,莫啟,李彤等.一種混合式的過程編排定義方法[J].計算機(jī)集成制造系統(tǒng),2016,22(02):363-371.
[2]OMG.Business Process Model and Notation (BPMN) Version 2.0[EB/OL].2011,http://www.omg.org/spec/BPMN/2.0/.
[3]Salaün G,Bultan T,Roohi N.Realizability of Choreographies using Process Algebra Encodings[J].IEEE Transactions Services Computing,2012,5(03):290-302.
[4]Bultan T,F(xiàn)erguson C and Fu X. A Tool for Choreography Analysis using CollaborationDiagrams[C].Proceedings of the 7th International Conference on Web Services,2009:856-863.
作者簡介
吳瑞瓊(1994-),女,云南省宣威市人。碩士研究生,從事業(yè)務(wù)過程管理的研究。
代飛(1982-),男,四川省樂山市人。副教授,從事業(yè)務(wù)過程管理的研究。
黃苾(1983-),女,福建省寧德市人。講師,從事業(yè)務(wù)過程管理的研究。
段清(1975-),男,云南省昆明市人。副研究員,從事智能計算方面的研究。
作者單位
1.云南大學(xué)軟件學(xué)院 云南省昆明市 650091
2.西南林業(yè)大學(xué)大數(shù)據(jù)與智能工程學(xué)院 云南省昆明市 650091