宋新愛(ài) 仇小花 秦栓栓
(西安石油大學(xué)計(jì)算機(jī)學(xué)院 陜西 西安 710065)
基于XML的項(xiàng)目管理工作流一體化建模研究
宋新愛(ài) 仇小花 秦栓栓
(西安石油大學(xué)計(jì)算機(jī)學(xué)院 陜西 西安 710065)
針對(duì)企業(yè)大量業(yè)務(wù)流程經(jīng)常變化的特點(diǎn)和管理問(wèn)題,提出一種基于XML的項(xiàng)目管理工作流模型。對(duì)工作流管理聯(lián)盟制定的工作流過(guò)程定義元模型進(jìn)行了改進(jìn)和簡(jiǎn)化,并給出了元模型的組成元素與相關(guān)屬性;基于改進(jìn)的工作流元模型,使用XML對(duì)工作流過(guò)程模型進(jìn)行了定義;介紹了工作流引擎的主要設(shè)計(jì)思想和DOM4J解析方法?;谶^(guò)站航班運(yùn)行保障流程建模實(shí)驗(yàn)結(jié)果表明,所提出的基于XML的工作流模型能很好地表示任務(wù)節(jié)點(diǎn)及其關(guān)系,并且便于數(shù)據(jù)的傳輸和共享。
工作流 元模型 過(guò)程 活動(dòng) XML解析
在傳統(tǒng)的企業(yè)項(xiàng)目管理系統(tǒng)中,大多數(shù)采用將業(yè)務(wù)處理和業(yè)務(wù)流轉(zhuǎn)規(guī)則進(jìn)行綁定的方式。業(yè)務(wù)功能部件往往是被固化在系統(tǒng)中的,從而限制了系統(tǒng)的靈活性和擴(kuò)展性,業(yè)務(wù)流程的變化需要進(jìn)行系統(tǒng)修改和升級(jí),由此而帶來(lái)很大的系統(tǒng)維護(hù)開(kāi)銷(xiāo)。為適應(yīng)市場(chǎng)變化的實(shí)際需求,在項(xiàng)目管理系統(tǒng)中實(shí)現(xiàn)支持企業(yè)對(duì)業(yè)務(wù)流程的定制和操作控制則顯得尤為必要。采用工作流技術(shù)可以有效地實(shí)現(xiàn)企業(yè)日常業(yè)務(wù)操作中的人機(jī)交互過(guò)程和人與人之間的工作交接過(guò)程,提高企業(yè)管理的規(guī)范化程度。
根據(jù)工作流管理聯(lián)盟的定義,工作流是一類(lèi)能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,根據(jù)一系列過(guò)程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行[1]。根據(jù)對(duì)這個(gè)定義的理解,工作流是通過(guò)計(jì)算機(jī)軟件進(jìn)行定義、執(zhí)行并監(jiān)控的經(jīng)營(yíng)過(guò)程,這也是它與一般的工作流程的區(qū)別。工作流模型是對(duì)工作流的抽象表示,也是對(duì)業(yè)務(wù)過(guò)程的抽象描述,它定義了各個(gè)業(yè)務(wù)活動(dòng)間的控制依賴和數(shù)據(jù)依賴,是實(shí)現(xiàn)業(yè)務(wù)流程管理的基礎(chǔ)。用戶可以根據(jù)實(shí)際需要定義企業(yè)工作流模型,并提供給工作流管理系統(tǒng),從而實(shí)現(xiàn)業(yè)務(wù)過(guò)程的調(diào)整和控制。
近年來(lái)在工作流系統(tǒng)研究中,研究者們從不同角度、不同側(cè)重點(diǎn)提出的工作流建模方法主要有:基于形式化的Petri網(wǎng)的工作流模型[2]、可控時(shí)間約束Petri網(wǎng)模型[3]、鄰接模型矩陣[4],以及基于時(shí)間擴(kuò)展UML活動(dòng)圖的工作流過(guò)程建模方法[5]等。Petri網(wǎng)是一個(gè)狀態(tài)變遷模型,可描述系統(tǒng)中異步成分之間的關(guān)系,并允許同時(shí)發(fā)生多個(gè)狀態(tài)變遷。鄰接模型矩陣為流程模型存儲(chǔ)提供了一種新方法。基于XML的工作流過(guò)程定義語(yǔ)言XPDL為基于業(yè)務(wù)流程建模符號(hào)BPMN圖形的企業(yè)流程定義提供了一個(gè)標(biāo)準(zhǔn)的圖形化方法,文件格式是基于工作流管理聯(lián)盟提出的工作流元模型。這些工作流建模方法相對(duì)都有一定的優(yōu)點(diǎn),但建模的目的主要是為對(duì)業(yè)務(wù)流程進(jìn)行描述和優(yōu)化,而對(duì)工作流引擎的設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)缺乏連續(xù)支持。本文采用可擴(kuò)展標(biāo)記語(yǔ)言XML描述組成工作流的各種數(shù)據(jù)元素并存儲(chǔ)業(yè)務(wù)流程,提出項(xiàng)目管理工作流一體化建模,實(shí)現(xiàn)模型中的活動(dòng)、過(guò)程與引擎中的活動(dòng)、過(guò)程的映射和交互,將設(shè)計(jì)完成的業(yè)務(wù)流程模型直接用于計(jì)算機(jī)仿真和執(zhí)行。
2.1 概 述
XML是一種易于使用和擴(kuò)展的標(biāo)記語(yǔ)言,它以結(jié)構(gòu)化的方式描述各種類(lèi)型的數(shù)據(jù)。XML文件由標(biāo)記(元素)和內(nèi)容組成,并以純文本格式進(jìn)行存儲(chǔ),提供了一種獨(dú)立于軟件和硬件的數(shù)據(jù)存儲(chǔ)方法。隨著XML以及其在互聯(lián)網(wǎng)定義文檔格式的日益流行,結(jié)合Java可以將業(yè)務(wù)活動(dòng)的定義和順序關(guān)系存儲(chǔ)在XML文件中,從而實(shí)現(xiàn)與業(yè)務(wù)流程功能上的有效分離。XML語(yǔ)法與HTML相似,易于閱讀和理解,并且便于編程開(kāi)發(fā)基于XML工作流模型的過(guò)程執(zhí)行。
2.2 元模型結(jié)構(gòu)定義
任何一項(xiàng)業(yè)務(wù)流程通常可以分解為多個(gè)最基本的行為步驟,即“活動(dòng)”。它是一個(gè)可獨(dú)立執(zhí)行的任務(wù),由多個(gè)用戶(角色)協(xié)作完成。一組具有不同功能的活動(dòng)按照一定的順序相連便可構(gòu)成一個(gè)業(yè)務(wù)過(guò)程。工作流模型由若干可執(zhí)行的業(yè)務(wù)過(guò)程、過(guò)程之間的全局共享數(shù)據(jù),以及執(zhí)行過(guò)程需要的應(yīng)用和資源組成。工作流元模型是對(duì)工作流過(guò)程定義中的實(shí)體、實(shí)體的屬性、實(shí)體之間的關(guān)系以及過(guò)程規(guī)則的抽象描述。工作流元模型的重點(diǎn)是過(guò)程定義元模型,用于對(duì)業(yè)務(wù)過(guò)程的組成元素進(jìn)行定義,從而指導(dǎo)工作流過(guò)程建模。在實(shí)際應(yīng)用中,可以對(duì)工作流管理聯(lián)盟的過(guò)程定義元模型進(jìn)行改進(jìn)和簡(jiǎn)化,如圖1所示。工作流由活動(dòng)構(gòu)成,對(duì)活動(dòng)的執(zhí)行者或參與者會(huì)分配相應(yīng)角色,活動(dòng)在執(zhí)行過(guò)程中可以調(diào)用相關(guān)工作節(jié)點(diǎn)。活動(dòng)之間可以是順序連接關(guān)系,也可以是多分支并行或聚合連接關(guān)系。下面給出具體的元模型定義。
圖1 改進(jìn)的過(guò)程定義元模型
(1) 工作流過(guò)程(Process)
工作流過(guò)程定義構(gòu)成了工作流模型的主體部分,它包含了工作流過(guò)程的自身屬性以及組成工作流過(guò)程的所有活動(dòng)和轉(zhuǎn)移信息,主要屬性如下:
? 過(guò)程標(biāo)題:Name
? 過(guò)程內(nèi)容:Description
? 活動(dòng)列表:ActivityList
? 連接:Connectors
? 開(kāi)始活動(dòng):StartActivity
? 終止活動(dòng):EndActivity
? 計(jì)劃時(shí)間:PlanTime
? 實(shí)際時(shí)間:RealTime
? 制定者:Designer
? 制定時(shí)間:CreateDate
(2) 活動(dòng)(Activity)
每個(gè)活動(dòng)是一個(gè)獨(dú)立的工作單元,它可能是最小的獨(dú)立單元,也可以是由一系列更小獨(dú)立單元組成的子過(guò)程。通常一個(gè)基本活動(dòng)應(yīng)該包含以下屬性:
? 活動(dòng)標(biāo)識(shí):ActivityID
? 活動(dòng)內(nèi)容:Description
? 參與者:Participants
? 參數(shù):Parameter
? 處理節(jié)點(diǎn):HandlerNode
? 計(jì)劃時(shí)間:PlanTime
? 實(shí)際時(shí)間:RealTime
(3) 連接(Connector)
活動(dòng)之間的關(guān)聯(lián)和執(zhí)行順序是通過(guò)連接實(shí)現(xiàn)的。一個(gè)活動(dòng)可以有多個(gè)輸入連接,也可以有多個(gè)輸出連接。在連接中包含了活動(dòng)狀態(tài)流轉(zhuǎn)的規(guī)則,即與連接相連的前驅(qū)活動(dòng)轉(zhuǎn)移至后繼活動(dòng)應(yīng)該滿足的相關(guān)條件??梢詫⑶膀?qū)活動(dòng)狀態(tài)和返回結(jié)果保存在連接信息中,以便為活動(dòng)的轉(zhuǎn)移提供參照信息。當(dāng)設(shè)置轉(zhuǎn)移條件為“真”時(shí),則前驅(qū)活動(dòng)執(zhí)行完畢即可執(zhí)行后繼活動(dòng)。連接的描述信息包括:
? 連接標(biāo)識(shí):ConnectorID
? 連接類(lèi)型:Style
? 前驅(qū)活動(dòng):PreActivities
? 輸出結(jié)果:OutputParam
? 前驅(qū)活動(dòng)狀態(tài):PreStatus
? 后繼活動(dòng):NextActivities
? 時(shí)間約束:TimeConstraint
? 轉(zhuǎn)移條件:TransCondition
根據(jù)前驅(qū)活動(dòng)與后繼活動(dòng)之間的執(zhí)行關(guān)系,一個(gè)過(guò)程中的多個(gè)活動(dòng)之間存在一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的連接關(guān)系。為了便于控制,可以將多對(duì)多的連接關(guān)系之間增加一個(gè)中間狀態(tài),從而轉(zhuǎn)化為一對(duì)多的連接關(guān)系。因此連接類(lèi)型可包括五種:順序、循環(huán)、選擇、并發(fā)、合并。如果為順序連接類(lèi)型,則只要滿足轉(zhuǎn)移條件或者時(shí)間約束時(shí)即可推進(jìn)流程轉(zhuǎn)去執(zhí)行后繼活動(dòng);如果為循環(huán)連接類(lèi)型,則在執(zhí)行后繼活動(dòng)后根據(jù)轉(zhuǎn)移條件判斷是否又轉(zhuǎn)去執(zhí)行前驅(qū)活動(dòng);如果前驅(qū)活動(dòng)有兩個(gè)或兩個(gè)以上的后繼活動(dòng)時(shí),連接類(lèi)型通常為選擇或并發(fā);如果后繼活動(dòng)有兩個(gè)或兩個(gè)以上的前驅(qū)活動(dòng)時(shí),連接類(lèi)型通常為合并。
(4) 角色(Role)
角色主要描述企業(yè)經(jīng)營(yíng)過(guò)程中參與某個(gè)活動(dòng)的人或組織單位。主要包括兩個(gè)屬性:
? 角色名稱(chēng):RoleName
? 角色描述:Description
(5) 參與者(Participant)
參與者指實(shí)際完成某個(gè)活動(dòng)的人或設(shè)備,參與者要被定義為一個(gè)或多個(gè)角色。參與者包含以下主要屬性:
? 標(biāo)識(shí):ParticipantID
? 名稱(chēng):Name
? 角色名稱(chēng):RoleName
(6) 工作節(jié)點(diǎn)(API_Node)
工作節(jié)點(diǎn)指與工作流活動(dòng)處理相關(guān)的應(yīng)用程序接口,主要屬性包括:
? 應(yīng)用程序名稱(chēng):AppName
? 功能描述:Description
? 路徑:AppPath
? 運(yùn)行參數(shù):Paramters
? 輸出:Output
2.3 基于XML的工作流過(guò)程建模
工作流過(guò)程定義是業(yè)務(wù)過(guò)程的一種形式化描述,是工作流模型的主體構(gòu)成部分。可以將組成工作流過(guò)程的各個(gè)部分作為XML文檔的元素或?qū)傩赃M(jìn)行描述。在XML文檔中,XML元素是可擴(kuò)展的,在XML元素的開(kāi)始標(biāo)簽中可以包含屬性,而屬性用來(lái)提供不屬于數(shù)據(jù)組成部分的信息。通常我們將數(shù)據(jù)本身作為元素來(lái)存儲(chǔ),而將元數(shù)據(jù)存儲(chǔ)為屬性。依據(jù)這個(gè)原則,根據(jù)改進(jìn)的工作流元模型,相應(yīng)的工作流過(guò)程的完整定義格式如下:
xml version=“1.0” encoding=“utf-8” ?>
……
……
……
……
在工作流過(guò)程模型定義中,活動(dòng)是核心元素。
工作流引擎是工作流管理系統(tǒng)的核心部分,負(fù)責(zé)工作流過(guò)程實(shí)例的創(chuàng)建、解釋和執(zhí)行。需要接受外部用戶的請(qǐng)求事件并執(zhí)行相應(yīng)動(dòng)作,從而驅(qū)動(dòng)和控制流程在各業(yè)務(wù)節(jié)點(diǎn)的流轉(zhuǎn)。對(duì)于有嚴(yán)格時(shí)間限制的活動(dòng),需要設(shè)置活動(dòng)的啟動(dòng)時(shí)間和結(jié)束時(shí)間,因此可以采用時(shí)間觸發(fā)機(jī)制和事件觸發(fā)機(jī)制相結(jié)合的方式控制工作流的執(zhí)行。工作流引擎的核心是過(guò)程管理器、活動(dòng)管理器和連接管理器。當(dāng)項(xiàng)目管理實(shí)例被啟動(dòng),也就觸發(fā)了工作流引擎開(kāi)始工作。
基于上述改進(jìn)的工作流過(guò)程模型,工作流引擎的主要設(shè)計(jì)思想為:
(1) 工作流引擎首先讀取業(yè)務(wù)過(guò)程XML文檔中過(guò)程定義實(shí)例信息,根據(jù)當(dāng)前用戶角色創(chuàng)建過(guò)程實(shí)例,其所有活動(dòng)狀態(tài)為未完成態(tài)“Undo”。
(2) 根據(jù)XML文檔中的連接元素信息生成一張活動(dòng)連接表,其中包括過(guò)程中的所有連接的前驅(qū)活動(dòng)、后繼活動(dòng)、連接類(lèi)型和時(shí)間約束等,從而根據(jù)活動(dòng)連接表實(shí)現(xiàn)過(guò)程的監(jiān)控和運(yùn)行。
(3) 啟動(dòng)事件監(jiān)聽(tīng)器偵聽(tīng)用戶操作。
(4) 當(dāng)活動(dòng)執(zhí)行完畢,修改活動(dòng)狀態(tài)為完成態(tài)“Done”,并且判斷當(dāng)前活動(dòng)是否為終止活動(dòng)。
(5) 如果不是,則將其作為前驅(qū)活動(dòng)在活動(dòng)連接表中查找其相應(yīng)的所有后繼活動(dòng),其返回結(jié)果傳遞給
(6) 如果當(dāng)前活動(dòng)為終止活動(dòng),則意味著整個(gè)過(guò)程執(zhí)行結(jié)束。
民航業(yè)是我國(guó)經(jīng)濟(jì)社會(huì)發(fā)展的重要戰(zhàn)略產(chǎn)業(yè), 機(jī)場(chǎng)規(guī)模日益擴(kuò)大,對(duì)日常業(yè)務(wù)工作效率的要求越來(lái)越高。A-CDM(機(jī)場(chǎng)協(xié)同決策系統(tǒng))模型在我國(guó)機(jī)場(chǎng)的開(kāi)發(fā)和應(yīng)用將有助于我國(guó)民航業(yè)的快速健康發(fā)展。航班地面服務(wù)是機(jī)場(chǎng)高效的重要環(huán)節(jié),在航班過(guò)站工作過(guò)程中,有多個(gè)關(guān)鍵節(jié)點(diǎn),如開(kāi)/關(guān)艙門(mén)、上/下客、裝/卸貨、加油等。如圖2所示是一個(gè)過(guò)站航班運(yùn)行保障典型流程,各個(gè)航班保障服務(wù)節(jié)點(diǎn)之間存在一定的時(shí)間約束關(guān)系,例如只有機(jī)艙保潔和加油服務(wù)完成后才能開(kāi)始上客。整個(gè)流程的運(yùn)行需要多個(gè)部門(mén)參與協(xié)調(diào),航班接受各種保障車(chē)輛的服務(wù)具有嚴(yán)格的流程性,任何一方的工作情況變化會(huì)影響到其他參與方的工作進(jìn)展。
圖2 過(guò)站航班工作流程
在過(guò)站航班管理子系統(tǒng)中,由系統(tǒng)高級(jí)管理人員將航班保障進(jìn)程分解成可跟蹤的若干個(gè)任務(wù)節(jié)點(diǎn),設(shè)置任務(wù)節(jié)點(diǎn)的屬性(如任務(wù)名稱(chēng)、開(kāi)始時(shí)間、執(zhí)行人員等),以及任務(wù)節(jié)點(diǎn)之間的工作關(guān)系等,繼而生成工作流程的關(guān)鍵事件模型和過(guò)程定義。如圖3所示為航班從落地到起飛的部分工作流,流程中的任務(wù)節(jié)點(diǎn)首先由管理員進(jìn)行定義,然后依據(jù)時(shí)間標(biāo)尺將節(jié)點(diǎn)拖放到相應(yīng)的位置,再添加節(jié)點(diǎn)之間的關(guān)系。當(dāng)添加任務(wù)節(jié)點(diǎn)后,可以在相應(yīng)的屬性框中編輯節(jié)點(diǎn)的屬性(如圖3中的上客節(jié)點(diǎn)屬性),節(jié)點(diǎn)間的連接關(guān)系也可同樣進(jìn)行定義和修改。制作航班流程時(shí),任務(wù)節(jié)點(diǎn)的定義以及航班工作流的繪制使用webflow.js框架+HTML5實(shí)現(xiàn)[6]。Webflow.js支持在web界面上繪制流程圖,同時(shí)可以將繪制的流程圖保存為XML文檔格式。
圖3 過(guò)站航班工作流定義
一個(gè)完整的過(guò)程模型數(shù)據(jù)按照2.3節(jié)中的格式存儲(chǔ)在XML文檔中。以下是ground_passenger.xml文件中對(duì)“上客”節(jié)點(diǎn)的一次模擬活動(dòng)定義,在旅客登機(jī)過(guò)程中需要記錄本次航班號(hào)(FFID)、登機(jī)口(BGate),開(kāi)始登機(jī)時(shí)間(RSBT)和結(jié)束登機(jī)時(shí)間(REBT),并對(duì)異常情況進(jìn)行處理。
當(dāng)該工作流程啟動(dòng)后,工作流引擎讀取流程數(shù)據(jù),應(yīng)用節(jié)點(diǎn)協(xié)同調(diào)用算法[7],觸發(fā)預(yù)置的各種處理流程,及時(shí)將關(guān)鍵事件通知相關(guān)環(huán)節(jié)。各參與方需要及時(shí)地維護(hù)自己負(fù)責(zé)的節(jié)點(diǎn)的里程碑時(shí)間,更新XML文檔數(shù)據(jù)。
隨著XML的廣泛應(yīng)用,解析技術(shù)成為XML應(yīng)用的關(guān)鍵。當(dāng)處理較小的XML數(shù)據(jù)流時(shí)可以解析后直接在內(nèi)存進(jìn)行處理。而當(dāng)處理的XML信息以GB為單位時(shí),可以將解析出來(lái)的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,繼而使用SQL進(jìn)行后臺(tái)的查詢處理。由于關(guān)系數(shù)據(jù)庫(kù)中存儲(chǔ)的是結(jié)構(gòu)化的數(shù)據(jù),而XML數(shù)據(jù)是半結(jié)構(gòu)化的,所以要實(shí)現(xiàn)存儲(chǔ)需要進(jìn)行模式映射[8],而各大數(shù)據(jù)庫(kù)廠商都對(duì)XML的動(dòng)態(tài)應(yīng)用提供了技術(shù)支持[9]。目前主流的XML解析接口主要有:DOM、SAX、JDOM和DOM4J,它們以不同方式提供了對(duì)XML文檔的存取和處理功能。目前許多開(kāi)源項(xiàng)目中大量采用DOM4J,它采用了Java集合框架并完全支持DOM、SAX和JAXP[10],具有很好的性能。DOM4J解析步驟如下:
(1) 導(dǎo)入解析過(guò)程需要使用的DOM4J包中的類(lèi);
(2) 使用SAXReadr類(lèi)創(chuàng)建解析器Reader;
(3) 通過(guò)Reader的read方法獲取文檔對(duì)象Doc;
(4) 使用Doc的getRootElement方法獲取XML文檔中的根節(jié)點(diǎn)Root;
(5) 通過(guò)ElementIterator類(lèi)對(duì)XML節(jié)點(diǎn)進(jìn)行遍歷。
讀取ground_passenger.xml文件的實(shí)現(xiàn)代碼如下:
public void ReadData() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(″ground_passenger.xml″));
Element root = document.getRootElement();
GetNodes(root);
}
//遍歷當(dāng)前節(jié)點(diǎn)下的所有節(jié)點(diǎn)
public void GetNodes(Element node) {
NodeValue[count][0] = node.getName();
List
for (Attribute attribute : list) {
NodeValue[count][1] += attribute.getValue() + ″,″;
}
if (!(node.getTextTrim().equals(""))) {
NodeValue[count][1] = node.getText();
}
count++
//使用遞歸迭代當(dāng)前節(jié)點(diǎn)下面的所有子節(jié)點(diǎn)
Iterator
while (iterator.hasNext()) {
Element e = iterator.next();
GetNodes(e);
}
}
企業(yè)從自身需求和特點(diǎn)出發(fā),建立合理的項(xiàng)目管理工作流系統(tǒng),一方面可以規(guī)范企業(yè)的業(yè)務(wù)流程,另一方面可以通過(guò)對(duì)項(xiàng)目實(shí)施的主要階段進(jìn)行管理和控制,對(duì)整個(gè)企業(yè)的成本管理和經(jīng)濟(jì)效益起到重要作用。XML能夠描述組成工作流模型中的任意元素、屬性及其關(guān)系,文檔具有很好的可讀性和可擴(kuò)展性。本文運(yùn)用改進(jìn)的工作流元模型,對(duì)基于XML的工作流過(guò)程模型的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了一體化研究,相對(duì)文獻(xiàn)[11-12]等已有研究,給出了工作流過(guò)程模型的具體描述和定義,說(shuō)明了工作流引擎主要設(shè)計(jì)思想和DOM4J解析技術(shù)。并以過(guò)站航班工作流程為例,說(shuō)明基于XML的工作流過(guò)程模型設(shè)計(jì),可以更好地實(shí)現(xiàn)企業(yè)項(xiàng)目工作流管理系統(tǒng)。
[1] 范玉順,羅海濱,林慧,等.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001.
[2] 肖作斌,孫鵬,張智慧,等.基于Petri網(wǎng)的工作流過(guò)程建模和時(shí)間性能分析[J].電子科技,2015,28(10):44-48.
[3] 黃冬梅,許瓊瓊,賀琪,等.基于TC-Net的工作流模型研究[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(15):260-265.
[4] 余興華,仲梁維.一種改進(jìn)的流程圖相似度檢索算法及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2015,32(11):3300-3303,3308.
[5] 蔡敏,盧佩.基于時(shí)間擴(kuò)展UML活動(dòng)圖的工作流過(guò)程建模方法[J].計(jì)算機(jī)集成制造系統(tǒng),2014,20(7):1758-1767.
[6] 余飛.基于HTML5的圖形圖像協(xié)同處理技術(shù)研究與實(shí)現(xiàn)[D].長(zhǎng)江大學(xué),2015.
[7] 馮霞,任子云.基于遺傳算法的加油車(chē)和擺渡車(chē)協(xié)同調(diào)度研究[J].交通運(yùn)輸系統(tǒng)工程與信息,2016,16(2):155-163.
[8] 李占波,李娜.XML數(shù)據(jù)在關(guān)系數(shù)據(jù)庫(kù)中的存儲(chǔ)[J].微計(jì)算機(jī)信息,2007,23(27):192-194.
[9] 張振蓮,李金萊.XML數(shù)據(jù)與關(guān)系數(shù)據(jù)庫(kù)的轉(zhuǎn)換及實(shí)現(xiàn)[J].南陽(yáng)師范學(xué)院學(xué)報(bào),2009,8(12):77-80.
[10] 陳飛飛.基于DOM4J的XML文檔解析技術(shù)研究與應(yīng)用[J].軟件導(dǎo)刊,2016,15(3):36-37.
[11] 陳海燕,劉珍,劉建勛.基于XML的工作流模型表示及映射算法研究[J].計(jì)算機(jī)工作與科學(xué),2010,32(7):147-150.
[12] 鄒冰,張旭,伊?xí)詮?qiáng),等.一種基于XML的工作流過(guò)程模型的設(shè)計(jì)與和實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2002,29(10):101-103.
RESEARCHONINTEGRATIONOFWORKFLOWMODELINGOFPROJECTMANAGEMENTBASEDONXML
Song Xin’ai Qiu Xiaohua Qin Shuanshuan
(SchoolofComputerScience,Xi’anShiyouUniversity,Xi’an710065,Shaanxi,China)
According to the characteristics of a large enterprise business processes constantly change and management problems, a project management workflow model based on XML is proposed. The workflow process definition meta model made by the workflow management coalition was improved and simplified firstly, and the elements and related attributes were given. Then based on the improved workflow process meta model, the workflow process model was defined in XML. Finally, the main design idea of the workflow engine and the DOM4J parse step were introduced. Based on the experimental result of the over station flight operation support process modeling, it is show that the workflow model based on XML can well represent the task nodes and their relationships, and is convenient for data transmission and sharing.
Workflow Meta model Process Activity XML parse
2017-01-16。陜西省工業(yè)科技攻關(guān)計(jì)劃項(xiàng)目(2016GY132,2015GY026)。宋新愛(ài),副教授,主研領(lǐng)域:管理信息系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)。仇小花,碩士生。秦栓栓,碩士生。
TP3
A
10.3969/j.issn.1000-386x.2017.12.054