以數(shù)據(jù)為中心的業(yè)務(wù)流程管理思想是目前BPM發(fā)展的新階段,該思想兼顧業(yè)務(wù)流程中的業(yè)務(wù)數(shù)據(jù)與活動,優(yōu)于傳統(tǒng)的工作流管理思想,易于結(jié)合SOA進行系統(tǒng)實現(xiàn)。在業(yè)務(wù)流程中對業(yè)務(wù)操作起關(guān)鍵作用的客觀存在的數(shù)據(jù)實體稱為artifact。它記錄了整個業(yè)務(wù)流程執(zhí)行過程中的操作數(shù)據(jù)并且標志著流程的進度與狀態(tài)。文獻在有關(guān)artifact基本概念和優(yōu)越性、使用artifact進行流程建模、基于artifact的流程系統(tǒng)的分析等方面做了大量討論。文獻提出了ArtiFlow的概念。ArtiFlow是一種以數(shù)據(jù)為中心的業(yè)務(wù)流程邏輯模型,用artifact類型、服務(wù)、庫與傳輸管道元素來描述實際的業(yè)務(wù)流程。SerFlow與ArtiFlow相對應(yīng),是一種業(yè)務(wù)流程邏輯模型,其特點在于將Artiflow中的庫轉(zhuǎn)化為了一類特殊的服務(wù),使邏輯模型更易轉(zhuǎn)換為物理模型。
Web服務(wù)作為SOA架構(gòu)中的成熟技術(shù),借助于Internet實現(xiàn)了分布式跨系統(tǒng)的應(yīng)用集成與整合。BPEL作為目前流行的web服務(wù)組合技術(shù),應(yīng)用于Web服務(wù)編排與服務(wù)重建,在企業(yè)業(yè)務(wù)流程重組方面得到了廣泛應(yīng)用。
以數(shù)據(jù)為中心的業(yè)務(wù)流程管理特點在于artifact是一個具有完整生命周期的動態(tài)實體,其中的信息模型記錄了在業(yè)務(wù)流程過程中的核心業(yè)務(wù)信息,對于這類信息的管理是以數(shù)據(jù)為中心的業(yè)務(wù)流程管理系統(tǒng)相對于其他流程管理系統(tǒng)的優(yōu)勢。
1 體系結(jié)構(gòu)
A-Stein是以數(shù)據(jù)為中心的業(yè)務(wù)流程管理系統(tǒng)的原型系統(tǒng)。圖1給出了A-Stein的體系結(jié)構(gòu)。
圖1 A-Stein的體系結(jié)構(gòu)圖
1.1 ArtiFlow管理器
ArtiFlow模型管理器的功能包括模型設(shè)計、檢查與優(yōu)化。
模型設(shè)計部分提供繪圖平臺。通過對ArtiFlow模型及其中基本元素進行規(guī)范化描述,用戶只需通過簡單的圖形即可描述實際生活中的業(yè)務(wù)流程,再由系統(tǒng)將圖形描述轉(zhuǎn)換為xml格式描述的ArtiFlow模型。
模型檢查包括以下幾個方面:1)服務(wù)輸入/輸出檢查;2)服務(wù)運行方式檢查;3)服務(wù)操作檢查;4)模型完整性檢查;5)死鎖風險檢測;6)服務(wù)輸入傳輸管道檢查;7)服務(wù)輸出傳輸管道檢查;8)服務(wù)循環(huán)檢查。
模型優(yōu)化功能,根據(jù)服務(wù)事件鏈的優(yōu)化分析方法,從模型應(yīng)對未來流程需求變化的角度,給出模型優(yōu)化建議。
1.2 Serflow轉(zhuǎn)換器
Serflow轉(zhuǎn)換器的輸入是Artiflow描述文檔。其主要功能是通過分析文檔,將其中的庫元素轉(zhuǎn)換成一種特殊類型的庫服務(wù),并對流程中的這一類庫服務(wù)進行優(yōu)化檢查,生成xml格式的Serflow模型描述文檔。Serflow模型繼承了Artiflow模型中描述的所有流程信息,且其中的基本元素只有服務(wù),因此該模型更易于進行實際Web服務(wù)的選擇和組合。
1.3 服務(wù)信息檢索器和服務(wù)選擇器
服務(wù)信息檢索器的功能是隨時搜索網(wǎng)絡(luò)上各類Web服務(wù)發(fā)布的信息,并將其整理歸類作為Web服務(wù)元數(shù)據(jù)存儲于本地的數(shù)據(jù)庫,稱為服務(wù)元數(shù)據(jù)庫。該數(shù)據(jù)庫用于系統(tǒng)中的服務(wù)選擇。
服務(wù)選擇器的功能是分析Serflow轉(zhuǎn)換器中輸出的xml格式的Serflow描述文檔,找出業(yè)務(wù)流程所需的各個服務(wù)的基本要求,按照這些需求到服務(wù)元數(shù)據(jù)庫中進行匹配,尋找能完成業(yè)務(wù)流程各部分功能的Web服務(wù)。
1.4 流程生成器
流程生成器以服務(wù)選擇器的輸出為輸入,其功能是將Serflow模型按照Web服務(wù)映射結(jié)果自動地轉(zhuǎn)化為BPEL可以識別的執(zhí)行文檔。這些文檔包括流程部署文檔和一個wsdl文檔。該模塊使流程能自動利用BPEL調(diào)用Web服務(wù)。
1.5 流程執(zhí)行器
系統(tǒng)中的流程執(zhí)行器直接引用外部資源BPEL引擎,用于設(shè)計調(diào)度各Web服務(wù)以完成整個業(yè)務(wù)流程要達到的功能。在流程執(zhí)行過程中,系統(tǒng)插在各個Web服務(wù)之間的截快照服務(wù)實時的返回流程數(shù)據(jù),這些數(shù)據(jù)存儲于本地的流程記錄數(shù)據(jù)庫。
1.6 流程監(jiān)控器
流程監(jiān)控器提供對系統(tǒng)中正在運行或已經(jīng)結(jié)束的流程實例的監(jiān)控和查看功能,監(jiān)控的對象可以按流程實例進行分類,可以具體到流程中的具體artifact實例?梢噪S時向用戶提供流程的實施執(zhí)行狀態(tài)報告,分析流程的實際運行情況是否正確。
2.關(guān)鍵技術(shù)
2.1 關(guān)鍵artifact生命周期可達性驗證
關(guān)鍵artifact記錄著業(yè)務(wù)流程中的核心業(yè)務(wù)數(shù)據(jù),標志流程的各個階段。因此,需對于已設(shè)計好的artiFlow模型進行關(guān)鍵artifact生命周期可達性驗證。
Petri網(wǎng)是一種研究系統(tǒng)動態(tài)運行中并發(fā)、異步和狀態(tài)變化的數(shù)學(xué)工具。A-stein應(yīng)用Petri實現(xiàn)對關(guān)鍵artifact生命周期可達性的驗證。其具體原理為,對于給定的關(guān)鍵artifact類型,根據(jù)模型中服務(wù)對artifact屬性操作情況,將屬性進行分組。將模型中的服務(wù)轉(zhuǎn)換為Petri網(wǎng)中的變遷。artifact的每一個屬性分組就轉(zhuǎn)換為Petri網(wǎng)中的狀態(tài)。將轉(zhuǎn)換后的變遷與庫元素連接起來,進一步實現(xiàn)Petri網(wǎng)的自動化轉(zhuǎn)換,然后采用Petri網(wǎng)的可達圖算法獲得關(guān)鍵artifact在該ArtiFlow模型所描述的業(yè)務(wù)流程經(jīng)過的服務(wù)路徑。通過獲取關(guān)鍵artifact的服務(wù)路徑后系統(tǒng)將ArtiFlow模型轉(zhuǎn)換為有向圖,來驗證關(guān)鍵artifact生命周期在ArtiFlow模型中的可達性。
2.2 ArtiFiow模型到SerFlow模型的自動轉(zhuǎn)換
對應(yīng)于實際的業(yè)務(wù)流程,模型中的一些庫是不需要的,信息可以由一個服務(wù)直接傳給下一個服務(wù)繼續(xù)處理。為了降低ArtiFlow模型實施的復(fù)雜度和代價,A-stein通過分析ArtiFlow模型中的核心artifacts,提出了一種以artifact為中心的數(shù)據(jù)分析方法得到復(fù)雜業(yè)務(wù)活動序列,并提出活動樹的概念及相應(yīng)算法在Serflow模型中新增一類特殊的服務(wù)元素取代Artiflow模型中原有的庫元素,用于完成artifact的取存操作。同時,根據(jù)ArtiFlow模型中服務(wù)間可能存在的事件觸發(fā)關(guān)系,對這類服務(wù)元素進行合并,以減少模型實施過程中服務(wù)元素的數(shù)量,達到優(yōu)化目的。
2.3 SerFlow到BPEL的自動化轉(zhuǎn)換
系統(tǒng)在底層實現(xiàn)上采用BPEL。要實現(xiàn)SerFlow模型到BPEL流程的自動實現(xiàn),必須要把SerFlow轉(zhuǎn)換成BPEL流程運行需要3個基礎(chǔ)文件所需的3個文件。
根據(jù)SerFlow模型描述的artifact的服務(wù)路徑信息和通過服務(wù)選擇模塊匹配的Web服務(wù)信息,A-stein能夠通過底層編程自動生成BPEL代碼,構(gòu)建BPEL流程文件,并將其部署到BPEL流程引擎中,實現(xiàn)BPEL流程的執(zhí)行。
2.4 基于FSA的監(jiān)控手段
完成業(yè)務(wù)流程的全部功能需要多個Web服務(wù)的協(xié)同工作,然而他們之間的協(xié)作并不總是完全按照模型的設(shè)計正確進行。例如通信原因、Web服務(wù)的更新等等,都會使基于Web服務(wù)組合而成的業(yè)務(wù)流程系統(tǒng)變得不穩(wěn)定。因此對流程的實時監(jiān)控是非常必要的。本系統(tǒng)定制了一個特殊的Web服務(wù),插在其他Web服務(wù)之間,其功能是截取artifact實例在實際運行中的階段性數(shù)據(jù),獲取流程執(zhí)行軌跡。同時根據(jù)serflow中的流程數(shù)據(jù),設(shè)計了專門的有限狀態(tài)自動機來描述流程中的約束條件,通過判斷實際運行中的Web服務(wù)序列是否滿足該有限狀態(tài)自動機,來判斷Web服務(wù)的調(diào)用是否正確。
3 環(huán)境介紹及系統(tǒng)演示
3.1 環(huán)境配置
實驗平臺:IBM PC;
CPU:Pentium IV 2.4 GHz;
內(nèi)存:512MB;
操作系統(tǒng):Microsoft Windows XP;
DBMS:Microsoft SQL Server 2000;
編程語言:Java 6.0;
編程環(huán)境:JDKl.6,Tomcat6.0,Eclipse 3.4。
3.2 系統(tǒng)演示
Artiflow模型管理部分是該系統(tǒng)的最基礎(chǔ)模塊。如圖2所示為用戶提供了一個繪圖界面,簡單地拖拽各基本元素圖形就可以畫出流程圖,對各基本元素都有相應(yīng)的屬性定義選項卡。同時,管理器中的檢查功能能夠從多個角度及時的檢查不全面的屬性定義或不合邏輯的流程圖規(guī)劃。
圖2 模型設(shè)計中服務(wù)屬性的定義界面
模型導(dǎo)人導(dǎo)出模塊為系統(tǒng)中的模型數(shù)據(jù)提供了基礎(chǔ)管理功能,該模塊將用圖形描述的業(yè)務(wù)流程存儲為xml格式的文檔,提供模型導(dǎo)入、導(dǎo)出等功能。該模塊用戶界面如圖3,中間窗口是對數(shù)據(jù)庫中所有模型基本信息的目錄,可選擇性的導(dǎo)人或?qū)С。前面窗口是本地文件樹,提供選擇導(dǎo)人導(dǎo)出的具體位置。圖4展示了一個實際的業(yè)務(wù)流程圖與其導(dǎo)出后的xml文檔。圖5給出了圖4業(yè)務(wù)流程的優(yōu)化方案。
圖3 模型的導(dǎo)入導(dǎo)出界面
圖4 圖形化模型與導(dǎo)出后的文檔
Serflow轉(zhuǎn)換器、服務(wù)選擇器、流程生成器等的運行都在系統(tǒng)的內(nèi)部完成,為了展示中間運行結(jié)果,本系統(tǒng)設(shè)計了Serflow轉(zhuǎn)換結(jié)果展示界面和服務(wù)擇結(jié)果展示界面,圖6上部分是某流程Artiflow模型轉(zhuǎn)換為Serflow模型后的簡單示意圖,下半部分是在轉(zhuǎn)換過程中從Artiflow中抽取出的必要流程信息。圖7是將Serflow中的服務(wù)與數(shù)據(jù)庫中的Web服務(wù)相匹配后得到的映射表。
圖5 優(yōu)化方案界面
圖6 Serflow轉(zhuǎn)換結(jié)果展示
圖7服務(wù)映射表
流程檢測界面如圖8所示,對檢測結(jié)果的查詢可分為兩組條件進行:1)按時間范嗣查詢某流程中的具體流程實例信息;2)按時間范圍查詢artifact實例的信息,這一查詢將流程中的各個artifact抽取出來,用以具體監(jiān)控其生命周期的運行狀態(tài)。結(jié)果按照快照時間分組給出,方便了解每一階段流程的運行情況。
圖8 流程檢測界面
4 結(jié)論
本文介紹了一種以數(shù)據(jù)為中心的業(yè)務(wù)流程管理系統(tǒng)的原型系統(tǒng),A-Stein,闡述了系統(tǒng)的體系結(jié)構(gòu)、各模塊功能、關(guān)鍵技術(shù)以及主要操作。該原型系統(tǒng)提出并初步完成了從流程設(shè)計、優(yōu)化到Web服務(wù)的組合并最終執(zhí)行和監(jiān)控流程的完整的系統(tǒng)解決方案,F(xiàn)已在若干實例中得到驗證。在接下來的工作中,我們將深入的研究更多類型的實際業(yè)務(wù)流程的特點,以完善系統(tǒng)功能,擴大系統(tǒng)應(yīng)用范圍。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/