第一篇:面向鋼鐵集團測量過程的工作流管理系統設計
面向鋼鐵集團測量過程的工作流管理系統設計
趙曉東陶曉磊,張凱,(1.中國計量學院 計測學院,浙江 杭州 310018;2.浙江大學 信息學院,浙江 杭州 310058)摘要:為實現測量過程在鋼鐵集團計量管理工作中的流程化管理,采用了工作流技術,提出了一種基于擴展有限狀態機理論的工作流設計原理,并給出了工作流元模型的定義和工作流遷移原理。根據設計原理對測量過程進行了工作流設計和角色權限設計,給出了瀏覽器/服務器的三層工作流體系結構,并采用面向對象的JAVA語言設計了基本接口及擴展類框架。通過分析表明該方案能夠滿足測量管理體系對測量過程的控制要求。關鍵詞:測量過程;鋼鐵集團;有限狀態機;工作流;測量管理體系 中圖分類號:TP391
文獻標識碼:A Workflow Management System for Measurement Process
in Steel Enterprise ZHAO Xiao-dong1,2,TAO Xiao-lei1,ZHANG Kai1
(College of Metrological and Measurement Engineering, China Jiliang University , Hangzhou
310018 , China)Abstract: In order to realize process centering during the metrological management work in steel enterprise, by adopting the workflow technology, a kind of workflow model base on extend Finite State Machine(FSM)theory was proposed.it also defined workflow metamodel ,and introduced the transition principle.an instance of workflow and role right for measurement process were constructed.Browser/Server(B/S)three-tier workflow architecture were developed, also the framework of interface and extend class was projected using language of java based on Orient-Object technology.The workflow systems were proved to satisfy the control requirement of measurement process for measurement management system by analysis.key words: measurement process;steel enterprise;finite state machine;workflow;measurement management system
基金項目:浙江省科技計劃項目(2009C31164)
作者簡介:趙曉東(1975-),男,遼寧丹東人,講師,博士研究生,主研方向:工作流技術;Email:zhaoxd@cjlu.edu.cn 陶小磊,碩士研究生;張凱,博士 1 引言
近些年來,大多鋼鐵企業的計量管理工作都是在圍繞ISO10012的測量管理體系[1]展開,測量管理體系要求對測量過程進行策劃、確認、實施、形成文件和加以控制。每一個測量過程的完整規范應包括所有有關設備的標識、測量程序、測量軟件、使用條件、操作者能力和影響測量結果可靠性的其他因素。測量過程的控制應根據形成文件的程序進行,但目前企業對測量過程的控制只停留在程序文件的建立和完善上,過程監控可操作性差,執行效率低。管理人員無法對測量過程的各個工序進行有效評估,難以實現細粒度的過程控制。這些都與測量管理體系的要求相背離,因此對測量過程重新進行流程化設計將成為把計量管理工作融入企業信息化進程的關鍵。流程化設計多以工作流技術實現,工作流的實現技術也形式多樣,如基于Agent[2]、Web Service[3]和Petrl網[4]等的工作流設計,但目前針對測量過程的工作流元模型設計模式、角色權限分配以及數據操作層的訪問控制等關鍵問題并未有文獻提出完整有效的工作流解決方案。本文針對上述等問題,提出了一種適用于測量過程的工作流管理系統設計模式。即根據有限狀態機(Finite State Machine,簡稱FSM)理論設計出一種基于XML語言描述的輕量級工作流元模型,在元模型設計的基礎上通過自定義多條件組合的權限訪問控制方式,有效解決了測量過程中角色權限分配和檢校項目的復雜多樣化問題。文中最后給出了工作流系統體系結構和類設計框架。基于FSM的工作流元模型設計
2.1 FSM理論 FSM 是一種概念性機器,由一定數目的狀態和相互之間的轉移構成,在采用FSM理論對進行工作流元模型定義過程中可對FSM定義進行擴展[5, 6],以滿足實際工作流設計的需要。作者根據測量過程中測量環節的權限控制及測量項目的復雜多變的特點,設計了一種七元組的FSM,表示為M={S,A,C,F,R,Si,Sf}。其中S表示有窮狀態集合;A表示引起狀態改變的有窮動作集合;C表示判斷條件的有窮集合;F表示外部功能函數的集合,R為結果輸出的集合,可表示為S×A→S,Si表示唯一的初始狀態,Si∈S,Sf表示唯一的終止狀態,Sf∈S;對于S,它的元素可表示為s=(a,c),a∈A,c∈C;對于A,其元素可表示為a=(c,f,r),c∈C,f∈F,r∈R; 2.2 元模型設計原理 在FSM理論的基礎上采用XML語言對元模型進行描述,元模型各元素關系框架如圖1所示,具體主要元素定義說明如下:
圖1工作流元模型中各元素的層次關系圖
定義1 root={workflow},workflow作為xml文檔的根元素位于文檔開始部分,只能唯一存在。
定義2 step={ID,NAME,action,conditions},ID表示step的唯一數值標識屬性;NAME表示工序步驟名稱,如“設備收發”;action和condition為step的子元素。
定義3 action={ID,NAME,conditions,function,result},ID表示action的唯一數值標識屬性,NAME表示執行動作的名稱,如“確定”;conditon、funciton和result為action的子元素。定義4 condtions={TYPE,sub-conditon},TYPE表示條件的邏輯關系,定義為TYPE∈(AND,OR,NOT)。sub-condition={TYPE,item}表示的condtions的子元素,可用于表示單一條件。其中TYPE∈(bean,class,scrpit)。item表示具體的子項。
定義5 results={conditions,unconditional-result,conditional-result,function},其子元素包括unconditional-result、conditional-result、condition和function。其中unconditional-result和conditional-result屬性相同,unconditional-result={PRE_STATUS,STATUS,OPER,STEP,SPLIT,JOIN},PRE_STATUS表示前一流程狀態屬性,STATUS表示當前狀態屬性,兩者具有同樣的屬性定義值,即STATUS∈(queued,underway,finished),OPER為流程操作人,STEP,SPLIT和JOIN為遷移目標值。
定義6 funciton={TYPE,pre_function,post_function},TYPE表示調用外部函數的方式,其TYPE∈(bean,class,scrpit,ejb),pre_function和post_function為子元素。
定義7 split={ID,conditions,conditional-result,unconditional-result},ID表示split的唯一數值標識屬性。conditions,conditional-result和unconditional-result為子元素。
定義8 join={ID,conditions,conditional-result,unconditional-result},同split定義說明 2.3 工作流遷移原理 工作流遷移是指工作流實例從一種狀態遷移到另一種狀態,每一次遷移過程以新狀態流程的創建開始,以生成舊狀態歷史記錄結束。每一個工作流實例的狀態可描述為:state∈{CREATED,ACTIVATED,SUSPENDED,KILLED,COMPLETED},工作流實由初始化動作(initial-action)引發創建(CREATED)狀態。對于任何動作(action)的執行都會使這個工作流實例轉換到激活(ACTIVATED)狀態。另外,激活狀態通常是整個工作流實例生命周期內停留時間最長的狀態。掛起(SUSPENDED)和終止(KILLED)這兩個狀態都是由外部系統通過工作流所提供的接口達到的。由于業務的需要,某些工作流實例有掛起甚至中途終止的要求,掛起和終止就是對應的兩個狀態。完成(COMPLETED)狀態是工作流實例正常結束后的狀態。工作流實例流轉原理如圖2所示:
圖2工作流遷移原理圖 測量過程工作流設計與實現
測量過程應對過程要素進行識別和控制,包括操作者、設備、環境條件、影響量和應用方法,測量過程要根據經計量確定的測量方法,使用規定的測量所需的設備,測量人員應具備測量過程所要求的技能和資格。這些要求構成了測量過程的受控條件,工作流設計應能滿足這些受控要求,這些條件包括[1]:
條件1:使用經確認的設備,測量過程中的測量設備需要經過計量確認才能使用。條件2:應用經確認有效的測量程序,每一種測量過程必須按照確認過的測量程序執行。條件3:可獲得所要求的信息資源,除了測量過程中的檢測和處理數據外,測量設備和被檢設備的基本信息等其他資源也可以獲得。
條件4:保持所要求的環境條件,環境條件包括檢測的環境溫度、壓力以及濕度等實驗室條件。
條件5:使用具備能力的人員,要求測量人員具有相應的資質。
條件6:合適的結果報告形式,根據測量程序和用戶形成文件形式的測量過程記錄。條件7:按規定實施監視,對測量過程實行監控。3.1 工作流程設計 根據測量過程的受控條件,其工作流程設計如圖3所示。
圖3測量過程工作流設計流程圖
測量過程的主要進程與工作流模型的關聯說明如下:(1)initional-action initional-action是僅作為工作流模型的必要元素存在的,它的功能是啟動代表某個實際測量過程工作流實例的有限狀態機,在鋼鐵集團的實際測量過程中將不能夠找到與其對應的的客觀存在。(2)Step1:收件
收件步驟通過initional-action的動作(action)創建,該步驟記錄顧客的要求,并可整合針對設備的相關規程和基本信息,為下一步的檢校步驟提供參考。檢校人員可方便地獲得與所要檢校的設備相關的諸多信息,這一點相對于傳統的紙質的業務流轉是計算機集成制造方式的一大突出優勢。(3)Step:檢校
檢校步驟由記錄采集、不確定度采集、證書采集等多部分組成,由于其在鋼鐵集團測量過程中的特點——各部分采集的數據有直接關聯,所以將各部分檢校采集工作交予同一人員處理。檢校步驟的這個要求完全可以通過我們定義的工作流模型中的多動作(action)的單一步驟來實現。我們將人員綁定到步驟,將各項檢校采集工作綁定到多個動作(action)即可。另外,檢校步驟的動作(action)執行權限可以根據條件(condition)來判斷,這里就可以結合鋼鐵集團測量過程中的人員資質的判斷,防止無對應資格的人員檢校此設備。最后,每個動作的執行結果生成相應的核驗步驟。(4)Step4x:XX核驗和Step5x:XX審核
核驗環節原則上不要求同一人完成,因此將這個環節設計成多步驟,多個步驟可以有多個核驗人員來完成。每個步驟都有條件(condition)可以判斷是否所有必要條件已達到,比如將欲執行此步驟的人員是否與上一步的檢校人員重復。核驗環節的多個步驟合并(join)后,通過條件(condition)判斷其結果的指向。條件驗證通過后(多個核驗步驟都已通過且沒有任何不滿足規程的條件存在),指向分離(split)環節,同時創建相應的審核步驟;否則(一個或多個核驗步驟不合格,或者尚存在任何不滿足規程的條件),指向重檢步驟。審核環節與核驗環節類似,審核條件滿足后,流向發件步驟,發件完畢,流程結束。該工作流通過核驗,審核,檢修環節的設計能防止出現錯誤的測量結果,并確保能迅速檢測出存在的問題和及時采取糾正措施。而且能夠隨時掌握設備所處的流程狀態(條件7)。(5)Step6:發件 發件步驟處理所有審核通過的測量過程工作流實例。在這里系統可以自動通知收件人領件,并可將整個測量過程的記錄存入數據庫供以后統計時使用。發件步驟還可以通過系統自動生成最終的不確定度報告、證書報告和各種復雜的報表,通過系統暴露的接口供鋼鐵集團內的其它系統調用。可見,“發件步驟”遠遠不只有“發件”的功能,通過步驟中的功能函數(function)可以實現很多外圍的功能,本文定義的工作流模型有很強的擴展性。(6)Step0:重檢 重檢步驟是是對檢校步驟的補充,它的本質與檢校步驟相似。其不同于檢校步驟的是重檢步驟里條件(condition)需要判斷執行重檢的人員是否與檢校步驟的人員是相同的。另外,檢校步驟的來向為收件步驟,而重檢步驟的來向為核驗步驟或者審核步驟;去向相同,都是核驗步驟。3.2 權限設計 工作流權限模型根據角色的訪問控制(Role-Based Access Control,RBAC)模型[7, 8]擴展,如圖4所示。用戶、角色、許可條件集、對象集、流程組、動作組、功能組、設備組分別表示為User(U)、Role(R)、Condition(C)、Object(O)、Step(S)、Action(A)、Function(F)、Device(D)。角色層次表示了角色之間的繼承關系,如本工作流中的角色審核員(r1)、核驗員(r2)、檢校員(r3)之間的關系r1?r2?r3。用戶和角色的關系表示為UR?U×R,即用戶和角色之間可以為一對多或多對多關系。許可條件集C?R×O,表示許可條件由角色與對象之間的授權關系組成,即只有授權之人才能進行相應的操作(條件5)。對象集包括四部分,即O∈{S,A,F,D},其中S?{step},A?{action},F∈{function}設備組(D)中包括測量設備和被測設備。功能組(F)中包含針對各測量項目的數據采集模塊,其中包括設備檢校記錄、證書和不確定度采集模塊。功能組和設備組之間建立了對應關系,即FD?F×D,這種對應關系指定某項數據采集模塊對應某種滿足計量確認要求的測量設備(條件1),并可對應于多個被測設備。功能組中的數據采集模塊是按檢校規程設計測量流程(條件2);模塊中可以調用測量設備和被檢設備等相關數據信息(條件3);數據采集模塊可以進行根據用戶需要進行自定義添加(條件6)。
圖4角色權限授權模型
文中針對測量過程中的某些特殊要求通過約束條件來定義,并將約束條件可與許可條件形成組合條件應用于角色授權,約束條件規則如下:
(1)檢校人員u1、核驗人員u2、審核人員u3依次進行操作過程中,對于每一次測量過程,要求u1?u2=?,u2?u3=?;
(2)對于需要重檢的操作,要求檢校人員只能重檢本人檢校過的項目。即重檢操作人員u4=u1;
測量過程的權限設計中包含了設備對象,滿足測量過程要求的同時,也與鋼鐵集團其他管理系統如ERP實現了很好的信息交換。設備信息可以從ERP系統中得到共享,而由測量過程獲得檢校信息也可以反饋回ERP系統。由此可見,該權限設計即可滿足測量管理體系對測量過程的控制要求,也可實現鋼鐵集團內部的系統互聯互通。3.3 工作流系統實現 系統采用基于B/S(browser/server)三層結構模式設計,如圖5所示。(1)客戶層:由瀏覽器或其他網絡系統組成。用戶通過瀏覽器與web層的工作流引擎實現人機交互。(2)Web層:由工作流引擎組成。實現工作流管理系統的功能,負責處理客戶層的請求,實現與系統層的交互。(3)系統層:由應用系統和數據庫系統組成。應用系統為工作流系統提供了用戶所需要調用的功能函數,并實現與數據庫的信息交互。
圖5工作流體系結構圖
系統采用面向對象的java語言對工作流引擎進行了類設計,其主要類結構設計如圖6所示。其核心類包括四部分:
(1)XmlWorkflow接口及其擴展類:定義了各種元素的描述類,主要用于解析工作流xml設計文檔。
(2)Condition條件接口及擴展類:定義和實現各種條件,可通過元素condition調用這些類,實現多條件組合。
(3)FunctionProvider函數接口及擴展類:定義各種應用接口,滿足測量過程中對各種應用的調用。
(4)WorkflowDatabase數據庫接口及擴展類:通過jdbc實現與oracle或mysql等數據庫系統的交互。
圖6接口與擴展類框架圖 總結
本文針對鋼鐵集團計量管理工作中的測量過程提出了基于有限狀態機的輕量級工作流管理系統模型,并給出了設計原理和實現方法。該模型能夠滿足測量過程的受控條件,符合ISO10012測量管理體系[1]的要求。該模型的成功應用能為計量管理工作的規范化和流程化起到重要的支撐作用。
參考文獻:
[1] International Organization for Standardization.ISO 10012:2003 Measurement mangement systems-Requirements for measurement processes and measuring equipment [S].New York:American National Standards Institute,2003.[2] HU Jingjing, Cao Yuanda, Xu li.Research on distributed workflow control model based on
Agent[J].Computer Integrated Manufacturing Systems, 2006, 2006, 12(4): 481-486(in Chinese).[胡晶晶, 曹元大, 徐麗.基于Agent的分布式工作流控制模型研究[J].計算機集成制造系統.2006, 2006, 12(4): 481-486.] [3] MU Zhansheng, Zhou yun.Design and realization of distributed workflow based on web service[J].Computer Applications and Software, 2008, 25(12): 99-102(in Chinese).[牟占生, 周 運.基于Web Service的分布式工作流系統的設計與實現[J].計算機應用與軟件, 2008, 25(12): 99-102.] [4] CHEN Huiling, Wang xianzeng., Zhou kuancheng.Workflow Process Modeling Based on Petri Net s[J].Computer Engineering & Science, 2008, 30(5): 92-94,105(in Chinese).[陳慧靈, 王憲增, 鄒寬城.基于Petri網的工作流過程建模[J].計算機工程與科學, 2008, 30(5): 92-94,105.] [5] LIU Yang, Cao Baoxiang,.Design and Implementation of Workflow Engine Based on Extensible-FSM[J].Computer Engineering and Application, 2006,(32): 93-96(in Chinese).[劉陽, 曹寶香.基于擴展有限狀態機的工作流引擎設計與實現[J].計算機工程與應用, 2006,(32): 93-96.] [6] XU Xiuhua, Wang Yajie, Qiao Mindong.Description and design of interface flow based on
FSM[J].Computer Engineering and Design, 2007,(6): 1255-1256,1357(in Chinese).[徐秀華, 王亞杰, 喬敏東.基于有限狀態機的界面流描述與設計[J].計算機工程與設計, 2007,(6): 1255-1256,1357.] [7] YANG Shuxin ,WANG Jian.Monitor permission control for process in workflow system[J].Computer Integrated Manufacturing Systems, 2007, 13(11): 2224-2228(in Chinese).[楊書新, 王堅.工作流系統流程監控權限控制研究[J].計算機集成制造系統, 2007, 13(11): 2224-2228.] [8] FERRAIOLO D, CUGINI J, KUHN D.Role-Based Access Control(RBAC): Features and
Motivations[C] //Proceedings of the 11th Annual Computer Security Application Conference.Los Alamitos, Cal., USA: 1995.241-248.
第二篇:工作流管理系統體系結構設計
工作流管理系統體系結構設計
2010-04-30
清華領導力培訓
機電之家
本文主要從三個層次深入介紹了工作流管理系統結構,工作流管理系統將最終成為覆蓋于各類臺式機與網絡操作系統之上的業務操作系統,但工作流技術目前還不夠完善。深入研究工作流管理系統模型和各大主流工作流管理系統基礎上設計一套全面系統結構。
工作流管理系統是一個軟件系統,它完成工作量的定義和管理,并按照在系統中預先定義好的工作流邏輯進行工作流實例的執行。工作流管理系統不是企業的業務系統,而是為企業的業務系統的運行提供了一個軟件的支撐環境。
目前已有上百種聲稱具有工作流管理功能的商品化軟件或原型系統。為了對這些系統的功能、特點等有一具清晰的認識,可以根據工作流過程本身的特點、系統建模的方式、所使用的底層支撐技術、以及工作流過程的執行方式等的不同而對它們進行相應的分類如下:
1、結構化的與即席的
結構化工作流指的是在實際工作過程中會反復重復、嚴格按照某個固定的步驟進行的業務過程。定義此種工作流所需要的各種類型的信息可以通過對業務過程進行詳細的分析而得到,從而得到完整的過程定義并在以后的應用過程中反復使用。大量的辦公程序,如公文處理、審批等都屬此類。即席工作流則是針對那些重復性不是很強或沒有重復性的工作流程的,關于這類流程執行所需的有關參數(如參加者等)事先無法確定,而必須推遲到過程實例運行時才能確定,同時在執行過程中間還可能會發生一些意外的情況。這種動態多變的特點在提供更高靈活性的同時,也為過程的建模與執行帶來更多的復雜性。
2、面向文檔的與面向過程的
前者的側著點在于將電子形式的文檔、圖像等在有關的人員之間進行分發,以便能夠得到不同人的處理與審閱?,F有的文檔管理與映像管理系統均屬此類。在面向過程的WfMS中,工作流被描述成一序列執行環節。與各環節相應都有待處理的數據對象。各環節的數據對象可以按不同的方式分發到其他環節中去,如可以將數據對象的值作為控制條件、或者依此數據對象組裝成其他的數據對象等。高端的WfMS一般都屬此類系統。
3、基于郵件和基于數據庫
前者使用電子郵件來完成過程實例執行過程中消息的傳遞、數據的分發與事件的通知。低端的系統所使用的經常就是此種方法,它可以充分發揮電子郵件系統在廣域環境下的數據分發功能,但整個系統將運行于一種松散耦合的模式下。在基于數據庫的WfMS中,所有的數據都保存在某種類型的DBMS中,過程的執行實際上就是對這些數據的查詢與處理。高端的大規模系統所使用的一般都是此種方法。
4、任務推動的與目標拉動的
前者指的是從過程的開始逐步地一個環節一個環節的執行,當某個活動實例被處理完之后,后續的有關活動將被創建并被激活,由此直至整個工作流程的完成。這是目前大多數面向過程的WfMS所使用的執行方式。而在目標拉動的WfMS中,一個業務流程被看成是一個目標。過程實例執行時,該目標將被分解得到多個相互之間按一定約束條件的關聯起來的可執行的多個環節,其中各環節還可以當成是子目標而進一步進行分解。在各環節均執行完畢之后,整個過程也就完成了。目標拉動是一種全新的執行方式,下一代的WfMS將具有此種特征。應該說明的是:上述分類只是從不同的角度入手的。一般來說,后面那些特點將給WfMS帶來更好的靈活性,同時也將成為那些能夠支持跨機構的大規模復雜工作流管理、面向關鍵任務的WfMS不可缺少的特征。
工作流管理系統將最終成為覆蓋于各類臺式機與網絡操作系統之上的業務操作系統,但工作流技術目前還不夠完善。本文深入研究工作流管理系統模型和各大主流工作流管理系統的基礎上設計了一套功能全面的工作流管理系統體系結構。本文主要從該體系結構的三個層次深入介紹了該系統結構。
1、引言
在一個組織內部存在著兩種信息:一種是數據信息,另一種是業務信息。在組織之間也同樣存在著兩種信息:一種是數據信息,另一種是業務往來信息。如果這兩種信息用計算機系統來管理,前一種屬于組織內部的信息系統,后一種屬于B2B電子商務系統。目前對數據信息的計算機管理系統(即:數據庫管理系統)經過多年的發展已經成熟。對業務過程的計算機管理系統由于比較復雜,可變因素較多,難度大,因此發展還不成熟。工作流技術作為現代組織實現過程管理與過程控制的一項關鍵技術,為組織的業務處理過程提供了一個從模型建立、管理到運行、分析的完整框架。同時,工作流管理系統(Workflow Management System,WFMS)通過一套集成化、可互操作的軟件工具為這個框架提供了全過程的支持。Thomas Koulopoulos曾預言:工作流管理系統將最終成為覆蓋于各類臺式機與網絡操作系統(如:Windows,Unix,Windows NT)之上的業務操作系統BOS(Business Operating System),它將帶來操作系統的一次革命。但是目前工作流技術無論從理論上還是從實踐都還不夠完善,要實現Thomas Koulopoulos的預言可能還需有一段路要走。本文主要介紹了由作者獨立設計一套工作流管理系統體系結構,以供工作流技術愛好者參考。
2、工作流管理系統的基本概念
顧名思義,工作流就是工作任務在多個人或單位之間的流轉。在計算機網絡環境下,這種流轉實際上表現為信息或數據在多個人之間的傳送。工作流管理聯盟(Workflow Management Coalition,WfMC)對工作流的定義是:“業務過程的部分或全部在計算機應用環境下的自動化”。她所要解決的主要問題是,“使在多個參與者之間按照某種預定義規則傳遞的文檔、信息或任務的過程自動進行,從而實現某個預期的業務目標,或者是促使此目標的實現”。
工作流管理系統就是通過管理一序列的工作活動以及相關人員、資源、信息技術資料來提供業務處理程序上的自動控制。工作流管理系統通過計算機軟件來定義、管理和執行工作流程。在工作流管理系統中計算機運用程序的執行順序是由工作流邏輯的計算機描述來驅動的。她的主要目標是對業務過程中各步驟(或稱活動、環節)發生的先后次序,以及同各個步驟相關的人力、資源、信息資料的調用等進行管理,從而實現業務過程的自動化。當然這種管理可能會在不同的信息及通信環境下實現,所涉及的范圍可以小至一個只有幾人的工作組,也可以大到政府、企業組織各個機構之間。工作流管理系統將人員、組織結構、設備資源、信息源(如數據庫、文件系統、電子郵件、計算機輔助設計工具等)整和成一個整體。這樣,工作流管理系統就成為了一個理想的用來收容業務邏輯的業務知識倉庫,并給予業務邏輯一個易操作易控制的界面。
工作流管理系統的最大優點就是實現具體應用邏輯和過程邏輯的分離,實現在不修改具體功能的情況下,通過修改業務流程模板來改變系統的功能,完成對組織生產經營過程的部分業務或全部業務的集成管理,有效的把人力資源、物質資源和信息組織在一起,發揮最大的效能。
3、工作流管理系統體系結構
工作流管理系統在實際運用中一般分為三個階段:工作流建模階段,工作流模型實例化階段和工作流執行階段,如圖1。在工作流建模階段主要通過工作流建模工具完成業務流程的模型建立,將實際的業務操作流程轉為為計算機可模擬處理的工作流模型;在模型實例化階段主要通過工作流引擎完成具體業務流程的實例化,為具體業務流程辦理流轉提供工作流相關數據和工作流控制數據,并為業務流程的辦理提供所需要資源(如人力資源和物料、設備資源等); 工作流執行階段主要完成業務流程的執行,重點是完成人機交互和系統內部應用或外部應用程序的調用。
圖
1、實施的三個步驟
根據工作流的三個階段的分工,工作流管理系統結構可以分為過程設計定義功能、運行控制功能和運行交互接口三個層次的功能,如圖2。
4、過程設計定義功能
過程設計定義功能主要作業務處理流程的計算機定義,她提供了一種分析、建模、系統定義技術,將一個現實世界的業務處理過程轉換成計算機可處理的定義;最終的定義叫作工作流模型、過程模版或過程定義,她可以用圖形符號進行表示。工作流管理系統結構這一層次主要包括以下功能:業務建模與信息建模、組織管理、資源管理、內部應用開發工具、數據窗口開發工具、工作流定義等功能。
4.1業務建模與信息建模
業務流程是由各業務環節連接而成,而每一個業務環節都由多個相互關聯、不同層次的要素構成。在業務建模時可自頂向下的將業務流程中各個業務環節最終分解成一系列的原子任務。所謂原子任務,即將有可能發生的每筆業務進行原子化分解,細分到不能再分割的操作單元,每個操作單元即是一個原子任務。任務之間的相互聯結也將最終轉化為數據流、信息流、協作流、資源流。這樣各個原子任務的控制連接,就成為了工作流模型。因此,工作流是企業中過程流、數據流、信息流、協作流、資源流等各種流的綜合集成。業務建模工具主要提供流程定義開發人員便捷的與數據流圖工具或活動圖等流程描述工具類似的業務流程分析工具。
業務模型是信息模型的出發點。信息模型說明了業務處理對象中所包含的信息,或者說執行具體功能的活動的輸入、輸出數據、以及這些數據之間的邏輯關系。信息建模工具可提供使用E-R圖方法構建信息系統的邏輯數據模型;根據實際選用的數據庫管理系統,建立適用于該數據庫管理系統的物理數據模型,同時可生成目標數據庫管理系統的數據庫創建腳本。信息模型是個兩層次的建立過程,先建立邏輯模型,再建立物理模型。邏輯模型支持數據的概念模式,它從抽象的層次上反映內部數據間的關聯,不管具體的數據結構及數據存儲方式等等。物理模型支持數據庫的物理設計,它與具體選定的數據庫類型密切相關。
4.2組織管理
在組織單位中組織結構是信息決策、任務執行和監督管理等重要活動的載體,組織結構揭示了組織單位人員管理的層次,反映了人與工作、決策、責權之間的聯系。因此,組織結構對于一個組織單位中如何完成業務流程的建模和提高管理、生產效率是至關重要的。組織結構、工作流、過程建模等概念的提出,為描述組織單位業務流程提供了有力的工具,也使過程到組織的映射模型的建立成為可能。
工作流管理系統結構提供了組織管理功能,用于定義業務單位的組織架構和人員管理職責分配等工作。為工作流模型的定義和工作流的實例化、執行提供人力資源約束和支持。
4.3資源管理
資源是進行生產經營不可缺少的物資因素,在工作流的執行過程,必須得到企業資源的支持,相應的組織實體才能夠按照要求完成活動。同時,工作流要保證將正確的信息和資源在正確的時刻以正確的方式送給正確的小組或成員。
工作流管理系統結構提供了資源管理功能,用于建立組織單位的資源模型,表示組織單位的資源結構和配置情況,描述組織單位各種資源對象之間的聯系和關系,為工作流模型提供資源約束和支持。
4.4內部應用開發工具
工作流管理系統結構提供了圖形化應用開發工具,用戶可以使用圖形化設計方法,開發出動態頁面應用,其結果可保存為html或jsp或其他可直接調度執行的運用程序。這些內部應用程序具有數據庫訪問能力,能夠訪問或存儲工作流相關數據和控制數據。在流程定義時流程開發人員可以直接設計并提供流程節點預調用。運行時用戶可以在任務列表中直接調用,執行所需完成的工作。它的最大的優點是讓開發人員避免了復雜業務處理應用程序的開發。
4.5數據窗口開發工具
工作流管理系統結構提供了圖形化設計復雜報表頁面的能力,可設計任意復雜的報表,并可畫出各種統計分析圖并能夠使用多種形式輸出。在流程定義時數據窗口開發工具就像內部應用開發工具一樣可以由用戶自行定義并提供流程節點預調用。當流程實例運用到指定節點時,用戶可以直接調用該數據窗口以用戶所需要的形式展現相關信息內容。
4.6工作流建模工具
工作流建模工具以工作流元模型為基礎,通過分析不同類型的業務過程,采用有向圖的方法對現實的業務活動進行形式化描述,建立業務過程到工作流模型的映射機制。對于建模工具而言一方面為用戶提供了一個建立規范的業務過程的接口,另一方面,所建立的工作流過程可以存儲于工作流庫中作為工作流引擎的輸入,投入運轉、執行并接受監控。建模工具的主要包含以下功能:
提供建立工作流模型所需的各類基本元素,比如活動、子過程、連接弧等;
支持圖形用戶界面的基本操作,比如鼠標的點擊與拖動;
提供用戶定義各模型單元屬性的對話框;
模型的保存與讀?。?/p>
支持多層次建模;
與外部自動應用的接口;
4.7工作流模型庫
工作流模型庫主要用于保存和管理已定義完成的工作流模型。在工作流程啟動時工作流引擎將直接加載并將其實例化,同時為工作流的流轉提供基礎模板。
5、運行控制功能
運行控制功能主要對工作流模型的定義進行解釋,創建并控制過程的運行實例,調度過程的各種行為步驟,調用適當的人力、資源和應用程序以完成任務的執行。工作流管理系統的核心部件就是工作流管理控制軟件——工作流引擎。工作流管理系統結構在這一層次的主要包括:工作流引擎和工作流監控管理2部分。
5.1工作流引擎
工作流引擎可以說是工作流管理系統的心臟。一個工作流管理系統通??梢园ㄒ粋€或多個工作流引擎,不同工作流引擎通過協作共同執行工作流程。工作流引擎實際上是經營過程的任務調度器,在某種程度上還是資源的分配器。在采用工作流管理系統支持經營過程中,工作流引擎可以看成是一個業務操作系統BOS(Business Operating System)。業務過程在她的管理、監控之下運行,因此工作流引擎的性能和可靠性就直接決定了業務過程的運行效率和安全性。
5.2工作流監控管理
系統管理與監控是工作流系統一個非常重要的功能。工作流系統管理與監控工具能夠對工作流在整個組織內部的流動狀況進行監視,并提供一系列的管理功能,實現安全性、過程控制和授權操作等方面的管理。它包括以下幾個方面的功能:
1)建立、設置和優化組成工作流管理系統的各個軟件。
2)對過程模型進行實例化。
3)將過程模型中的角色實例化。
4)將運行中的過程實例、活動實例和數據分發到各個工作流機中。
5)啟動、掛起、恢復和終止過程實例。
6)管理正在執行的過程實例,并對正常結束或異常退出的過程實例的歷史數據進行統計和分析。
6、運行交互接口
運行交互接口主要提供工作流管理系統與人員或應用程序工具的交互接口來處理各種活動步驟。交互接口對于活動間的控制傳遞是必須的,如確定過程的狀態,調用應用程序工具,傳遞應用程序數據等。
7、結論
該工作流管理系統體系結構是作者深入研究了工作流管理聯盟提供的工作流管理系統模型和各大主流工作流管理系統的基礎上設計出來的。以該體系結構為基礎作者領導開發了基于J2EE架構的新一代工作流管理系統UniFlow。UniFlow工作流管理系統目前已在電子政務中取得了廣泛的運用。
第三篇:基于CSCW的工作流管理系統(范文模版)
基于CSCW的工作流管理系統
摘要:計算機支持協同工作(Computer Supported cooperative work,CSCW)是在信息時代發展起來的一門新興學科。它是在計算機支持的情況下(即CS),人們協作完成一項共同的任務(即CW)。本文介紹了CSCW技術,及其應用場景。以及工作流技術,工作流管理系統的相關技術與應用。討論了基于CSCW技術的工作流管理系統結構。關鍵詞:工作流,工作流管理系統,CSCW,計算機支持的協同工作。1 CSCW 計算機技術的發展把人類社會帶入了信息化時代, 隨著信息化進程的深入, 通信技術與計算機及其網絡技術相融合, 產生了一個新的研究領域———計算機支持的協同工作CSCW(Computer Supported Cooperative Work), 簡稱計算機協同工作。它是信息化進程 發展的一種必然產物, 它將帶來人們協作方式的變革, 提高人們協同工作的整體效率。計算機協同工作應用系統的發展和推廣會改善人們交流信息進行協作的方式, 而計算機技術的發展也必然走向計算機協同工作的方向。CSCW 是地域分散的一個群體借助計算機及其 網絡技術, 共同協調與協作來完成一項任務。它包括協同工作系統的建設、群體工作方式研究和支持群體工作的相關技術研究、應用系統的開發等部分。通過建立協同工作的環境, 改善人們進行信息交流的方式, 消除或減少人們在時間和空間上的相互分隔的障礙, 節省工作人員的時間和精力, 提高群體工作質量和效率, 從而提高企業、機關、團體、乃至整個社會的整體效益和人類的生活質量。一句話定義就是: 在計算機技術支持的環境中(即CS), 一個群體協同工作完成一項共同的任務(即CW)。它的目標是要設計各種各樣的協同工作的應用系統。
CSCW涉及的主要成分應當包括技術成分和人文成分兩個層面。確切地說,它們是:技術成分,包括:通信系統,如電話、電子郵件、桌面視頻會議系統等;共享工作空間設施;共享信息設施(用以存儲、存取、安排和管理參與協同的人員的共享信息);共享活動支持設施,這類活動如決策、指揮、教學、設計等;人文成分,包括:人的個性方面,如人們喜歡如何工作和通信、人的服飾習慣如何等;組織方面,包括工作組的大小、組織的管理及變化等;小組工作設計方面(如協同工作的分析、設計CSWC的解決方案等);小組工作的動態性質方面。CSWC系統涉及的要素可以歸結為三個,簡稱為CSWC三要素:通信、合作與協調。其中,通信是CSWC的基礎,其實在CSWC系統中使用的通信方式常常可以分為異步通信和同步通信兩大類。合作則是CSWC的形式,CSWC關心的是群組在工作中成員之間的協作,所以是CSWC群組活動的重要內容。協調則是CSWC的關鍵,群組協作結果的好壞取決于群組成員活動的協調。從多媒體手段上看,CSCW的發展可以看作從支持單媒體發展到支持多媒體、從簡單媒體到復雜媒體的過程;從非線性形式上看,協同環境中信息從線性方式變成了非線性形式,成了超文本形式,和多媒體技術結合以后,以超媒體的形式出現:當然協同支持是又一方面,它包含了E一mail、Mailing list和工作流等技術的支持。一句話,CSCW是眾多技術的集成。工作流技術
工作流的概念起源于生產組織和辦公自動化領域。它是針對日常工作中具有固定程序的活動而提出的一個概念。目的是通過將工作分解成定義良好的任務、角色,按照一定的規則和過程來執行這些任務并對它們進行監控,達到提高辦事效率、降低生產成本、提高企業生產經營管理水平和企業競爭力。
不同的研究者和工作流產品供應商從不同的角度給出了工作流的定義,但是這些不同的工作流定義基本上都說明這樣一個問題,即工作流是經營過程的一個計算機實現,而工作流管理系統則是這一實現的軟件環境。使用工作流來作為經營過程的實現技術首先要求工作流系統能夠反映經營過程的如下幾個方面的問題,即經營過程是什么(由哪些活動、任務組成,也就是結構上的定義)、怎么做(活動間的執行條件、規則以及所交互的信息,也就是控制流與信息流的定義)、由誰來做(人或者計算機應用程序,也就是組織角色的定義)、做得怎樣(通過工作流管理系統對執行過程進行監控)。所以,工作流是一種反應業務流程的計算機化的模型,是為了在先進計算機環境支持下實現經營過程集成與經營過程自動化而建立的可由工作流管理系統執行的業務模型。這里強調工作流模型是可被工作流管理系統執行的,這主要是為了區分工作流模型和一般意義上的過程模型。一般的過程模型并不要求它用計算機來進行執行,而工作流模型,從建立的目的來講:就是為了實現業務過程自動化,要由計算機來執行的。這就要求工作流模型不及能夠描述活動及其相互之間的連接關系,而且需要定義許多其他的信息,如組織、資源、數據等,這樣才能夠由計算機進行解釋和執行。另外一方面,由于工作流模型需要由計算機來執行,這就對工作流模型的準確性提出了更高的要求,工作流模型的定義也更加嚴格和準確。3 工作流管理系統
工作流管理系統是運行在一個或者多個稱為工作流機(又稱為工作流引擎)的軟件上的,用于定義、實現和管理工作流運行的一套軟件系統,它和工作流執行者(人、應用)進行交互,推動工作流實例的執行,并監控工作流的運行狀態。需要注意的是,工作流管理系統并不是企業的業務系統,而是為企業業務系統的運行提供軟件支撐環境。所有的工作流管理系統都提供了三種功能:建立階段功能:主要考慮工作流過程和相關活動的定義和建模功能。運行階段的控制功能:在一定的運行環境下,執行工作流過程,并完成每個過程中活動的排序和調度功能。
目前為止,工作流管理聯盟已經在全世界范圍內有超過300個的成員組織,從生產商到用戶,從理論研究到咨詢應用,展現著工作流的各個方面。開發的獨立工作流管理系統產品超過了幾百種,但實際應用效果并不能太令人滿意。根據所實現的業務過程,底層實現技術,所采用的任務項傳遞機制等分類標準,可以將工作流管理系統分成不同的類別:根據所實現的業務過程,工作流管理系統可分為四類: 1.管理型工作流(AdmnistiartvieWorkflow):在這類工作流中活動可以預定義并且有一套簡單的任務協調規則。
2.設定型工作流(AdHocWokroflw):與管理型工作流相似,但一般用來處理異常或發生機會比較小的情況,有時甚至是只出現一次的情況,這與參與的用戶有關。
3.協作型工作流(Collaborative Workflow):參與者和協作的次數較多。在一個步驟上可能反復發生幾次直到得到某種結果,甚至可能返回到前一階段。
4.生產型工作流(PorudctofnWorkflow):實現重要的業務過程的工作流,特別是與業務組織的功能直接相關的工作流。與管理型工作流相比,生產型工作流一般應用在大規模、復雜的和異構的環境下,整個過程會涉及許多人和不同的組織。根據底層實現技術,可將工作流產品分為三類: 1.以通訊為中心:以電子郵件為底層的通訊機制。這種類型的工作流管理系統適合于協作型工作流和不確定型工作流,而不適于生產型工作流。
2.以文檔為中心:基于文檔路由,它同外界應用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實現。
3.以過程為中心:這種工作流管理系統對應生產型工作流。它們一般建立在數據庫之上,有自己專用的通信機制并且提供了同外部進行交互的接口。根據不同工作流管理系統所采用的任務項傳遞機制的不同,市場上的工作流產品又可以劃分為四類: 1.基于文件的工作流管理系統以共享文件的方式來完成任務項傳遞。這種類型產品開發得最早、發展最成熟、其產品品種較多。代表產品有FilNeet的VisualWor甘
10、IBM的FofwMark、ICnoncert的ICnoncert。
2.基于消息的工作流管理系統通過用戶的電子郵件系統來傳遞文檔信息。這種類型的產品一般都提供與一種或多種電子郵件系統的集成接口。代表產品有Novell開發的Ensemble、eJtFomr公司的ITne哪。、Keyfile公司的Keyflow。
3.基于Wbe的工作流管理系統通過Ini~t來實現任務的協作。這一類產品起步較晚(在95年以后),但是發展迅速,其市場前景十分看好。許多供應商紛紛改進原有產品或開發新產品以增加對Wbe的支持。代表產品有ActofnTecnlioofgesi公司的ActoinW0krsMetor、uh而us公司的Utiimus。
4.群件與套件系統雖然這一類產品與上面介紹的三種產品在任務傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨劃分成一類,因為這一類產品都需要依賴于自己系統的應用基礎結構,包括消息傳遞、目錄服務、安全管理、數據庫與文檔管理服務等,它們本身就構成了一個完整的應用開發環境。代表產品有IBM幾。tus公司的LotusNotes、Microsoft公司的office與Exchange、Novell公司的Groupwies。
現有工作流管理系統的缺點。工作流管理系統經過多年的發展,取得了長足的進步,但總的來說,工作流管理系統還是處于一個不成熟的階段,主要的原因有三點:第一、是在工作流中使用了過多的概念。在這個領域中的大量規范和工具沒有一個是相似的。它們相互之間有重疊并且會相互參考引證。這是由于工作流的涉及面太廣,很難對工作流的相關內容下一個嚴格定義,這也制約了工作流管理系統的推廣應用。第二、工作流的研究工作還不夠深入,缺乏標準,工作流管理系統顯得還不成熟。雖然工作流管理聯盟為工作流的標準化做了很多努力,但制定的標準仍然不能滿足實際的使用需要。而且制定的標準具體化程度不高,很多細節部分沒有考慮到,這也造成了現有的工作流產品各自擁有自己的標準,不能通用。第三、工作流管理系統在客戶個性化定制方面存在不足,在協同原有客戶系統方面做的不好。造成了很多工作流管理系統不是適應客戶的需求,而是要更改客戶需求來滿足工作流管理系統。3 CSCW與工作流結合
現有工作流管理系統大部分都是提供一個工作流平臺,進行工作流管理。工作流管理的一個基本特點就是能夠預先定義工作流程,總的來說它注重的是完成一項工作的’過程’。這說明現有的工作流管理系統是把現實社會的工作過程映射到計算機中,但這個映射過程只是死板的把現實中的工作過程轉換為工作流,而沒有考慮到現實社會的工作過程中普遍存在的協作性。這導致現有工作流都是按照預定的一成不變的流程定義流動,在流動過程中不考慮能否與別的工作流進行協作提高效率。而隨著現代化大生產的來臨,協作性的工作己成為生產的主流模式,作為現實生產的映射,工作流管理系統也越來越需要協同的管理工作流,因此對各個工作流程之間協調的好壞,是系統成功與否的重要標志,而實現協調的重要手段就是對系統內部錯綜復雜的工作流進行有效管理。工作流由一系列相互協作的任務組成,但是任務的執行次序遵循一定的偏序關系。有些任務由計算機自動執行,有些任務由人用計算機完成。在很多時候人與人之間需要相互協作才能完成一項任務,這時就需要CSCW環境及其工具的支持實現人與人之間的協作。因此,將CSCW與工作流管理系統相互融合,能使工作流管理系統更適應現代化大生產的需求,是工作流管理系統未來的發展方向之一。4 基于CSCW的工作流管理系統
基于CSCW的工作流管理系統,與以往的工作流管理系統相比,更注重協同 工作,可以解決以往工作流管理系統協同性差導致的效率低下問題。但是,也因 為協同工作需要在各個工作流之間的信息交換,互相協作等新操作,對舊的工作 流管理系統提出新的問題。4.1統一的工作流定義
由于工作流管理系統在CSCW環境下,無可避免的要遇到如何處理兩個不同的定義格式的工作流之間如何協同的問題,主要體現在:不同定義格式的工作流之間的數據如何互相感知和交換;不同定義格式的工作流如何協作。在大多數的工作流管理系統中,用戶不得不對工作流流程的細節進行靜態的預定義,使得工作流之間可以交互,但這會大大增加商業流程的復雜度。文采用XPDL作為工作流過程定義工具。XPDL即為XML過程定義語言(XML Process Definition Language),工作流管理聯盟在2005年10月3日發布了最新的XPDL第二版,XPDL的出現是為了解決大量不同的工具被用于分析,構建,描述和文檔化商業過程導致的格式不統一的問題。XPDL定義了一個統一的交換模式,從而支持了兩個獨立的產品之間的過程交互。XPDL是基于XML的,由于XML的開放性和結構化的數據表達能力,使之能夠在不同的用戶和程序之間交換數據,而不論其平臺如何。而且由于XML的自定義性及可擴展性,它足以表達各種類型的數據。對于工作流管理系統中需要在不同節點或是不同平臺上交互的數據,無論什么格式,都可以把它轉化為XML的形式。同時XML格式的數據又可以輕易地轉化為系統專有的數據格式。XPDL定義了一套標準的數據類型。4.2工作流感知
舊的工作流管理系統只需要監控工作流引擎中運行的工作流情況就行,但是在CSCW環境下的工作流管理系統要協同各個工作流,所以必須使各個工作流互相了解之間的信息,才能有協同的基礎,這里分為兩種情況:待加入的工作流與運行中的工作流的相互感知運行中的工作流之間的相互感知基于CSCW的工作流管理系統是通過協同工作流中的活動達到協同的目的的,因此工作流之間的感知主要是活動的執行情況。我們把不能再分解的工作流活動稱為原子活動,在原子活動執行期間,不能進行對該原子活動的操作,換句話說,無法在該原子活動執行期間對其進行任何協同操作,而且,最終的協同也是原子活動之間的協同。因此可以以原子活動狀況作為工作流之間感知的基礎。工作流之間主要感知原子活動的執行情況,包括執行開始,執行進度,執行異常,執行完成等情況。而對于上述的兩種情況,需要感知的內容是不相同的,對于待加入的工作流,因為其信息對于其它工作流來說,是完全不知道的,所以應該把組成該工作流的活動,活動的優先級,執行順序,需要的資源對相關的工作流發布。而對于運行中的工作流,只需在原子活動執行完成后,將這個消息發送到相關的工作流,更新該工作流的信息即可。對于同時需要的感知的信息,要根據感知信息對協同工作的影響程度來決定感知的優先程度。動態感知信息對協同工作的影響程度可以用感知敏感度來描述。一般對協同工作貢獻大的動態感知信息,應該賦予高的感知敏感度,反之亦然。如圖1所示是工作流感知模型,對于待加入的工作流和運行中的工作流來說,他們的一舉一動都是在管理監控工具監視下的,因此把管理監控工作作為待加入的工作流和運行中的工作流之間的橋梁,其中的信息過濾器的作用是過濾不需要的信息,例如,某工作流的活動因為保密的需要,不能被感知,那么該活動的信息就會被信息過濾器過濾,只被管理監控工具感知。
圖-1 4.3并發控制
在CSCW環境下的工作流管理系統并發的情況要比普通的工作流管理系統嚴重,主要是共享資源的使用上,因為如前所述,最終的活動為原子活動,所以使用共享資源的也是原子活動,對于請求共享資源的原子活動,由監控管理工具查看共享資源是否被占用,如被占用,則拒絕使用,如無,這在請求該共享資源的原子活動中,選取優先級別最高的原子活動,分配使用該共享資源,如圖2所示。
圖-2 4.4死鎖
由于協同工作的緣故,很多在單獨執行不會出現死鎖的工作流,在協同工作的環境下會出現死鎖的問題,如圖3.5所示,活動B是活動D的前驅活動,活動D是活動E的前驅活動。經過協同后,活動B和活動E合并為同一活動,這個活動既是活動D的前驅活動,又是活動D的后繼活動,形成死鎖。為了避免基于CSCW的工作流管理系統出現死鎖,需要注意以下容易引起死鎖的幾點:
1、有順序關聯關系的工作流活動
2、循環的工作流活動
3、有多個前驅或者有多個后繼活動的工作流活動
管理監控工具在調度工作流活動進行協同,應對協同后的工作流管理活動進行死鎖檢驗,如發現死鎖,則取消執行協同。每個工作流活動應有參考的執行時間,如果發現超過執行時間達到一定程度,應看作出現死鎖,執行死鎖處理。4.5負載平衡
負載平衡是提高性能的重要方法,在CSCW環境下,一般采用兩種方法來達到負載平衡:(1)分配工作負載給多個工作流引擎執行,這樣,在重負載的情況下,工作流管理系統仍然能保持可以接受的性能水平。
(2)將工作流活動分配到更適合的工作流引擎上執行,提高執行效率。5工作流固定協同策略
工作流固定協同策略是指按照固定的協同規則,將符合條件,能進行協同的工作流協同。在本節中,首先分析了原有工作流管理系統中各種沒有考慮協同的工作流執行情況,并根據具體的情況,給出相應的固定執行協同策略。協作策略包括工作流自身的協同策略和工作流之間的協作策略。5.1冗余流程的化簡
根據80一20原理,在所有工作流活動中,20%的活動經常執行,占到了執行頻率的80%,這也就是說,在工作流管理系統里,正在執行的工作流,以及即將加入執行的工作流中,往往存在相同的活動,在原有的工作流管理系統中,這些相同活動往往反復執行,造成資源浪費,以及效率的低下,在生產型的企業中,這種情況更為嚴重。如圖4.7所示,在工作流1至工作流n中,每個工作流里都有相同的活動,這些相同的活動被重復的執行。解決這種問題的方法是將相同的活動節點合并,如圖4.8所示。這樣,將原來的多個順序執行的工作流變為一個或連接和或分支相結合的工作流。工作流中相同活動的任意一個前驅活動就緒后,相同活動即可執行,相同活動節點執行時間沒有受到拖延,而執行次數由原來的n次變為了1次,減少了資源的浪費。相同活動節點的執行結果保存,相同活動節點剩下的或連接前驅活動到來時,可以越過執行相同活動節點這一步,直接執行下一步活動,提高了效率。更改活動執行順序現有的工作流管理系統,有一個特點是工作流流程一旦定義后,不能更改,按照固定的活動順序執行,這有可能會導致后繼工作流活動的無謂等待。如圖4.9所示,工作流2中的活動B是與連接邏輯活動,而它的其中一個前驅活動是工作流1中的活動A。假設活動B除了活動A外的別的前驅活動均己完成,只待活動A執行完畢,活動B即可執行。但活動A的執行,必須要等待它的前驅活動的完成,這些活動對于活動B來說,是無謂等待活動。正是因為這些活動,導致整個工作流2需要等待,增加了運行時間。解決上述問題的方法是更改活動執行順序如圖410所示將活動B的無謂等待活動排在活動A后執行,這樣,活動A不必等待這些活動的執行完畢即可執行。活動B也相應的消除了無謂等待,提高了效率。執行這種優化的前提條件是:工作流中的活動具有相同優先級別的,并且更換活動的執行順序對工作流的執行結果沒有影響。5.2分解活動
現有工作流管理系統在工作流執行前定義了組成工作流的活動,活動在執行工作流的過程中不能根據協作需要分解,這會帶來一些問題。工作流1中的活動A中有兩個子活動Al和AZ,子活動Al的后繼活動是工作流2中的活動B,子活動A2的前驅活動是工作流3的活動C,因為不進行分解,活動B必須等待整個活動A的執行完畢才可以開始,而活動A的執行必須要等活動C及其前面的活動的執行完成,無形中,工作流2多了很多等待時間。在 這種情況,活動B的直接前驅活動是A,而活動A的前驅活動是活動C,所以活動C可以稱為活動B的間接前驅活動。如果可以在工作流執行過程分解活動,則上述問題即可迎刃而解,將工作流1中活動A分解為活動Al和A2,這樣,活動B不在需要等待活動A2的執行完成。活動C不再是活動B的間接前驅活動,活動B減少了執行約束,整個工作流2提高了執行效率。應用這種固定協同工作策略,需要注意: 1.將被分解的活動是否有限制,導致不允許活動的分解。2.分解出來的活動彼此之間的順序。
3.分解出來的活動的前驅和后繼活動的關系。5.3并行執行活動
工作流的執行過程中常常出現一種情況,工作流中的各個活動是相關且又可以并行執行的,當由于工作流管理系統的限制,必須以順序邏輯模型表示和執行,效率低下,如圖4.18所示。如果改變為與分支和與連接的邏輯形式,將工作流并行執行,將大大減少工作流的執行時間提高效率如圖419所示需要指出的是這種協同方式對減少執行所需要的資源的沒有多大的幫助,主要優點是降低工作流執行的時間和提高工作流整體的執行效率。
參考文獻
1、范玉順,工作流管理技術基礎,清華大學出版社,施普林格出版社,2001
1、WilVanderAaslt&KeesVanHee,工作流管理,王建民,聞立杰等,清華大學出版社,2004
3、史美林,向勇,楊光信,計算機支持的協同工作理論與應用,電子工業出版社,2000
4、羅海濱,范玉順,吳澄,工作流技術綜述,軟件學報,2000,vOlllNo.7
5、史美林,楊光信,向勇,WFMS:工作流管理系統,計算機學報,1999(3):326一328羅海濱,范玉順,吳澄,工作流技術綜述,軟件學報,2000,vOlllNo.7
14、Workflow Management Coalition, WFMC Process Definition Interchange-Process Model TC-1016-P[S].Oetober2005
第四篇:基于UML的項目客戶關系管理系統面向對象設計
基于UML的項目客戶關系管理系統面向對象設計
摘要:在項目管理中,項目客戶關系管理是實現項目成功實施的重要環節。本文以交通項目為背景,把面向對象建模技術應用在其項目客戶關系管理系統的建模設計過程中,使用可視化的統一建模語言UML對該系統進行了詳細的分析和設計。關鍵詞:項目;CRM;PCRM;UML;用例
Abstract:In project management,project customer relationship management acts an important role for a SUCCeSSfUl implementa‘tion of project.In this paper,the object·oriented modeling technology is used to design the project customer relationship manage‘ment system based on tragic engineering projects,and the function and components of the system are designed and described indetail by using visual unified modeling hnguag UML.
Key words:pmject;CRM;PCRM;UML;use case
一、引 言
CRM(Customer Relationship Management)是指企業針對各方面信息進行實時采集和動態跟蹤,然后進行綜合、分析、處理、統計,進而輔助企業進行以客戶為中心的全面運營管理¨??蛻絷P系管理的理念要求企業必須完整地認識整個客戶生命周期,提供與客戶溝通有效的統一平臺,提高員工與客戶接觸的效率和客戶反饋率,提高客戶的忠誠度、滿意度以及降低企業經營成本,從而提升企業客戶的價值,提高企業利潤收入。項目是一個組織為實現既定的目標,在一定的時間、人員和資源約束條件下,所開展的具有一定獨特性的一次性工作。項目的含義非常廣泛,既可以是一個大型的工程項目,也可以是一項新產品的開發、一項科研課題的研究,或一項特定的服務。項目的客戶是使用項目成果的個人或組織,任何一個項目都是為項目的客戶服務的,所以在項目管理中必須認真考慮項目客戶的需要、期望和要求¨J。項目客戶關系管理(Project Customer Relation— ship Management,PCRM)系統是在項目管理過程中,用來捋清各種客戶關系、對客戶行為進行分析并提供決策支持的系統。采用傳統的結構化設計方法很難滿足現在大型軟件系統的要求,而面向對象技術實現了軟件的可重用性和可擴展性,提高了系統的穩定性,并使系統易于理解和維護,針對系統特點我們選擇面向對象技術對項目客戶關系管理系統進行分析、設計。
1、項目客戶關系管理系統的特點
項目客戶關系管理是以通過持續改進提高客戶滿意度為中心,不斷實現對項目質量、成本、進度的控制,建立適應客戶不斷變化需求的靈活的組織結構,以全面客戶滿意為目標,最終與客戶建立長期良好的
合作關系,實現雙贏的管理方法 J??蛻絷P系的管理應以項目的實施過程為主線,客戶關系管理貫穿于項目管理的整個流程中,尤其要把握項目進度計劃實施與客戶關系管理實施的協調。項目管理是在有限的資源條件下,為實現項目目標所采取的一系列管理活動,傳統的項目管理系統多是在企業內部進行進度、成本、資源、費用的管理。項目客戶關系管理系統中:項目客戶應該參與項目整個過程,客戶提供項目;客戶為項目提供主要信息,表達自己的需求;客戶約束項目;客戶提出項目變更并審核變更;客戶接收項目交付物并使用產品??蛻艄芾淼哪繕撕晚椖抗芾淼哪繕耸墙y一的,即實現客戶的全面滿意。’在項目全生命周期中,存在客戶與項目、客戶與企業的頻繁的各種形式的交互,基于軟件可重用性和可擴展性,開發該系統應該采用面向對象技術。
二、可視化的統一建模語言UML 2.1 UM L概述
統一建模語言UML是一種定義良好、易于表達、功能強大且普遍適用的可視化圖形面向對象技術建模語言 J。它溶人了軟件工程領域的新思想、新技術和新方法,它的作用域不只限于支持面向對象的分析與設計,還適用于系統開發過程中從需求規格描述到系統完成后測試的不同階段。UML采用圖形化的表示法,主要包括用例圖、類圖、包圖、狀態圖、活動圖、序列圖、協作圖、組件圖和部署圖等。這些圖為系統的分析、開發提供了多種圖形表示,它們的有機結合可以分析和構造一個一致的關系,并不是每個項目都會用到所有的圖,許多項目并不需要狀態圖或活動圖,但一般項目至少產生用例圖、序列圖和類/協作圖。在軟件開發過程中,UML是軟件開發人員表達設計思想、進行交流溝通的非常有效的工具。2.2 RoSE簡介
Rational Rose是一種面向對象的分析建模工具,利用這個工具,我們可以建立起用UML描述的軟件系統的面向對象模型,并且可以自動生成和維護VB、C++、Java等語言的代碼框架。應用Rose進行系統建模的過程大概如下:
(1)識別系統的用例和角色:識別出角色(Actor)與各功能用例(Use Case)O(2)系統分析:建立Sequence(序列)視圖、Collaboration(協作)視圖以及State(狀態)視圖。(3)系統設計:確定系統的類及類的屬性、操作、各類之間的關系,建立起詳細的Class Diagram(類圖)。
(4)代碼實現:在建模完成后,開發人員利用RationalRose工具可以生成程序代碼框架,并對代碼框架進行修改和補充,形成完整代碼;而且,還可根據代碼逆向生成UML模型。
三、PCRM 系統設計
3.1 PCRM 總體功能結構圖
項目客戶關系管理系統主要由四大功能模塊組成:客戶管理、項目管理、服務管理、日歷管理。對每一功能模塊進行分析,可得到詳細的子功能,如圖1所示。作為PCRM系統基礎的客戶管理模塊,其結構形式以客戶資源管理為基礎,客戶分析為核心,兼顧實現潛在客戶和合作伙伴管理的子功能。項目管理功能模塊實現項目全生命周期的各個環節進度、成本、質量以及客戶關系的協調管理,包括市場分析、項目采購(招投標)、合同管理、項目進度管理、項目績效考核等子功能。服務管理功能模塊實現項目生命周期、客戶生命周期內外客戶服務相關內容管理,劃分為客戶接觸管理、客戶評價/投訴、需求變更管理等子功能。由于篇幅的限制,圖1并不是最終細化的功能結構圖,比如說客戶分析子功能還應進一步劃分為:客戶群分析、客戶滿意度分析、客戶價值分析、客戶流失分析等,項目進度管理子功能還應進一步劃分為:項目資源管理、成本控制、進度計劃等。四大功能模塊的子功能模塊之間是有效結合,它們相互協作、相互貫穿,最終使行業中的企業運行模式從“以項目為中心”向“以客戶為中心”進行轉變。
3.2項目管理功能模塊Use Case視圖
圖I表示了系統最大的功能模塊的劃分,對每一個功能應再創建用例圖,進一步明確其功能。由于項目管理功能模塊是整個系統的核心模塊,我們僅對項目管理功能模塊用例進行進一步細分,其它模塊的建模過程與其類似。項目管理功能模塊的用例圖如圖2所示。注:途中“通常ADU操作”,指的是“ADD、DELETE、UPDATE操作”,細化后的底層用例都應實現“通常ADU操作”,圖2中并沒一一標出。
項目管理功能模塊中涉及的參與者包括:企業領導、項目經理、項目執行人員、合作伙伴、客戶、相關廠商等。其中企業領導、項目經理、項目執行人員、合作伙伴等角色參與到項目管理的整個過程中;而角色客戶與項目實施方緊密地溝通交流、協作,參與進度計劃、成本控制、項目資源管理、項目績效考核、合同管理等;相關廠商可能只參與某些項目的合作投標過程。3.3 建立Sequence圖
定義出各功能模塊的基本功能、建立起系統的Use Case視圖以后,下一步應該針對每個Use Case的業務操作流程繪制其Sequence視圖。Sequence視圖反映系統中若干個對象之間的動態協作關系,分析對象之間消息的先后次序,說明對象之間的交互過程,以及系統執行過程中,在某一具體位置將會發生什么事件。我們以“對客戶溝通記錄”操作為例說明sequence 視圖的建立過程:相關人員登錄項目管理主界面,打開項目采購中的客戶溝通記錄界面,選擇、打開記錄界面,在界面上根據權限對數據庫進行增刪改操作(權限及輸入的合法性檢驗過程略)。這個過程我們可以初步建立一個完全面向操作過程的se—quence視圖,如圖3所示。此處我們沒有繪制協作圖,協作圖可以由所畫的
Sequence視圖動態生成。其它功能模塊的建模過程也與此類似,這里不再說明。3.4系統類圖設計
對系統的Use Case圖進行分析,我們可以得到系統的類圖,在分析階段,可以找出大部分的類以及類中的大部分的屬性,剩余的類和屬J陛可以在詳細設計階段通過Sequence圖找出。類圖設計過程中,具有相似行為或屬性的類應合并,以避免類的冗余、提高類的抽象性和繼承性。客戶溝通局部類圖如圖4所示。
3.5 PCRJVI系統的代碼結構設計
PCRM系統我們采用如圖5所示的三層軟件結構,分為User Services(用戶層)、Business Services(業務層)、Data Services(數據服務層),這種結構有利于類的重用和擴展,有利于提高類的抽象性和繼承性,這正是面向對象設計的優勢所在。三層結構中各類的功能如下:User Services層中的邊界類PCRM defineform實現界面顯示功能,邊界類Facade運行界面中的函數和過程;Business Services層中的PRCM Man—ager集合管理類和PCRM持久實體類對界面提交的數據進行業務邏輯處理,負責數據修改的Modify類、負責數據讀取的Fetch
類和DataAccess類將業務邏輯處理好的數據提交給Data Services(數據服務層)進行數據存??;Data ewices(數據服務層);OLEDB(ADO)/ODBC類通過DBMS(數據庫管理系統)實現
對數據庫的存取。
應用此三層軟件結構,結合面向對象設計過程中設計的類圖,圖3所示的對客戶溝通記錄操作的Sequence圖可以轉化為如圖6所示的對客戶溝通記錄操作的程序Sequence圖。這時,在Rose中可以自動生成對客戶溝通記錄進行增刪改的VB、C++、Java等語言的代碼框架了。
四、結束語
本文對項目客戶關系管理這個項目管理中的新課題作了一定研究探討,并以交通項目為背景定義出了一個項目客戶關系管理系統。在這基礎上以統一建模語言UML為工具,將面向對象技術應用于項目客戶關系管理系統設計中,使得系統具有更好的可重用性、可維護性,在一定程度上實現了軟件開發的自動化、實現了軟件設計和編碼的無縫的連接,提高了軟件開發的效率和質量。有關項目客戶關系管理許多問題還有待于進一步研究,項目客戶關系管理系統還有待進一步完善。參考文獻:
[1] 夏安邦,孫欣.對當前CRM研究的綜述和討論[J].中國制造業信息化,2004,33(5):13—17.
[2] 戚安邦.項目論證與評估[M].北京:機械工業出版社,2004. [3] 陸菊春.淺析項目客戶關系管理[J].商業時代,2003(17):22.
[4] Boggs W.UML與Rational Rose 2002從入門到精通[M].北京:電子工業出版社,2002. [5] 馬重明,張學旺,范時平.基于UML的軟件體系結構開發方法[J].計算機工程與應用,2006,42(4):118.120.
[6] 劉潤東.UML對象設計與編程[M].北京:北京希望電子出版社.2001. [7] 何榮勤.CRIVl原理·設計·實踐[M].北京:電子工業出版社.2006. [8] 陳開.中國CRM最佳實務[M].北京:電子工業出版社,2005. [9] 陳增榮.軟件開發方法[M].上海:復旦大學出版社,1997.
第五篇:基于Web的工作流管理系統的設計與實現
摘要:Internet/Intranet應用的普及和Web技術的發展,為Web工作流管理系統的實現提供了一個理想的平臺,而基于Web的工作流管理服務為異地辦公及跨企業的合作提供了良好的基礎,采用Web技術已成為新一代工作流管理系統的主要特征。本文研究開發的工作流管理系統原型將Web技術
與XML相結合,給出了基于xml的過程定義語言與工作流執行機的設計與實現方法。
關鍵詞:工作流、工作流管理系統、XML,集成、工作流執行機
Abstract:The rapid growth of Internet/Intranet usage and development of Web technologies,provides a ideal platform to construct a Web_based workflow management.And the Web_based workflow management service provides condition for distributed working and inter-enterprise corporatin ,and it has become the characteristic of the next-generation workflow management.The WFMS prototype which this paper researched on combines the Web technologies and XML ,and provides a method of designing and implementing xml_based process definition language and workflow engine.keywords:Workflow ,workflow management systems ,XML,Integration、Workflow Engine
1、引言
工作流的概念起源于生產制造業與辦公自動化領域。工作流是一類能夠完全或部分自動執行的經營過程,根據一系列過程規則,文檔、信息或任務在不同的執行者之間傳遞、執行。工作流的目的是通過將工作分解成定義良好的任務、角色,按照一定的規則和過程來執行這些任務并對它們進行監控,達到提高辦事效率、降低生產成本,提高企業生產經營管理水平和企業競爭力,實現現代企業經營過程重組(BRP)、經營過程自動化。
根據工作流系統所采用的任務項傳遞機制的不同,工作流管理系統主要有三種方式:(1)、基于文件的工作流管理系統——以共享文件的方式來完成任務。這種類型的產品是產生最早、發展最成熟、最具多樣性的,通常包含有Client/Server模式的圖像、文檔與數據庫管理系統。(2)、基于消息的工作流管理系統——通過用戶的電子郵件系統來傳遞文檔信息。這種產品都實現了一種或多種電子郵件系統的集成。(3)基于Web的工作流管理系統——隨著計算機網絡技術的發展和Internet應用的不斷普及,Web技術因其界面的一致、簡單及與平臺的無關性,在其出現之后就得了迅速發展。同時Internet的發展及企業Intranet的建構為人們提供一個理想的協同工作環境,同時也使基于Web的工作流管理系統成為可能。
Web應用程序開放、跨平臺的特性使基于Web的工作管理系統已經成為一種必然的發展趨勢。但目前因為不同的研究者、廠商使用不同的工作流的描述方法,這樣就造成了不同的工作流產品之間不能進行互操作,因而在很大程度上阻礙了工作流技術的推廣與應用。
為了使工作流管理系統具有的良好的互操作性,本文研究開發了一個基于Web的工作流管理系統,其中工作流過程定義采用了基于XML的過程定義語言。XML是用來描述文檔的組織結構,XML具有簡單、自定義的優點,可以實現不同產商之間的工作流產品之間的互操作性,實現異構信息的集成。
本文首先介紹了當前工作流管理系統的一些相關概念,分析了在本系統中的一些關鍵技術,包括系統的體系結構,工作流模型中的主要實體的XML描述及工作流執行機的設計與實現等。
2、工作流管理系統的介紹
基于Web的工作流管理技術是實現企業協同工作環境的一個良好方法,它能方便的與企業內原有的應用、信息集成。
為了實現對業務過程的工作流管理,需要相應的軟件系統的支撐。此種軟件系統為工作流管理系統(Workflow Management System,WfMS)。根據WfMC 的定義,工作流管理系統是“一種在工作流形式化表示的驅動下,通過軟件的執行而完成工作流定義、管理及執行的系統”,其主要目標是對業務過程中各活動發生的發后次序及同活動相關的相應人力或信息資源的調用,進行管理而實現業務過程的自動化。工作流的過程定義是指對業務過程的形式化表示,它定義了過程運行中的活動和所涉及到的各種信息。這些信息包括過程的開始和完成條件、構成過程的活動以及進行活動間導航的規則、用戶所需要完成的任務、可能被調用的應用、工作流機的引用關系以及與工作流數據的定義。其中活動指的是工作流中的一個邏輯步驟;工作流實例指的是工作流的一次執行過程;工作流機是一個為工作流實例的執行提供運行服務環境的軟件或“引擎”,它是工作流執行服務的核心,負責對解釋過程定義、控制過程實例的執行、控制工作流中各個活動的執行順序、并完成與其它工作流機的交互與通訊。
1994年11月,工作流管理聯盟發布了工作流管理系統的參考模型(見圖1),該模型定義了一個基本的工作流管理系統所需要的6個基本模塊,并制定了各模塊之間的接口標準。其基本的模塊功能如下:
1)過程定義工具:為用戶提供一種對實際業務過程進行分析、建模的手段,并生成業務過程的可被計算機處理的形式化描述。
2)工作流執行服務:它借助于一個或多個工作流機,激活并解釋過程定義的全部或部分,并同外部的應用程序進行交互,完成工作流過程實例的創建、執行與管理,為工作流程的運行提供一個運行時環境。
3)其他工作流執行服務:在大型的WfMS中,工作流可能需要多個工作流機共同完成,甚至需要其他異質的工作流執行服務來輔助來完成,這涉及到WfMS系統之間的互聯。
4)客戶應用程序:它給用戶提供一種手段,以處理過程實例運行過程中需要人工干預的任務。每一個這樣的任務就被稱為一個工作項。WfMS為每一個用戶維護一個工作項列表,它表示當前需要該用戶處理的所有任務。
5)被調應用程序:指工作流執行服務在過程實例的運行過程中,調用的、用以對應用數據進行處理的程序。在過程定義中包含這種應用程序的詳細信息,如類型、地址等。
6)管理及監控工具:其功能是對WfMS中過程實例的狀態進行監控與管理,如用戶管理、角色管理、審計管理、資源控制等。
3、基于Web的工作流管理系統的總體結構
體系結構的設計主要遵循如下3條原則:
(1)、基于Internet/Intranet分布式計算環境,面向跨部門、跨企業的分布式工作流管理。
(2)、集成已有的各種信息資源,如電子郵件、文檔管理、圖形瀏覽、資源管理等,充分發揮這些資源的綜合潛力。
(3)、與工作流管理聯盟參考模型保持一致,其中過程定義語言采用XML-WPDL(基于XML的過程定義語言),以利于實現不同企業的WfMS系統的互操作。按照上述原則所設計的Web_WfMS的體系結構如圖2所示:
整個系統的工作方式如下:
(1)、工作流應用建模人員通過Web瀏覽器將過程及表單定義工具從Web服務器上下載下來,完成應用系統的建模,即實際工作流程的定義。建模結果以XML-WPDL文檔保存在服務器中,并可反復修改。
(2)、客戶端用戶通過瀏覽器登錄到Web服務器,此時可以啟動新的流程、處理其工作項等。每個工作項都與一個表單對應。在表單中以各種不同的方式表示需要處理的數據。用戶可以通過客戶端所提供的各種工具(如CAD系統、CAPP系統、字處理系統)對這些數據進行處理。在此過程中可以與數據庫系統進行交互,如查詢數據庫中信息,或將某些應用數據保存到數據庫中等。處理完成之后可將其提交,然后工作流執行機將根據表單中數據生成下一個工作項,并通知相應的用戶進行處理,如此直至整個流程的完成。
(3)、管理人員使用工作流管理監控工具對工作流的運行實例、活動實例的狀態情況進行監控和管理,如掛起、重啟動、終止某個過程實例。
4、基于Web的工作流管理系統的設計原理與實現機制
基于Web_WfMS的總體設計,將從工作流模型、工作流執行機、安全權限控制等3個方面討論本系統的實現機制。
4.1 工作流模型
工作流模型是整個工作流系統設計的基礎,也是過程定義人員進行系統二次開發的基礎,模型描述能力的強弱決定了系統所支持應用范圍以及系統的靈活度。在工作流模型方面,工作流管理聯盟定義的過程元模型定義了6個基本實體:過程定義、活動、轉換條件、工作流相關數據、角色、需要激活的應用程序。
各種不同的建模工具僅是對工作流模型的一種形式化的描述,為了實現不同的WfMS的過程定義能相互交互,在本系統中采用了其于XML的過程定義語言對過程建模進行描述(如圖3)。
下面將分別介紹XML_WPDL的過程定義、活動和轉換條件三種實體的描述。
① 過程定義
4.2.1 工作流機的實現
工作流執行服務是工作流管理系統的核心。工作流執行服務由一個或多個工作流機組成。工作流機實際上是企業經營過程的任務調度器,在某種程序上還是企業資源的分配器。在采用工作流管理系統支持經營過程運行的企業中,工作流機可以看成是企業的業務操作系統(BOS)。工作流機的主要功能是:解釋過程定義、負責調試流程的運行、即創建和管理過程實例運行、調度活動的運行并創建要處理的工作項、維護工作流控制數據和相關數據、維護用戶的工作列表。工作流執行機的結構如圖4所示:
圖4 工作流執行服務的結構圖
其具體的執行過程:工作流機接受從外部接口發送過來有關過程控制的請求(如過程初始化、獲取活動以及結束活動等),然后根據不同的請求類型調用相應的處理模塊完成與本次請求相關的操作并將結果返回。事實上可以將工作流機看成一個多線程的并發服務器,它可以對多個外部請求提供并發服務。對外部請求的處理過程中肯定會涉及到對工作流相關數據的讀寫和更改操作,同時工作流機還維護著工作流的控制數據,通過工作流控制數據來辨別每個過程或活動實例的狀態,并推動著工作流過程的執行。過程、活動、工作項構成了工作流機的主要邏輯。在我們的系統中采用了對象的封裝和繼承的方法,把它包裝為普通的C#類。三個類的定義如下:
(1)、public class WEProInstanceManager {} //工作流執行機的過程實例的管理類
(2)、public class WEActInstanceManager {} //工作流執行機的活動實例的管理類
(3)、public class WEWorkItemManager {} //工作流工作列表管理類
4.2.2 工作流機的異常處理
工作流的錯誤包含兩種錯誤,一是流程錯誤,如活動的執行者不存在,活動的應用程序定義錯誤等;另一類是系統的錯誤,如:網絡不通,數據庫系統異常。對于工作流執行機來說,前類異常是屬于無法處理的錯誤,只能進行錯誤的通知;后者是執行機可以處理的錯誤,如數據庫異?;蜻B接臨時中斷等等,執行機可以進行容錯處理,例如:在數據庫恢復后自動重新建立連接。執行機對可能出現的錯誤進行編碼,并附有對應的描述信息。
在我們的系統中采用了C#的異常處理思想(在C#的編程思想中,系統的錯誤是通過捕獲異常來實現的),拋出的異常通過異常類WEException來描述。WEException類繼承了C#的異常處理類Exception。并覆蓋了Exception類的屬性Message(){get{}},其中WEException類中保存了可識別的異常對照表。在C#的異常處理中,在出錯的地方將異常拋出,不進行處理。異常被拋到更高的層次,直到某個層次能夠進行這種異常的處理。
4.3、工作流管理系統的安全權限控制
工作流管理系統對安全性要求較高,為了達到要求,必須做到充分的安全控制。在我們的系統中,共設置了5層安全控制級別。
1)、用戶鑒定:用戶登陸系統,需要用戶輸入用戶名和密碼,以便確認和登記。
2)、服務器訪問控制:保證只有授權用戶,才可登陸指定的服務器。
3)、數據庫訪問控制:對數據庫的訪問進行控制
4)、文檔訪問控制:對數據庫中的文檔進行權限控制。
5)、文檔中的域訪問控制:對文檔中的部分內容進行控制。通過以上五層安全控制再加上一些安全機制如:系統級權限控制、電子簽名和加密等,使得整個安全機制達到了系統對安全的需要。
5、結束語:
以Web作為工作流管理系統的底層通訊支持使系統具有開放、一致和方便使用的特點,使企業中處于孤島的信息能相互集成。本系統采用的基于XML的過程定義語言的工作流管理系統,不僅適應分布辦公,更以系統開放的環境為實現跨部門、跨企業的供應鏈的不同工作流互操作打下了基礎,使客戶、供應商、或合作者都可以方便的參與企業的工作流,提高工作效率。參考文獻
[1]WfMC,“The Workflow Reference Model”.(WfMC-TC00-1003),Technical Report,Workflow Management Coalition,Hamnshire.1995.[2]史美林、楊光信、向勇等。WFMS:工作流管理系統[J]。計算機學報,1999(3):326~328。
[3]范玉順。工作流管理技術基礎—實現企業經營過程重組與經營過程自動化的核心技術[M].北京:清華大學出版社,2001。
[4]Mohan C.Recent Trendsin Workflow Management Products,Standards, and Research.URLhttp://www.tmdps.cn,1999-10