999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML的項目管理工作流一體化建模研究

2018-01-03 01:55:06宋新愛仇小花秦栓栓
計算機應用與軟件 2017年12期
關鍵詞:定義活動模型

宋新愛 仇小花 秦栓栓

(西安石油大學計算機學院 陜西 西安 710065)

基于XML的項目管理工作流一體化建模研究

宋新愛 仇小花 秦栓栓

(西安石油大學計算機學院 陜西 西安 710065)

針對企業大量業務流程經常變化的特點和管理問題,提出一種基于XML的項目管理工作流模型。對工作流管理聯盟制定的工作流過程定義元模型進行了改進和簡化,并給出了元模型的組成元素與相關屬性;基于改進的工作流元模型,使用XML對工作流過程模型進行了定義;介紹了工作流引擎的主要設計思想和DOM4J解析方法?;谶^站航班運行保障流程建模實驗結果表明,所提出的基于XML的工作流模型能很好地表示任務節點及其關系,并且便于數據的傳輸和共享。

工作流 元模型 過程 活動 XML解析

0 引 言

在傳統的企業項目管理系統中,大多數采用將業務處理和業務流轉規則進行綁定的方式。業務功能部件往往是被固化在系統中的,從而限制了系統的靈活性和擴展性,業務流程的變化需要進行系統修改和升級,由此而帶來很大的系統維護開銷。為適應市場變化的實際需求,在項目管理系統中實現支持企業對業務流程的定制和操作控制則顯得尤為必要。采用工作流技術可以有效地實現企業日常業務操作中的人機交互過程和人與人之間的工作交接過程,提高企業管理的規范化程度。

1 工作流模型概述

根據工作流管理聯盟的定義,工作流是一類能夠完全或者部分自動執行的經營過程,根據一系列過程規則,文檔、信息或任務能夠在不同的執行者之間傳遞、執行[1]。根據對這個定義的理解,工作流是通過計算機軟件進行定義、執行并監控的經營過程,這也是它與一般的工作流程的區別。工作流模型是對工作流的抽象表示,也是對業務過程的抽象描述,它定義了各個業務活動間的控制依賴和數據依賴,是實現業務流程管理的基礎。用戶可以根據實際需要定義企業工作流模型,并提供給工作流管理系統,從而實現業務過程的調整和控制。

近年來在工作流系統研究中,研究者們從不同角度、不同側重點提出的工作流建模方法主要有:基于形式化的Petri網的工作流模型[2]、可控時間約束Petri網模型[3]、鄰接模型矩陣[4],以及基于時間擴展UML活動圖的工作流過程建模方法[5]等。Petri網是一個狀態變遷模型,可描述系統中異步成分之間的關系,并允許同時發生多個狀態變遷。鄰接模型矩陣為流程模型存儲提供了一種新方法?;赬ML的工作流過程定義語言XPDL為基于業務流程建模符號BPMN圖形的企業流程定義提供了一個標準的圖形化方法,文件格式是基于工作流管理聯盟提出的工作流元模型。這些工作流建模方法相對都有一定的優點,但建模的目的主要是為對業務流程進行描述和優化,而對工作流引擎的設計與系統實現缺乏連續支持。本文采用可擴展標記語言XML描述組成工作流的各種數據元素并存儲業務流程,提出項目管理工作流一體化建模,實現模型中的活動、過程與引擎中的活動、過程的映射和交互,將設計完成的業務流程模型直接用于計算機仿真和執行。

2 基于XML的工作流模型

2.1 概 述

XML是一種易于使用和擴展的標記語言,它以結構化的方式描述各種類型的數據。XML文件由標記(元素)和內容組成,并以純文本格式進行存儲,提供了一種獨立于軟件和硬件的數據存儲方法。隨著XML以及其在互聯網定義文檔格式的日益流行,結合Java可以將業務活動的定義和順序關系存儲在XML文件中,從而實現與業務流程功能上的有效分離。XML語法與HTML相似,易于閱讀和理解,并且便于編程開發基于XML工作流模型的過程執行。

2.2 元模型結構定義

任何一項業務流程通??梢苑纸鉃槎鄠€最基本的行為步驟,即“活動”。它是一個可獨立執行的任務,由多個用戶(角色)協作完成。一組具有不同功能的活動按照一定的順序相連便可構成一個業務過程。工作流模型由若干可執行的業務過程、過程之間的全局共享數據,以及執行過程需要的應用和資源組成。工作流元模型是對工作流過程定義中的實體、實體的屬性、實體之間的關系以及過程規則的抽象描述。工作流元模型的重點是過程定義元模型,用于對業務過程的組成元素進行定義,從而指導工作流過程建模。在實際應用中,可以對工作流管理聯盟的過程定義元模型進行改進和簡化,如圖1所示。工作流由活動構成,對活動的執行者或參與者會分配相應角色,活動在執行過程中可以調用相關工作節點?;顒又g可以是順序連接關系,也可以是多分支并行或聚合連接關系。下面給出具體的元模型定義。

圖1 改進的過程定義元模型

(1) 工作流過程(Process)

工作流過程定義構成了工作流模型的主體部分,它包含了工作流過程的自身屬性以及組成工作流過程的所有活動和轉移信息,主要屬性如下:

? 過程標題:Name

? 過程內容:Description

? 活動列表:ActivityList

? 連接:Connectors

? 開始活動:StartActivity

? 終止活動:EndActivity

? 計劃時間:PlanTime

? 實際時間:RealTime

? 制定者:Designer

? 制定時間:CreateDate

(2) 活動(Activity)

每個活動是一個獨立的工作單元,它可能是最小的獨立單元,也可以是由一系列更小獨立單元組成的子過程。通常一個基本活動應該包含以下屬性:

? 活動標識:ActivityID

? 活動內容:Description

? 參與者:Participants

? 參數:Parameter

? 處理節點:HandlerNode

? 計劃時間:PlanTime

? 實際時間:RealTime

(3) 連接(Connector)

活動之間的關聯和執行順序是通過連接實現的。一個活動可以有多個輸入連接,也可以有多個輸出連接。在連接中包含了活動狀態流轉的規則,即與連接相連的前驅活動轉移至后繼活動應該滿足的相關條件。可以將前驅活動狀態和返回結果保存在連接信息中,以便為活動的轉移提供參照信息。當設置轉移條件為“真”時,則前驅活動執行完畢即可執行后繼活動。連接的描述信息包括:

? 連接標識:ConnectorID

? 連接類型:Style

? 前驅活動:PreActivities

? 輸出結果:OutputParam

? 前驅活動狀態:PreStatus

? 后繼活動:NextActivities

? 時間約束:TimeConstraint

? 轉移條件:TransCondition

根據前驅活動與后繼活動之間的執行關系,一個過程中的多個活動之間存在一對一、一對多、多對一和多對多的連接關系。為了便于控制,可以將多對多的連接關系之間增加一個中間狀態,從而轉化為一對多的連接關系。因此連接類型可包括五種:順序、循環、選擇、并發、合并。如果為順序連接類型,則只要滿足轉移條件或者時間約束時即可推進流程轉去執行后繼活動;如果為循環連接類型,則在執行后繼活動后根據轉移條件判斷是否又轉去執行前驅活動;如果前驅活動有兩個或兩個以上的后繼活動時,連接類型通常為選擇或并發;如果后繼活動有兩個或兩個以上的前驅活動時,連接類型通常為合并。

(4) 角色(Role)

角色主要描述企業經營過程中參與某個活動的人或組織單位。主要包括兩個屬性:

? 角色名稱:RoleName

? 角色描述:Description

(5) 參與者(Participant)

參與者指實際完成某個活動的人或設備,參與者要被定義為一個或多個角色。參與者包含以下主要屬性:

? 標識:ParticipantID

? 名稱:Name

? 角色名稱:RoleName

(6) 工作節點(API_Node)

工作節點指與工作流活動處理相關的應用程序接口,主要屬性包括:

? 應用程序名稱:AppName

? 功能描述:Description

? 路徑:AppPath

? 運行參數:Paramters

? 輸出:Output

2.3 基于XML的工作流過程建模

工作流過程定義是業務過程的一種形式化描述,是工作流模型的主體構成部分。可以將組成工作流過程的各個部分作為XML文檔的元素或屬性進行描述。在XML文檔中,XML元素是可擴展的,在XML元素的開始標簽中可以包含屬性,而屬性用來提供不屬于數據組成部分的信息。通常我們將數據本身作為元素來存儲,而將元數據存儲為屬性。依據這個原則,根據改進的工作流元模型,相應的工作流過程的完整定義格式如下:

pid1

……

value1

value2

……

parameters1

ptime1

……

activityId1

outputResult1

status_activityId1

activityId2

……

ptime

在工作流過程模型定義中,活動是核心元素。元素定義活動名稱或標題,元素可以對活動內容進行備注說明。在元素中定義了過程模型中所包含的活動集合。每一個過程都必須定義開始活動和終止活動,每個活動可以有多個連接元素。元素定義了過程模型中的開始活動。開始活動是工作流過程實例的執行入口點,主要任務是完成一些初始化工作,例如初始化過程數據。元素定義了過程模型中的終止活動,可以對當前業務過程數據進行整理和備份。當終止活動執行完畢,則整個業務過程執行結束。工作流的執行通過活動之間的元素進行控制。通過定義若干元素可以表達和構成工作流過程中的活動的連接關系和業務流轉,從而決定工作流過程執行的路徑。在元素中可以定義業務過程的執行時間。在工作流管理系統中,管理人員根據具體業務需求制定業務流程,使用工作流設計器完成工作流的具體定義,生成過程描述XML格式文件。

3 工作流引擎設計思想

工作流引擎是工作流管理系統的核心部分,負責工作流過程實例的創建、解釋和執行。需要接受外部用戶的請求事件并執行相應動作,從而驅動和控制流程在各業務節點的流轉。對于有嚴格時間限制的活動,需要設置活動的啟動時間和結束時間,因此可以采用時間觸發機制和事件觸發機制相結合的方式控制工作流的執行。工作流引擎的核心是過程管理器、活動管理器和連接管理器。當項目管理實例被啟動,也就觸發了工作流引擎開始工作。

基于上述改進的工作流過程模型,工作流引擎的主要設計思想為:

(1) 工作流引擎首先讀取業務過程XML文檔中過程定義實例信息,根據當前用戶角色創建過程實例,其所有活動狀態為未完成態“Undo”。

(2) 根據XML文檔中的連接元素信息生成一張活動連接表,其中包括過程中的所有連接的前驅活動、后繼活動、連接類型和時間約束等,從而根據活動連接表實現過程的監控和運行。

(3) 啟動事件監聽器偵聽用戶操作。

(4) 當活動執行完畢,修改活動狀態為完成態“Done”,并且判斷當前活動是否為終止活動。

(5) 如果不是,則將其作為前驅活動在活動連接表中查找其相應的所有后繼活動,其返回結果傳遞給元素,修改其活動狀態元素為完成態“Done”,然后根據轉移條件決定是否激活后繼活動。

(6) 如果當前活動為終止活動,則意味著整個過程執行結束。

4 過站航班運行保障流程建模

民航業是我國經濟社會發展的重要戰略產業, 機場規模日益擴大,對日常業務工作效率的要求越來越高。A-CDM(機場協同決策系統)模型在我國機場的開發和應用將有助于我國民航業的快速健康發展。航班地面服務是機場高效的重要環節,在航班過站工作過程中,有多個關鍵節點,如開/關艙門、上/下客、裝/卸貨、加油等。如圖2所示是一個過站航班運行保障典型流程,各個航班保障服務節點之間存在一定的時間約束關系,例如只有機艙保潔和加油服務完成后才能開始上客。整個流程的運行需要多個部門參與協調,航班接受各種保障車輛的服務具有嚴格的流程性,任何一方的工作情況變化會影響到其他參與方的工作進展。

圖2 過站航班工作流程

在過站航班管理子系統中,由系統高級管理人員將航班保障進程分解成可跟蹤的若干個任務節點,設置任務節點的屬性(如任務名稱、開始時間、執行人員等),以及任務節點之間的工作關系等,繼而生成工作流程的關鍵事件模型和過程定義。如圖3所示為航班從落地到起飛的部分工作流,流程中的任務節點首先由管理員進行定義,然后依據時間標尺將節點拖放到相應的位置,再添加節點之間的關系。當添加任務節點后,可以在相應的屬性框中編輯節點的屬性(如圖3中的上客節點屬性),節點間的連接關系也可同樣進行定義和修改。制作航班流程時,任務節點的定義以及航班工作流的繪制使用webflow.js框架+HTML5實現[6]。Webflow.js支持在web界面上繪制流程圖,同時可以將繪制的流程圖保存為XML文檔格式。

圖3 過站航班工作流定義

一個完整的過程模型數據按照2.3節中的格式存儲在XML文檔中。以下是ground_passenger.xml文件中對“上客”節點的一次模擬活動定義,在旅客登機過程中需要記錄本次航班號(FFID)、登機口(BGate),開始登機時間(RSBT)和結束登機時間(REBT),并對異常情況進行處理。

G20030708

P20010512

FFID,BGate,RSBT,REBT

20

當該工作流程啟動后,工作流引擎讀取流程數據,應用節點協同調用算法[7],觸發預置的各種處理流程,及時將關鍵事件通知相關環節。各參與方需要及時地維護自己負責的節點的里程碑時間,更新XML文檔數據。

5 XML解析

隨著XML的廣泛應用,解析技術成為XML應用的關鍵。當處理較小的XML數據流時可以解析后直接在內存進行處理。而當處理的XML信息以GB為單位時,可以將解析出來的數據存儲在數據庫中,繼而使用SQL進行后臺的查詢處理。由于關系數據庫中存儲的是結構化的數據,而XML數據是半結構化的,所以要實現存儲需要進行模式映射[8],而各大數據庫廠商都對XML的動態應用提供了技術支持[9]。目前主流的XML解析接口主要有:DOM、SAX、JDOM和DOM4J,它們以不同方式提供了對XML文檔的存取和處理功能。目前許多開源項目中大量采用DOM4J,它采用了Java集合框架并完全支持DOM、SAX和JAXP[10],具有很好的性能。DOM4J解析步驟如下:

(1) 導入解析過程需要使用的DOM4J包中的類;

(2) 使用SAXReadr類創建解析器Reader;

(3) 通過Reader的read方法獲取文檔對象Doc;

(4) 使用Doc的getRootElement方法獲取XML文檔中的根節點Root;

(5) 通過ElementIterator類對XML節點進行遍歷。

讀取ground_passenger.xml文件的實現代碼如下:

public void ReadData() throws Exception {

SAXReader reader = new SAXReader();

Document document = reader.read(new File(″ground_passenger.xml″));

Element root = document.getRootElement();

GetNodes(root);

}

//遍歷當前節點下的所有節點

public void GetNodes(Element node) {

NodeValue[count][0] = node.getName();

List list = node.attributes();

for (Attribute attribute : list) {

NodeValue[count][1] += attribute.getValue() + ″,″;

}

if (!(node.getTextTrim().equals(""))) {

NodeValue[count][1] = node.getText();

}

count++

//使用遞歸迭代當前節點下面的所有子節點

Iterator iterator = node.elementIterator();

while (iterator.hasNext()) {

Element e = iterator.next();

GetNodes(e);

}

}

6 結 語

企業從自身需求和特點出發,建立合理的項目管理工作流系統,一方面可以規范企業的業務流程,另一方面可以通過對項目實施的主要階段進行管理和控制,對整個企業的成本管理和經濟效益起到重要作用。XML能夠描述組成工作流模型中的任意元素、屬性及其關系,文檔具有很好的可讀性和可擴展性。本文運用改進的工作流元模型,對基于XML的工作流過程模型的設計與實現進行了一體化研究,相對文獻[11-12]等已有研究,給出了工作流過程模型的具體描述和定義,說明了工作流引擎主要設計思想和DOM4J解析技術。并以過站航班工作流程為例,說明基于XML的工作流過程模型設計,可以更好地實現企業項目工作流管理系統。

[1] 范玉順,羅海濱,林慧,等.工作流管理技術基礎[M].北京:清華大學出版社,2001.

[2] 肖作斌,孫鵬,張智慧,等.基于Petri網的工作流過程建模和時間性能分析[J].電子科技,2015,28(10):44-48.

[3] 黃冬梅,許瓊瓊,賀琪,等.基于TC-Net的工作流模型研究[J].計算機工程與應用,2016,52(15):260-265.

[4] 余興華,仲梁維.一種改進的流程圖相似度檢索算法及實現[J].計算機應用研究,2015,32(11):3300-3303,3308.

[5] 蔡敏,盧佩.基于時間擴展UML活動圖的工作流過程建模方法[J].計算機集成制造系統,2014,20(7):1758-1767.

[6] 余飛.基于HTML5的圖形圖像協同處理技術研究與實現[D].長江大學,2015.

[7] 馮霞,任子云.基于遺傳算法的加油車和擺渡車協同調度研究[J].交通運輸系統工程與信息,2016,16(2):155-163.

[8] 李占波,李娜.XML數據在關系數據庫中的存儲[J].微計算機信息,2007,23(27):192-194.

[9] 張振蓮,李金萊.XML數據與關系數據庫的轉換及實現[J].南陽師范學院學報,2009,8(12):77-80.

[10] 陳飛飛.基于DOM4J的XML文檔解析技術研究與應用[J].軟件導刊,2016,15(3):36-37.

[11] 陳海燕,劉珍,劉建勛.基于XML的工作流模型表示及映射算法研究[J].計算機工作與科學,2010,32(7):147-150.

[12] 鄒冰,張旭,伊曉強,等.一種基于XML的工作流過程模型的設計與和實現[J].計算機科學,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。陜西省工業科技攻關計劃項目(2016GY132,2015GY026)。宋新愛,副教授,主研領域:管理信息系統與計算機網絡。仇小花,碩士生。秦栓栓,碩士生。

TP3

A

10.3969/j.issn.1000-386x.2017.12.054

猜你喜歡
定義活動模型
一半模型
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
3D打印中的模型分割與打包
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: www.av男人.com| 国产真实乱人视频| 久久 午夜福利 张柏芝| 无码福利日韩神码福利片| 国产福利大秀91| 亚洲一道AV无码午夜福利| 草草影院国产第一页| 毛片网站在线播放| 日韩欧美国产三级| 色婷婷丁香| JIZZ亚洲国产| 亚洲欧美日韩中文字幕在线一区| 超薄丝袜足j国产在线视频| 夜夜爽免费视频| 91午夜福利在线观看| 亚洲欧美激情另类| 国产乱码精品一区二区三区中文 | 四虎永久免费在线| 久久久精品无码一二三区| 国产欧美视频在线| 国产在线观看第二页| 久久一日本道色综合久久| 欧美曰批视频免费播放免费| 九九热这里只有国产精品| 真人高潮娇喘嗯啊在线观看| 国产91蝌蚪窝| 国产香蕉一区二区在线网站| 久久国产精品麻豆系列| 婷婷激情亚洲| 免费大黄网站在线观看| 国产午夜福利亚洲第一| 99热这里只有精品在线播放| 激情无码视频在线看| 亚洲人成日本在线观看| 视频国产精品丝袜第一页| 亚洲成人网在线观看| 国产一线在线| 久久综合亚洲鲁鲁九月天| 日韩成人在线视频| 日本欧美视频在线观看| 亚洲最猛黑人xxxx黑人猛交 | 亚洲一区二区三区国产精华液| 久久精品国产精品国产一区| 美女无遮挡免费视频网站| 国产va在线| 97成人在线观看| 国产成人一区二区| 日本成人一区| 亚洲天堂网在线播放| 亚洲一区网站| 18黑白丝水手服自慰喷水网站| 国产欧美日本在线观看| 国产乱子伦视频在线播放| 毛片在线播放网址| 精品一区二区三区自慰喷水| 久久亚洲美女精品国产精品| 最新亚洲人成无码网站欣赏网| 亚洲无码不卡网| 欧美一区精品| 国产91在线|中文| 亚洲综合婷婷激情| 国产人碰人摸人爱免费视频 | 亚洲永久精品ww47国产| 三级国产在线观看| 亚洲人成网18禁| 98超碰在线观看| 国产精品免费p区| 欧美午夜视频| 日韩在线成年视频人网站观看| 亚洲日韩精品欧美中文字幕| 精品综合久久久久久97超人| 欧美精品亚洲二区| 国产一区免费在线观看| 欧美精品亚洲二区| 亚洲一区色| 国产亚洲现在一区二区中文| 久草中文网| 在线观看91精品国产剧情免费| 久久一本精品久久久ー99| 免费看a毛片| 国产精品污污在线观看网站| 午夜视频www|