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