BPM

業務流程建模

BPM徠業務流程建模(BPM, Business Process Modeling)是業務流程管理的核心方法和工具。以市場主流的管理軟體:用友、金蝶為例,業務流程建模包括了流程節點建模、流程內容建模、流程許可權建模等三個方面的內容。BPM通常由業務分析師執行,他們在建模領域提供專業知識;由對建模過程具有專門知識的主題專家進行;或者更常見的情況是由同時包含兩者的團隊組成。或者,可以使用流程挖掘工具直接從事件日誌中獲取流程模型。

業務流程


建模BPM
業務流程建模(BPM, Business Process Modeling)是對業務流程進行表述的方式,它是過程分析與重組的重要基礎。這種表述方式大大優化了軟體開發和運行效率,也導致用友、金蝶等傳統ERP軟體廠商紛紛採用BPM技術,使新型的BPM軟體應用大放異彩。
在跨組織業務流程重組的前提下,流程建模的主要目的就是提供一個有效的跨組織流程模型並輔助相關人員進行跨流程的分析與優化。目前有大量的流程建模技術能夠支持業務流程的重組,但同時這也給相關人員帶來困惑:面對如此眾多的技術,他們很難選擇一種合適的技術或工具。同時,目前對流程建模技術的研究大多集中於建模技術的提出與應用,缺乏對現有技術的整理與分類以及技術之間的橫向對比,這也就加深了建模技術選擇的複雜性。
BPM 標準
BPM 標準
在BPM體系結構的核心部位是一個執行流程的運行時引擎,其流程的源碼是由基於XML的BPEL語言寫成,BPEL是當今最著名、廣泛應用的BPM標準,及最優秀的BPM執行語言。這些流程是由業務和技術分析家使用支持可視化流程圖語言BPMN——最好的BMP圖形語言——的圖形編輯器設計出來的。此編輯器包括一個導出器,可以從BPMN圖生成BPEL代碼(之後部署到引擎)。(在當前許多Java開發工具中,BPMN到BPEL的流程與UML到Java的流程相類似。)
人和計算機的交互驅動引擎里流程的執行。人這個參與者使用一個圖形化工作列表應用程序瀏覽並執行未執行完畢的手工工作(在流程運行的引擎里)。依附於公司網路的但在引擎地址空間外的內部IT系統,被儲如web服務,j2EE,或COM的集成技術,通過XML作為選用的消息格式所訪問;用編程語言如java、C#寫出的內部交互可以是更輕便的內嵌代碼片斷。外部交互是典型的基於web服務的通信,由編排控制,例如那些用新興的XML語言——WS-CDL這個領先的編排語言所創作出的外部交互。雖然編排描述了多個參與者流程交互(在business-to-business電子商務里很典型)的整體、引人注意的視圖,但是編排工具包可以用來生成一個基本的BPMN模型,其可以捕捉某個特定參與者流程所要求的通信,同時這個工具還可以驗證一個給定的流程是否滿足編排的要求。(WS-CDL文獻建議由WS-CDL生成BPEL而不是BPMN。但是在現在的體系結構中,BPMN作為一種設計語言是一個必要的間接層。)

開發過程


BPM系統管理員里利用一個圖形化的監視控制台來維護和跟蹤引擎流程的狀態,強大易用的流程圖型化建模和監控,也是被廣泛評價為產品競爭力第一的重要原因。流程式控制制台使用一種管理語言與引擎銜接。實時引擎將流程狀態持久化到資料庫,控制台直接與資料庫碰面,而不是用管理語言來溝通。運行時引擎將流程狀態持久化到資料庫,控制台直接與資料庫碰面而不是使用管理語言來專門執行流程的請求。監控構造也支持業務活動監控(Business Activity Monitoring (BAM))或者儀錶板式的業務監控。
在這個平台上的開發過程如下:
1.從一個WS-CDL choreography生成一個初始的BPMN模型。如果流程並不是從一個編排衍生而來則越過此步。
2.設計BPMN模型
3.從BPMN模型生成BPEL
4.開發必要的人和系統(內部和外部)的介面
徠5.部署BPEL代碼和其必要的介面到引擎
6.使用管理和監控介面跟蹤正在運行的流程。
在理想體系中的BPM 標準 圖2
在理想體系中的BPM 標準 圖2
這個體系結構的全貌(由WFMC——眾多BPM標準組織中最成熟的一家——的參考模型激發而成)類似許多集成廠商(如,IBM、BEA,、Oracle、Tibco,、SeeBeyond和Vitria)所提供的平台。使這個體系結構特別的地方是其標準的選擇。BPEL、BPMN和WS-CDL都被包含進來,因為他們分別是執行、設計和編排的最好解決方案,BPM最重要的三個部分。
(如圖2所示未來可能包括新興標準BPQL——用於監控,BPSM和BPDM——用於元模型建模,BPRI——用於運行時介面,BPXL——用於BPEL擴展)。事實上,很多廠商支持或正在實現支持BPEL。但是BPMN的支持非常少(大多數廠商提供各自的方案),WS-CDL的支持幾乎沒有。BPEL並不夠。這個體系很理想化,需要實際的實現。

編程語言工具


BPM套件軟體提供了編程介面(Web服務、應用程序介面(API)),這些介面允許構建企業應用程序以利用BPM引擎。該組件通常被稱為BPM套件的引擎。
為BPM引入的編程語言包括:
業務流程執行語言(BPEL)
Web服務編排描述語言(WS-CDL)
XML流程定義語言(XPDL)
一些特定於供應商的語言:
集成信息系統(ARIS)的體系結構支持EPC
Java流程定義語言(JBPM)
與業務流程建模相關的其他技術包括模型驅動的體系結構和面向服務的體系結構。