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