信息技術(shù)的快速發(fā)展和制造的全球化,使得企業(yè)的產(chǎn)品開發(fā)方式發(fā)生了巨大的變化,復(fù)雜的產(chǎn)品設(shè)計(jì)任務(wù)往往由多個企業(yè)協(xié)作完成。如何使企業(yè)間的信息、資源進(jìn)行有序的工作,以充分提高工作效率,即協(xié)調(diào)跨企業(yè)的業(yè)務(wù)過程,是當(dāng)前企業(yè)急需解決的一個問題。
目前,多數(shù)企業(yè)都引入了PDM系統(tǒng),用其自帶的工作流管理模塊可實(shí)現(xiàn)企業(yè)的業(yè)務(wù)流程導(dǎo)航與監(jiān)控。但這類工作流系統(tǒng)僅適于單個企業(yè)內(nèi)部的業(yè)務(wù)過程的管理,對于針對上述的跨企業(yè)業(yè)務(wù)過程,還難以解決以下兩個問題:1)產(chǎn)品開發(fā)總體企業(yè)無法對協(xié)作方的工作即進(jìn)行有效監(jiān)控:2)無法判斷局部工作流的部分或輕微改變對于整個業(yè)務(wù)過程的影響范圍,往往使得多個單位的工作需要重復(fù)。
由此看來,開展跨企業(yè)的工作流變更問題研究還是尤為必要。而目前針對工作流變更的研究都主要是在理論層面上的,而對于已有商業(yè)工作流系統(tǒng),都不能直接利用這些方法有效處理。
Qiu討論了在PDM系統(tǒng)中處理動態(tài)工作流的變更問題,提出了對于Bypassable節(jié)點(diǎn)的處理辦法,并在IBM公司的PDM產(chǎn)品SmarTeam中得到了初步應(yīng)用,具有一定的實(shí)用性,但是其未討論對于跨企業(yè)工作流變更的處理問題。
因此,本文中提出了一種基于虛擬PDM的跨企業(yè)工作流管理系統(tǒng),建立了基于有向圖描述的跨企業(yè)工作流模型,支持基于商用PDM工作流管理系統(tǒng)與基于虛擬PDM的工作流管理系統(tǒng)之間業(yè)務(wù)流程的交互與管理,還可減少由于業(yè)務(wù)流程變更引起的重復(fù)工作問題。
1 基于虛擬PDM的跨企業(yè)工作流
虛擬PDM是一類構(gòu)建于通用PDM之上的PDM系統(tǒng),基于虛擬PDM的跨企業(yè)工作流管理系統(tǒng),是集成了各協(xié)作方獨(dú)立PDM的工作流管理系統(tǒng)建立起來的。其有兩個層次,一個層次是運(yùn)行于虛擬PDM中的工作流管理系統(tǒng)的總流程系統(tǒng),另一個層次是由各PDM中工作流管理系統(tǒng)的分工作流系統(tǒng)或者子流程系統(tǒng):
1)虛擬PDM上建立的跨企業(yè)工作流程模型,主要由活動子過程與連接組成;
2)各企業(yè)在其PDM中建立各自的工作流,完成總工作流中活動子過程定義的任務(wù);
3)跨企業(yè)工作流程中僅包含了開始、結(jié)束、空活動、活動子流程4類節(jié)點(diǎn),這4類節(jié)點(diǎn)是不執(zhí)行任何具有實(shí)際工作意義的活動,完成具體任務(wù)的工作流活動存在于各PDM中流程中;
4)虛擬PDM中不保存各分工作流程描述數(shù)據(jù),數(shù)據(jù)均是來自各PDM系統(tǒng)。
基于虛擬PDM的工作流處理跨企業(yè)的業(yè)務(wù)流程如圖1所示。
圖1 基于虛擬PDM的跨企業(yè)工作流工作過程
1)模型定義過程在虛擬PDM中建立跨企業(yè)的總工作流模板,然后將活動子過程描述的任務(wù)發(fā)送到各PDM中,各PDM將依據(jù)該任務(wù),在其PDM中建立或選擇(已經(jīng)建立過)工作流程模板,并向虛擬PDM發(fā)送狀態(tài)回報(bào),直到虛擬PDM獲取所有PDM都已完成分流程模板的建立工作;
2)實(shí)例化過程在所有工作流模板都建立好之后(包括總流程模板和各分流程模板),總流程模板首先完成自身的實(shí)例化工作,然后再向各企業(yè)的PDM發(fā)送要求實(shí)例化的消息,通知依據(jù)建好的各分流程模板將各自實(shí)例化。各分流程實(shí)例化完成后,向虛擬PDM發(fā)送狀態(tài)回報(bào),直到虛擬PDM獲知所有的PDM都已經(jīng)完成分流程的實(shí)例化工作;
3)執(zhí)行過程總流程首先啟動開始執(zhí)行,在執(zhí)行到各活動子過程時,就會向?qū)?yīng)的PDM發(fā)送消息,該消息中包含了要求啟動信息和相關(guān)的數(shù)據(jù)。分工作流的則在其PDM中執(zhí)行,完畢后,向虛擬PDM發(fā)送執(zhí)行完畢的消息和相關(guān)的輸出數(shù)據(jù)。虛擬PDM收到后,將總工作流中對應(yīng)的活動子節(jié)點(diǎn)置為“Finished”,并查詢后繼活動子過程,將接收到的數(shù)據(jù)與啟動信號封裝,向后繼節(jié)點(diǎn)發(fā)送,重復(fù)該過程,直到活動子過程都完成,總流程執(zhí)行完畢。
為了在虛擬PDM中描述跨企業(yè)工作流系統(tǒng),還需要對其建模?紤]到實(shí)際的工程應(yīng)用中廣泛采用了有向圖建模,尤其是本研究中的各類實(shí)際應(yīng)用的PDM系統(tǒng)。故本文中也采用了有向圖并加以擴(kuò)展的方式對跨企業(yè)的工作流進(jìn)行建模。
2 基于虛擬PDM工作流變更處理方法
由于業(yè)務(wù)流程定義時缺乏知識或規(guī)范,導(dǎo)致后期工作流在執(zhí)行過程中發(fā)生了異常時,必須對正在執(zhí)行的工作流進(jìn)行變更,以處理這些意外問題。
對于發(fā)生了變更的流程,其處理不是簡單的停止舊工作流、啟動新工作流,重要是如何對于在原有工作流中已完成而在新工作流中能繼承的工作認(rèn)定問題。因?yàn)橹貜?fù)工作會導(dǎo)致時間、費(fèi)用的大幅度增加,造成產(chǎn)品設(shè)計(jì)周期的拉長,這對于跨企業(yè)的協(xié)同工作過程顯得意義更為重要。
如圖2所示,原有流程圖2(a)中活動A0,A1,A2,A3,A4已經(jīng)完成,活動A5處于正在執(zhí)行狀態(tài),活動A6則尚未啟動。當(dāng)在A2與A3之間加入一個新活動A7,此時形成的新流程如圖2(b)所示。對于新工作流中,正確的處理方式應(yīng)為如圖2(c)所示,重新執(zhí)行的活動應(yīng)從A2開始,而不是從A0開始執(zhí)行。
圖2 新工作流的工作繼承
類似于圖中A0、A1不需要在新流程中重新執(zhí)行的工作流活動,稱之為可略活動。
2.1 基于虛擬PDM的跨企業(yè)工作流變更類型及處理方法
按照工作流變更發(fā)生源,可將跨企業(yè)工作流變更類型分為自下而上型的工作流變更和自上而下型的工作流變更。
1)自下而上的工作流變更
所謂自下而上型的工作流變更,是指工作流變更的發(fā)生源是下層各企業(yè)的分工作流發(fā)生了變更。這種變更表現(xiàn)在上層的虛擬PDM上,主要是某個活動子過程的輸出數(shù)據(jù)發(fā)生了變化,引起了總工作流的變更。這時,總工作流只需按原有模板重新生成一個新的總工作流程實(shí)例,并判斷可略活動,從相關(guān)節(jié)點(diǎn)開始執(zhí)行。其處理過程為:
Step 1某企業(yè)向虛擬PDM發(fā)送變更申請,并提交變更后的輸出數(shù)據(jù);
Step 2虛擬PDM接收了企業(yè)提交的變更申請及數(shù)據(jù),與原來的數(shù)據(jù)比較:如果無變化,忽略;如果數(shù)據(jù)發(fā)生了變化,執(zhí)行下一步;
Step 3如果判斷活動子節(jié)點(diǎn)的輸出數(shù)據(jù)發(fā)生了變化,虛擬PDM首先復(fù)制一套當(dāng)前正在執(zhí)行的工作流(包括各活動子過程的狀態(tài)、任務(wù)、輸入和輸出數(shù)據(jù)等),并以接收到的數(shù)據(jù)替換;
Step 4虛擬PDM在新的總工作流程中搜索可略活動,并標(biāo)記為“Neglectable”;將已執(zhí)行完畢,但又不是可略活動的,標(biāo)記為“Enforced”;
Step 5虛擬PDM將未標(biāo)記為“Enforced”的活動子節(jié)點(diǎn)和狀態(tài)為“Running”的活動子節(jié)點(diǎn)狀態(tài)復(fù)位為“Unreached”,并向其發(fā)送“重新開始”的消息;
Step 6接收到“重新開始”消息的各企業(yè)PDM重新處理各自過程。
2)自上而下的工作流變更
所謂自上而下型的工作流變更,是指工作流變更的發(fā)生源是虛擬PDM對于總工作流程發(fā)生變更引起的。自上而下的變更是工作流結(jié)構(gòu)性變更,總工作流需要重新生成工作流模板并實(shí)例化新的工作流程來。
其處理過程為:
Step 1虛擬PDM查詢總工作流中狀態(tài)為“Running”的活動子節(jié)點(diǎn),向其發(fā)送暫停執(zhí)行的消息;
Step 2虛擬PDM復(fù)制舊的工作流模板,修改生成新的總工作流模板;
Step 3初始化新工作流模板生成一個新的工作流實(shí)例來,并將原總工作流實(shí)例中已完成活動子過程數(shù)據(jù)付給新工作流實(shí)例;
Step 4虛擬PDM在新的總工作流程中搜索可略活動,并標(biāo)記為“Neglectable”;將已執(zhí)行完畢,但又不是可略活動的,標(biāo)記為“Enforced”;
Step 5虛擬PDM將未標(biāo)記為“Enforced”的活動子節(jié)點(diǎn)和狀態(tài)為“Running”的活動子節(jié)點(diǎn)狀態(tài)復(fù)位為“Unreached”,并向其發(fā)送“重新開始”的消息;
Step 6接收到“重新開始”消息的各企業(yè)PDM重新處理各自過程。
2.2 可略活動的識別
成為可略活動首先需要具備以下兩個條件:
1)該活動在變更前后的工作流中未作改變;2)該可活動在舊工作流實(shí)例中已經(jīng)執(zhí)行完畢。然而,具備了上述兩個條件并不能完全確定該活動是可忽略的,如在圖1中的活動A4,雖然也具備了上述條件,但其在新工作流實(shí)例中仍然需要重新被執(zhí)行一次。
一個活動Ai,其從開始節(jié)點(diǎn)s到該活動路徑依次為{s,A0,A2,…,Ai-1},如果Ai要能成為可略活動,則其前面的節(jié)點(diǎn)A0,A2,…,Ai-1都是可略活動。
2.2.1 未修改活動的查找
活動的變化主要包括:
1)活動屬性的改變;2)前后連接的改變。對于活動和連接的查找,是通過其id號實(shí)現(xiàn)的?紤]到變更后的新工作流與原有工作流變化并不是很大,所以我們在生成新工作流時采用的是“復(fù)制十修改”的方式進(jìn)行的,這樣,新工作流中的活動與連接與原有工作流中的活動與連接有相同的屬性,這樣可以較為容易地實(shí)現(xiàn)對應(yīng)節(jié)點(diǎn)的比較,未修改的節(jié)點(diǎn)容易被查找出來。
2.2.2 完成活動識別
流程中已完成的活動是比較容易識別的,因?yàn)楫?dāng)活動完成時,其狀態(tài)被置為“Finished”,通過其狀態(tài)位可識別其是否被完成。
2.2.3 可略活動
具備了前兩個性質(zhì)的活動,我們通過下面的遞歸算法來判斷其是否為可略活動。算法執(zhí)行是從開始節(jié)點(diǎn)開始的,任何一個總工作流程,其開始節(jié)點(diǎn)都是可忽略活動。其算法過程如下:
3 實(shí)現(xiàn)
本文探討基于虛擬PDM的跨企業(yè)工作流管理系統(tǒng)是應(yīng)用JAVA語言開發(fā),開發(fā)工具則使用了Eclipse和GMF(Graphical Modeling Framework)。數(shù)據(jù)庫則使用了Microsoft SQL Server2000,其框架結(jié)構(gòu)采用了C/S和B/S結(jié)合的方式。
圖3為虛擬PDMI作流啟動后的監(jiān)控窗口,圖中紅色框的活動子流程表示該對應(yīng)的分流程在各企業(yè)的PDM中已經(jīng)完成,藍(lán)色框活動子流程表示該對應(yīng)的分流程在各企業(yè)的PDM中正在進(jìn)行。雙擊該任務(wù)或點(diǎn)擊“瀏覽詳細(xì)情況”,虛擬PDM將連接對應(yīng)企業(yè)PDM,獲取該活動子流程的詳細(xì)結(jié)構(gòu)圖與各活動狀態(tài)并在虛擬PDM客戶端顯示,如圖4所示。圖3中所示的活動子流程其在SmarTeam結(jié)構(gòu)與狀態(tài)如圖5所示。
圖3 虛擬PDM工作流監(jiān)控
圖4 子流程過程監(jiān)控
圖5 SmarTeam中的流程
圖6和圖7展示的是圖3工作流經(jīng)過變更和變更分析前后的界面。由于某種原因,原由A所完成的部分工作拆分為由A所和D所共同完成。產(chǎn)生新的工作流如圖6所示。經(jīng)過分析,系統(tǒng)認(rèn)為“初步設(shè)計(jì)”、“總體設(shè)計(jì)”、“部件X詳細(xì)設(shè)計(jì)”和“匯總”是可略節(jié)點(diǎn),在新工作流中不需要重復(fù)完成,并將其狀態(tài)自動標(biāo)注為“已完成”,如圖7所示,等待系統(tǒng)啟動執(zhí)行。
圖6 工作流變更分析前
圖7 變更分析后
4 總結(jié)
工作流對企業(yè)的業(yè)務(wù)過程實(shí)現(xiàn)了導(dǎo)航與監(jiān)控,是現(xiàn)代企業(yè)信息系統(tǒng)的關(guān)鍵技術(shù)。伴隨隨著經(jīng)濟(jì)全球化和Intemet的普及,目前的工作流管理系統(tǒng)不再局限于單個企業(yè)內(nèi)部的業(yè)務(wù)處理,還必須協(xié)調(diào)不同企業(yè)之間的工作活動。
但目前的PDM系統(tǒng)對于跨企業(yè)的業(yè)務(wù)流程處理顯得無能為力,并不能對合作企業(yè)工作過程監(jiān)控,使得跨企業(yè)的工作可控性較低。
本文通過虛擬PDM方法實(shí)現(xiàn)跨企業(yè)工作流管理,并著重探討了跨企業(yè)工作流處理方法,集成了SmarTeam和Windchill兩類的PDM系統(tǒng),對其實(shí)現(xiàn)機(jī)制進(jìn)行了詳細(xì)描述,探討了基于虛擬PDM的工作流變更處理方法和過程,給出了可略活動的遞歸判斷算法,實(shí)現(xiàn)了該方法的應(yīng)用。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(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管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于虛擬PDM的跨企業(yè)工作流變更
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401938485.html