業(yè)務(wù)流程管理綜述 業(yè)務(wù)流程管理綜述
TJDLUT
摘要:業(yè)務(wù)流程管理包括支持業(yè)務(wù)過(guò)程分析、設計、執行、管理的方法、技術(shù)及工具。它可以被看作是經(jīng)典工作流管理系統和方法的擴展。本文主要介紹業(yè)務(wù)流程管理的基本概念、相關(guān)技術(shù),以及討論形式化方法/語(yǔ)言對業(yè)務(wù)流程管理的作用(例如Petri網(wǎng),過(guò)程代數等)。
關(guān)鍵詞:業(yè)務(wù)流程管理 工作流管理形式化方法
引言
首先了解一下信息技術(shù)演化的過(guò)程是有助于我們地更好的了解業(yè)務(wù)流程管理系統的相關(guān)知識。從圖1中,我們可以看到當今信息系統發(fā)展的趨勢[3]。該圖表明當今的信息系統包含了幾個(gè)層。中心層是直接和硬件打交道德操作系統;第二層是通用的應用程序,這些應用程序在企業(yè)中有廣泛使用,比如Microsoft Office;第三層是為某些特定領(lǐng)域所開(kāi)發(fā)的軟件,這些軟件局限于專(zhuān)業(yè)的企業(yè)或者部門(mén)內部使用,比如人力資源管理系統,Call Center系統等;第四層是專(zhuān)業(yè)定制軟件,這些軟件僅僅為特定的公司組織開(kāi)發(fā),通用性較小,專(zhuān)業(yè)化程度很高。
圖1 信息系統技術(shù)演化趨勢
在二十世紀六十年代,信息系統中不包含第二層和第三層。信息系統建立在一個(gè)小型的操作系統上,僅僅有特別局限的功能。因為那時(shí)沒(méi)有通用軟件也沒(méi)有行業(yè)專(zhuān)用軟件,當時(shí)的信息系統僅僅包含專(zhuān)業(yè)定制軟件。從那時(shí)開(kāi)始,第二層和第三層軟件逐漸發(fā)展起來(lái),此外第四層軟件的種類(lèi)逐漸增多,同時(shí)增加了更多的功能。當今,操作系統更加強大,存在于第二層的數據庫管理系統為第四層軟件的發(fā)展提供了更多的功能上的支持。這種趨勢導致,軟件的發(fā)展的重點(diǎn)由單純的編程轉向以組件的形式組成更加復雜的系統。當前對軟件供應商的挑戰不再是某一模塊的代碼編程,而是把第四層軟件的功能協(xié)調整合在一起。
另外一個(gè)趨勢是軟件發(fā)展的重點(diǎn)從數據處理轉向流程管理。二十世紀70年代、80年代,軟件主要以數據驅動(dòng)的應用程序為主。信息技術(shù)的重點(diǎn)存儲和提取信息數據,因此數據建模是當時(shí)建立一個(gè)信息系統首先要做的工作。業(yè)務(wù)流程建模經(jīng)常被忽視,并且流程經(jīng)常要適應當時(shí)的信息技術(shù)。管理趨勢,如業(yè)務(wù)流程重組,則越來(lái)越重視流程管理。因此,系統工程師們開(kāi)始轉向基于流程的系統得開(kāi)發(fā)方法的研究。
最后一個(gè)趨勢是事前詳細設計轉向過(guò)程重設計及組件重組。由于Internet的發(fā)展,信息系統發(fā)生了巨大的變化,越來(lái)越少的信息系統是從零開(kāi)始建造。在很多案例中,我們可以看到很多應用程序中的某些組件和功能被移植到新的系統中。盡管基于組件的軟件開(kāi)發(fā)方式仍然存在一些問(wèn)題,但是我們可以看到軟件的開(kāi)發(fā)方式變得越來(lái)越多樣化、更加動(dòng)態(tài)化。
業(yè)務(wù)流程管理系統或是存在于第二層獨立的軟件,或是集成在第三層軟件中的組件。存在與第二層體系中的業(yè)務(wù)流程管理系統的例子是工作流管理[11,12,13,14,15],比如StaffWare,MQSeries,和COSA。在主導的ERP系統(第三層)中,工作流管理經(jīng)常作為一個(gè)組件出現。SAP、Baan、PeopleSoft、Oracle的工作流引擎可以看作是集成的業(yè)務(wù)流程管理系統。將業(yè)務(wù)流程管理分離出來(lái)作為一個(gè)獨立的組件的想法和第三種軟件發(fā)展趨勢相吻合。業(yè)務(wù)流程管理系統避免將工作流程硬編入專(zhuān)業(yè)軟件的繁雜工作,同時(shí)提供了對從硬編程到重組組件的支持。比如,現今的工作流管理系統可以用來(lái)集成到已經(jīng)存在的軟件中去,支持當業(yè)務(wù)流程改變的時(shí)候,只需要更改工作流程圖,而不必重新編程。將業(yè)務(wù)流程管理作為一個(gè)獨立的組件的想法也和Web Service的創(chuàng )意一致:Web Service語(yǔ)言,比如,BPEL4WS,BPML,WSCI,XLANG和WSFL可以被用于從使用WSDL定義的系統中提取出服務(wù)。
從科學(xué)的觀(guān)點(diǎn)來(lái)看,上述觀(guān)點(diǎn)早在早期的辦公信息系統中即有體現。在二十世紀70年代,Skip Ellis[16], Anatol Holt[23], Michael Zisman[18]已經(jīng)開(kāi)始了研究所謂的辦公信息系統的工作,這種系統以流程模型為驅動(dòng)。這三位先驅都是利用Petri網(wǎng)為工具對辦公流程建模的。20世紀70年代到80年代之間,是發(fā)展辦公信息系統的大好時(shí)機,不幸的是,很少真正的軟件成功開(kāi)發(fā)出來(lái)。因此,該技術(shù)和軟件的研究幾乎停滯了十年之久,結果是,在80年代幾乎毫無(wú)進(jìn)展。在20世紀90年代,研究界重新對該領(lǐng)域產(chǎn)生了濃厚的興趣,一些工作流管理系統在90年代的后五年中開(kāi)發(fā)出來(lái),并且學(xué)者們發(fā)表了大量關(guān)于工作流技術(shù)的論文?,F今,工作流管理系統基本有了雛形[13]。然而,這些軟件僅僅局限于特定的領(lǐng)域,比如銀行業(yè)和保險業(yè)。就像Skip Ellis指出的,從上述的盛衰沉浮的發(fā)展進(jìn)程中學(xué)習到寶貴的經(jīng)驗是非常重要的[24]。在80年代的失敗可以歸咎于技術(shù)和理論的不成熟。當時(shí),網(wǎng)絡(luò )不發(fā)達或者某些地區根本不存在,沒(méi)有合適的圖形界面,并且沒(méi)有合適的開(kāi)發(fā)工具。然而,最根本的問(wèn)題在于,沒(méi)有統一的流程建模模型,并且那些系統太過(guò)于剛性,以至于不能人們不能真正將之應用到實(shí)踐中。上述大多數技術(shù)問(wèn)題現今已經(jīng)解決,然而概念上的問(wèn)題依舊存在:沒(méi)有統一的業(yè)務(wù)流程建模標準,以及當今的工作流管理系統在過(guò)程邏輯上增加了許多不必要的限制,比如流程大多被訂制成順序執行。
1.業(yè)務(wù)流程管理的需求與產(chǎn)生的背景
業(yè)務(wù)流程(也叫做經(jīng)營(yíng)流程)是為了實(shí)現一定的經(jīng)營(yíng)目的而執行的一系列邏輯相關(guān)的活動(dòng)的集合,業(yè)務(wù)流程的輸出是滿(mǎn)足市場(chǎng)需要的產(chǎn)品或服務(wù)。根據功能、管理范圍等的不同,企業(yè)的流程管理一般分為生產(chǎn)流程層、運作層、計劃層和戰略層四個(gè)層次[3]。表1對各個(gè)層次做了比較。
表1 流程管理的四個(gè)層次
管理層次
功能
管理范圍
影響時(shí)間范圍
使用方法
信息系統支持
生產(chǎn)流程層
設備和工藝的實(shí)時(shí)控制
具體設備
很短
流程控制理論
現場(chǎng)總線(xiàn)、數據采集和監控系統
運作層
制作執行流程管理
車(chē)間
較短
調整和優(yōu)化理論
制造執行系統、車(chē)間調度系統等
計劃層
資源能力計劃和預算
部門(mén)至企業(yè)
較長(cháng)
統計和隨機模型、優(yōu)化理論
企業(yè)資源計劃
戰略層
戰略調整、流程設計和資源類(lèi)型確定
整個(gè)企業(yè)
長(cháng)
經(jīng)濟模型、決策模型
知識管理、決策支持系統
流程管理的各層次均有相對獨立的、特定的方法,但層次之間也有著(zhù)密切的聯(lián)系。首先,高層的管理目標最終要通過(guò)低層的業(yè)務(wù)活動(dòng)來(lái)實(shí)現;其次,當低層的管理解決不了實(shí)際問(wèn)題時(shí),就需要引入高層的管理,例如當運作層的調度無(wú)法解決資源的配置問(wèn)題時(shí),就說(shuō)明分配給該流程的資源數目需要修改,此時(shí)需要引入計劃層的管理,重新進(jìn)行資源能力計劃的計算;最后,低層的數據為高層的管理決策提供依據,企業(yè)的策略管理和戰略管理中的模型和參數來(lái)自對企業(yè)實(shí)際經(jīng)營(yíng)活動(dòng)統計數據的積累。因此,從整個(gè)企業(yè)流程管理的角度來(lái)看,有必要將這四個(gè)層面上的流程管理統一到一個(gè)框架下,并和企業(yè)的信息系統聯(lián)系起來(lái)。
從企業(yè)信息系統的角度來(lái)看,辦公自動(dòng)化系統、事務(wù)處理系統和決策支持系統等都是常見(jiàn)的企業(yè)信息系統,但這些系統并沒(méi)有加入流程的因素,只是用來(lái)幫助員工更好地完成某些特定的任務(wù)。工作流系統的出現使得整個(gè)流程的自動(dòng)流轉或自動(dòng)執行成為可能,但是工作流一般只解決生產(chǎn)流程層的問(wèn)題,與企業(yè)的計劃和戰略決策還存在一定的脫節。另外,隨著(zhù)企業(yè)業(yè)務(wù)流程向企業(yè)外部(供應商和客戶(hù))延伸,傳統的工作流系統無(wú)力解決跨企業(yè)的流程集成問(wèn)題?;谝陨显?,面向企業(yè)的業(yè)務(wù)流程管理解決方案由此應運而生。
業(yè)務(wù)流程是把一個(gè)或多個(gè)輸入轉化為對顧客有價(jià)值的輸出的活動(dòng)。簡(jiǎn)而言之,業(yè)務(wù)流程是以涉及為顧客提供產(chǎn)品或服務(wù)為最終目標的組織活動(dòng)的集合。一個(gè)典型的業(yè)務(wù)流程應該包括下面六大要素:流程目的(它存在的理由);輸入資源;按一定秩序執行的活動(dòng);這些活動(dòng)之間的結構(相互關(guān)系和作用);輸出結果;該流程創(chuàng )造的價(jià)值。
一家企業(yè)成功的基礎,就是通過(guò)業(yè)務(wù)流程協(xié)調各種資源來(lái)達成企業(yè)目標。無(wú)論是向顧客交付產(chǎn)品,與合作伙伴協(xié)同,還是引導員工的努力,業(yè)務(wù)流程能夠將企業(yè)的產(chǎn)品、品牌和價(jià)值有機地編織到一起,例如下面這些業(yè)務(wù)活動(dòng)都是業(yè)務(wù)流程:根據生產(chǎn)所需,安排原材料的檢驗、入庫和供應;回答客戶(hù)的咨詢(xún);從供應商那里采購;向市場(chǎng)投放新產(chǎn)品。事實(shí)上,業(yè)務(wù)流程集成了企業(yè)內各種業(yè)務(wù)的特征,業(yè)務(wù)流程也因此成為企業(yè)運作特性的核心。
2.BPM和BPMS的基本概念
2.1 BPM的基本概念
業(yè)務(wù)流程管理(Business Process Management, BPM)不是一個(gè)新概念,甚至不是一個(gè)新名詞。它是從相關(guān)的業(yè)務(wù)流程變革領(lǐng)域,如業(yè)務(wù)流程改進(jìn)(BPI)、業(yè)務(wù)流程重組(BPR)、業(yè)務(wù)流程革新中發(fā)展起來(lái)的。流程管理技術(shù)也是從早期的工作流管理、EAI、流程自動(dòng)化、流程集成、流程建模、流程優(yōu)化等技術(shù)中發(fā)展起來(lái)的。
很多人認為業(yè)務(wù)流程管理(Business Process Management BPM)是90年代工作流管理系統的擴展。因此,我們使用工作流的術(shù)語(yǔ)來(lái)定義BPM。工作流管理聯(lián)盟(WfMC)定義工作流為:“工作流是一類(lèi)能夠完全或者部分自動(dòng)執行的經(jīng)營(yíng)過(guò)程,它根據一系列過(guò)程規則、文檔、信息或任務(wù)能夠在不同的執行者之間進(jìn)行傳遞與執行。”[13]。工作流管理系統(WFMS)的定義是:“工作流管理系統是一個(gè)軟件系統,它完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進(jìn)工作流實(shí)例的執行。”[13]。上述兩個(gè)定義的重點(diǎn)都在于工作流的執行,也就是使用軟件支持操作流程的執行。在過(guò)去的幾十年里,很多研究學(xué)者開(kāi)始意識到僅僅把重點(diǎn)放在工作流執行上過(guò)于局限,于是新的術(shù)語(yǔ)BPM誕生了?,F今存在很多BPM的定義,但是從中我們可以看到大多數定義都包含了工作流管理的內容。
從管理理論或戰略的層面看,業(yè)務(wù)流程管理(BPM)就是在一個(gè)存在內部事件和外部事件的環(huán)境中,由一組相互依賴(lài)的業(yè)務(wù)流程出發(fā),對業(yè)務(wù)進(jìn)行描述、理解、表示、組織和維護。從具體實(shí)施的層面看,BPM 還可分為流程分析、流程定義與重定義、資源分配、時(shí)間安排、流程管理、流程質(zhì)量與效率測評、流程優(yōu)化等。
Gartner Inc.給出的BPM 的定義[17]是:BPM是一個(gè)描述一組服務(wù)和工具的一般名詞,這些服務(wù)和工具為顯式的流程管理(如流程的分析、定義、執行、監視和管理)提供支持。
圖2 BPM和WFM的生命周期
圖2表明WFM和BPM生命周期上的聯(lián)系。在設計階段,業(yè)務(wù)流程被定義或者是重新定義;在配置階段,定義的流程在基于流程的信息系統中實(shí)施;在實(shí)施階段,業(yè)務(wù)流程開(kāi)始利用在配置階段的內容開(kāi)始實(shí)施;在診斷階段,系統開(kāi)始分析業(yè)務(wù)流程以發(fā)現其中的問(wèn)題和需要改進(jìn)的地方,在流程設計階段重新定義,往返循環(huán)不斷地優(yōu)化業(yè)務(wù)流程。相對比而言,傳統的WFM的重點(diǎn)僅僅存在于BPM的下半部分。所以WFM在診斷階段基本上沒(méi)有什么支持。此外,WFM對于設計階段的支持很少,僅僅提供了一個(gè)編輯器,而對實(shí)時(shí)的設計分析沒(méi)有支持。因此,幾乎沒(méi)有WFM支持流程設計的仿真,驗證,確認以及對實(shí)時(shí)數據的收集、解釋。從理論上說(shuō),可以從工作流日志中可以挖掘業(yè)務(wù)流程,然而現今沒(méi)有軟件能夠真正做到這一點(diǎn)。
從圖2中我們也可以很清晰地看到BPM的研究范圍以及BPM和工作管理(WFM)的在其他方面的區別和聯(lián)系[1]。
1)從產(chǎn)生的背景來(lái)看,工作流的概念起源于生產(chǎn)組織和文檔自動(dòng)化領(lǐng)域,它十分強調任務(wù)和文檔的概念。而B(niǎo)PM 是在EAI、工作流和BPR等一系列技術(shù)或理念的基礎上發(fā)展起來(lái)的,BPM 中流程的概念已經(jīng)超出了任務(wù)的集合這一范疇。
2)從對業(yè)務(wù)流程的管理來(lái)看,工作流側重于業(yè)務(wù)流程的自動(dòng)化。從WFMC給出的工作流的概念中可以看出,工作流強調業(yè)務(wù)流程的自動(dòng)或部分自動(dòng)的執行。自動(dòng)化是業(yè)務(wù)流程管理很重要的部分,但不是全部。從這個(gè)意義上說(shuō),工作流對流程的管理應該處于表1所示的運作管理和部分計劃管理層面。而B(niǎo)PM 是業(yè)務(wù)流程管理的整體解決方案,它涵蓋了業(yè)務(wù)流程的建模、運行、監控、分析等多個(gè)方面,以及從生產(chǎn)管理到戰略管理的各個(gè)層次。
3)從對業(yè)務(wù)流程類(lèi)型的理解來(lái)看,工作流側重于管理結構化的流程,這些流程從一個(gè)參與者流轉到另一個(gè)參與者。工作流在銀行、保險、稅務(wù)等領(lǐng)域應用比較廣泛,其原因就是這些領(lǐng)域的流程往往十分結構化。而B(niǎo)PM 對流程的并行、協(xié)同和分布的支持能力更強。
現今,很多工作流供應商開(kāi)始把他們的系統定位BPMS(BPM systems)上。BPA(Business Process Analysis)是其中很重要的一個(gè)方面[25]。BPA主要覆蓋了傳統的工作流產(chǎn)品所忽略的方面(例如,診斷,仿真,等)。BAM(Business Activity Monitoring)是BPA中的一個(gè)方面,BAM工具的目的在于使用信息系統日志中的數據來(lái)診斷業(yè)務(wù)流程。例如,ARIS流程性能管理(ARIS PPM)軟件[26]從日志細節中提取出信息,并把這些信息以圖形的方式表示出來(lái)。BAM也能進(jìn)行流程挖掘,比如從日志中挖掘出流程模型[27]。
在流程重設計階段,現今有兩種趨勢:STP(Straight Through Process)和CH(Case Handing).STP是指業(yè)務(wù)流程執行的完全自動(dòng)化,即不需要人工參與。STP僅僅適用于一部分案例,因為不可能所有的過(guò)程都是符合STP的要求,有時(shí)要人工參與才能完成工作。而CH將案例分為兩種:(1)可以被自動(dòng)執行的案例(2)需要人工參與的案例。STP目的在于將更多的流程自動(dòng)化,而CH則認為很多流程過(guò)于動(dòng)態(tài)和復雜而不能完全自動(dòng)化[11]。
2.2 BPMS的基本概念
關(guān)系數據庫分離了應用程序使用的數據和具體的應用邏輯。數據庫作為數據持久的存儲集合,使用實(shí)體關(guān)系模型和諸如兩階段提交這樣的協(xié)議來(lái)保證數據的完整性和正確性。數據庫的理論基礎和實(shí)現機制十分復雜,但是對數據的各種操作卻可以通過(guò)相對簡(jiǎn)單的接口(SQL)加以實(shí)現。
業(yè)務(wù)流程管理系統(Business Process Management System,BPMS)的提出也是基于這一思想。BPMS使企業(yè)能夠對核心流程進(jìn)行建模,部署和管理。企業(yè)信息系統所處理的業(yè)務(wù)流程越來(lái)越復雜,需要不斷調整才能適應市場(chǎng),這對企業(yè)信息系統的靈活性提出了更高的要求。工作流系統完成了業(yè)務(wù)邏輯與應用程序的分離,提高了流程的靈活性,但工作流通常側重于結構化流程的自動(dòng)化執行,還不足以支持整個(gè)企業(yè)的業(yè)務(wù)運轉,在此背景下提出了BPMS的概念。與DBMS的思想類(lèi)似,BPMS的思想以一種統一、中性的表示方法描述業(yè)務(wù)流程模型,使業(yè)務(wù)流程模型從實(shí)現邏輯中抽取出來(lái),被各個(gè)企業(yè)應用程序所使用,從而靈活地構建基于流程的信息系統。業(yè)務(wù)流程邏輯、業(yè)務(wù)流程的完整性和正確性可以由BPMS保證,企業(yè)信息系統的開(kāi)發(fā)可以基于BPMS進(jìn)行[4]。
一般而言,BPMS應具有以下功能模塊:
1)流程倉庫 為流程以及與流程有關(guān)的知識提供集中的存儲場(chǎng)所,提供目錄服務(wù)以便于流程的查詢(xún)和發(fā)布。
2)流程設計 設計流程的模塊、邏輯、規則和執行角色,提供流程模板和重用機制。
3)流程配置 為流程實(shí)例的運行綁定參與者,分配資源,以及設置其他特定的參數。
4)流程引擎 驅動(dòng)流程的運行并負責流程數據的維護;管理流程的狀態(tài),實(shí)現流程的事務(wù)管理。對于分布式流程,要與其他流程引擎進(jìn)行交互和協(xié)調。
5)流程維護 流程的監控和異常處理。
6)流程入口 為流程的用戶(hù)提供統一的流程訪(fǎng)問(wèn)機制,包括工作任務(wù)列表、報告等;提供企業(yè)聯(lián)盟的流程訪(fǎng)問(wèn)規則。
7)流程優(yōu)化對資源利用進(jìn)行優(yōu)化,保證流程的一致性,防止死鎖。
8)流程分析 對關(guān)鍵性能指標進(jìn)行分析和流程仿真;對流程的時(shí)間和資源性能進(jìn)行分析。
3.BPM的框架研究
有關(guān)BPM 的學(xué)術(shù)研究散見(jiàn)于工作流、軟件工程和管理科學(xué)等領(lǐng)域,對BPM 整體框架的研究較少,目前較有影響的是EDL-BP提出的BPM建模軟件技術(shù)框架,業(yè)務(wù)流程管理聯(lián)盟(Business Process Management Initiative,BPMI)提出的一系列標準和框架。另外,IBM 基于其企業(yè)應用軟件,提出了持續業(yè)務(wù)流程管理(Continuous Business Process Management,CBPM)框架。
EDL-BP(Eindhoven Digital Laboratory for Business Processes)根據BPM的生命周期提出了BPM建模所需技術(shù)的框架,如圖3所示。
圖3 BPM建模所需的技術(shù)框架
從圖2中我們可以看到不同的建模階段需要不同的技術(shù)(包括軟件),以及這些技術(shù)之間的聯(lián)系。業(yè)務(wù)流程通過(guò)業(yè)務(wù)流程建模分析技術(shù)建立模型然后以信息系統的形式表示出來(lái)。MOD模塊使用BBDP技術(shù)把現有的實(shí)際的BP抽象成為圖形化和形式化的業(yè)務(wù)流程,在通過(guò)ANA模塊中VAL和VER來(lái)校驗業(yè)務(wù)流程是否合理和正確,隨后用PERF工具對業(yè)務(wù)流程進(jìn)行性能分析,用OPT技術(shù)對業(yè)務(wù)流程進(jìn)行優(yōu)化。在得出了正確合理優(yōu)化后的業(yè)務(wù)流程后,使用CG技術(shù)將業(yè)務(wù)流程模型集成到現有的產(chǎn)品中去,用IS的形式反映出來(lái)。
BPMI的主要發(fā)起者Intalio公司基于BPMI的系列標準提出了BPM 框架[18]在這個(gè)框架中,BPMI系統介于企業(yè)已有的信息系統和B2B電子商務(wù)系統之間,包含流程部署和流程執行兩個(gè)模塊。流程部署模塊可以利用目錄協(xié)議與企業(yè)IT系統的目錄服務(wù)進(jìn)行聯(lián)系,另外,還可通過(guò)UDDI協(xié)議將流程發(fā)布為Web服務(wù)。在流程執行模塊中,流程可以被其他的高級語(yǔ)言包裝成不同的形式,或者直接提供給工作流系統執行。對于跨企業(yè)流程,流程的公共部分還可以被封裝為Web服務(wù),或者遵照電子商務(wù)協(xié)議與其他企業(yè)的流程進(jìn)行交互。
CBPM 是IBM提出的BPM 框架[22],其思想和CPI十分類(lèi)似。該框架的特點(diǎn)是很好地整合了Holosofx BPM Suite和IBM MQ Series工作流軟件,具有很強的實(shí)用性。CBPM 分為創(chuàng )建、協(xié)作、自動(dòng)化和管理四個(gè)步驟,每個(gè)步驟又可細分為若干個(gè)階段。這些步驟和階段都嚴格對應于Holosofx BPM Suite或IBM MQ Series中的軟件模塊,四個(gè)流程首尾相聯(lián),構成一個(gè)閉環(huán)流程。
BPMI框架目前局限于流程建模和操作的語(yǔ)言規范,沒(méi)有涉及從低層到高層的流程管理的集成問(wèn)題。CBPM從已有的軟件系統中來(lái),其流程建模、運行和應用集成方式不具有普遍性,而且沒(méi)有解決跨企業(yè)流程集成問(wèn)題。文獻中的其他框架往往也僅從BPM 的理念出發(fā),其功能模塊往往只是概念性的,缺乏與具體應用系統的對應。
4.BPM的形式化方法
業(yè)務(wù)流程管理模型應該有一個(gè)形式化描述基礎,因為:1)形式化的方法能夠清晰的描述描述問(wèn)題,不存在含糊不清的表述[6];2)形式化模型為分析流程提供了數學(xué)化基礎[28]。
經(jīng)典Petri網(wǎng)是德國科學(xué)家Carl Adam Petri在六十年代提出來(lái)的,在此后的幾十年中。Petri網(wǎng)理論得到了極大的豐富.并被廣泛地應用于許多研究領(lǐng)域,如協(xié)議工程、柔性制造系統、業(yè)務(wù)處理等等.使用Petri 網(wǎng)描述業(yè)務(wù)流程主要有以下原因:
1)直觀(guān)的圖形表示 Petri網(wǎng)是一種形式化語(yǔ)言.經(jīng)典的Petri周有兩種元素:變遷元素(用方框表示)、庫所元素(用圓圈表示),而有向邊表示選兩種元素之同的關(guān)系.
2)形式化的語(yǔ)義 Petri 網(wǎng)(包括各種高級網(wǎng)系統)都有形式化的語(yǔ)義定義,一個(gè)Petri網(wǎng)模型加上相應的語(yǔ)義就能描述一個(gè)業(yè)務(wù)流程.
3)狀志和事件的正式表示 有些流程建模方甚側重于描述系統狀態(tài)的變化,如狀態(tài)自動(dòng)機I有些建模方法是基于系統中事件的發(fā)生,如流程代說(shuō)、數據流程。
Petri同能夠同時(shí)顯式地描述系統狀態(tài)和事件,選樣便于對系統的理解和分析。
4)豐富的分析技術(shù) Petri網(wǎng)模型一個(gè)很重要的特點(diǎn)在于它提供了豐富的系統分析技術(shù),如對系統不變量(invariance)、活性(liveness)、有界性(boundness)、安全性(safety)等分析計算,也可以計算系統的性能,如響應時(shí)間、等待時(shí)間、資源利用率.
在文獻[6]中說(shuō)明了使用Petri網(wǎng)作為分析工作流分析工具的三個(gè)理由。Petri網(wǎng)是基于狀態(tài)而不是基于事件的一種分析技術(shù),它成為分析業(yè)務(wù)流程模型的一種形式化的正式方法。通過(guò)使用庫所符號,Petri網(wǎng)能夠很自然地描述流程之間的階段狀態(tài),基于狀態(tài)的模式比如延期選擇,交叉平行路由等狀態(tài)可以很容易的表示出來(lái)了。這些模式的描述可以在文獻[7]中找到。然而,當涉及描述某些控制流依賴(lài)關(guān)系的時(shí)候,Petri網(wǎng)也有其不足,見(jiàn)文獻[8]。因此,這就導致YAML(Yet Another Workflow Language)的發(fā)展[9],它正確的描述了變遷系統的語(yǔ)義。
通過(guò)觀(guān)察我們可以發(fā)現,用Petri網(wǎng)可以很容易的描述延期選擇的概念,而這正是在傳統的經(jīng)典工作流管理系統中很難支持的,見(jiàn)文獻[10]。在web service組件領(lǐng)域,兩種新提出的標準BPEL4WS和BPML提供了對上述概念有力的支持。在web service中,捕獲各種服務(wù)和例如象π-calculus這些公式之間的交互是十分重要的。然而現今沒(méi)有足夠的證據證明BPEL4WS是基于一種形式化語(yǔ)義的,所以能夠把如上關(guān)系完全形式化是當前應該做的工作。
形式化定義業(yè)務(wù)流程管理模型語(yǔ)言根據其表現力進(jìn)行比較。對于某些工作流建模語(yǔ)言,其比較可以在文獻[29,30]中找到。通過(guò)這些對比結果,我們可以知道哪些方法能表達什么樣的表現力,同時(shí)也看到該領(lǐng)域需要更多的研究以提供更多更好的形式化描述語(yǔ)言。
5.BPM的建模語(yǔ)言
BPMI[19]最近推出了業(yè)務(wù)流程建模語(yǔ)言(Business Process Modeling Language,BPML)[20] 和業(yè)務(wù)流程查詢(xún)語(yǔ)言(Business Process Query Language,BPQL)[19]兩個(gè)標準,分別作為流程建模和流程模型訪(fǎng)問(wèn)的標準接口,并在此基礎上提出了BPM 框架。
BPML是基于XML語(yǔ)言的模型描述語(yǔ)言,它將業(yè)務(wù)流程描述成控制流、數據流和事件流的結合,在此基礎上還可以在業(yè)務(wù)流程中添加業(yè)務(wù)規則、安全規則和事務(wù)管理等特性。與傳統的流程建模語(yǔ)言相比,它具有描述“端到端”流程(end-to-
end)的能力,這樣,可以從多個(gè)參與者的角度來(lái)審視流程模型。另外,BPML以Pi-Calculus[21]作為其數學(xué)基礎,這種形式化描述賦予了BPML在一致性檢查、防止死鎖、瓶頸檢測和流程優(yōu)化方面的較強能力。雖然BPML現在還不成熟,但是其官方組織描繪了BPML的美好前景,它具有如下特征[5]:
1) BPML是業(yè)務(wù)流程建模的原語(yǔ)言,就像XML是業(yè)務(wù)數據的原語(yǔ)言一樣。
2) BPML進(jìn)程跨越多種應用程序和企業(yè),不受任何防火墻限制。
3) BPML提供了中間件的特性:它可以獨立開(kāi)發(fā),實(shí)現遠程處理監控,發(fā)布和訂閱和消息隊列等功能。
4) BPML能夠處理不同的應用程序,比如數據庫管理系統,軟件組件等等。
5) BPML能夠用進(jìn)程定義業(yè)務(wù)事務(wù)和系統事務(wù),業(yè)務(wù)事務(wù)經(jīng)常包括兩個(gè)以上的參與者,而系統事務(wù)能夠包括多個(gè)應用程序。
6) 統一業(yè)務(wù)流程和技術(shù) 進(jìn)程是BPML的關(guān)鍵目標。
BPQL是BPMS的訪(fǎng)問(wèn)接口,用于對流程實(shí)例運行狀態(tài)的查詢(xún)、控制和流程模型的部署。類(lèi)似于不同的編程語(yǔ)言用SQL或其他關(guān)聯(lián)工具可以訪(fǎng)問(wèn)到數據管理系統那樣,流程管理系統同樣如此。DBMS(數據庫管理服務(wù)器)是一種通用的“數據服務(wù)器”,而B(niǎo)PMS 則是一種通用的“流程服務(wù)器”。軟件開(kāi)發(fā)者準備采用流程查詢(xún)語(yǔ)言(Business Process Query Language, BPQL)和流程服務(wù)器的原因是兩者簡(jiǎn)化了流程環(huán)境中應用系統的開(kāi)發(fā)。在傳統的開(kāi)發(fā)中,流程的環(huán)節四處散落,一個(gè)環(huán)節是這個(gè)應用系統的,一個(gè)環(huán)節是其他系統的。此外,流程式應用系統要能看到所有流程和所有流程數據。有了BPQL,寫(xiě)軟件程序去監控、中斷、交互和協(xié)調端到端流程變得輕而易舉。如果以流程為中心,“電子化”事實(shí)上就已經(jīng)內建在每個(gè)流程中,不需要專(zhuān)門(mén)為每個(gè)流程編寫(xiě)“電子化”,就像積木本來(lái)就是設計好,隨時(shí)可以搭起來(lái)一樣。
結論
本文給出了業(yè)務(wù)過(guò)程管理的概念和功能,描述了業(yè)務(wù)過(guò)程管理框架,討論了業(yè)務(wù)流程形式化表述方法和建模語(yǔ)言,對比了業(yè)務(wù)過(guò)程管理和工作流的區別和聯(lián)系。比較的結果表明,業(yè)務(wù)過(guò)程管理是新一代企業(yè)信息系統體系結構的重要發(fā)展方向。該文獻綜述將對我進(jìn)一步展開(kāi)對基于Petri網(wǎng)的業(yè)務(wù)流程管理模型研究有著(zhù)重要的指導作用。
參考文獻
[1]W.M.P.van der Aalst et al. Business Process Management: A Survey .(Eds.):BPM 2003, LNCS 2678, pp. 1–12, 2003. Springer-Verlag Berlin Heidelberg 2003
[2]J. Desel, W. Reisig, and G. Rosenberg. Business Process Management Demystified: A Tutorial on Models, Systems and Standards for Workflow Management. (Eds.): ACPN 2003, LNCS 3098, pp.1-65,2004. Springer-Verlag Berlin Heidelberg 2004
[3]W.M.P. van der Aalst. Making Work Flow: On the Application of Petri nets to Business Process Management. In J. Esparza and C. Lakos, editors, Application and Theory of Petri Nets 2002, volume 2360of Lecture Notes in Computer Science, pages 1-22. Springer-Verlag, Berlin, 2002.
[4]譚偉,范玉順.業(yè)務(wù)流程管理框架與關(guān)鍵技術(shù)研究. 計算機集成制造系統,第10卷第7期,2004年,2-6.
[5] Howard Smith. Business process management-the third wave: business process modelling language (bpml) and its pi-calculus foundations. Information and Software Technology 45 (2003) 1065–1069.
[6]W.M.P. van der Aalst. Three Good Reasons for Using a Petri-net-based Workflow
Management System. In S. Navathe and T. Wakayama, editors, Proceedings of the International Working Conference on Information and Process Integration in Enterprises (IPIC’96), pages 179–201, Cambridge, Massachusetts, Nov 1996.
[7] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, and A.P. Barros.
Workflow Patterns. QUT Technical report, FIT-TR-2002-02, Queensland University
of Technology, Brisbane, 2002.
[8]W.M.P. van der Aalst and A.H.M. ter Hofstede. Workflow Patterns: On the Expressive
Power of (Petri-net-based) Workflow Languages. In K. Jensen, editor,Proceedings of the Fourth Workshop on the Practical Use of Coloured Petri Nets and CPN Tools (CPN 2002), volume 560 of DAIMI, pages 1–20, Aarhus, Denmark,August 2002. University of Aarhus.
[9]W.M.P. van der Aalst and A.H.M. ter Hofstede. YAWL: Yet Another Workflow Language. QUT Technical report, FIT-TR-2002-06, Queensland University of Technology, Brisbane, 2002.
[10] W.M.P. van der Aalst, B.F. van Dongen, J. Herbst, L. Maruster, G. Schimm, and
A.J.M.M. Weijters. Workflow Mining: A Survey of Issues and Approaches. Data and Knowledge Engineering, 2003 (to appear).
[11] W.M.P. van der Aalst and P.J.S. Berens. Beyond Workflow Management: Product-Driven Case Handling. In S. Ellis, T. Rodden, and I. Zigurs, editors, International ACM SIGGROUP Conference on Supporting Group Work (GROUP 2001), pages 42–51. ACM Press, New York, 2001.
[12]S. Jablonski and C. Bussler. Workflow Management: Modeling Concepts, Architecture,and Implementation. International Thomson Computer Press, London, UK,1996.
[13] P. Lawrence, editor. Workflow Handbook 1997, Workflow Management Coalition. John Wiley and Sons, New York, 1997.
[14]F. Leymann and D. Roller. Production Workflow: Concepts and Techniques. Prentice-Hall PTR, Upper Saddle River, New Jersey, USA, 1999.
[15]D.C. Marinescu. Internet-Based Workflow Management: Towards a Semantic Web, volume 40 of Wiley Series on Parallel and Distributed Computing. Wiley- Interscience, New York, 2002.
[16] C.A. Ellis. Information Control Nets: A Mathematical Model of Office Information Flow. In Proceedings of the Conference on Simulation, Measurement and Modeling of Computer Systems, pages 225–240, Boulder, Colorado, 1979. ACM Press.
[17]BISCOTTI F,FULTON R.Infrastructure and applications worldwide software market definitions(Gartner Dataquest Guide)[EB/OL].http://www.gartner.com/ DisplayDocument?doc-ed-106528,2002-06-10.
[18] M.D. Zisman. Representation, Specification and Automation of Office Procedures. PhD thesis, University of Pennsylvania, Warton School of Business, 1977.
[19]BPMI.org.BPMI initiative[EB/OL].
http://www.bpmi.org.2001-03-12.
[20]BPMI.Org. Business process modeling language[EB/OL].
http://www.bpmi.org/ bpml-spec.esp,2002—11—20.
[21]SANGIORGI D,W ALKER D.The pi-calculus:a theory of mobile processes[M].Cambridge U.K.:Cambridge University Press,2001.
[22]IBM Redbook.Continuous business process management with HOLOSOFX BPM suite and IBM MQSeries workflow[EB/OL].http://www.redbook.ibm.com/pubs/pdfs/red—books/sg24659O.pdf,2002—05.
[23]A. W. Holt. Coordination Technology and Petri Nets. In G. Rozenberg, editor, Advances in Petri Nets 1985, volume 222 of Lecture Notes in Computer Science,pages 278–296. Springer-Verlag, Berlin, 1985.
[24]C.A. Ellis and G. Nutt. Workflow: The Process Spectrum. In A. Sheth, editor, Proceedings of the NSF Workshop on Workflow and Process Automation in Information Systems, pages 140–145, Athens, Georgia, May 1996.
[25]Gartner. Gartner’s Application Development and Maintenance Research Note M-16-8153, The BPA Market Cathes another Major Updraft.
http://www.gartner.com, 2002.
[26]IDS Scheer. ARIS Process Performance Manager (ARIS PPM). http://www.idsscheer.com, 2002.
[27]W.M.P. van der Aalst, B.F. van Dongen, J. Herbst, L. Maruster, G. Schimm, and A.J.M.M. Weijters. Workflow Mining: A Survey of Issues and Approaches. Data and Knowledge Engineering, 2003 .
[28]Dirk Wodtke and Gerhard Weikum. A formal foundation for distributed workflow execution based on state charts. In Foto N. Afrati and Phokion G. Kolaitis, editors, Proceedings of the 6th International Conference on Database Theory – ICDT ’97,Delphi, Greece, January 8–10, 1997, volume 1186 of Lecture Notes in Computer Science, pages 230–246. Springer, 1997.
[29] B. Kiepuszewski, A.H.M. ter Hofstede, and W.M.P. van der Aalst. Fundamentals of Control Flow in Workflows (Revised version). QUT Technical report, FIT-TR-2002-03, Queensland University of Technology, Brisbane, 2002. (Also see http://www.tm.tue.nl/it/research/patterns.) To appear in Acta Informatica.
[30] B. Kiepuszewski. Expressiveness and Suitability of Languages for Control Flow Modelling in Workflows. PhD thesis, Queensland University of Technology, Brisbane, Australia, 2003.