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