0 引言
PDM(Product Data Management)是用來(lái)管理所有與產(chǎn)品相關(guān)的信息(包括零件、配置、圖文檔、結(jié)構(gòu)、類別、變更、權(quán)限等),和所有與產(chǎn)品相關(guān)的過(guò)程(包括過(guò)程定義和過(guò)程管理)的技術(shù)。目前隨著企業(yè)需求的擴(kuò)大,信息技術(shù)的逐步發(fā)展,PDM技術(shù)的研究與開發(fā)已經(jīng)越來(lái)越普遍。通過(guò)由信息技術(shù)主導(dǎo)的制造模式的發(fā)展趨勢(shì)可以看出,制造業(yè)要想提高生產(chǎn)效率,實(shí)施信息化戰(zhàn)略是唯一選擇;而在眾多的先進(jìn)設(shè)計(jì)與制造技術(shù)中,實(shí)施產(chǎn)品數(shù)據(jù)管理是信息化過(guò)程中最核心的內(nèi)容,因?yàn)镻DM管理的是一個(gè)企業(yè)的核心競(jìng)爭(zhēng)力——產(chǎn)品的相關(guān)數(shù)據(jù),而這些數(shù)據(jù)是其他管理技術(shù)(ERP/MRP)賴以生存的根本所在。其他管理技術(shù)更多的是充當(dāng)企業(yè)價(jià)值鏈上的服務(wù)環(huán)節(jié),PDM則處于企業(yè)管理的核心位置。
工作流管理聯(lián)盟(WFMC)對(duì)工作流的定義:工作流是一類在計(jì)算機(jī)技術(shù)的支持下能夠完全或者部分實(shí)現(xiàn)自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,它根據(jù)一系列過(guò)程規(guī)則,使信息、任務(wù)能夠在不同的參與者之間傳遞與執(zhí)行。
采用PDM與工作流技術(shù)相結(jié)合,能有效地實(shí)現(xiàn)產(chǎn)品數(shù)據(jù)在概念設(shè)計(jì)、計(jì)算分析、詳細(xì)設(shè)計(jì)、加工制造、銷售維護(hù)直到產(chǎn)品消亡的整個(gè)生命周期內(nèi)按一定的管理模式加以定義、組織和管理,使得產(chǎn)品數(shù)據(jù)在整個(gè)生命周期內(nèi)保持一致、共享和安全,同時(shí)可按照預(yù)先定義的業(yè)務(wù)流程,自動(dòng)流轉(zhuǎn)于各個(gè)環(huán)節(jié),從而提高企業(yè)運(yùn)作的效率,增強(qiáng)企業(yè)的競(jìng)爭(zhēng)力。
1 基于有向圖的工作流模型設(shè)計(jì)
PDM系統(tǒng)中的工作流程管理主要是對(duì)產(chǎn)品設(shè)計(jì)、工藝、生產(chǎn)及銷售全過(guò)程的管理,在工作流概念下實(shí)現(xiàn)業(yè)務(wù)過(guò)程集成管理則是通過(guò)定義不同任務(wù)之間相互關(guān)系的工作流模型來(lái)實(shí)現(xiàn)的。工作流模型是對(duì)工作流的抽象表示,是整個(gè)工作流管理系統(tǒng)的基礎(chǔ)。在工作流模型中,無(wú)論是具體的物料轉(zhuǎn)移、實(shí)際物理裝置的操作,還是抽象的信息處理與決策過(guò)程,都可以用工作流的基本組成元素——任務(wù)(活動(dòng))來(lái)統(tǒng)一地進(jìn)行描述。同樣,反映不同任務(wù)之間的關(guān)系,無(wú)論是具體的車間中零件加工順序、辦公自動(dòng)化中的文件批轉(zhuǎn),還是抽象的決策流之間的關(guān)系都可以用工作流的基本組成元素——連接弧來(lái)統(tǒng)一地進(jìn)行描述。連接弧反映了企業(yè)業(yè)務(wù)經(jīng)營(yíng)過(guò)程的一種控制邏輯,定義了活動(dòng)之間的連接關(guān)系和執(zhí)行順序。
有向圖模型是一種被廣泛采用的流程定義模型,它的優(yōu)點(diǎn)是比較直觀、容易理廨,因此工作流模型建立在有向圖的基礎(chǔ)上,采用有向圖對(duì)具體的工作流程進(jìn)行描述建模。下面給出作者采用的有向圖的一些基本定義:
定義1 設(shè)定有向圖G=(V,E),V、E中的元素分別表示圖的節(jié)點(diǎn)與弧。e=(u,v)∈E,則稱u為e的起點(diǎn)或頭,v為e的終點(diǎn)或尾,又稱u為v的前驅(qū),v為u的后繼,前驅(qū)域?yàn),?sup>-(v),后繼域?yàn)棣?sup>+(v)。
定義2 給定一個(gè)有向圖G=(V,E),在V中指定了一點(diǎn)為發(fā)點(diǎn)vs,另一點(diǎn)為收點(diǎn)v1,其余是中間點(diǎn);對(duì)于每一個(gè)弧(vi,vj)∈E,對(duì)應(yīng)有一個(gè)c(vi,vj)≥0,稱為弧的容量。通常把這樣的G稱為網(wǎng)絡(luò),記做G=(V,E,C)。
下面在上述圖和流的基本定義的基礎(chǔ)上做一些擴(kuò)展和調(diào)整,以簡(jiǎn)化對(duì)實(shí)際工作流程的建模:
定義3設(shè)G'=(V,E,ψ)。其中V是非空有限集合,它的元素為工作流的節(jié)點(diǎn),令V=(v1,v2,…,vn),其中指定v1為起始節(jié)點(diǎn),vn為終止節(jié)點(diǎn);T也是非空有限集合,它是邊的定義域,其元素通常為自然數(shù),每一自然數(shù)代表了一條邊;ψ是表示V之間關(guān)聯(lián)關(guān)系的映射。
作者采用有向圖理論對(duì)具體的工作流程進(jìn)行建模,圖1為某模具企業(yè)產(chǎn)品設(shè)計(jì)發(fā)布的基本工作流程圖。
圖1 產(chǎn)品設(shè)計(jì)發(fā)布流程圖
圖2 設(shè)計(jì)發(fā)布流程對(duì)應(yīng)的有向圖
圖2是基于有向圖的定義為以上工作流程建立的一個(gè)有向圖實(shí)例,其中V=(v1,v2,v3,v4,v5,v6,v7),v1~v7代表了圖1中的各個(gè)圓形節(jié)點(diǎn)中的內(nèi)容,也即工作流程的具體任務(wù)(活動(dòng));E=(1,2,3,4,5,6,7),用帶箭頭的連接弧代表了工作流程中任務(wù)的連接關(guān)系、執(zhí)行順序;v之間的影射關(guān)系ψ則如圖3所示。
圖3 任務(wù)(活動(dòng))映射圖
在對(duì)上述設(shè)計(jì)發(fā)布工作流程建立好相應(yīng)的有向圖模型后,將把具體的工作流及對(duì)應(yīng)的節(jié)點(diǎn)模型信息作為一個(gè)工作流程模板存人數(shù)據(jù)庫(kù),供工作流引擎調(diào)用。
2 工作流管理模塊的設(shè)計(jì)與實(shí)現(xiàn)
工作流管理系統(tǒng)WFMS(Workflow Management System)是一個(gè)軟件系統(tǒng),它完成工作流的定義和管理,并按照在計(jì)算機(jī)中預(yù)先定義好的工作流運(yùn)行邏輯來(lái)推進(jìn)工作流實(shí)例的執(zhí)行,是在企業(yè)業(yè)務(wù)背景下對(duì)工作流技術(shù)的具體應(yīng)用。
2.1 工作流引擎的JAVA類和數(shù)據(jù)模型設(shè)計(jì)
工作流引擎是工作流管理系統(tǒng)的核心,是工作流程的狀態(tài)轉(zhuǎn)換機(jī)和路由控制器。文中的工作流管理模塊的工作流引擎是基于JAVA技術(shù)開發(fā)的,主要由3個(gè)方面的模塊來(lái)實(shí)現(xiàn):工作流模板、工作流實(shí)例和工作流監(jiān)控。
(1)工作流模板包括兩個(gè)JAVA類和兩個(gè)數(shù)據(jù)模型:WorkFlow類和Node類,WorkFlow數(shù)據(jù)模型和Node數(shù)據(jù)模型。其中WorkFlow類和WorkFlow數(shù)據(jù)模型用來(lái)完成定義工作流模板時(shí)基本信息的記錄,Node類和Node模型記錄定義好的工作流模板中每個(gè)節(jié)點(diǎn)的屬性。工作流模板的數(shù)據(jù)模型對(duì)應(yīng)上述采用有向圖為具體工作流程建立的模型。
(2)工作流實(shí)例包括2個(gè)JAVA類和2個(gè)數(shù)據(jù)模型:WorkFlowInstance類和InstanceNode類,WorkFlowInstance數(shù)據(jù)模型和InstanceNode數(shù)據(jù)模型。WorkFlowInstance類和WorkflowInstance數(shù)據(jù)模型用于記錄工作流實(shí)例的具體信息。InstanceNode類和InstanceNode數(shù)據(jù)模型記錄了工作流實(shí)例中每個(gè)節(jié)點(diǎn)實(shí)例的屬性,并同時(shí)包括每個(gè)工作流節(jié)點(diǎn)指定的具體用戶的信息。
(3)工作流監(jiān)控需要1個(gè)類和1個(gè)數(shù)據(jù)模型:HistoryRecord類和HistoryRecord表。工作流監(jiān)控實(shí)際就是記錄工作流實(shí)例每個(gè)節(jié)點(diǎn)執(zhí)行時(shí)的信息,包括節(jié)點(diǎn)的執(zhí)行時(shí)間、執(zhí)行人和執(zhí)行人所做的操作。
圖4描述了工作流引擎模塊中定義的各個(gè)實(shí)體類(只列出了類的主要屬性和方法)及其相互關(guān)系,工作流引擎中數(shù)據(jù)模型的定義將在下面詳細(xì)介紹。
圖4 工作流引擎JAVA類圖
2.2 應(yīng)用服務(wù)器及數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)
工作流管理系統(tǒng)模塊是在PDM系統(tǒng)的基礎(chǔ)上開發(fā)的,以Tomcat5.0作為應(yīng)用服務(wù)器,數(shù)據(jù)庫(kù)則采用現(xiàn)有PDM系統(tǒng)使用的關(guān)系數(shù)據(jù)庫(kù)MYSQL5.0;镜臄(shù)據(jù)E-R(ENTITY-RELATION)圖如圖5所示。
圖5 工作流管理模塊基本E-R圖
圖5中每一個(gè)實(shí)體(ENTITY)基本對(duì)應(yīng)數(shù)據(jù)庫(kù)中一張表,用來(lái)存貯工作流引擎執(zhí)行所需要的數(shù)據(jù)模型及其他相關(guān)信息。
2.3 工作流管理模塊的實(shí)現(xiàn)
工作流模塊是在現(xiàn)有PDM系統(tǒng)的基礎(chǔ)上,采用3層體系的B-S結(jié)構(gòu)開發(fā)的:表示層采用Jsp、JavaScript、Ajax技術(shù)實(shí)現(xiàn)對(duì)業(yè)務(wù)的顯示,完成與用戶的交互;控制層采用JAVA技術(shù),利用JAVA類實(shí)現(xiàn)對(duì)具體工作流程的控制、管理等操作,滿足各種具體業(yè)務(wù)的需要;數(shù)據(jù)層采用MYSQL數(shù)據(jù)庫(kù)對(duì)相應(yīng)的工作流模板、工作流實(shí)例、監(jiān)控記錄等相關(guān)內(nèi)容進(jìn)行存儲(chǔ)。
3 結(jié)束語(yǔ)
工作流程管理是PDM系統(tǒng)中實(shí)施業(yè)務(wù)過(guò)程管理與過(guò)程控制的一項(xiàng)關(guān)鍵技術(shù)。為了提高產(chǎn)品設(shè)計(jì)的效率,降低產(chǎn)品設(shè)計(jì)的成本,迫切需要將工作流技術(shù)與產(chǎn)品數(shù)據(jù)管理技術(shù)緊密結(jié)合,將工作流技術(shù)應(yīng)用到現(xiàn)有的PDM系統(tǒng)中來(lái),改進(jìn)提高PDM系統(tǒng)中的不夠完善的工作流程管理功能,從而從整體上提高企業(yè)管理經(jīng)營(yíng)的自動(dòng)化水平,為企業(yè)在未來(lái)的競(jìng)爭(zhēng)中建立優(yōu)勢(shì)。東莞某企業(yè)在使用PDM系統(tǒng)工作流管理模塊后,大大提高了該企業(yè)產(chǎn)品開發(fā)的效率,縮短了產(chǎn)品上市的時(shí)間,降低了產(chǎn)品開發(fā)的成本,提升了該企業(yè)的競(jìng)爭(zhēng)力。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:PDM系統(tǒng)中工作流技術(shù)的研究與應(yīng)用