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

一種工作流任務回撤機制的動態模型研究

2011-01-01 00:00:00朱行林,席傳裕,胥永康
電腦知識與技術 2011年4期

摘要:工作流管理系統在不同的領域得到了廣泛應用,但仍然未能滿足任務回撤等特殊業務需求。文章首先對任務回撤進行了描述,并簡要介紹目前的幾種解決策略,然后在研究典型工作流過程元模型的基礎上,引入新的模型因子——服務接口(Interface),提出并建立基于服務過程分解(Service Process Division, SPD)的、具有動態特性的工作流過程模型。最后通過改造開放源代碼產品JBPM,在實際中得到應用。

關鍵詞:工作流;任務回撤;服務過程分解;動態模型

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)04-0916-04

Research of an Dynamic Model about Task Rollback in Workflow

ZHU Xing-lin, XI Chuan-yu, XU Yong-kang

(Institute of Computer Application, China Academy of Engineering Physics, Mianyang 621900, China)

Abstract: Although workflow management system has been used in many different fields, it cannot satisfy with some special business needs, as like task rollback. The business scene of task rollback is first described, and then the current solving strategies are overviewed. Afterwards, based on the research of workflow process meta-model which many workflow products reference to, the factor of interface is introduced and is added into the dynamic model which called based on Service Process Division (SPD) model. Finally, programming on JBPM which is an open source project, this model is applied in practice.

Key words: workflow; task rollback; service process division; dynamic model

工作流管理技術是將過程從應用系統中分離出來,達到對業務過程建模、重組和重用的目的,在辦公系統、物流系統及其相應的領域中,得到了廣泛的應用[1]。

但是,隨著技術的進步和應用范圍的擴大,出現一些新的業務背景(比如任務回撤),工作流技術無法滿足這些需求。其原因在于工作流過程模型所定義的元素都非常嚴格,不適應動態的變化。因此,很多研究工作集中在對工作流動態特性的分析上[11],允許工作流中的元素具有一定的獨立性。

本文在研究WFMC工作流過程元模型[5]的基礎上,分析工作流實例的服務過程,引入新的模型因子——服務接口(Interface),從而建立滿足業務需求、具有動態特性的工作流過程模型。

1 研究現狀

在企業級應用中,越來越多的遇到以下有關工作流“任務回撤”的場景,比如在圖1中基于Petri網[6]的工作流流程示例。

在流程的某個環節p2(錄入),員工甲編輯業務數據(錄入檢測結果等),活動完成后把任務提交到下一環節p4(審核),交給領導審核;作為競爭性的活動[1],在環節p4中,參與者包括領導乙、丙、丁,他們均可以審核;員工甲在沒有其他提示和限制條件下,就按照默認的順序提交給乙;但是在提交之后,意識到該任務涉及到的課題應該由領導丙審核,或者任務在提交一天后仍然沒有審批,卻發現領導乙因公出差,目前不能審核;在項目緊急的情況下,該文檔需要馬上報批,員工甲希望能夠把已經發送給領導乙的審核任務回撤到上一環節p2,然后可以重新修改并提交審核任務給領導丙。其任務提交過程和參與者轉移如圖2所描述。

總的來說,業務本身的需求和工作流應用范圍的擴大,對工作流任務回撤機制提出明確的需求:

1) 工作項在沒有被執行的情況下,可以回到上一環節或重新指定執行人;

2) 由上一環節執行人或者流程管理員,決定是否回撤;

3) 任務被回撤的過程必須保留痕跡,以便監控、審計;

針對工作流任務回撤的需求,主要存在任務指派、工作委托、業務過濾三種解決策略。

1.1 任務指派

在工作流管理中,指派可以直接把工作項的實際執行人由一個參與者變更為另外一個參與者。其實現策略可以見圖3。

任務指派讓工作流在運行和管理方面具有高度的靈活性,可以方便、及時地變更任務執行人。但是任務指派沒有完全滿足回撤的業務需求。因為指派是直接修改流程執行者信息,沒有保留痕跡,無法監控;而且指派只解決了該環節執行人變更的問題,沒有解決如何回退到上一環節的問題。

1.2 工作委托

工作委托是指某個用戶C把流程中本該由自己執行的任務,全部或者部分托付給另一個用戶D執行。委托主要發生在職權臨時變更、在職不在崗、或長期出差等情況下。其實現策略可以見圖4。

工作委托也是工作流在靈活性方面的一個重要體現,而且結合角色R、時間T、授權P等因素,可以實現更強大的功能。但工作委托也沒有完全滿足回撤的業務需求,因為它同樣只解決任務執行人的問題,而且還不能由上一環節執行人隨意指定,只能預先設定;也沒有解決如何回退到上一環節的問題。因此工作委托沒有滿足任務回撤需求。

1.3 業務過濾

解決工作流任務回撤的另一種方案就是和業務結合,提前預防和避免出現任務回撤的情況。比如如果領導出差,可以在選擇審核領導時,根據用戶的在線狀態或者出差、會議等情況,給相應的提示;如果課題劃分了分管的部門和領導,則僅顯示有業務權限的用戶列表等。其實現策略可以見圖5。

通過業務過濾的方式,能從根本上解決某些工作流相關問題,比如權限的統一管理、資源規劃等;而且可以根據業務代碼同步變更,做到隨需而變。但是這種預防策略沒有完全杜絕任務回撤的情況發生,沒有從根本上解決問題。

綜合上面的分析,可以看出,基于原始Petri網的工作流模型無法徹底解決任務回撤問題,其根本原因是:Petri網的行為原則具有嚴格的靜態性。主要體現在流程實例只能創建定義好的、含有固定前置的活動節點和變遷;而且遷移事件的條件一旦滿足,一定會由一種狀態到另一種狀態,中間不存在任何分解操作或者分步狀態。而任務回撤恰恰是需要建立沒有定義的變遷,并且到達由流程定義無法到達的狀態。

2 基于SPD的動態模型

針對Petri網這種靜態特性,本文提出了一種基于SPD(Service Process Division,服務過程分解)的動態模型:在不變更工作流模型框架的情況下,引入新的模型元素——服務接口(Interface);在此基礎上,對工作流服務接口的內部過程進行分解,把本來靜態的、原子化的服務過程,看成由多個子步、帶有原子性的、順序執行的服務過程組成;并允許動態創建模型元素,使其具有動態特征。

2.1 WFMC的工作流過程元模型

在對基于SPD的工作流進行動態建模之前,需要了解工作流的元模型,比較著名的有:WFMC[6]、WIDE[7]、WAMO[8]、Active Workflow[9]。由于不是完全從頭開始建模,相對工作流模型,需要關注的重點是工作流過程元模型。本文參考WFMC的工作流過程元模型,參見圖6所示。

這個元模型描述了工作流過程定義的關鍵實體:流程(Workflow)、活動(Activity)、參與者(Participant)、遷移(Transition)、應用程序(Application)、工作流數據(WorkflowData),因此可以給出如下定義:

Workflow = (A, T, P, APP, D, Rap, Ratd, Tc)

其中A表示活動集合,T表示遷移集合,P表示參與者集合,APP表示應用程序集合,D表示工作流數據集合,Rap表示活動和參與者之間的關系,Ratd是A×T×D的一個子集,表示活動之間的控制和數據流向關系,Tc表示對工作流時間約束信息集合。

2.2 引入模型元素——服務接口

盡管WFMC給出了工作流的參考模型和過程元模型,并把工作流提供的接口分為五大類,但沒有針對這些接口給出具體的功能描述,及其詳細的服務過程。這樣導致的直接后果就是,一方面各個工作流產品提供的功能各不相同,各有特色,而且極其有限,比如對是否提供嵌入式腳本執行功能,就存在嚴重分歧;另一方面它們的接口函數雖然都可以按照劃分為五類,但也相差很大,沒有統一的描述,比如同樣是“修改流程相關數據”這個功能,有的工作流模型接口只需要提供當前任務信息,有的卻還需要提供流程實例信息,甚至用戶信息。

導致這種情況的原因是,WFMC的過程元模型沒有包含服務接口,即認為工作流功能固定,接口也應該單一。而流程發起、活動提交、修改相關數據,這三個功能構成流程引擎三要素,大部分工作流模型實例只有這三個核心接口。并且把流程(Workflow)看成是一個整體,沒有對其他實體的服務細節進行分析,流程的服務被看成是一個固化的、不變的、簡單的過程,因此不具備動態特征。

本文在WFMC工作流參考模型的框架范圍內,對服務接口(Interface)進行細化,把它看成是一個可分解的、可以變化的因子,并引入到工作流過程元模型中去,成為工作流過程元模型的一個元素。因此,完善后的模型Workflow'定義如下:

Workflow' = (A, T, P, APP, D, I, Rap, Ratd, Tc)

其中I表示工作流模型實例提供的服務接口,并用形式化的表示方法進行說明。根據工作流實體的不同,可以對I進行分類:

WI:流程接口,包括start、commit、susponse、teminate、rollback、end等;

AI:活動接口,包括create、init、wait、susponse、teminate、commit、uploadData、rollback、finish等;

TI:遷移接口,包括create、source、goal、reverse等;

不難看出,工作流應用程序接口(Workflow Application Programming Interface, WAPI)是工作流模型實例的服務接口I的一個子集,而且I本身的元素具有以下特性:

元素的包含性:對于?坌Ij∈I,?堝Ik∈I并且Ik∈Ij(k≠j);即I中的元素可能是由一系列元素組成的集合。

元素的開放性:對于?坌Ij∈I,則對Ij的子元素平面化后,Ij∈Ij始終為假;即I中的元素不能再執行自身,不能遞歸。

執行的原子性:對于?坌Ij∈I,?坌Im,In∈Ij。如果invoke(Ij)為真,則invoke(Im)、invoke(In)必定為真;如果invoke(Ij)為假,則invoke(Im)、invoke(In)必定為假。

執行的確定性:對于?坌Ij∈I,?坌Im,In∈Ij。如果invoke(Ij)時,invoke(Im)>invoke(In)成立,則下次執行時同樣成立;反之亦然。即I中元素的執行過程是按照固定順序的,是確定的。

2.3 基于SPD模型的動態特性

完善后的模型Workflow'具有動態特性,主要體現在以下幾個方面:

1) I中不僅包含WI,還包含AI、TI,W不再是唯一的對外服務實體;

2) 實體W的服務過程不再是一個整體,而是由多個服務過程組成,并且都能獨立對外服務;

3) 實體A作為獨立的服務元素開始存在,通過組織、調整服務過程,能夠得到新的服務;

4) 實體T也作為獨立的服務元素,可以單獨創建,并且可以產生其反遷移。

2.4 活動實體的狀態分析

從Petri網的組成部分和上面的建模過程可以看出:遷移T的接口TI比較單一;流程W的接口WI大多數依賴于AI的實現;活動A的接口AI是最豐富的,也是服務接口過程模型中最重要的因素。因此,對服務實體A的狀態進行分析,如圖7所示。

從上不難看出,A的每一次狀態變化,都可以看成是服務接口AI中的一個元素,這個元素具有原子不變性,即不可再分解。

2.5 提交服務的過程分析

使用上面的建模元素,對工作流“任務提交”接口進行建模分析:

1) 執行流程提交I1:WI.commit;

2) 獲知當前工作任務I2:WI.currentActi;

3) 保存當前活動A的信息I3:AI(A).save;

4) 上傳活動數據到流程I4:AI(A).uploadData;

5) 執行活動的后續操作I5:AI(A).after;

6) 獲取正確遷移I6:WI.getTran;

7) 創建遷移I7:TI.create;

8) 獲知下一環節I8:TI.goal;

9) 執行下一環節B的前置操作I9:AI(B).before;

10) 創建活動B的實例I10:AI(B).create;

11) 初始化活動數據I11:AI(B).init:包括從流程中繼承數據,初始化狀態;

12) 修改流程狀態信息I12:PI.actiOK:標識流程正式進入下一環節。

其中Ij∈I(j=1,…,12),并且Ik∈I1(k=2,…,12)。而如果提供的WAPI是“執行活動提交I1*”,則元素執行順序為I3-I12,不包含元素I1和I2,即Ik∈I1*(k=2,…,12)。

2.6 回撤服務的過程分析

同樣的,使用服務接口建模元素,對工作流“任務回撤”進行建模分析:

1) 執行流程回撤I'1:PI.rollback;

2) 獲知當前工作任務I'2:PI.currentAccti;

3) 保存當前活動B的信息I'3:AI(B).save;

4) 獲取指向活動的正確遷移I'4:AI(B).fromTran;

5) 獲取反向遷移I'5:TI.reverse;

6) 創建遷移I'6:TI.create;

7) 由遷移獲知上一環節I'7:TI.goal:;

8) 創建活動A的實例I'8:AI.create:;

9) 繼承活動A的舊實例數據I'9:AI(A).cloneData:;

10) 上傳活動數據到流程I'10:AI(A).uploadData;

11) 修改流程狀態信息I'11:PI.actiOK:標識流程正式進入下一環節。

其中I'j∈I(j=1,…,10),并且I'k∈I'1(k=2,…,10)。而如果提供的WAPI是“執行活動提交I'1*”,則元素執行順序為I'3-I'10,不包含元素I'1和I'2,即I'k∈I'1*(k=2,…,10)。

通過上面的服務接口元素建模和執行過程分析,可以非常清晰地勾勒出在“任務回撤”業務中,工作流模型實例的服務過程和執行順序,為工作流的實現提供了理論基礎。

3 下一步工作

創建基于SPD的工作流動態過程模型,能夠大大增強工作流模型實例的功能,使其具有良好的適應性,并且滿足任務回撤的業務需求。

但仍然有許多工作要做,一部分工作是因為對服務過程進行分解、建模,需要詳細了解并分析工作流服務接口的結構和過程,而這對于一些封閉的工作流產品來說幾乎是無法完成的。同時,增加模型元素也意味著實現的復雜度隨之增加,帶來一定的工作量,會受到時間成本的制約。

另外一個部分工作是評估該方法對其他模型因子的影響。在模型的實現細節上,本文沒有過多地提到訪問權限、安全管理,以及同應用系統進行交互等方面的內容。而這恰恰是每個產品必須考慮的部分,這也將是下一步研究的重點。

4 結論

采用文中所述的基于SPD的動態建模方法,在引入服務接口模型元素的情況下,能夠解決類似“任務回撤”等企業級業務需求,為工作流模型的進一步完善提供了理論依據。而筆者基于該建模方法,通過改造開放源代碼的JBPM產品,在某院質量數據采集和信息管理系統中得到應用,能夠很好地滿足功能要求,表明模型是正確并且可實踐的。

參考文獻:

[1] 史美林,楊光信,向勇,等.WfMS:工作流管理系統[J].計算機學報,1999,22(3):325-334.

[2] 范玉順.工作流管理技術基礎[M].北京:清華大學出版社,2001.

[3] 趙衛東,黃麗華,蔡斌.工作流過程模型研究[J].系統工程理論方法應用,2002,11(3):212-217.

[4] 徐亮,張莉,樊志強.一種基于UML的實時工作流建模方法研究[J].計算機研究與發展,2010,47(7):1184-1191.

[5] Wokflow Management Coalition.The workflow reference mode[R/OL].http://www.wfmc.org.

[6] MURATA T.Petri nets: Properties,analysis and applications[J].Proc IEEE,1989,77(4):541-580.

[7] Cassti F.WIDE: Workflow model and architecture.CTIT Technical Report 96-16[R].Enschede,Holand: University of Twente,1996.

[8] Eder J,Liebhart W.The workflow activity model WAMO[C]//Proc of the 3rd Int Conf on Cooperative Information Systems,1995:87-98.

[9] Carlsen S,Krogstie J,Solvber A,et al.Evaluating flexible workflow system[C]//Hawaii Int Conf on System Sciences.Washington,DC: IEE Computer Society,1997.

[10] Ellis C,Keddara K,Rozenberg G.Dynamic Change within workflow system[C]//Proceedings of Conference on Organizational Computing Systems.New York: ACM Press,1995:10-21.

[11] Medina-Moura R,Winograd T,Flores R,et al.The Action Workflow Approach to Wokflow Management Technology[C]//CSCW'92,Proceedings of the Conference on Computer Supported Cooperative Work.New York:ACM Publishers,1992:281-288.

[12] van der Aalst W M P.The application of Petri nets to workflow managment[J].Journal of Circuits,Systems,and Computer,1998,8(1):21-66.

主站蜘蛛池模板: 九色综合视频网| 国产成人精品一区二区三在线观看| 国产欧美网站| 国产H片无码不卡在线视频| 91亚洲免费视频| 国产第一页第二页| 99视频精品在线观看| 国产在线一区视频| 亚洲中文字幕在线观看| 天天摸天天操免费播放小视频| 一个色综合久久| 久久99久久无码毛片一区二区 | 国产亚卅精品无码| 久久国产精品波多野结衣| 亚洲欧美在线看片AI| 伊人欧美在线| 久久综合伊人 六十路| 日韩一区精品视频一区二区| 国产又色又刺激高潮免费看| 国产性精品| 毛片基地视频| 国产精品福利尤物youwu| 四虎免费视频网站| 日韩第八页| 欧美在线观看不卡| 国产精品自拍露脸视频| 丁香综合在线| 一区二区日韩国产精久久| 欧美一区日韩一区中文字幕页| 国产在线精品99一区不卡| 全部免费毛片免费播放| 久久青草视频| 亚洲天堂成人在线观看| 久青草免费视频| 国产精品精品视频| 国产在线精彩视频论坛| 国产黄色免费看| 婷婷色一区二区三区| 久久毛片基地| 精品自窥自偷在线看| 亚洲香蕉久久| 日韩福利在线观看| 国模沟沟一区二区三区| 国产女人18毛片水真多1| 思思热在线视频精品| 99久久精品国产综合婷婷| 亚洲综合经典在线一区二区| 人人91人人澡人人妻人人爽| 久久国产精品77777| 亚洲欧美一级一级a| 亚洲第一视频网站| 欧美高清日韩| 国产乱子伦视频在线播放| 免费国产无遮挡又黄又爽| 欧美精品不卡| 日韩成人免费网站| 福利在线免费视频| 18禁色诱爆乳网站| 最新日本中文字幕| 欧美国产日韩在线播放| 国产免费福利网站| 亚洲综合久久一本伊一区| 久久国产精品无码hdav| 特级aaaaaaaaa毛片免费视频| 亚洲天堂在线免费| 98精品全国免费观看视频| 超碰aⅴ人人做人人爽欧美| 亚洲中文字幕无码爆乳| 无码一区中文字幕| 国产成人精品一区二区三在线观看| 在线国产91| 亚洲水蜜桃久久综合网站| 亚洲不卡影院| 国产欧美另类| 精品久久香蕉国产线看观看gif| 麻豆国产精品一二三在线观看| 国产特一级毛片| 国产白浆一区二区三区视频在线| 亚洲免费三区| 91久久偷偷做嫩草影院| 成人免费午夜视频| 国产精品免费露脸视频|