第一篇:培訓(xùn)管理工作流
培訓(xùn)管理工作流
企業(yè)之間的競(jìng)爭(zhēng)歸根結(jié)底是人才的競(jìng)爭(zhēng),而培訓(xùn)是企業(yè)獲得高質(zhì)量人力資源的重要手段,也是企業(yè)所有投資中風(fēng)險(xiǎn)最小卻收益最大的戰(zhàn)略性投資。于是企業(yè)不僅重視培訓(xùn),而且努力將培訓(xùn)落實(shí)在政策上、制度上,使培訓(xùn)真正成為一項(xiàng)員工看得見(jiàn)、感受得到的投入和收獲。而員工對(duì)企業(yè)的回報(bào)則是勤奮、進(jìn)取、忠誠(chéng)、業(yè)績(jī)。
一般比較優(yōu)秀的企業(yè)都有自己的一套培訓(xùn)機(jī)制,因?yàn)樵谝匀藶楸镜钠髽I(yè)里提高員工的素質(zhì),使之能更好地適應(yīng)工作需要是十分重要的,即使對(duì)員工本人而言,往往也很關(guān)注企業(yè)的培訓(xùn),因?yàn)檫@將擴(kuò)展他們將來(lái)的發(fā)展空間,為他們提供更多的機(jī)會(huì)與選擇。
培訓(xùn)分為入職培訓(xùn)和在職培訓(xùn)。在職培訓(xùn)又分為內(nèi)部培訓(xùn)和外部培訓(xùn)。入職培訓(xùn)主要由公司內(nèi)部人員自行組成。在職培訓(xùn)是對(duì)已在職員工進(jìn)行素質(zhì)提高、技能提高、糾正錯(cuò)誤、傳授方法等的提升性培訓(xùn)。在職培訓(xùn)由公司內(nèi)部人員自行培訓(xùn)的為內(nèi)部培訓(xùn);而由公司聘請(qǐng)第三方培訓(xùn)機(jī)構(gòu)或參與第三方培訓(xùn)機(jī)構(gòu)組織的專業(yè)性、技能性培訓(xùn)為外部培訓(xùn),因參加外部培訓(xùn)而發(fā)生交通費(fèi)、食宿費(fèi)、學(xué)費(fèi)等費(fèi)用必須簽訂《培訓(xùn)協(xié)議書(shū)》。在職培訓(xùn)包括:1轉(zhuǎn)正培訓(xùn);2商學(xué)院培訓(xùn)【包括a心態(tài)培訓(xùn);b人資(績(jī)效培訓(xùn)等)、財(cái)務(wù)、銷售、設(shè)計(jì)、工程等技能、技術(shù)培訓(xùn);c工藝、流程培訓(xùn);d語(yǔ)言培訓(xùn);e儲(chǔ)備干部管理培訓(xùn);f知識(shí)培訓(xùn)、繼續(xù)再教育培訓(xùn);g安全培訓(xùn)、應(yīng)急預(yù)案培訓(xùn)、三級(jí)安全教育培訓(xùn);h質(zhì)量培訓(xùn);i :6S培訓(xùn);j貫標(biāo)體系認(rèn)證培訓(xùn)、一體化(手冊(cè))培訓(xùn);k法律法規(guī)培訓(xùn)等】;3過(guò)錯(cuò)再教育培訓(xùn);
4、基層下放深造培訓(xùn)。
一、員工培訓(xùn)的概念和目的培訓(xùn)是教給新員工或現(xiàn)有員工完成其本職工作技能的過(guò)程。從廣義上說(shuō),培訓(xùn)和開(kāi)發(fā)是分不開(kāi)的,它們構(gòu)成了人力資源開(kāi)發(fā)的主要內(nèi)容。人力資源開(kāi)發(fā)是企業(yè)通過(guò)培訓(xùn)和開(kāi)發(fā)而改進(jìn)員工能力水平和工作績(jī)效水平的有計(jì)劃的、持續(xù)性的工作。這里的培訓(xùn),著眼于短期技能的提高;開(kāi)發(fā),著眼于未來(lái)知識(shí)和能力的提高,強(qiáng)調(diào)長(zhǎng)遠(yuǎn)目標(biāo)。大致來(lái)講員工培訓(xùn)主要是達(dá)成這樣三個(gè)目的:第一,訓(xùn)練員工使其成為辦事能力很強(qiáng)的人,給予員工實(shí)際學(xué)習(xí)的機(jī)會(huì),同時(shí)訓(xùn)練員工成為一個(gè)行事謹(jǐn)慎的人。第二,增進(jìn)員工們的團(tuán)結(jié)精神以及相互間的信賴關(guān)系,從而促進(jìn)企業(yè)的發(fā)展,形成企業(yè)的文化。第三,培訓(xùn)員工成為企業(yè)提高競(jìng)爭(zhēng)力的法寶之一。事實(shí)上訓(xùn)練員工成為優(yōu)秀人才已是企業(yè)界的重要方針,是企業(yè)的長(zhǎng)期計(jì)劃和戰(zhàn)略方針。
二、培訓(xùn)的誤區(qū)
1、盲目培訓(xùn),培訓(xùn)項(xiàng)目沒(méi)有針對(duì)性;
2、培訓(xùn)只是人力資源部的事情;
3、培訓(xùn)只是技能或理論的培訓(xùn);
4、只對(duì)中層以下員工培訓(xùn),忽視對(duì)高層培訓(xùn),或者籠統(tǒng)培訓(xùn)管理層,員工的素質(zhì)愈來(lái)愈高,而管理者卻沒(méi)有得到應(yīng)有的提升;
5、輕視培訓(xùn)后期監(jiān)督和人才提拔,造成培訓(xùn)后人才流失;
6、認(rèn)為培訓(xùn)是一種形式,忽略了員工參加培訓(xùn)的意義和責(zé)任;
7、監(jiān)督手段不力,溝通渠道不暢和培訓(xùn)方法不當(dāng)?shù)仍?,造成培?xùn)效果事半功倍。
8、培訓(xùn)缺少有效的評(píng)估機(jī)制,培訓(xùn)成果缺乏轉(zhuǎn)化環(huán)境,造成培訓(xùn)與實(shí)際工作脫節(jié),以至于員工認(rèn)為培訓(xùn)的意義不大;
9、培訓(xùn)是萬(wàn)能的,只要出現(xiàn)問(wèn)題就想到培訓(xùn)。
三、培訓(xùn)需求分析
1、新員工入職更容易切入。
2、晉升的需要。
3、非技術(shù)人員對(duì)技術(shù)的需要
4、知識(shí)獲取和拓展需要。
5、公司戰(zhàn)略目標(biāo)達(dá)成的需要
6、業(yè)務(wù)拓展的需要
7、工作態(tài)度轉(zhuǎn)變的洗禮
8、過(guò)錯(cuò)教育需要
9、管理人員到基層一線鍍金后再提升的需要
10、輪崗的需要
11、興趣培訓(xùn)的需要
12、潛能評(píng)估后的需要
13、轉(zhuǎn)正面試測(cè)評(píng)后的培訓(xùn)需要
四、入職培訓(xùn)
1、入職培訓(xùn)內(nèi)容:
(1)公司簡(jiǎn)介、產(chǎn)品簡(jiǎn)介、企業(yè)文化、組織架構(gòu)闡述。(2)晉升、績(jī)效、薪酬、培訓(xùn)、梯隊(duì)建設(shè)的引導(dǎo)闡述。
(3)與其崗位相關(guān)的規(guī)章制度(須簽字確認(rèn))、試用期解除條件告知(須簽字確認(rèn))、轉(zhuǎn)正日期及需本人提出轉(zhuǎn)正申請(qǐng)書(shū)面告知義務(wù)。
(4)日常工作、生活的告知及注意事項(xiàng)(工作時(shí)間、考勤方式、辦公用品領(lǐng)取方法、財(cái)務(wù)借款及報(bào)銷辦法、公章使用辦法、工作服及勞保用品、就餐建議方式、宿舍需求等)。
(5)商務(wù)禮儀培訓(xùn)。(6)安全教育培訓(xùn)。
(7)6S和貫標(biāo)體系的簡(jiǎn)要培訓(xùn)。
(8)到人員需求部門(mén)接受崗位帶訓(xùn)、工作內(nèi)容、崗位職責(zé)、工作流程、常用文件、操作規(guī)程、工藝流程
g、設(shè)備使用 h、現(xiàn)場(chǎng)操作
2、入職培訓(xùn)的責(zé)任部門(mén)(成立培訓(xùn)小組)(1)-(5):人資行政部(6):安環(huán)部(7):人資行政部
(8):人員需求部門(mén),由部門(mén)領(lǐng)導(dǎo)指定專人帶訓(xùn)
3、入職培訓(xùn)時(shí)間:(1)-(7):1-2個(gè)工作日
(8):由人員需求部門(mén)制定帶訓(xùn)計(jì)劃
4、入職培訓(xùn)的考核控制方式:現(xiàn)場(chǎng)講解,現(xiàn)場(chǎng)口試,推薦集體口試方式,增加其他學(xué)員的印象,目的是讓新員工記住而不是筆試分?jǐn)?shù)??谠噧?nèi)容根據(jù)講課的內(nèi)容隨機(jī)抽取,即興提問(wèn)。
五、在職培訓(xùn)
(一)轉(zhuǎn)正培訓(xùn)
1、轉(zhuǎn)正培訓(xùn)內(nèi)容:(1)工作內(nèi)容的重新安排。
(2)轉(zhuǎn)正測(cè)評(píng)人員對(duì)其工作方法的建議和意見(jiàn)。(3)晉升、績(jī)效、薪酬、培訓(xùn)、梯隊(duì)建設(shè)的詳細(xì)培訓(xùn)。
2、轉(zhuǎn)正培訓(xùn)的責(zé)任部門(mén)(1):轉(zhuǎn)正人員所在部門(mén)領(lǐng)導(dǎo)(2):轉(zhuǎn)正測(cè)評(píng)人員(3):人資行政部
3、轉(zhuǎn)正培訓(xùn)時(shí)間:1個(gè)工作日。
4、轉(zhuǎn)正培訓(xùn)的考核控制方式:現(xiàn)場(chǎng)講解,現(xiàn)場(chǎng)口試,口試內(nèi)容根據(jù)講課的內(nèi)容隨機(jī)抽取,即興提問(wèn)。
5、該培訓(xùn)只針對(duì)辦公室人員及管理人員。
(二)商學(xué)院培訓(xùn)
1、商學(xué)院培訓(xùn)的內(nèi)容
(1)心態(tài)培訓(xùn):心態(tài)調(diào)整、思想教育等激勵(lì)性培訓(xùn)課程;
(2)人資(績(jī)效培訓(xùn)等)、財(cái)務(wù)、銷售、設(shè)計(jì)、工程等技能、技術(shù)培訓(xùn);(3)工藝、流程培訓(xùn);
(4)語(yǔ)言培訓(xùn):英語(yǔ)、日語(yǔ)口語(yǔ)加強(qiáng)、專業(yè)術(shù)語(yǔ)培訓(xùn)等;
(5)儲(chǔ)備干部管理培訓(xùn):管理人員的管理技巧、管理理念、管理方式、自我控制能力、人際交往能力、治理能力、溝通技巧、傾聽(tīng)技巧、會(huì)議技巧、領(lǐng)導(dǎo)決策指揮控制力、領(lǐng)導(dǎo)藝術(shù)等培訓(xùn);
(6)知識(shí)培訓(xùn)、繼續(xù)再教育培訓(xùn);
(7)安全培訓(xùn)、應(yīng)急預(yù)案培訓(xùn)、三級(jí)安全教育培訓(xùn);
(8)質(zhì)量培訓(xùn);(9)6S培訓(xùn);
(10)貫標(biāo)體系認(rèn)證培訓(xùn)、一體化(手冊(cè))培訓(xùn);(11)法律法規(guī)培訓(xùn)等。
2、商學(xué)院培訓(xùn)時(shí)間:每周1-2次,無(wú)特殊情況定于每周三下午及每周六下午1:30-3:30。
3、商學(xué)院的授課方式
商學(xué)院的授課方式包括:a公司內(nèi)部員工自行授課、b公司內(nèi)部學(xué)習(xí)討論會(huì)、c外聘講師到公司授課、d網(wǎng)絡(luò)視頻教學(xué)、e參加外部機(jī)構(gòu)培訓(xùn)五種方式。前四種方式定義為在職培訓(xùn)之內(nèi)部培訓(xùn)。后一種方式定義為在職培訓(xùn)之外部培訓(xùn)。
(三)過(guò)錯(cuò)再教育培訓(xùn)
1、再教育培訓(xùn)的內(nèi)容:(1)工作心態(tài)的調(diào)整;(2)公司制度培訓(xùn);(3)公司企業(yè)文化培訓(xùn);(4)錯(cuò)誤點(diǎn)的改正;(5)工作技巧;(6)現(xiàn)場(chǎng)強(qiáng)化訓(xùn)練。
2、再教育培訓(xùn)的責(zé)任部門(mén)(1)-(3):人資行政部
(4)-(6):本職部門(mén)領(lǐng)導(dǎo)或領(lǐng)導(dǎo)指派講師
3、過(guò)錯(cuò)再教育培訓(xùn)時(shí)間:1-3日。過(guò)錯(cuò)培訓(xùn)期間無(wú)工資并簽訂同意書(shū)。
4、再教育培訓(xùn)的考核控制方式:現(xiàn)場(chǎng)講解,現(xiàn)場(chǎng)口試,口試內(nèi)容根據(jù)講課的內(nèi)容隨機(jī)抽取,即興提問(wèn),并要求訂立軍令狀或保證書(shū)。
(四)基層下放深造培訓(xùn)
1、基層下放深造培訓(xùn)內(nèi)容(1)安全培訓(xùn)(2)質(zhì)量培訓(xùn)
(3)到項(xiàng)目工程一線學(xué)習(xí)
(4)深造流程及深造結(jié)束后的工作安排細(xì)節(jié)
2、下放深造培訓(xùn)的責(zé)任部門(mén)(1)-(3):工程部
(4):深造人員本職崗位所在的部門(mén)
3、下放深造培訓(xùn)時(shí)間:由其直屬領(lǐng)導(dǎo)制定,報(bào)公司總經(jīng)理審批。
六、培訓(xùn)檔案的管理
1、培訓(xùn)課程視頻由人事專員統(tǒng)一錄制并存檔。
2、培訓(xùn)書(shū)面材料及電子文件由人事專員統(tǒng)一管理并存檔。
3、《培訓(xùn)簽到表》等相關(guān)資料由人事專員負(fù)責(zé)追蹤簽字,并由人事專員統(tǒng)一管理并存檔。
4、《培訓(xùn)協(xié)議書(shū)》由人事專員負(fù)責(zé)簽訂,凡參加外部培訓(xùn)需要費(fèi)用的必須到人事專員處簽訂協(xié)議書(shū),協(xié)議書(shū)由人事專員負(fù)責(zé)存檔。
第二篇:工作流管理系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
工作流管理系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
2010-04-30
清華領(lǐng)導(dǎo)力培訓(xùn)
機(jī)電之家
本文主要從三個(gè)層次深入介紹了工作流管理系統(tǒng)結(jié)構(gòu),工作流管理系統(tǒng)將最終成為覆蓋于各類臺(tái)式機(jī)與網(wǎng)絡(luò)操作系統(tǒng)之上的業(yè)務(wù)操作系統(tǒng),但工作流技術(shù)目前還不夠完善。深入研究工作流管理系統(tǒng)模型和各大主流工作流管理系統(tǒng)基礎(chǔ)上設(shè)計(jì)一套全面系統(tǒng)結(jié)構(gòu)。
工作流管理系統(tǒng)是一個(gè)軟件系統(tǒng),它完成工作量的定義和管理,并按照在系統(tǒng)中預(yù)先定義好的工作流邏輯進(jìn)行工作流實(shí)例的執(zhí)行。工作流管理系統(tǒng)不是企業(yè)的業(yè)務(wù)系統(tǒng),而是為企業(yè)的業(yè)務(wù)系統(tǒng)的運(yùn)行提供了一個(gè)軟件的支撐環(huán)境。
目前已有上百種聲稱具有工作流管理功能的商品化軟件或原型系統(tǒng)。為了對(duì)這些系統(tǒng)的功能、特點(diǎn)等有一具清晰的認(rèn)識(shí),可以根據(jù)工作流過(guò)程本身的特點(diǎn)、系統(tǒng)建模的方式、所使用的底層支撐技術(shù)、以及工作流過(guò)程的執(zhí)行方式等的不同而對(duì)它們進(jìn)行相應(yīng)的分類如下:
1、結(jié)構(gòu)化的與即席的
結(jié)構(gòu)化工作流指的是在實(shí)際工作過(guò)程中會(huì)反復(fù)重復(fù)、嚴(yán)格按照某個(gè)固定的步驟進(jìn)行的業(yè)務(wù)過(guò)程。定義此種工作流所需要的各種類型的信息可以通過(guò)對(duì)業(yè)務(wù)過(guò)程進(jìn)行詳細(xì)的分析而得到,從而得到完整的過(guò)程定義并在以后的應(yīng)用過(guò)程中反復(fù)使用。大量的辦公程序,如公文處理、審批等都屬此類。即席工作流則是針對(duì)那些重復(fù)性不是很強(qiáng)或沒(méi)有重復(fù)性的工作流程的,關(guān)于這類流程執(zhí)行所需的有關(guān)參數(shù)(如參加者等)事先無(wú)法確定,而必須推遲到過(guò)程實(shí)例運(yùn)行時(shí)才能確定,同時(shí)在執(zhí)行過(guò)程中間還可能會(huì)發(fā)生一些意外的情況。這種動(dòng)態(tài)多變的特點(diǎn)在提供更高靈活性的同時(shí),也為過(guò)程的建模與執(zhí)行帶來(lái)更多的復(fù)雜性。
2、面向文檔的與面向過(guò)程的
前者的側(cè)著點(diǎn)在于將電子形式的文檔、圖像等在有關(guān)的人員之間進(jìn)行分發(fā),以便能夠得到不同人的處理與審閱。現(xiàn)有的文檔管理與映像管理系統(tǒng)均屬此類。在面向過(guò)程的WfMS中,工作流被描述成一序列執(zhí)行環(huán)節(jié)。與各環(huán)節(jié)相應(yīng)都有待處理的數(shù)據(jù)對(duì)象。各環(huán)節(jié)的數(shù)據(jù)對(duì)象可以按不同的方式分發(fā)到其他環(huán)節(jié)中去,如可以將數(shù)據(jù)對(duì)象的值作為控制條件、或者依此數(shù)據(jù)對(duì)象組裝成其他的數(shù)據(jù)對(duì)象等。高端的WfMS一般都屬此類系統(tǒng)。
3、基于郵件和基于數(shù)據(jù)庫(kù)
前者使用電子郵件來(lái)完成過(guò)程實(shí)例執(zhí)行過(guò)程中消息的傳遞、數(shù)據(jù)的分發(fā)與事件的通知。低端的系統(tǒng)所使用的經(jīng)常就是此種方法,它可以充分發(fā)揮電子郵件系統(tǒng)在廣域環(huán)境下的數(shù)據(jù)分發(fā)功能,但整個(gè)系統(tǒng)將運(yùn)行于一種松散耦合的模式下。在基于數(shù)據(jù)庫(kù)的WfMS中,所有的數(shù)據(jù)都保存在某種類型的DBMS中,過(guò)程的執(zhí)行實(shí)際上就是對(duì)這些數(shù)據(jù)的查詢與處理。高端的大規(guī)模系統(tǒng)所使用的一般都是此種方法。
4、任務(wù)推動(dòng)的與目標(biāo)拉動(dòng)的
前者指的是從過(guò)程的開(kāi)始逐步地一個(gè)環(huán)節(jié)一個(gè)環(huán)節(jié)的執(zhí)行,當(dāng)某個(gè)活動(dòng)實(shí)例被處理完之后,后續(xù)的有關(guān)活動(dòng)將被創(chuàng)建并被激活,由此直至整個(gè)工作流程的完成。這是目前大多數(shù)面向過(guò)程的WfMS所使用的執(zhí)行方式。而在目標(biāo)拉動(dòng)的WfMS中,一個(gè)業(yè)務(wù)流程被看成是一個(gè)目標(biāo)。過(guò)程實(shí)例執(zhí)行時(shí),該目標(biāo)將被分解得到多個(gè)相互之間按一定約束條件的關(guān)聯(lián)起來(lái)的可執(zhí)行的多個(gè)環(huán)節(jié),其中各環(huán)節(jié)還可以當(dāng)成是子目標(biāo)而進(jìn)一步進(jìn)行分解。在各環(huán)節(jié)均執(zhí)行完畢之后,整個(gè)過(guò)程也就完成了。目標(biāo)拉動(dòng)是一種全新的執(zhí)行方式,下一代的WfMS將具有此種特征。應(yīng)該說(shuō)明的是:上述分類只是從不同的角度入手的。一般來(lái)說(shuō),后面那些特點(diǎn)將給WfMS帶來(lái)更好的靈活性,同時(shí)也將成為那些能夠支持跨機(jī)構(gòu)的大規(guī)模復(fù)雜工作流管理、面向關(guān)鍵任務(wù)的WfMS不可缺少的特征。
工作流管理系統(tǒng)將最終成為覆蓋于各類臺(tái)式機(jī)與網(wǎng)絡(luò)操作系統(tǒng)之上的業(yè)務(wù)操作系統(tǒng),但工作流技術(shù)目前還不夠完善。本文深入研究工作流管理系統(tǒng)模型和各大主流工作流管理系統(tǒng)的基礎(chǔ)上設(shè)計(jì)了一套功能全面的工作流管理系統(tǒng)體系結(jié)構(gòu)。本文主要從該體系結(jié)構(gòu)的三個(gè)層次深入介紹了該系統(tǒng)結(jié)構(gòu)。
1、引言
在一個(gè)組織內(nèi)部存在著兩種信息:一種是數(shù)據(jù)信息,另一種是業(yè)務(wù)信息。在組織之間也同樣存在著兩種信息:一種是數(shù)據(jù)信息,另一種是業(yè)務(wù)往來(lái)信息。如果這兩種信息用計(jì)算機(jī)系統(tǒng)來(lái)管理,前一種屬于組織內(nèi)部的信息系統(tǒng),后一種屬于B2B電子商務(wù)系統(tǒng)。目前對(duì)數(shù)據(jù)信息的計(jì)算機(jī)管理系統(tǒng)(即:數(shù)據(jù)庫(kù)管理系統(tǒng))經(jīng)過(guò)多年的發(fā)展已經(jīng)成熟。對(duì)業(yè)務(wù)過(guò)程的計(jì)算機(jī)管理系統(tǒng)由于比較復(fù)雜,可變因素較多,難度大,因此發(fā)展還不成熟。工作流技術(shù)作為現(xiàn)代組織實(shí)現(xiàn)過(guò)程管理與過(guò)程控制的一項(xiàng)關(guān)鍵技術(shù),為組織的業(yè)務(wù)處理過(guò)程提供了一個(gè)從模型建立、管理到運(yùn)行、分析的完整框架。同時(shí),工作流管理系統(tǒng)(Workflow Management System,WFMS)通過(guò)一套集成化、可互操作的軟件工具為這個(gè)框架提供了全過(guò)程的支持。Thomas Koulopoulos曾預(yù)言:工作流管理系統(tǒng)將最終成為覆蓋于各類臺(tái)式機(jī)與網(wǎng)絡(luò)操作系統(tǒng)(如:Windows,Unix,Windows NT)之上的業(yè)務(wù)操作系統(tǒng)BOS(Business Operating System),它將帶來(lái)操作系統(tǒng)的一次革命。但是目前工作流技術(shù)無(wú)論從理論上還是從實(shí)踐都還不夠完善,要實(shí)現(xiàn)Thomas Koulopoulos的預(yù)言可能還需有一段路要走。本文主要介紹了由作者獨(dú)立設(shè)計(jì)一套工作流管理系統(tǒng)體系結(jié)構(gòu),以供工作流技術(shù)愛(ài)好者參考。
2、工作流管理系統(tǒng)的基本概念
顧名思義,工作流就是工作任務(wù)在多個(gè)人或單位之間的流轉(zhuǎn)。在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境下,這種流轉(zhuǎn)實(shí)際上表現(xiàn)為信息或數(shù)據(jù)在多個(gè)人之間的傳送。工作流管理聯(lián)盟(Workflow Management Coalition,WfMC)對(duì)工作流的定義是:“業(yè)務(wù)過(guò)程的部分或全部在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化”。她所要解決的主要問(wèn)題是,“使在多個(gè)參與者之間按照某種預(yù)定義規(guī)則傳遞的文檔、信息或任務(wù)的過(guò)程自動(dòng)進(jìn)行,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者是促使此目標(biāo)的實(shí)現(xiàn)”。
工作流管理系統(tǒng)就是通過(guò)管理一序列的工作活動(dòng)以及相關(guān)人員、資源、信息技術(shù)資料來(lái)提供業(yè)務(wù)處理程序上的自動(dòng)控制。工作流管理系統(tǒng)通過(guò)計(jì)算機(jī)軟件來(lái)定義、管理和執(zhí)行工作流程。在工作流管理系統(tǒng)中計(jì)算機(jī)運(yùn)用程序的執(zhí)行順序是由工作流邏輯的計(jì)算機(jī)描述來(lái)驅(qū)動(dòng)的。她的主要目標(biāo)是對(duì)業(yè)務(wù)過(guò)程中各步驟(或稱活動(dòng)、環(huán)節(jié))發(fā)生的先后次序,以及同各個(gè)步驟相關(guān)的人力、資源、信息資料的調(diào)用等進(jìn)行管理,從而實(shí)現(xiàn)業(yè)務(wù)過(guò)程的自動(dòng)化。當(dāng)然這種管理可能會(huì)在不同的信息及通信環(huán)境下實(shí)現(xiàn),所涉及的范圍可以小至一個(gè)只有幾人的工作組,也可以大到政府、企業(yè)組織各個(gè)機(jī)構(gòu)之間。工作流管理系統(tǒng)將人員、組織結(jié)構(gòu)、設(shè)備資源、信息源(如數(shù)據(jù)庫(kù)、文件系統(tǒng)、電子郵件、計(jì)算機(jī)輔助設(shè)計(jì)工具等)整和成一個(gè)整體。這樣,工作流管理系統(tǒng)就成為了一個(gè)理想的用來(lái)收容業(yè)務(wù)邏輯的業(yè)務(wù)知識(shí)倉(cāng)庫(kù),并給予業(yè)務(wù)邏輯一個(gè)易操作易控制的界面。
工作流管理系統(tǒng)的最大優(yōu)點(diǎn)就是實(shí)現(xiàn)具體應(yīng)用邏輯和過(guò)程邏輯的分離,實(shí)現(xiàn)在不修改具體功能的情況下,通過(guò)修改業(yè)務(wù)流程模板來(lái)改變系統(tǒng)的功能,完成對(duì)組織生產(chǎn)經(jīng)營(yíng)過(guò)程的部分業(yè)務(wù)或全部業(yè)務(wù)的集成管理,有效的把人力資源、物質(zhì)資源和信息組織在一起,發(fā)揮最大的效能。
3、工作流管理系統(tǒng)體系結(jié)構(gòu)
工作流管理系統(tǒng)在實(shí)際運(yùn)用中一般分為三個(gè)階段:工作流建模階段,工作流模型實(shí)例化階段和工作流執(zhí)行階段,如圖1。在工作流建模階段主要通過(guò)工作流建模工具完成業(yè)務(wù)流程的模型建立,將實(shí)際的業(yè)務(wù)操作流程轉(zhuǎn)為為計(jì)算機(jī)可模擬處理的工作流模型;在模型實(shí)例化階段主要通過(guò)工作流引擎完成具體業(yè)務(wù)流程的實(shí)例化,為具體業(yè)務(wù)流程辦理流轉(zhuǎn)提供工作流相關(guān)數(shù)據(jù)和工作流控制數(shù)據(jù),并為業(yè)務(wù)流程的辦理提供所需要資源(如人力資源和物料、設(shè)備資源等); 工作流執(zhí)行階段主要完成業(yè)務(wù)流程的執(zhí)行,重點(diǎn)是完成人機(jī)交互和系統(tǒng)內(nèi)部應(yīng)用或外部應(yīng)用程序的調(diào)用。
圖
1、實(shí)施的三個(gè)步驟
根據(jù)工作流的三個(gè)階段的分工,工作流管理系統(tǒng)結(jié)構(gòu)可以分為過(guò)程設(shè)計(jì)定義功能、運(yùn)行控制功能和運(yùn)行交互接口三個(gè)層次的功能,如圖2。
4、過(guò)程設(shè)計(jì)定義功能
過(guò)程設(shè)計(jì)定義功能主要作業(yè)務(wù)處理流程的計(jì)算機(jī)定義,她提供了一種分析、建模、系統(tǒng)定義技術(shù),將一個(gè)現(xiàn)實(shí)世界的業(yè)務(wù)處理過(guò)程轉(zhuǎn)換成計(jì)算機(jī)可處理的定義;最終的定義叫作工作流模型、過(guò)程模版或過(guò)程定義,她可以用圖形符號(hào)進(jìn)行表示。工作流管理系統(tǒng)結(jié)構(gòu)這一層次主要包括以下功能:業(yè)務(wù)建模與信息建模、組織管理、資源管理、內(nèi)部應(yīng)用開(kāi)發(fā)工具、數(shù)據(jù)窗口開(kāi)發(fā)工具、工作流定義等功能。
4.1業(yè)務(wù)建模與信息建模
業(yè)務(wù)流程是由各業(yè)務(wù)環(huán)節(jié)連接而成,而每一個(gè)業(yè)務(wù)環(huán)節(jié)都由多個(gè)相互關(guān)聯(lián)、不同層次的要素構(gòu)成。在業(yè)務(wù)建模時(shí)可自頂向下的將業(yè)務(wù)流程中各個(gè)業(yè)務(wù)環(huán)節(jié)最終分解成一系列的原子任務(wù)。所謂原子任務(wù),即將有可能發(fā)生的每筆業(yè)務(wù)進(jìn)行原子化分解,細(xì)分到不能再分割的操作單元,每個(gè)操作單元即是一個(gè)原子任務(wù)。任務(wù)之間的相互聯(lián)結(jié)也將最終轉(zhuǎn)化為數(shù)據(jù)流、信息流、協(xié)作流、資源流。這樣各個(gè)原子任務(wù)的控制連接,就成為了工作流模型。因此,工作流是企業(yè)中過(guò)程流、數(shù)據(jù)流、信息流、協(xié)作流、資源流等各種流的綜合集成。業(yè)務(wù)建模工具主要提供流程定義開(kāi)發(fā)人員便捷的與數(shù)據(jù)流圖工具或活動(dòng)圖等流程描述工具類似的業(yè)務(wù)流程分析工具。
業(yè)務(wù)模型是信息模型的出發(fā)點(diǎn)。信息模型說(shuō)明了業(yè)務(wù)處理對(duì)象中所包含的信息,或者說(shuō)執(zhí)行具體功能的活動(dòng)的輸入、輸出數(shù)據(jù)、以及這些數(shù)據(jù)之間的邏輯關(guān)系。信息建模工具可提供使用E-R圖方法構(gòu)建信息系統(tǒng)的邏輯數(shù)據(jù)模型;根據(jù)實(shí)際選用的數(shù)據(jù)庫(kù)管理系統(tǒng),建立適用于該數(shù)據(jù)庫(kù)管理系統(tǒng)的物理數(shù)據(jù)模型,同時(shí)可生成目標(biāo)數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)庫(kù)創(chuàng)建腳本。信息模型是個(gè)兩層次的建立過(guò)程,先建立邏輯模型,再建立物理模型。邏輯模型支持?jǐn)?shù)據(jù)的概念模式,它從抽象的層次上反映內(nèi)部數(shù)據(jù)間的關(guān)聯(lián),不管具體的數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)存儲(chǔ)方式等等。物理模型支持?jǐn)?shù)據(jù)庫(kù)的物理設(shè)計(jì),它與具體選定的數(shù)據(jù)庫(kù)類型密切相關(guān)。
4.2組織管理
在組織單位中組織結(jié)構(gòu)是信息決策、任務(wù)執(zhí)行和監(jiān)督管理等重要活動(dòng)的載體,組織結(jié)構(gòu)揭示了組織單位人員管理的層次,反映了人與工作、決策、責(zé)權(quán)之間的聯(lián)系。因此,組織結(jié)構(gòu)對(duì)于一個(gè)組織單位中如何完成業(yè)務(wù)流程的建模和提高管理、生產(chǎn)效率是至關(guān)重要的。組織結(jié)構(gòu)、工作流、過(guò)程建模等概念的提出,為描述組織單位業(yè)務(wù)流程提供了有力的工具,也使過(guò)程到組織的映射模型的建立成為可能。
工作流管理系統(tǒng)結(jié)構(gòu)提供了組織管理功能,用于定義業(yè)務(wù)單位的組織架構(gòu)和人員管理職責(zé)分配等工作。為工作流模型的定義和工作流的實(shí)例化、執(zhí)行提供人力資源約束和支持。
4.3資源管理
資源是進(jìn)行生產(chǎn)經(jīng)營(yíng)不可缺少的物資因素,在工作流的執(zhí)行過(guò)程,必須得到企業(yè)資源的支持,相應(yīng)的組織實(shí)體才能夠按照要求完成活動(dòng)。同時(shí),工作流要保證將正確的信息和資源在正確的時(shí)刻以正確的方式送給正確的小組或成員。
工作流管理系統(tǒng)結(jié)構(gòu)提供了資源管理功能,用于建立組織單位的資源模型,表示組織單位的資源結(jié)構(gòu)和配置情況,描述組織單位各種資源對(duì)象之間的聯(lián)系和關(guān)系,為工作流模型提供資源約束和支持。
4.4內(nèi)部應(yīng)用開(kāi)發(fā)工具
工作流管理系統(tǒng)結(jié)構(gòu)提供了圖形化應(yīng)用開(kāi)發(fā)工具,用戶可以使用圖形化設(shè)計(jì)方法,開(kāi)發(fā)出動(dòng)態(tài)頁(yè)面應(yīng)用,其結(jié)果可保存為html或jsp或其他可直接調(diào)度執(zhí)行的運(yùn)用程序。這些內(nèi)部應(yīng)用程序具有數(shù)據(jù)庫(kù)訪問(wèn)能力,能夠訪問(wèn)或存儲(chǔ)工作流相關(guān)數(shù)據(jù)和控制數(shù)據(jù)。在流程定義時(shí)流程開(kāi)發(fā)人員可以直接設(shè)計(jì)并提供流程節(jié)點(diǎn)預(yù)調(diào)用。運(yùn)行時(shí)用戶可以在任務(wù)列表中直接調(diào)用,執(zhí)行所需完成的工作。它的最大的優(yōu)點(diǎn)是讓開(kāi)發(fā)人員避免了復(fù)雜業(yè)務(wù)處理應(yīng)用程序的開(kāi)發(fā)。
4.5數(shù)據(jù)窗口開(kāi)發(fā)工具
工作流管理系統(tǒng)結(jié)構(gòu)提供了圖形化設(shè)計(jì)復(fù)雜報(bào)表頁(yè)面的能力,可設(shè)計(jì)任意復(fù)雜的報(bào)表,并可畫(huà)出各種統(tǒng)計(jì)分析圖并能夠使用多種形式輸出。在流程定義時(shí)數(shù)據(jù)窗口開(kāi)發(fā)工具就像內(nèi)部應(yīng)用開(kāi)發(fā)工具一樣可以由用戶自行定義并提供流程節(jié)點(diǎn)預(yù)調(diào)用。當(dāng)流程實(shí)例運(yùn)用到指定節(jié)點(diǎn)時(shí),用戶可以直接調(diào)用該數(shù)據(jù)窗口以用戶所需要的形式展現(xiàn)相關(guān)信息內(nèi)容。
4.6工作流建模工具
工作流建模工具以工作流元模型為基礎(chǔ),通過(guò)分析不同類型的業(yè)務(wù)過(guò)程,采用有向圖的方法對(duì)現(xiàn)實(shí)的業(yè)務(wù)活動(dòng)進(jìn)行形式化描述,建立業(yè)務(wù)過(guò)程到工作流模型的映射機(jī)制。對(duì)于建模工具而言一方面為用戶提供了一個(gè)建立規(guī)范的業(yè)務(wù)過(guò)程的接口,另一方面,所建立的工作流過(guò)程可以存儲(chǔ)于工作流庫(kù)中作為工作流引擎的輸入,投入運(yùn)轉(zhuǎn)、執(zhí)行并接受監(jiān)控。建模工具的主要包含以下功能:
提供建立工作流模型所需的各類基本元素,比如活動(dòng)、子過(guò)程、連接弧等;
支持圖形用戶界面的基本操作,比如鼠標(biāo)的點(diǎn)擊與拖動(dòng);
提供用戶定義各模型單元屬性的對(duì)話框;
模型的保存與讀?。?/p>
支持多層次建模;
與外部自動(dòng)應(yīng)用的接口;
4.7工作流模型庫(kù)
工作流模型庫(kù)主要用于保存和管理已定義完成的工作流模型。在工作流程啟動(dòng)時(shí)工作流引擎將直接加載并將其實(shí)例化,同時(shí)為工作流的流轉(zhuǎn)提供基礎(chǔ)模板。
5、運(yùn)行控制功能
運(yùn)行控制功能主要對(duì)工作流模型的定義進(jìn)行解釋,創(chuàng)建并控制過(guò)程的運(yùn)行實(shí)例,調(diào)度過(guò)程的各種行為步驟,調(diào)用適當(dāng)?shù)娜肆?、資源和應(yīng)用程序以完成任務(wù)的執(zhí)行。工作流管理系統(tǒng)的核心部件就是工作流管理控制軟件——工作流引擎。工作流管理系統(tǒng)結(jié)構(gòu)在這一層次的主要包括:工作流引擎和工作流監(jiān)控管理2部分。
5.1工作流引擎
工作流引擎可以說(shuō)是工作流管理系統(tǒng)的心臟。一個(gè)工作流管理系統(tǒng)通常可以包括一個(gè)或多個(gè)工作流引擎,不同工作流引擎通過(guò)協(xié)作共同執(zhí)行工作流程。工作流引擎實(shí)際上是經(jīng)營(yíng)過(guò)程的任務(wù)調(diào)度器,在某種程度上還是資源的分配器。在采用工作流管理系統(tǒng)支持經(jīng)營(yíng)過(guò)程中,工作流引擎可以看成是一個(gè)業(yè)務(wù)操作系統(tǒng)BOS(Business Operating System)。業(yè)務(wù)過(guò)程在她的管理、監(jiān)控之下運(yùn)行,因此工作流引擎的性能和可靠性就直接決定了業(yè)務(wù)過(guò)程的運(yùn)行效率和安全性。
5.2工作流監(jiān)控管理
系統(tǒng)管理與監(jiān)控是工作流系統(tǒng)一個(gè)非常重要的功能。工作流系統(tǒng)管理與監(jiān)控工具能夠?qū)ぷ髁髟谡麄€(gè)組織內(nèi)部的流動(dòng)狀況進(jìn)行監(jiān)視,并提供一系列的管理功能,實(shí)現(xiàn)安全性、過(guò)程控制和授權(quán)操作等方面的管理。它包括以下幾個(gè)方面的功能:
1)建立、設(shè)置和優(yōu)化組成工作流管理系統(tǒng)的各個(gè)軟件。
2)對(duì)過(guò)程模型進(jìn)行實(shí)例化。
3)將過(guò)程模型中的角色實(shí)例化。
4)將運(yùn)行中的過(guò)程實(shí)例、活動(dòng)實(shí)例和數(shù)據(jù)分發(fā)到各個(gè)工作流機(jī)中。
5)啟動(dòng)、掛起、恢復(fù)和終止過(guò)程實(shí)例。
6)管理正在執(zhí)行的過(guò)程實(shí)例,并對(duì)正常結(jié)束或異常退出的過(guò)程實(shí)例的歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析。
6、運(yùn)行交互接口
運(yùn)行交互接口主要提供工作流管理系統(tǒng)與人員或應(yīng)用程序工具的交互接口來(lái)處理各種活動(dòng)步驟。交互接口對(duì)于活動(dòng)間的控制傳遞是必須的,如確定過(guò)程的狀態(tài),調(diào)用應(yīng)用程序工具,傳遞應(yīng)用程序數(shù)據(jù)等。
7、結(jié)論
該工作流管理系統(tǒng)體系結(jié)構(gòu)是作者深入研究了工作流管理聯(lián)盟提供的工作流管理系統(tǒng)模型和各大主流工作流管理系統(tǒng)的基礎(chǔ)上設(shè)計(jì)出來(lái)的。以該體系結(jié)構(gòu)為基礎(chǔ)作者領(lǐng)導(dǎo)開(kāi)發(fā)了基于J2EE架構(gòu)的新一代工作流管理系統(tǒng)UniFlow。UniFlow工作流管理系統(tǒng)目前已在電子政務(wù)中取得了廣泛的運(yùn)用。
第三篇:基于CSCW的工作流管理系統(tǒng)(范文模版)
基于CSCW的工作流管理系統(tǒng)
摘要:計(jì)算機(jī)支持協(xié)同工作(Computer Supported cooperative work,CSCW)是在信息時(shí)代發(fā)展起來(lái)的一門(mén)新興學(xué)科。它是在計(jì)算機(jī)支持的情況下(即CS),人們協(xié)作完成一項(xiàng)共同的任務(wù)(即CW)。本文介紹了CSCW技術(shù),及其應(yīng)用場(chǎng)景。以及工作流技術(shù),工作流管理系統(tǒng)的相關(guān)技術(shù)與應(yīng)用。討論了基于CSCW技術(shù)的工作流管理系統(tǒng)結(jié)構(gòu)。關(guān)鍵詞:工作流,工作流管理系統(tǒng),CSCW,計(jì)算機(jī)支持的協(xié)同工作。1 CSCW 計(jì)算機(jī)技術(shù)的發(fā)展把人類社會(huì)帶入了信息化時(shí)代, 隨著信息化進(jìn)程的深入, 通信技術(shù)與計(jì)算機(jī)及其網(wǎng)絡(luò)技術(shù)相融合, 產(chǎn)生了一個(gè)新的研究領(lǐng)域———計(jì)算機(jī)支持的協(xié)同工作CSCW(Computer Supported Cooperative Work), 簡(jiǎn)稱計(jì)算機(jī)協(xié)同工作。它是信息化進(jìn)程 發(fā)展的一種必然產(chǎn)物, 它將帶來(lái)人們協(xié)作方式的變革, 提高人們協(xié)同工作的整體效率。計(jì)算機(jī)協(xié)同工作應(yīng)用系統(tǒng)的發(fā)展和推廣會(huì)改善人們交流信息進(jìn)行協(xié)作的方式, 而計(jì)算機(jī)技術(shù)的發(fā)展也必然走向計(jì)算機(jī)協(xié)同工作的方向。CSCW 是地域分散的一個(gè)群體借助計(jì)算機(jī)及其 網(wǎng)絡(luò)技術(shù), 共同協(xié)調(diào)與協(xié)作來(lái)完成一項(xiàng)任務(wù)。它包括協(xié)同工作系統(tǒng)的建設(shè)、群體工作方式研究和支持群體工作的相關(guān)技術(shù)研究、應(yīng)用系統(tǒng)的開(kāi)發(fā)等部分。通過(guò)建立協(xié)同工作的環(huán)境, 改善人們進(jìn)行信息交流的方式, 消除或減少人們?cè)跁r(shí)間和空間上的相互分隔的障礙, 節(jié)省工作人員的時(shí)間和精力, 提高群體工作質(zhì)量和效率, 從而提高企業(yè)、機(jī)關(guān)、團(tuán)體、乃至整個(gè)社會(huì)的整體效益和人類的生活質(zhì)量。一句話定義就是: 在計(jì)算機(jī)技術(shù)支持的環(huán)境中(即CS), 一個(gè)群體協(xié)同工作完成一項(xiàng)共同的任務(wù)(即CW)。它的目標(biāo)是要設(shè)計(jì)各種各樣的協(xié)同工作的應(yīng)用系統(tǒng)。
CSCW涉及的主要成分應(yīng)當(dāng)包括技術(shù)成分和人文成分兩個(gè)層面。確切地說(shuō),它們是:技術(shù)成分,包括:通信系統(tǒng),如電話、電子郵件、桌面視頻會(huì)議系統(tǒng)等;共享工作空間設(shè)施;共享信息設(shè)施(用以存儲(chǔ)、存取、安排和管理參與協(xié)同的人員的共享信息);共享活動(dòng)支持設(shè)施,這類活動(dòng)如決策、指揮、教學(xué)、設(shè)計(jì)等;人文成分,包括:人的個(gè)性方面,如人們喜歡如何工作和通信、人的服飾習(xí)慣如何等;組織方面,包括工作組的大小、組織的管理及變化等;小組工作設(shè)計(jì)方面(如協(xié)同工作的分析、設(shè)計(jì)CSWC的解決方案等);小組工作的動(dòng)態(tài)性質(zhì)方面。CSWC系統(tǒng)涉及的要素可以歸結(jié)為三個(gè),簡(jiǎn)稱為CSWC三要素:通信、合作與協(xié)調(diào)。其中,通信是CSWC的基礎(chǔ),其實(shí)在CSWC系統(tǒng)中使用的通信方式常??梢苑譃楫惒酵ㄐ藕屯酵ㄐ艃纱箢?。合作則是CSWC的形式,CSWC關(guān)心的是群組在工作中成員之間的協(xié)作,所以是CSWC群組活動(dòng)的重要內(nèi)容。協(xié)調(diào)則是CSWC的關(guān)鍵,群組協(xié)作結(jié)果的好壞取決于群組成員活動(dòng)的協(xié)調(diào)。從多媒體手段上看,CSCW的發(fā)展可以看作從支持單媒體發(fā)展到支持多媒體、從簡(jiǎn)單媒體到復(fù)雜媒體的過(guò)程;從非線性形式上看,協(xié)同環(huán)境中信息從線性方式變成了非線性形式,成了超文本形式,和多媒體技術(shù)結(jié)合以后,以超媒體的形式出現(xiàn):當(dāng)然協(xié)同支持是又一方面,它包含了E一mail、Mailing list和工作流等技術(shù)的支持。一句話,CSCW是眾多技術(shù)的集成。工作流技術(shù)
工作流的概念起源于生產(chǎn)組織和辦公自動(dòng)化領(lǐng)域。它是針對(duì)日常工作中具有固定程序的活動(dòng)而提出的一個(gè)概念。目的是通過(guò)將工作分解成定義良好的任務(wù)、角色,按照一定的規(guī)則和過(guò)程來(lái)執(zhí)行這些任務(wù)并對(duì)它們進(jìn)行監(jiān)控,達(dá)到提高辦事效率、降低生產(chǎn)成本、提高企業(yè)生產(chǎn)經(jīng)營(yíng)管理水平和企業(yè)競(jìng)爭(zhēng)力。
不同的研究者和工作流產(chǎn)品供應(yīng)商從不同的角度給出了工作流的定義,但是這些不同的工作流定義基本上都說(shuō)明這樣一個(gè)問(wèn)題,即工作流是經(jīng)營(yíng)過(guò)程的一個(gè)計(jì)算機(jī)實(shí)現(xiàn),而工作流管理系統(tǒng)則是這一實(shí)現(xiàn)的軟件環(huán)境。使用工作流來(lái)作為經(jīng)營(yíng)過(guò)程的實(shí)現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映經(jīng)營(yíng)過(guò)程的如下幾個(gè)方面的問(wèn)題,即經(jīng)營(yíng)過(guò)程是什么(由哪些活動(dòng)、任務(wù)組成,也就是結(jié)構(gòu)上的定義)、怎么做(活動(dòng)間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義)、由誰(shuí)來(lái)做(人或者計(jì)算機(jī)應(yīng)用程序,也就是組織角色的定義)、做得怎樣(通過(guò)工作流管理系統(tǒng)對(duì)執(zhí)行過(guò)程進(jìn)行監(jiān)控)。所以,工作流是一種反應(yīng)業(yè)務(wù)流程的計(jì)算機(jī)化的模型,是為了在先進(jìn)計(jì)算機(jī)環(huán)境支持下實(shí)現(xiàn)經(jīng)營(yíng)過(guò)程集成與經(jīng)營(yíng)過(guò)程自動(dòng)化而建立的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)模型。這里強(qiáng)調(diào)工作流模型是可被工作流管理系統(tǒng)執(zhí)行的,這主要是為了區(qū)分工作流模型和一般意義上的過(guò)程模型。一般的過(guò)程模型并不要求它用計(jì)算機(jī)來(lái)進(jìn)行執(zhí)行,而工作流模型,從建立的目的來(lái)講:就是為了實(shí)現(xiàn)業(yè)務(wù)過(guò)程自動(dòng)化,要由計(jì)算機(jī)來(lái)執(zhí)行的。這就要求工作流模型不及能夠描述活動(dòng)及其相互之間的連接關(guān)系,而且需要定義許多其他的信息,如組織、資源、數(shù)據(jù)等,這樣才能夠由計(jì)算機(jī)進(jìn)行解釋和執(zhí)行。另外一方面,由于工作流模型需要由計(jì)算機(jī)來(lái)執(zhí)行,這就對(duì)工作流模型的準(zhǔn)確性提出了更高的要求,工作流模型的定義也更加嚴(yán)格和準(zhǔn)確。3 工作流管理系統(tǒng)
工作流管理系統(tǒng)是運(yùn)行在一個(gè)或者多個(gè)稱為工作流機(jī)(又稱為工作流引擎)的軟件上的,用于定義、實(shí)現(xiàn)和管理工作流運(yùn)行的一套軟件系統(tǒng),它和工作流執(zhí)行者(人、應(yīng)用)進(jìn)行交互,推動(dòng)工作流實(shí)例的執(zhí)行,并監(jiān)控工作流的運(yùn)行狀態(tài)。需要注意的是,工作流管理系統(tǒng)并不是企業(yè)的業(yè)務(wù)系統(tǒng),而是為企業(yè)業(yè)務(wù)系統(tǒng)的運(yùn)行提供軟件支撐環(huán)境。所有的工作流管理系統(tǒng)都提供了三種功能:建立階段功能:主要考慮工作流過(guò)程和相關(guān)活動(dòng)的定義和建模功能。運(yùn)行階段的控制功能:在一定的運(yùn)行環(huán)境下,執(zhí)行工作流過(guò)程,并完成每個(gè)過(guò)程中活動(dòng)的排序和調(diào)度功能。
目前為止,工作流管理聯(lián)盟已經(jīng)在全世界范圍內(nèi)有超過(guò)300個(gè)的成員組織,從生產(chǎn)商到用戶,從理論研究到咨詢應(yīng)用,展現(xiàn)著工作流的各個(gè)方面。開(kāi)發(fā)的獨(dú)立工作流管理系統(tǒng)產(chǎn)品超過(guò)了幾百種,但實(shí)際應(yīng)用效果并不能太令人滿意。根據(jù)所實(shí)現(xiàn)的業(yè)務(wù)過(guò)程,底層實(shí)現(xiàn)技術(shù),所采用的任務(wù)項(xiàng)傳遞機(jī)制等分類標(biāo)準(zhǔn),可以將工作流管理系統(tǒng)分成不同的類別:根據(jù)所實(shí)現(xiàn)的業(yè)務(wù)過(guò)程,工作流管理系統(tǒng)可分為四類: 1.管理型工作流(AdmnistiartvieWorkflow):在這類工作流中活動(dòng)可以預(yù)定義并且有一套簡(jiǎn)單的任務(wù)協(xié)調(diào)規(guī)則。
2.設(shè)定型工作流(AdHocWokroflw):與管理型工作流相似,但一般用來(lái)處理異?;虬l(fā)生機(jī)會(huì)比較小的情況,有時(shí)甚至是只出現(xiàn)一次的情況,這與參與的用戶有關(guān)。
3.協(xié)作型工作流(Collaborative Workflow):參與者和協(xié)作的次數(shù)較多。在一個(gè)步驟上可能反復(fù)發(fā)生幾次直到得到某種結(jié)果,甚至可能返回到前一階段。
4.生產(chǎn)型工作流(PorudctofnWorkflow):實(shí)現(xiàn)重要的業(yè)務(wù)過(guò)程的工作流,特別是與業(yè)務(wù)組織的功能直接相關(guān)的工作流。與管理型工作流相比,生產(chǎn)型工作流一般應(yīng)用在大規(guī)模、復(fù)雜的和異構(gòu)的環(huán)境下,整個(gè)過(guò)程會(huì)涉及許多人和不同的組織。根據(jù)底層實(shí)現(xiàn)技術(shù),可將工作流產(chǎn)品分為三類: 1.以通訊為中心:以電子郵件為底層的通訊機(jī)制。這種類型的工作流管理系統(tǒng)適合于協(xié)作型工作流和不確定型工作流,而不適于生產(chǎn)型工作流。
2.以文檔為中心:基于文檔路由,它同外界應(yīng)用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實(shí)現(xiàn)。
3.以過(guò)程為中心:這種工作流管理系統(tǒng)對(duì)應(yīng)生產(chǎn)型工作流。它們一般建立在數(shù)據(jù)庫(kù)之上,有自己專用的通信機(jī)制并且提供了同外部進(jìn)行交互的接口。根據(jù)不同工作流管理系統(tǒng)所采用的任務(wù)項(xiàng)傳遞機(jī)制的不同,市場(chǎng)上的工作流產(chǎn)品又可以劃分為四類: 1.基于文件的工作流管理系統(tǒng)以共享文件的方式來(lái)完成任務(wù)項(xiàng)傳遞。這種類型產(chǎn)品開(kāi)發(fā)得最早、發(fā)展最成熟、其產(chǎn)品品種較多。代表產(chǎn)品有FilNeet的VisualWor甘
10、IBM的FofwMark、ICnoncert的ICnoncert。
2.基于消息的工作流管理系統(tǒng)通過(guò)用戶的電子郵件系統(tǒng)來(lái)傳遞文檔信息。這種類型的產(chǎn)品一般都提供與一種或多種電子郵件系統(tǒng)的集成接口。代表產(chǎn)品有Novell開(kāi)發(fā)的Ensemble、eJtFomr公司的ITne哪。、Keyfile公司的Keyflow。
3.基于Wbe的工作流管理系統(tǒng)通過(guò)Ini~t來(lái)實(shí)現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚(在95年以后),但是發(fā)展迅速,其市場(chǎng)前景十分看好。許多供應(yīng)商紛紛改進(jìn)原有產(chǎn)品或開(kāi)發(fā)新產(chǎn)品以增加對(duì)Wbe的支持。代表產(chǎn)品有ActofnTecnlioofgesi公司的ActoinW0krsMetor、uh而us公司的Utiimus。
4.群件與套件系統(tǒng)雖然這一類產(chǎn)品與上面介紹的三種產(chǎn)品在任務(wù)傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨(dú)劃分成一類,因?yàn)檫@一類產(chǎn)品都需要依賴于自己系統(tǒng)的應(yīng)用基礎(chǔ)結(jié)構(gòu),包括消息傳遞、目錄服務(wù)、安全管理、數(shù)據(jù)庫(kù)與文檔管理服務(wù)等,它們本身就構(gòu)成了一個(gè)完整的應(yīng)用開(kāi)發(fā)環(huán)境。代表產(chǎn)品有IBM幾。tus公司的LotusNotes、Microsoft公司的office與Exchange、Novell公司的Groupwies。
現(xiàn)有工作流管理系統(tǒng)的缺點(diǎn)。工作流管理系統(tǒng)經(jīng)過(guò)多年的發(fā)展,取得了長(zhǎng)足的進(jìn)步,但總的來(lái)說(shuō),工作流管理系統(tǒng)還是處于一個(gè)不成熟的階段,主要的原因有三點(diǎn):第一、是在工作流中使用了過(guò)多的概念。在這個(gè)領(lǐng)域中的大量規(guī)范和工具沒(méi)有一個(gè)是相似的。它們相互之間有重疊并且會(huì)相互參考引證。這是由于工作流的涉及面太廣,很難對(duì)工作流的相關(guān)內(nèi)容下一個(gè)嚴(yán)格定義,這也制約了工作流管理系統(tǒng)的推廣應(yīng)用。第二、工作流的研究工作還不夠深入,缺乏標(biāo)準(zhǔn),工作流管理系統(tǒng)顯得還不成熟。雖然工作流管理聯(lián)盟為工作流的標(biāo)準(zhǔn)化做了很多努力,但制定的標(biāo)準(zhǔn)仍然不能滿足實(shí)際的使用需要。而且制定的標(biāo)準(zhǔn)具體化程度不高,很多細(xì)節(jié)部分沒(méi)有考慮到,這也造成了現(xiàn)有的工作流產(chǎn)品各自擁有自己的標(biāo)準(zhǔn),不能通用。第三、工作流管理系統(tǒng)在客戶個(gè)性化定制方面存在不足,在協(xié)同原有客戶系統(tǒng)方面做的不好。造成了很多工作流管理系統(tǒng)不是適應(yīng)客戶的需求,而是要更改客戶需求來(lái)滿足工作流管理系統(tǒng)。3 CSCW與工作流結(jié)合
現(xiàn)有工作流管理系統(tǒng)大部分都是提供一個(gè)工作流平臺(tái),進(jìn)行工作流管理。工作流管理的一個(gè)基本特點(diǎn)就是能夠預(yù)先定義工作流程,總的來(lái)說(shuō)它注重的是完成一項(xiàng)工作的’過(guò)程’。這說(shuō)明現(xiàn)有的工作流管理系統(tǒng)是把現(xiàn)實(shí)社會(huì)的工作過(guò)程映射到計(jì)算機(jī)中,但這個(gè)映射過(guò)程只是死板的把現(xiàn)實(shí)中的工作過(guò)程轉(zhuǎn)換為工作流,而沒(méi)有考慮到現(xiàn)實(shí)社會(huì)的工作過(guò)程中普遍存在的協(xié)作性。這導(dǎo)致現(xiàn)有工作流都是按照預(yù)定的一成不變的流程定義流動(dòng),在流動(dòng)過(guò)程中不考慮能否與別的工作流進(jìn)行協(xié)作提高效率。而隨著現(xiàn)代化大生產(chǎn)的來(lái)臨,協(xié)作性的工作己成為生產(chǎn)的主流模式,作為現(xiàn)實(shí)生產(chǎn)的映射,工作流管理系統(tǒng)也越來(lái)越需要協(xié)同的管理工作流,因此對(duì)各個(gè)工作流程之間協(xié)調(diào)的好壞,是系統(tǒng)成功與否的重要標(biāo)志,而實(shí)現(xiàn)協(xié)調(diào)的重要手段就是對(duì)系統(tǒng)內(nèi)部錯(cuò)綜復(fù)雜的工作流進(jìn)行有效管理。工作流由一系列相互協(xié)作的任務(wù)組成,但是任務(wù)的執(zhí)行次序遵循一定的偏序關(guān)系。有些任務(wù)由計(jì)算機(jī)自動(dòng)執(zhí)行,有些任務(wù)由人用計(jì)算機(jī)完成。在很多時(shí)候人與人之間需要相互協(xié)作才能完成一項(xiàng)任務(wù),這時(shí)就需要CSCW環(huán)境及其工具的支持實(shí)現(xiàn)人與人之間的協(xié)作。因此,將CSCW與工作流管理系統(tǒng)相互融合,能使工作流管理系統(tǒng)更適應(yīng)現(xiàn)代化大生產(chǎn)的需求,是工作流管理系統(tǒng)未來(lái)的發(fā)展方向之一。4 基于CSCW的工作流管理系統(tǒng)
基于CSCW的工作流管理系統(tǒng),與以往的工作流管理系統(tǒng)相比,更注重協(xié)同 工作,可以解決以往工作流管理系統(tǒng)協(xié)同性差導(dǎo)致的效率低下問(wèn)題。但是,也因 為協(xié)同工作需要在各個(gè)工作流之間的信息交換,互相協(xié)作等新操作,對(duì)舊的工作 流管理系統(tǒng)提出新的問(wèn)題。4.1統(tǒng)一的工作流定義
由于工作流管理系統(tǒng)在CSCW環(huán)境下,無(wú)可避免的要遇到如何處理兩個(gè)不同的定義格式的工作流之間如何協(xié)同的問(wèn)題,主要體現(xiàn)在:不同定義格式的工作流之間的數(shù)據(jù)如何互相感知和交換;不同定義格式的工作流如何協(xié)作。在大多數(shù)的工作流管理系統(tǒng)中,用戶不得不對(duì)工作流流程的細(xì)節(jié)進(jìn)行靜態(tài)的預(yù)定義,使得工作流之間可以交互,但這會(huì)大大增加商業(yè)流程的復(fù)雜度。文采用XPDL作為工作流過(guò)程定義工具。XPDL即為XML過(guò)程定義語(yǔ)言(XML Process Definition Language),工作流管理聯(lián)盟在2005年10月3日發(fā)布了最新的XPDL第二版,XPDL的出現(xiàn)是為了解決大量不同的工具被用于分析,構(gòu)建,描述和文檔化商業(yè)過(guò)程導(dǎo)致的格式不統(tǒng)一的問(wèn)題。XPDL定義了一個(gè)統(tǒng)一的交換模式,從而支持了兩個(gè)獨(dú)立的產(chǎn)品之間的過(guò)程交互。XPDL是基于XML的,由于XML的開(kāi)放性和結(jié)構(gòu)化的數(shù)據(jù)表達(dá)能力,使之能夠在不同的用戶和程序之間交換數(shù)據(jù),而不論其平臺(tái)如何。而且由于XML的自定義性及可擴(kuò)展性,它足以表達(dá)各種類型的數(shù)據(jù)。對(duì)于工作流管理系統(tǒng)中需要在不同節(jié)點(diǎn)或是不同平臺(tái)上交互的數(shù)據(jù),無(wú)論什么格式,都可以把它轉(zhuǎn)化為XML的形式。同時(shí)XML格式的數(shù)據(jù)又可以輕易地轉(zhuǎn)化為系統(tǒng)專有的數(shù)據(jù)格式。XPDL定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型。4.2工作流感知
舊的工作流管理系統(tǒng)只需要監(jiān)控工作流引擎中運(yùn)行的工作流情況就行,但是在CSCW環(huán)境下的工作流管理系統(tǒng)要協(xié)同各個(gè)工作流,所以必須使各個(gè)工作流互相了解之間的信息,才能有協(xié)同的基礎(chǔ),這里分為兩種情況:待加入的工作流與運(yùn)行中的工作流的相互感知運(yùn)行中的工作流之間的相互感知基于CSCW的工作流管理系統(tǒng)是通過(guò)協(xié)同工作流中的活動(dòng)達(dá)到協(xié)同的目的的,因此工作流之間的感知主要是活動(dòng)的執(zhí)行情況。我們把不能再分解的工作流活動(dòng)稱為原子活動(dòng),在原子活動(dòng)執(zhí)行期間,不能進(jìn)行對(duì)該原子活動(dòng)的操作,換句話說(shuō),無(wú)法在該原子活動(dòng)執(zhí)行期間對(duì)其進(jìn)行任何協(xié)同操作,而且,最終的協(xié)同也是原子活動(dòng)之間的協(xié)同。因此可以以原子活動(dòng)狀況作為工作流之間感知的基礎(chǔ)。工作流之間主要感知原子活動(dòng)的執(zhí)行情況,包括執(zhí)行開(kāi)始,執(zhí)行進(jìn)度,執(zhí)行異常,執(zhí)行完成等情況。而對(duì)于上述的兩種情況,需要感知的內(nèi)容是不相同的,對(duì)于待加入的工作流,因?yàn)槠湫畔?duì)于其它工作流來(lái)說(shuō),是完全不知道的,所以應(yīng)該把組成該工作流的活動(dòng),活動(dòng)的優(yōu)先級(jí),執(zhí)行順序,需要的資源對(duì)相關(guān)的工作流發(fā)布。而對(duì)于運(yùn)行中的工作流,只需在原子活動(dòng)執(zhí)行完成后,將這個(gè)消息發(fā)送到相關(guān)的工作流,更新該工作流的信息即可。對(duì)于同時(shí)需要的感知的信息,要根據(jù)感知信息對(duì)協(xié)同工作的影響程度來(lái)決定感知的優(yōu)先程度。動(dòng)態(tài)感知信息對(duì)協(xié)同工作的影響程度可以用感知敏感度來(lái)描述。一般對(duì)協(xié)同工作貢獻(xiàn)大的動(dòng)態(tài)感知信息,應(yīng)該賦予高的感知敏感度,反之亦然。如圖1所示是工作流感知模型,對(duì)于待加入的工作流和運(yùn)行中的工作流來(lái)說(shuō),他們的一舉一動(dòng)都是在管理監(jiān)控工具監(jiān)視下的,因此把管理監(jiān)控工作作為待加入的工作流和運(yùn)行中的工作流之間的橋梁,其中的信息過(guò)濾器的作用是過(guò)濾不需要的信息,例如,某工作流的活動(dòng)因?yàn)楸C艿男枰荒鼙桓兄?,那么該活?dòng)的信息就會(huì)被信息過(guò)濾器過(guò)濾,只被管理監(jiān)控工具感知。
圖-1 4.3并發(fā)控制
在CSCW環(huán)境下的工作流管理系統(tǒng)并發(fā)的情況要比普通的工作流管理系統(tǒng)嚴(yán)重,主要是共享資源的使用上,因?yàn)槿缜八觯罱K的活動(dòng)為原子活動(dòng),所以使用共享資源的也是原子活動(dòng),對(duì)于請(qǐng)求共享資源的原子活動(dòng),由監(jiān)控管理工具查看共享資源是否被占用,如被占用,則拒絕使用,如無(wú),這在請(qǐng)求該共享資源的原子活動(dòng)中,選取優(yōu)先級(jí)別最高的原子活動(dòng),分配使用該共享資源,如圖2所示。
圖-2 4.4死鎖
由于協(xié)同工作的緣故,很多在單獨(dú)執(zhí)行不會(huì)出現(xiàn)死鎖的工作流,在協(xié)同工作的環(huán)境下會(huì)出現(xiàn)死鎖的問(wèn)題,如圖3.5所示,活動(dòng)B是活動(dòng)D的前驅(qū)活動(dòng),活動(dòng)D是活動(dòng)E的前驅(qū)活動(dòng)。經(jīng)過(guò)協(xié)同后,活動(dòng)B和活動(dòng)E合并為同一活動(dòng),這個(gè)活動(dòng)既是活動(dòng)D的前驅(qū)活動(dòng),又是活動(dòng)D的后繼活動(dòng),形成死鎖。為了避免基于CSCW的工作流管理系統(tǒng)出現(xiàn)死鎖,需要注意以下容易引起死鎖的幾點(diǎn):
1、有順序關(guān)聯(lián)關(guān)系的工作流活動(dòng)
2、循環(huán)的工作流活動(dòng)
3、有多個(gè)前驅(qū)或者有多個(gè)后繼活動(dòng)的工作流活動(dòng)
管理監(jiān)控工具在調(diào)度工作流活動(dòng)進(jìn)行協(xié)同,應(yīng)對(duì)協(xié)同后的工作流管理活動(dòng)進(jìn)行死鎖檢驗(yàn),如發(fā)現(xiàn)死鎖,則取消執(zhí)行協(xié)同。每個(gè)工作流活動(dòng)應(yīng)有參考的執(zhí)行時(shí)間,如果發(fā)現(xiàn)超過(guò)執(zhí)行時(shí)間達(dá)到一定程度,應(yīng)看作出現(xiàn)死鎖,執(zhí)行死鎖處理。4.5負(fù)載平衡
負(fù)載平衡是提高性能的重要方法,在CSCW環(huán)境下,一般采用兩種方法來(lái)達(dá)到負(fù)載平衡:(1)分配工作負(fù)載給多個(gè)工作流引擎執(zhí)行,這樣,在重負(fù)載的情況下,工作流管理系統(tǒng)仍然能保持可以接受的性能水平。
(2)將工作流活動(dòng)分配到更適合的工作流引擎上執(zhí)行,提高執(zhí)行效率。5工作流固定協(xié)同策略
工作流固定協(xié)同策略是指按照固定的協(xié)同規(guī)則,將符合條件,能進(jìn)行協(xié)同的工作流協(xié)同。在本節(jié)中,首先分析了原有工作流管理系統(tǒng)中各種沒(méi)有考慮協(xié)同的工作流執(zhí)行情況,并根據(jù)具體的情況,給出相應(yīng)的固定執(zhí)行協(xié)同策略。協(xié)作策略包括工作流自身的協(xié)同策略和工作流之間的協(xié)作策略。5.1冗余流程的化簡(jiǎn)
根據(jù)80一20原理,在所有工作流活動(dòng)中,20%的活動(dòng)經(jīng)常執(zhí)行,占到了執(zhí)行頻率的80%,這也就是說(shuō),在工作流管理系統(tǒng)里,正在執(zhí)行的工作流,以及即將加入執(zhí)行的工作流中,往往存在相同的活動(dòng),在原有的工作流管理系統(tǒng)中,這些相同活動(dòng)往往反復(fù)執(zhí)行,造成資源浪費(fèi),以及效率的低下,在生產(chǎn)型的企業(yè)中,這種情況更為嚴(yán)重。如圖4.7所示,在工作流1至工作流n中,每個(gè)工作流里都有相同的活動(dòng),這些相同的活動(dòng)被重復(fù)的執(zhí)行。解決這種問(wèn)題的方法是將相同的活動(dòng)節(jié)點(diǎn)合并,如圖4.8所示。這樣,將原來(lái)的多個(gè)順序執(zhí)行的工作流變?yōu)橐粋€(gè)或連接和或分支相結(jié)合的工作流。工作流中相同活動(dòng)的任意一個(gè)前驅(qū)活動(dòng)就緒后,相同活動(dòng)即可執(zhí)行,相同活動(dòng)節(jié)點(diǎn)執(zhí)行時(shí)間沒(méi)有受到拖延,而執(zhí)行次數(shù)由原來(lái)的n次變?yōu)榱?次,減少了資源的浪費(fèi)。相同活動(dòng)節(jié)點(diǎn)的執(zhí)行結(jié)果保存,相同活動(dòng)節(jié)點(diǎn)剩下的或連接前驅(qū)活動(dòng)到來(lái)時(shí),可以越過(guò)執(zhí)行相同活動(dòng)節(jié)點(diǎn)這一步,直接執(zhí)行下一步活動(dòng),提高了效率。更改活動(dòng)執(zhí)行順序現(xiàn)有的工作流管理系統(tǒng),有一個(gè)特點(diǎn)是工作流流程一旦定義后,不能更改,按照固定的活動(dòng)順序執(zhí)行,這有可能會(huì)導(dǎo)致后繼工作流活動(dòng)的無(wú)謂等待。如圖4.9所示,工作流2中的活動(dòng)B是與連接邏輯活動(dòng),而它的其中一個(gè)前驅(qū)活動(dòng)是工作流1中的活動(dòng)A。假設(shè)活動(dòng)B除了活動(dòng)A外的別的前驅(qū)活動(dòng)均己完成,只待活動(dòng)A執(zhí)行完畢,活動(dòng)B即可執(zhí)行。但活動(dòng)A的執(zhí)行,必須要等待它的前驅(qū)活動(dòng)的完成,這些活動(dòng)對(duì)于活動(dòng)B來(lái)說(shuō),是無(wú)謂等待活動(dòng)。正是因?yàn)檫@些活動(dòng),導(dǎo)致整個(gè)工作流2需要等待,增加了運(yùn)行時(shí)間。解決上述問(wèn)題的方法是更改活動(dòng)執(zhí)行順序如圖410所示將活動(dòng)B的無(wú)謂等待活動(dòng)排在活動(dòng)A后執(zhí)行,這樣,活動(dòng)A不必等待這些活動(dòng)的執(zhí)行完畢即可執(zhí)行?;顒?dòng)B也相應(yīng)的消除了無(wú)謂等待,提高了效率。執(zhí)行這種優(yōu)化的前提條件是:工作流中的活動(dòng)具有相同優(yōu)先級(jí)別的,并且更換活動(dòng)的執(zhí)行順序?qū)ぷ髁鞯膱?zhí)行結(jié)果沒(méi)有影響。5.2分解活動(dòng)
現(xiàn)有工作流管理系統(tǒng)在工作流執(zhí)行前定義了組成工作流的活動(dòng),活動(dòng)在執(zhí)行工作流的過(guò)程中不能根據(jù)協(xié)作需要分解,這會(huì)帶來(lái)一些問(wèn)題。工作流1中的活動(dòng)A中有兩個(gè)子活動(dòng)Al和AZ,子活動(dòng)Al的后繼活動(dòng)是工作流2中的活動(dòng)B,子活動(dòng)A2的前驅(qū)活動(dòng)是工作流3的活動(dòng)C,因?yàn)椴贿M(jìn)行分解,活動(dòng)B必須等待整個(gè)活動(dòng)A的執(zhí)行完畢才可以開(kāi)始,而活動(dòng)A的執(zhí)行必須要等活動(dòng)C及其前面的活動(dòng)的執(zhí)行完成,無(wú)形中,工作流2多了很多等待時(shí)間。在 這種情況,活動(dòng)B的直接前驅(qū)活動(dòng)是A,而活動(dòng)A的前驅(qū)活動(dòng)是活動(dòng)C,所以活動(dòng)C可以稱為活動(dòng)B的間接前驅(qū)活動(dòng)。如果可以在工作流執(zhí)行過(guò)程分解活動(dòng),則上述問(wèn)題即可迎刃而解,將工作流1中活動(dòng)A分解為活動(dòng)Al和A2,這樣,活動(dòng)B不在需要等待活動(dòng)A2的執(zhí)行完成。活動(dòng)C不再是活動(dòng)B的間接前驅(qū)活動(dòng),活動(dòng)B減少了執(zhí)行約束,整個(gè)工作流2提高了執(zhí)行效率。應(yīng)用這種固定協(xié)同工作策略,需要注意: 1.將被分解的活動(dòng)是否有限制,導(dǎo)致不允許活動(dòng)的分解。2.分解出來(lái)的活動(dòng)彼此之間的順序。
3.分解出來(lái)的活動(dòng)的前驅(qū)和后繼活動(dòng)的關(guān)系。5.3并行執(zhí)行活動(dòng)
工作流的執(zhí)行過(guò)程中常常出現(xiàn)一種情況,工作流中的各個(gè)活動(dòng)是相關(guān)且又可以并行執(zhí)行的,當(dāng)由于工作流管理系統(tǒng)的限制,必須以順序邏輯模型表示和執(zhí)行,效率低下,如圖4.18所示。如果改變?yōu)榕c分支和與連接的邏輯形式,將工作流并行執(zhí)行,將大大減少工作流的執(zhí)行時(shí)間提高效率如圖419所示需要指出的是這種協(xié)同方式對(duì)減少執(zhí)行所需要的資源的沒(méi)有多大的幫助,主要優(yōu)點(diǎn)是降低工作流執(zhí)行的時(shí)間和提高工作流整體的執(zhí)行效率。
參考文獻(xiàn)
1、范玉順,工作流管理技術(shù)基礎(chǔ),清華大學(xué)出版社,施普林格出版社,2001
1、WilVanderAaslt&KeesVanHee,工作流管理,王建民,聞立杰等,清華大學(xué)出版社,2004
3、史美林,向勇,楊光信,計(jì)算機(jī)支持的協(xié)同工作理論與應(yīng)用,電子工業(yè)出版社,2000
4、羅海濱,范玉順,吳澄,工作流技術(shù)綜述,軟件學(xué)報(bào),2000,vOlllNo.7
5、史美林,楊光信,向勇,WFMS:工作流管理系統(tǒng),計(jì)算機(jī)學(xué)報(bào),1999(3):326一328羅海濱,范玉順,吳澄,工作流技術(shù)綜述,軟件學(xué)報(bào),2000,vOlllNo.7
14、Workflow Management Coalition, WFMC Process Definition Interchange-Process Model TC-1016-P[S].Oetober2005
第四篇:淺談JBPM工作流
淺談JBPM工作流
摘要:本文介紹了工作流的定義,并著重對(duì)JBPM工作流的核心組件、體系結(jié)構(gòu)、流程調(diào)度等進(jìn)行了詳盡的介紹,以期完成對(duì)基于JBPM工作流技術(shù)的軟件系統(tǒng)研發(fā)工作的理論探討。
關(guān)鍵詞:工作流;JBPM;組件;流程調(diào)度
工作流研究起源于20世紀(jì)70年代,早期的工作流源起辦公自動(dòng)化。1962年,工作流開(kāi)始使用Petri網(wǎng)來(lái)作為流程建模的描述手段,Petri被認(rèn)為是所有流程定義語(yǔ)言之母。到80年代適,商用工作流(FileNet等)開(kāi)始基于圖像處理和文檔管理,直到1993年,工作流管理聯(lián)盟的成立標(biāo)志著工作流技術(shù)比較成熟了。
JBPM于2002年發(fā)起,到現(xiàn)在已經(jīng)有發(fā)布了5.0版本。與JBPM3相比,JBPM4引入了流程虛擬機(jī)(PVM)同時(shí)增加了業(yè)務(wù)流程管理系統(tǒng)(BPMS)的特性,它不只是一個(gè)工作流系統(tǒng),而是開(kāi)始走向BPMS。而JBPM5完全拋棄了JBPM4的代碼,所有代碼都來(lái)自原先的Drools Flow。因此,本文選擇了純JPBM工作流引擎JBPM3。
1.1 工作流的定義
工作流管理聯(lián)盟(Workflow Management Coalition,WfMC),給出了工作流定義為:工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,它根據(jù)一系列過(guò)程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。除了WfMC以外,Georgakopotllo、IBM Almeden研究中心等也從不同的角度對(duì)工作流進(jìn)行了定義。這些定義都是非形式化語(yǔ)言描述,說(shuō)明工作流是使用計(jì)算機(jī)實(shí)現(xiàn)的經(jīng)營(yíng)過(guò)程,而工作流管理系統(tǒng)是實(shí)現(xiàn)這個(gè)過(guò)程的一套軟件。
本文中筆者做如下定義:“工作流是一種反映業(yè)務(wù)流程的計(jì)算機(jī)化的模型,是為了實(shí)現(xiàn)某個(gè)經(jīng)營(yíng)過(guò)程利用計(jì)算機(jī)在多個(gè)參與者之間,按照預(yù)定規(guī)則自動(dòng)流轉(zhuǎn)的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)模型?!?/p>
1.2 JBPM簡(jiǎn)介
JBPM是一個(gè)基于Java EE的輕量級(jí)工作流管理系統(tǒng),是一個(gè)靈活的、可擴(kuò)展的并能實(shí)現(xiàn)工作流的企業(yè)級(jí)開(kāi)發(fā)框架,提供了流程定義、部署、執(zhí)行和管理等功能。它具只有很小的依賴性,可以作為Java庫(kù)與使用任何數(shù)據(jù)庫(kù)部署在任何應(yīng)用服務(wù)器上。
JBPM的核心工作流和BPM功能被封裝成一個(gè)Java庫(kù),其中包含了Jbpm-Server、Jbpm-Designer、Jbpm-DB、Jbpm核心組件和Jbpm-Bpel五個(gè)部分。Jbpm-Server是一個(gè)預(yù)先配置好的Jboss應(yīng)用服務(wù)器,Jbpm-Designer是一個(gè)基于Eclipse的流程圖形化設(shè)計(jì)插件,Jbpm-DB包括了JBPM所有兼容數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)初始化腳本,Jbpm核心組件是一個(gè)用來(lái)管理流程定義和支持流程實(shí)例執(zhí)行的運(yùn)行時(shí)環(huán)境,Jbpm-Bpel是一個(gè)獨(dú)立擴(kuò)展包,使JBPM可以支持BPEL(一種擴(kuò)展的XML腳本語(yǔ)言)。
JBPM使用JPDL流程定義語(yǔ)言來(lái)表示業(yè)務(wù)流程,使用Jbpm-Designer圖形流程設(shè)計(jì)器來(lái)設(shè)計(jì)業(yè)務(wù)流程。Jbpm-Designer使業(yè)務(wù)分析員和技術(shù)開(kāi)發(fā)人員都可以對(duì)業(yè)務(wù)流程進(jìn)行設(shè)計(jì)和調(diào)整,使得業(yè)務(wù)流程建模和實(shí)際業(yè)務(wù)執(zhí)行轉(zhuǎn)換非常容易。
JBPM的核心組件是一個(gè)Java庫(kù),負(fù)責(zé)解析流程定義文件和控制運(yùn)行時(shí)流程實(shí)例的執(zhí)行。除了XML解析和持久化依賴的庫(kù)以外,唯一與之直接相關(guān)的庫(kù)是commons logging,項(xiàng)目中任意Java軟件都可以訪問(wèn)JBPM提供的API。JBPM內(nèi)部使用Hibernate實(shí)現(xiàn)其持久化,Hibernate使JBPM能在當(dāng)前所有的數(shù)據(jù)庫(kù)上使用。
JBPM控制臺(tái)Web應(yīng)用程序作為流程實(shí)例的控制接口,負(fù)責(zé)流程執(zhí)行時(shí)的任務(wù)生成,管理并監(jiān)視控制臺(tái)檢查或操作運(yùn)行的流程實(shí)例。
1.3 JBPM的體系結(jié)構(gòu)
JBPM工作流實(shí)現(xiàn)了三個(gè)工作流管理系統(tǒng)的基本功能。
過(guò)程定義:JBPM使用JPDL使用戶通過(guò)可視化方式定義業(yè)務(wù)流程,流程定義文件被流程解析程序解析后提供給工作流引擎使用。
運(yùn)行控制:核心是JBPM工作流引擎,管理執(zhí)行流程的上下文環(huán)境,包含了當(dāng)前執(zhí)行流程的全部信息。它解析流程定義,控制流程定義實(shí)例的創(chuàng)建、流轉(zhuǎn)和銷毀,檢查流程實(shí)例的狀態(tài)并提供監(jiān)控程序。
人機(jī)交互:當(dāng)流程需要用戶或者外部工具參與時(shí),JBPM提供相應(yīng)的應(yīng)用程序接口或通過(guò)繼承ActionHandler的方法來(lái)實(shí)現(xiàn)。ActionHandler方法提供了統(tǒng)一的擴(kuò)展接口,使得擴(kuò)展更加容易。
1.3.1.1JBPM的流程定義
JBPM本身就是基于模型的組件,流程實(shí)例都是依賴流程定義而執(zhí)行的。但它并不像使用JPDL的流程定義圖形化工具那么簡(jiǎn)單,從上世紀(jì)七十年代開(kāi)始,人們便開(kāi)始探索流程的形式化描述。JBPM的流程定義采用了動(dòng)態(tài)圖的模型語(yǔ)義來(lái)描述任意一個(gè)流程定義,JPDL主要使用7種流轉(zhuǎn)控制活動(dòng)來(lái)實(shí)現(xiàn)流程的形式化描述。
流轉(zhuǎn)控制活動(dòng)是組成一個(gè)業(yè)務(wù)流程定義最基本的活動(dòng),利用這些活動(dòng)可以構(gòu)建任意的流程定義,實(shí)現(xiàn)各種基本流程流轉(zhuǎn)控制。JPDL的流程控制活動(dòng)主要包括:
1、start(開(kāi)始活動(dòng)):指明流程的實(shí)例用哪里開(kāi)始,它作為流程的入口。每個(gè)流程定義都有且只能有一個(gè)start活動(dòng)(在group中的開(kāi)始活動(dòng)除外),且start活動(dòng)必須有一個(gè)流出轉(zhuǎn)移。
2、state(狀態(tài)活動(dòng)):業(yè)務(wù)流程需要某些特定的操作后才能繼續(xù)執(zhí)行,在這個(gè)操作之前流程處于等待狀態(tài)。當(dāng)流程運(yùn)行到state活動(dòng)時(shí),自動(dòng)進(jìn)入等待狀態(tài),知道外來(lái)的信號(hào)觸發(fā)。
3、decision(判斷活動(dòng)):根據(jù)條件在多個(gè)流程轉(zhuǎn)移做出決定性的判斷,選擇最先匹配的一個(gè)條件轉(zhuǎn)移執(zhí)行。
4、fork-join(分支、聚合活動(dòng)):在需要并發(fā)執(zhí)行流程時(shí),fork活動(dòng)可以使流程出現(xiàn)并行的分支,join活動(dòng)可以使并行分支聚合成一條流程。
5、end(結(jié)束活動(dòng)):當(dāng)流程實(shí)例流轉(zhuǎn)到end活動(dòng)時(shí),實(shí)例將被結(jié)束。但到達(dá)end活動(dòng)的實(shí)例中仍然活躍的流程活動(dòng)(如fork-join并發(fā)流轉(zhuǎn)引起的流程分支)將會(huì)被保留繼續(xù)執(zhí)行。JPDL允許有多個(gè)end活動(dòng)。
6、task(人工任務(wù)活動(dòng)):用來(lái)處理需要人機(jī)交互的活動(dòng)??梢苑峙淙蝿?wù)給指定用戶、實(shí)現(xiàn)任務(wù)分配處理器、任務(wù)泳道、任務(wù)提醒等功能。
7、sub-process(子流程活動(dòng)):允許在流程定義中調(diào)用其他的流程定義。
流程的形式化描述就是有向圖,其本質(zhì)就是節(jié)點(diǎn)和有向弧。JBPM的節(jié)點(diǎn)Node就是流程控制活動(dòng),它的有向弧就是節(jié)點(diǎn)的轉(zhuǎn)移Transition(轉(zhuǎn)出或者轉(zhuǎn)入),使用節(jié)點(diǎn)和轉(zhuǎn)移就可以繪制任意一個(gè)業(yè)務(wù)流程。
1.3.1.2JBPM流程調(diào)度
流程調(diào)度就是流程實(shí)例從一個(gè)節(jié)點(diǎn)運(yùn)行到另一個(gè)節(jié)點(diǎn)所依賴的一套機(jī)制,圖2-13是JBPM流程調(diào)度的思維導(dǎo)圖。JBPM啟動(dòng)一個(gè)流程時(shí)候,首先創(chuàng)建一個(gè)流程實(shí)例,并為這個(gè)實(shí)例創(chuàng)建一個(gè)Root Token,此時(shí)這個(gè)Root Token在Start節(jié)點(diǎn)上。當(dāng)Token在Start節(jié)點(diǎn)上時(shí),就可以將流程下流轉(zhuǎn),通過(guò)Token的signal方法(實(shí)際執(zhí)行的是node的leave操作),將Token(實(shí)際只有ExecutionContext對(duì)象)放入要轉(zhuǎn)向的Transtion對(duì)象中,再由Transtion對(duì)象將Token交給下一個(gè)節(jié)點(diǎn),這樣便完成了流程調(diào)度。
參考文獻(xiàn):
[1]高潔.深入淺出JBPM.人民郵電出版社,2009.7
[2]胡奇.jBPM4工作流應(yīng)用開(kāi)發(fā)指南,2010.10
[3]胡長(zhǎng)城.開(kāi)源工作流平臺(tái)jBPM:過(guò)程組件模型與PVM.程序員,2008(05)
作者簡(jiǎn)介:劉永中,男,(1985-),四川省花園式人,西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院08級(jí)碩士。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文
第五篇:工作流技術(shù)研究
工作流技術(shù)研究(1)(2008-09-10 19:29:14)
標(biāo)簽:工作流管理系統(tǒng) 工作流參考模型 雜談 分類:工作流
工作流技術(shù)從起源到現(xiàn)在已有三十年的發(fā)展歷史,為了規(guī)范工作流技術(shù)的管理,1993年成立了工作流管理聯(lián)盟(WfMC)。WfMC統(tǒng)一了工作流的定義,制定了工作流產(chǎn)品結(jié)構(gòu)和工作流參考模型等一系列的標(biāo)準(zhǔn)。本文針對(duì)工作流及其參考模型作簡(jiǎn)單的介紹。
首先,先了解一下工作流的相關(guān)定義。
一、工作流相關(guān)定義
定義1 工作流(Workflow):工作流的概念定義很多,其中被廣泛引用的是工作流管理聯(lián)盟關(guān)于工作流的定義,該組織為工作流管理系統(tǒng)的相關(guān)術(shù)語(yǔ)、體系結(jié)構(gòu)及應(yīng)用編程接口等方而制定了一系列的業(yè)界標(biāo)準(zhǔn)。工作流管理聯(lián)盟給出的工作流定義是:全部或者部分,由計(jì)算機(jī)支持或自動(dòng)處理的業(yè)務(wù)過(guò)程,它已根據(jù)一系列過(guò)程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。工作流是指整個(gè)或部分經(jīng)營(yíng)過(guò)程在計(jì)算機(jī)支持下的全自動(dòng)化或半自動(dòng)化。工作流是企業(yè)中各種流的載體,它帶動(dòng)了信息流、物料流、資金流的流動(dòng),并決定了它們的流速和流量。通過(guò)工作流,考察信息、物料、資金等隨過(guò)程的變化情況,從而可以方便地對(duì)一些關(guān)鍵指標(biāo)進(jìn)行跟蹤和計(jì)算。其文
檔、信息或任務(wù)可以遵循一組程序上的規(guī)則從一個(gè)參與者傳送到另一個(gè)參與者。
定義2 工作流管理:工作流管理(Workflow Management, WFM)是人與計(jì)算機(jī)共同工作的自動(dòng)化協(xié)調(diào)、控制和通訊,在計(jì)算機(jī)化的業(yè)務(wù)過(guò)程上,通過(guò)在網(wǎng)絡(luò)上運(yùn)行軟件,使所有命令的執(zhí)行都處于受控狀態(tài)。在工作流管理下,工作量可以被監(jiān)督,分派工作到不同的用戶達(dá)成平衡。
定義3 工作流管理系統(tǒng)(WFMS—Workflow Management System):工作流管理系統(tǒng)是這樣的一個(gè)系統(tǒng),詳細(xì)定義、管理并執(zhí)行工作流,系統(tǒng)通過(guò)運(yùn)行一些軟件來(lái)執(zhí)行工作流,它運(yùn)行在一個(gè)或多個(gè)工作流引擎上,這些引擎解釋對(duì)過(guò)程的定義,與工作流的參與者(包括人或軟件)相互作用,并根據(jù)需要調(diào)用其他的軟件工具或應(yīng)用。這些軟件的執(zhí)行順序由工作流邏輯的計(jì)算機(jī)表示形式(計(jì)算機(jī)化的業(yè)務(wù)規(guī)則——過(guò)程定義)驅(qū)動(dòng)??傮w來(lái)說(shuō),實(shí)際企業(yè)中運(yùn)作的工作流管理系統(tǒng),是一個(gè)人與計(jì)算機(jī)結(jié)合的系統(tǒng)。
它的基本功能體現(xiàn)在幾個(gè)方面:
? 定義工作流,包括具體的活動(dòng)、規(guī)則等。
? 遵循定義創(chuàng)建和運(yùn)行實(shí)際的工作流。
? 監(jiān)察、控制、管理運(yùn)行中的業(yè)務(wù),例如任務(wù)、工作量與進(jìn)度的檢察等。
定義4工作流機(jī):為工作流實(shí)例提供運(yùn)行時(shí)期的執(zhí)行環(huán)境的軟件服務(wù)器或引擎。工作流機(jī)能處理:
? 解釋過(guò)程定義
? 控制過(guò)程實(shí)例—?jiǎng)?chuàng)建、激活、掛起、終止等
? 為過(guò)程的活動(dòng)導(dǎo)航,可能要包含順序或者平行的操作、最后時(shí)間期限、對(duì)工作流相關(guān)數(shù)據(jù)進(jìn)行解釋
? 參與者簽名和退出
? 確定任務(wù)項(xiàng)目,實(shí)現(xiàn)用戶意圖;提供接口,支持用戶交互
? 維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),在應(yīng)用程序間或者用戶間傳遞工作流相關(guān)數(shù)據(jù)
? 提供調(diào)用外部程序的接口,連接所有工作流相關(guān)數(shù)據(jù)
? 提供控制、管理和審查功能
工作流機(jī)可以控制過(guò)程集、子過(guò)程、或通過(guò)對(duì)象類型的范圍、及其屬性定義好運(yùn)行范圍的實(shí)例。在一個(gè)由多個(gè)工作流機(jī)構(gòu)成的工作流執(zhí)行服務(wù)器中,要把過(guò)程進(jìn)行劃分,分配給工作流機(jī)。可以按照過(guò)程類型來(lái)劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制相應(yīng)類型過(guò)程;按照功能進(jìn)行劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制過(guò)程的一些部分,這些部分所需要的用戶或者資源,都在此工作流機(jī)的控制范圍內(nèi)。也可以按照其他的一些機(jī)制來(lái)劃分。
定義5 業(yè)務(wù)過(guò)程(business process):就是活動(dòng)的集合,這些活動(dòng)均關(guān)聯(lián)于特定的托付事項(xiàng)(commitment),為過(guò)程的產(chǎn)出增值。相對(duì)于“工作流”,業(yè)務(wù)過(guò)程是一個(gè)更一般化的統(tǒng)稱,而工作流這個(gè)詞,則已經(jīng)不能僅從字面含義或原理上去理解,它已經(jīng)被賦予了更深一層的特定含義——專指基于信息技術(shù)規(guī)劃、運(yùn)作、管理的業(yè)務(wù)過(guò)程。
定義6 自動(dòng)與協(xié)調(diào):“自動(dòng)”(automate)是工作流的一個(gè)特征,但這主要是指它自動(dòng)進(jìn)行的特征,而不是說(shuō)沒(méi)有人的參與。工作流實(shí)際上是一個(gè)人與計(jì)算機(jī)協(xié)調(diào)的混合過(guò)程,在一個(gè)實(shí)際的工作流中,通??傆行┎襟E是人完成的。協(xié)調(diào)是工作流管理的一個(gè)目標(biāo)或者特征,這包括了人與人、人與計(jì)算機(jī),計(jì)算機(jī)軟件之間等多種層面的含義。
定義7 監(jiān)察與控制:監(jiān)察(Monitoring)與控制(Contorl)是工作流系統(tǒng)的重要功能與特征。這不僅包括對(duì)正在發(fā)生的業(yè)務(wù)過(guò)程(工作流),還包括它的定義或改
變(比如BPR的過(guò)程)。這是工作流系統(tǒng)帶給我們的明顯好處之一。定義8 標(biāo)準(zhǔn)化:工作流的概念被明確提出并得到重視的同時(shí),人們就認(rèn)識(shí)到了“標(biāo)準(zhǔn)化”在其中的重要性,有關(guān)工作流的標(biāo)準(zhǔn)開(kāi)發(fā)和推廣,基本是與“工作流”的開(kāi)發(fā)和推廣同步進(jìn)行的。在這方面目前的權(quán)威性機(jī)構(gòu),是“工作流管理聯(lián)盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已擁有 130 余個(gè)成員,成員包括工作流產(chǎn)品的供應(yīng)者、應(yīng)用者,有關(guān)大學(xué)和研究機(jī)構(gòu)和個(gè)人,是一個(gè)國(guó)際性的非贏利組織。定義9 工作流與重規(guī)劃:從邏輯上,對(duì)工作流的關(guān)注和研究可以看作是對(duì)業(yè)務(wù)過(guò)程重規(guī)劃(BPR)的一種深化。BPR的觀點(diǎn),要求我們將眼光投向?qū)嶋H業(yè)務(wù)進(jìn)行的過(guò)程,但這個(gè)過(guò)程應(yīng)當(dāng)是什么樣的,怎樣分析、構(gòu)造?工作流就是一個(gè)具體的、操作性的答案,它可以令我們從神秘的、難以預(yù)測(cè)和控制的“頭腦風(fēng)暴式”的“藝術(shù)的”業(yè)務(wù)過(guò)程創(chuàng)造,變成解析的、技術(shù)的、可控制和預(yù)測(cè)的工程化過(guò)程,如此,才真正體現(xiàn)出
re-engineering 中 engineering 的意義。
工作流與 BPR 的概念,已經(jīng)被幾乎所有的研究者聯(lián)系在一起研究和應(yīng)用。在這個(gè)領(lǐng)域有一個(gè)非?;钴S的組織,即國(guó)際工作流與重規(guī)劃協(xié)會(huì)(Workflow And
Reengineering International Association, WARIA)。
工作流管理系統(tǒng)是一個(gè)真正的“人—機(jī)”系統(tǒng),用戶是系統(tǒng)中的基本角色,是直接的任務(wù)分派對(duì)象,他或她可以直接看到計(jì)算機(jī)針對(duì)自己列出的“任務(wù)清單”,跟蹤每一項(xiàng)任務(wù)的狀態(tài),或繼續(xù)一項(xiàng)任務(wù),而不必從一個(gè)模塊退出,進(jìn)入另一個(gè)模塊,搜索相應(yīng)任務(wù)的線索。前者是面向功能或?qū)ο蟮模笳呤侵苯用嫦蛴脩舻?。這樣,用戶的任務(wù)
分派和任務(wù)的完成狀態(tài),可以被最大程度地計(jì)算機(jī)化和受到控制。
現(xiàn)在的典型工作流產(chǎn)品是客戶—服務(wù)軟件。而日益增長(zhǎng)的重要途徑是通過(guò)萬(wàn)維網(wǎng)界面,它可以令客戶或遠(yuǎn)程的職員更好地參與。工作流的定義經(jīng)常是借助于圖形化
工具,依照業(yè)務(wù)過(guò)程實(shí)例的情況定義相應(yīng)工作的安排。
二、目標(biāo)領(lǐng)域
使用工作流管理系統(tǒng)的目的之一是作為企業(yè)應(yīng)用系統(tǒng)集成(EAI)的平臺(tái)。在當(dāng)前大部分企業(yè)級(jí)IT架構(gòu)中,各種各樣的異構(gòu)(heterogeneous)應(yīng)用和數(shù)據(jù)庫(kù)運(yùn)行在企業(yè)內(nèi)網(wǎng)中。在這些系統(tǒng)被應(yīng)用到組織時(shí),都有一個(gè)清晰的目標(biāo)。例如,客戶管理、文檔管理、供應(yīng)鏈、訂單、支付、資源計(jì)劃等等。讓我們稱這些系統(tǒng)為專門(mén)應(yīng)用(dedicated applications)。每一個(gè)專門(mén)應(yīng)用都包含它們所支持業(yè)務(wù)流程的領(lǐng)域知識(shí)。這些專門(mén)應(yīng)用中的自動(dòng)化流程,被拼裝到企業(yè)中更大的非自動(dòng)化流程中。每當(dāng)一個(gè)這樣的專門(mén)應(yīng)用安裝并投入使用,都會(huì)帶來(lái)涉及其他多個(gè)應(yīng)用的新功能需求。企業(yè)應(yīng)用系統(tǒng)集成(EAI)就是通過(guò)使用多個(gè)專門(mén)應(yīng)用滿足軟件新需求的方法。有時(shí),這只需要在兩個(gè)應(yīng)用之間提供數(shù)據(jù)通訊的通道。專門(mén)應(yīng)用將很多業(yè)務(wù)流程硬編碼在軟件中。可以這么說(shuō),在你購(gòu)買(mǎi)專門(mén)應(yīng)用時(shí),你是購(gòu)買(mǎi)了一組固定的自動(dòng)化業(yè)務(wù)流程。而工作流管理系統(tǒng)是不必事先知道問(wèn)題域的相關(guān)信息的。工作流系統(tǒng)將業(yè)務(wù)流程描述作為輸入并管理流程實(shí)例的執(zhí)行,這使得它比專門(mén)應(yīng)用更靈活(當(dāng)然你也要花精力編寫(xiě)業(yè)務(wù)流程的規(guī)格化描述)。這就是為什么說(shuō)工作流系統(tǒng)和專門(mén)系統(tǒng)是相互補(bǔ)充的。工作流系統(tǒng)可以用來(lái)管理全局的業(yè)務(wù)流程。如果專門(mén)應(yīng)用支持你所需要的業(yè)務(wù)流程,那么使用專門(mén)應(yīng)用。在此討論的工作流系統(tǒng)的第一種使用方式就是:結(jié)合所有的專門(mén)應(yīng)用,使用工作流系統(tǒng)構(gòu)建一個(gè)EAI平臺(tái)。
工作流系統(tǒng)能夠發(fā)揮很大價(jià)值的第二個(gè)使用方式是:協(xié)助涉及多人相關(guān)任務(wù)工作流軟件的開(kāi)發(fā)。為了達(dá)到這個(gè)目的,大部分工作流系統(tǒng)都有一個(gè)方便的機(jī)制,來(lái)生成執(zhí)行任務(wù)的表單。對(duì)于專注于ISO 或者CMM認(rèn)證的組織,采用這種方式使用工作流系統(tǒng)能夠顯著提高生產(chǎn)率。不用將過(guò)程用文字的形式寫(xiě)在紙上,工作流系統(tǒng)使你通過(guò)
流程定義建模實(shí)現(xiàn)過(guò)程的自動(dòng)化(如使用基于Web的應(yīng)用)。
工作流系統(tǒng)的第三種使用方式是:將工作流引擎嵌入到其他應(yīng)用中。在前面我們談到,專門(mén)應(yīng)用將指定問(wèn)題域相關(guān)的業(yè)務(wù)流程固化在軟件中。開(kāi)發(fā)專門(mén)應(yīng)用的公司也可以將工作流引擎嵌入到他們的軟件中。在這里,工作流引擎只是作為一個(gè)軟件組件,對(duì)于應(yīng)用的最終用戶是不可見(jiàn)的。將工作流引擎嵌入到應(yīng)用中的主要原因是為了重用
(不重復(fù)發(fā)明輪子)和應(yīng)用軟件的可維護(hù)性。
三、工作流參考模型
WfMC定義的工作流參考模型包括若干基本部件和5個(gè)基本接口(部件之間的箭頭表示部件之間的接口),如圖1所示。工作流執(zhí)行服務(wù)器周?chē)慕涌谑?WAPI(Workflow APIs),通過(guò)這些接口可以訪問(wèn)工作流系統(tǒng)的服務(wù),這些接口還控制工作流控制軟件與其他系統(tǒng)組件間的交互。在5個(gè)接口中的許多功能,都是被2個(gè)或更多個(gè)接口同時(shí)擁有的,因此WAPI可以看作是統(tǒng)一的服務(wù)接口,可以交叉使用這5個(gè)接口來(lái)支持工作流管理功能,而不是單獨(dú)的使用其中某個(gè)接口。
首先,我們粗況的了解一下參考模型中的基本部件,然后再對(duì)這些基本部件進(jìn)行簡(jiǎn)單分析。
(1)過(guò)程定義:負(fù)責(zé)給出工作流程的定義,并以一定的數(shù)據(jù)格式提供給工作流引擎解釋。
(2)工作流執(zhí)行服務(wù):工作流管理系統(tǒng)的核心,提供了過(guò)程實(shí)例執(zhí)行的運(yùn)行環(huán)境。工作流執(zhí)行服務(wù)借助于一個(gè)或多個(gè)工作流引擎,激活并解釋工作流流程定義,用來(lái)創(chuàng)建、管理、執(zhí)行工作流實(shí)例。并同外部的應(yīng)用程序進(jìn)行交互,完成工作流過(guò)程實(shí)例的創(chuàng)建執(zhí)行與管理職能。
(3)管理和監(jiān)視工具:負(fù)責(zé)監(jiān)控工作流的執(zhí)行,對(duì)工作流管理系統(tǒng)中過(guò)程實(shí)例的狀態(tài)進(jìn)行監(jiān)控與管理,如用戶管理、角色管理、審計(jì)管理、資源控制等。
(4)工作流客戶應(yīng)用:執(zhí)行者訪問(wèn)工作流的界面,活動(dòng)參與者通過(guò)這樣的應(yīng)用程序參加工作流活動(dòng),獲取自己的任務(wù)。
(5)工作流引擎:過(guò)程定義的解釋器,它是工作流執(zhí)行服務(wù)的核心。
(6)被調(diào)應(yīng)用程序:工作流執(zhí)行服務(wù)在過(guò)程實(shí)例的運(yùn)行過(guò)程中,調(diào)用的、用以對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理的程序。在過(guò)程定義中包含這種應(yīng)用程序的詳細(xì)信息如類型、地
址信息等。
(7)其他工作流執(zhí)行服務(wù):在大型的工作流管理系統(tǒng)中,工作流可能需要多個(gè)工作流引擎共同完成,甚至需要其他異質(zhì)的工作流執(zhí)行服務(wù)來(lái)輔助完成,這涉及到工
作流管理系統(tǒng)之間的互聯(lián)。
其中過(guò)程定義通常包括一些獨(dú)立的活動(dòng)步驟,相關(guān)的計(jì)算機(jī)和用戶通過(guò)一系列的活動(dòng)步驟操作或制定規(guī)則以管理流程的步驟。
參考模型中定義的五類工作流接口。
(1)接口1(工作流定義轉(zhuǎn)換):工作流服務(wù)和工作流建模工具間的接口,包括工作流模型的解釋和讀寫(xiě)操作。
(2)接口2(客戶端應(yīng)用程序接口):工作流服務(wù)和客戶應(yīng)用之間的接口,這是最主要的接口規(guī)范,它約定所有客戶方應(yīng)用與工作流服務(wù)之間的功能操作方法。
(3)接口3(應(yīng)用程序調(diào)用接口):工作流引擎和直接調(diào)用的應(yīng)用程序之間的直接接口。
(4)接口4(工作流機(jī)協(xié)作接口):工作流管理系統(tǒng)之間的互操作接口。
(5)接口5(管理和監(jiān)視接口):工作流服務(wù)和工作流管理工具之間的接口。
在實(shí)際的應(yīng)用中,很多商用和開(kāi)源的工作流系統(tǒng)都沒(méi)有嚴(yán)格遵照這個(gè)標(biāo)準(zhǔn),或者說(shuō)沒(méi)有統(tǒng)一。一個(gè)原因是WfMC的標(biāo)準(zhǔn)對(duì)于很多細(xì)節(jié)沒(méi)有明確說(shuō)明,在實(shí)現(xiàn)時(shí)各個(gè)系統(tǒng)出現(xiàn)了各自的實(shí)現(xiàn)。另一個(gè)原因是,工作流系統(tǒng)與業(yè)務(wù)系統(tǒng)關(guān)系密切,受業(yè)務(wù)系統(tǒng)的限制或約束太大,因此支持不同業(yè)務(wù)的工作流在細(xì)節(jié)上差異很大,標(biāo)準(zhǔn)不易統(tǒng)一,做
一個(gè)通用的工作流系統(tǒng)難度比較大。
3.1過(guò)程定義
1過(guò)程定義工具(Process Definition Tools)
過(guò)程定義是用來(lái)創(chuàng)建一個(gè)計(jì)算機(jī)可以處理的形式的過(guò)程描述??赡芤孕问竭^(guò)程定義語(yǔ)言、對(duì)象關(guān)系模型、簡(jiǎn)單的系統(tǒng)、腳本、或者在參與者間進(jìn)行信息傳遞的路徑集為基礎(chǔ)。工作流定義工具,可能作為工作流產(chǎn)品的一部分、也可能作為業(yè)務(wù)過(guò)程分析產(chǎn)品的一部分來(lái)提供給用戶,作為業(yè)務(wù)過(guò)程分析產(chǎn)品一部分,會(huì)有其他的組件來(lái)負(fù)責(zé)處理業(yè)務(wù)過(guò)程的分析或者模型,這時(shí),必須要有兼容的轉(zhuǎn)換格式,與運(yùn)行時(shí)期的工作流軟件進(jìn)行過(guò)程定義的相互轉(zhuǎn)換。有許多不同的工具可以用來(lái)分析、建模、描述業(yè)務(wù)過(guò)程;這樣的工具有很大的不同從非正式的(鉛筆和紙)到成熟的、十分專業(yè)。工作流模型不關(guān)心這些工具的特性,也不關(guān)心在過(guò)程建立時(shí)期他們是如何交互的。在以前指出過(guò),這些工具可以作為工作流產(chǎn)品的一部分來(lái)提供,或者一個(gè)單獨(dú)的產(chǎn)品,例如BPR工具集。
有的工作流產(chǎn)品提供了其自己的過(guò)程定義工具,從而過(guò)程定義一般是保留在工作流產(chǎn)品范圍內(nèi)的,并且可能或者不能被讀/寫(xiě)信息的編程接口所訪問(wèn)。而使用單獨(dú)的過(guò)程定義和執(zhí)行服務(wù)器產(chǎn)品,過(guò)程定義能夠在不同的產(chǎn)品間進(jìn)行轉(zhuǎn)換,并可以被其他產(chǎn)品訪問(wèn)。
設(shè)計(jì)活動(dòng)和最后的過(guò)程模型輸出,稱為過(guò)程定義。在運(yùn)行時(shí)期過(guò)程定義可以被工作流機(jī)解釋。
過(guò)程分析工具、建模工具和定義工具,都要有在一個(gè)組織結(jié)構(gòu)中模擬過(guò)程的能力(盡管這不是工作流參考模型規(guī)定必須有的)。如果組織模型集成到了這些工具中,那么過(guò)程定義將包含組織相關(guān)對(duì)象。這些都是與系統(tǒng)相關(guān)的控制數(shù)據(jù),例如角色:活動(dòng)者間的關(guān)系,可能會(huì)在過(guò)程執(zhí)行期間被引用。工作流定義轉(zhuǎn)換(接口 1)
在建?;蚨x工具與運(yùn)行時(shí)期工作流管理軟件間的接口,被稱為過(guò)程定義導(dǎo)入/導(dǎo)出接口。這個(gè)接口的特點(diǎn)是:轉(zhuǎn)換格式和API調(diào)用,從而支持過(guò)程定義信息間的互相轉(zhuǎn)換。這個(gè)接口也支持已完成的過(guò)程定義間的互相轉(zhuǎn)換,或過(guò)程定義的一部分。例如,過(guò)程定義的改變或者活動(dòng)中屬性的改變。
使用標(biāo)準(zhǔn)的過(guò)程定義格式有很多好處:
首先,把建立階段與運(yùn)行時(shí)期環(huán)境進(jìn)行了分離,可以使用一個(gè)建模工具來(lái)產(chǎn)生過(guò)程定義,這個(gè)過(guò)程定義可以作為很多個(gè)不同工作流運(yùn)行時(shí)期產(chǎn)品的輸入。從而用戶
可以單獨(dú)地選擇建模工具和工作流運(yùn)行時(shí)期產(chǎn)品。
其次,可以為幾個(gè)工作流機(jī)輸出過(guò)程定義,這幾個(gè)工作流機(jī)合作來(lái)構(gòu)成分布式的工作流執(zhí)行服務(wù)器。
WFMC在此部分作了以下兩個(gè)方面的工作:
(1)提出了一個(gè)元模型,可以用來(lái)表示過(guò)程定義中的對(duì)象、對(duì)象間的關(guān)系和屬性。這個(gè)元模型為不同的產(chǎn)品間的過(guò)程定義相互轉(zhuǎn)換奠定了基礎(chǔ),并形成了一套轉(zhuǎn)換
格式。
(2)工作流系統(tǒng)間或工作流系統(tǒng)與過(guò)程定義產(chǎn)品間的API調(diào)用,提供了公共的方法來(lái)訪問(wèn)工作流過(guò)程定義。訪問(wèn)可能是讀、讀/寫(xiě)或者只寫(xiě)操作,并且操作標(biāo)準(zhǔn)對(duì)
象集合(在元模型中定義的對(duì)象集合),或者產(chǎn)品自己的對(duì)象集合。
3基本元模型(A Basic Meta-Model)
WFMC開(kāi)發(fā)了一個(gè)過(guò)程定義的元模型。元模型中定義了基本的對(duì)象類型集,來(lái)滿足簡(jiǎn)單的過(guò)程定義相互轉(zhuǎn)換。或者有開(kāi)發(fā)者具體擴(kuò)展,或者在增加的功能中定義另
外的一致性級(jí)別來(lái)增加更多的對(duì)象類型。
需要為下邊的類型定義特殊的屬
性:
工作流類型定義(Workflow Type Definition)
? 工作流過(guò)程名
? 版本號(hào)
? 過(guò)程開(kāi)始/結(jié)束條件
? 安全、審查、控制數(shù)據(jù)
活動(dòng)(Activity)
? 活動(dòng)名
? 活動(dòng)類型
? 進(jìn)入動(dòng)作和離開(kāi)動(dòng)作
? 其他約束
轉(zhuǎn)移條件(Transition Conditions)
? 執(zhí)行條件
工作流相關(guān)數(shù)據(jù)(Workflow relevant data)
? 數(shù)據(jù)名與路徑
? 數(shù)據(jù)類型
角色(Role)
? 名稱與組織實(shí)體
? 應(yīng)用程序調(diào)用(Invoked Application)
? 類型和名稱
? 執(zhí)行參數(shù)
? 本地或者訪問(wèn)路徑
在分布式工作流服務(wù)器中,可能要在過(guò)程定義時(shí),為每個(gè)工作流機(jī)分配活動(dòng),可以作為活動(dòng)的一個(gè)附加屬性。過(guò)程定義能影響安全性與管理。定義的交換格式,要支持符號(hào)命名方案,這些符號(hào)可以映射到工作流執(zhí)行服務(wù)器中的實(shí)際名稱與地址。這種映射可以使用動(dòng)態(tài)地址定位機(jī)制來(lái)實(shí)現(xiàn)(例如,目錄服務(wù)器),也可以使用其他的外部過(guò)程定義機(jī)制實(shí)現(xiàn)。也有其他的一些行業(yè)在相關(guān)的方面作研究,例如過(guò)程建模和CASE轉(zhuǎn)換工具;WFMC提出的方法也適用與其他行業(yè),預(yù)
先定義適當(dāng)?shù)霓D(zhuǎn)換格式。
4訪問(wèn)過(guò)程定義的 API(APIs to access Process Definitions)
用來(lái)支持訪問(wèn)過(guò)程定義數(shù)據(jù)的API命令集。希望規(guī)范中包含下邊列出的通用類型功能。命令集應(yīng)該提供命令操作表,和操作的對(duì)象、屬性,包括:
建立會(huì)話(Session Establishment)
? 連接/斷開(kāi)參與系統(tǒng)間的會(huì)話
工作流定義操作(Workflow Definition Operationis)
? 從過(guò)程定義庫(kù)或者其他資源中,獲得工作流過(guò)程的名稱列表
? 選擇工作流過(guò)程定義,為更多的對(duì)象級(jí)操作提供會(huì)話句柄
? 讀/寫(xiě)上層工作流過(guò)程定義對(duì)象
工作流定義對(duì)象操作(Workflow Definition Object Operations)
? 創(chuàng)建、恢復(fù)、刪除工作流定義中的對(duì)象
? 恢復(fù)、設(shè)置、刪除對(duì)象的屬性
3.2工作流執(zhí)行服務(wù)
1什么是工作流執(zhí)行服務(wù)器
由一個(gè)或多個(gè)工作流機(jī)構(gòu)成的軟件服務(wù)器,用來(lái)創(chuàng)建、管理、執(zhí)行工作流實(shí)例。應(yīng)用程序可能會(huì)通過(guò)WAPI來(lái)與這個(gè)服務(wù)交互。
在模型中,過(guò)程與活動(dòng)控制邏輯間有一個(gè)邏輯上的分離,活動(dòng)控制邏輯構(gòu)成工作流執(zhí)行服務(wù)器;過(guò)程與應(yīng)用工具間、與終端用戶任務(wù)間也有一個(gè)邏輯上的分離,應(yīng)用工具和任務(wù)建立起對(duì)每個(gè)相關(guān)活動(dòng)的處理。這種邏輯上的分離,為制定更多的行業(yè)標(biāo)準(zhǔn)提供了機(jī)會(huì),也為在工作流程序中集成用戶具體的應(yīng)用工具提供了機(jī)會(huì)。
使用下邊兩個(gè)接口中的一個(gè),就可以使工作流機(jī)訪問(wèn)外部資源:
客戶端應(yīng)用程序接口(The client application interface),通過(guò)這個(gè)接口工作流機(jī)可以與任務(wù)表處理器交互,代表用戶資源來(lái)組織任務(wù)。然后由任務(wù)表處理器負(fù)責(zé),從任務(wù)表中選擇、推進(jìn)任務(wù)項(xiàng)。由任務(wù)表處理器或者終端用戶來(lái)控制應(yīng)用工具的活動(dòng)。
應(yīng)用程序調(diào)用接口(The invoked application interface),允許工作流機(jī)直接激活一個(gè)應(yīng)用工具,來(lái)執(zhí)行一個(gè)活動(dòng)。典型的是調(diào)用以后臺(tái)服務(wù)為主的應(yīng)用程序,沒(méi)有用戶接口;當(dāng)執(zhí)行活動(dòng)要用到的工具,需要與終端用戶交互,通常是使用客戶端應(yīng)用程序接口來(lái)調(diào)用那個(gè)工具,這樣可以為用戶安排任務(wù)時(shí)間表提供更多的靈活性。
在分布式的工作流執(zhí)行服務(wù)器中,每個(gè)工作流機(jī)控制過(guò)程執(zhí)行的一部分,并與這部分過(guò)程中的活動(dòng)所要用到的用戶、應(yīng)用工具進(jìn)行交互。在分布式的執(zhí)行服務(wù)器中有公共的名稱空間與管理范圍的,從而過(guò)程定義、用戶/應(yīng)用程序的名稱在一致的標(biāo)準(zhǔn)下被處理。分布式工作流系統(tǒng),在工作流機(jī)間采用特殊的協(xié)議和信息轉(zhuǎn)換格式,來(lái)同步工作流機(jī)的操作、過(guò)程交換和活動(dòng)控制信息。也許工作流相關(guān)數(shù)據(jù)也要在工作流機(jī)間進(jìn)行傳遞。在單一的工作流執(zhí)行服務(wù)器中,這些操作都是由開(kāi)發(fā)商自己定義的。
在工作流機(jī)間需要一個(gè)標(biāo)準(zhǔn)的交換格式,來(lái)實(shí)現(xiàn)異種產(chǎn)品間的調(diào)用。使用接口4,執(zhí)行服務(wù)器可以把活動(dòng)或者子過(guò)程轉(zhuǎn)移到另外一個(gè)(異種)執(zhí)行服務(wù)器中執(zhí)行。在工作流參考模型中,這被稱作“工作流機(jī)交互(Workflow Engine Interchange)”。
2過(guò)程和活動(dòng)狀態(tài)變遷(Process and Activity Transitions)
工作流執(zhí)行服務(wù)可以看作是一個(gè)狀態(tài)變遷機(jī)器,過(guò)程或者活動(dòng)的實(shí)例在響應(yīng)外部事件、工作流機(jī)負(fù)責(zé)的控制判斷后,其狀態(tài)發(fā)生改變。
下圖描述了過(guò)程實(shí)例的基本狀態(tài)變遷方案:
在上圖中,發(fā)生狀態(tài)轉(zhuǎn)移(用箭頭表示)來(lái)響應(yīng)WAPI的命令;過(guò)程定義中的轉(zhuǎn)移條件滿足,也可能發(fā)生狀態(tài)轉(zhuǎn)移。
初始化(Initiated)—過(guò)程實(shí)例被創(chuàng)建,包括與過(guò)程狀態(tài)相關(guān)的日期、工作流相關(guān)數(shù)據(jù),但是過(guò)程還沒(méi)有滿足條件,不能執(zhí)行。
運(yùn)行(Running)—過(guò)程實(shí)例已經(jīng)執(zhí)行,過(guò)程中的活動(dòng)如果條件滿足就可以執(zhí)行。
激活(Active)—過(guò)程中的一個(gè)或者多個(gè)活動(dòng)已經(jīng)被執(zhí)行。
掛起(Suspended)—過(guò)程實(shí)例被靜止,并且過(guò)程中的活動(dòng)不能執(zhí)行,直到過(guò)程返回到運(yùn)行狀態(tài)。
結(jié)束(Completed)— 過(guò)程實(shí)例滿足結(jié)束條件;所有的完成后操作都將被執(zhí)行(例如記錄日志、或者統(tǒng)計(jì)信息),并且銷毀過(guò)程實(shí)例。
終止(Terminated)— 過(guò)程實(shí)例在正常結(jié)束前被停止;所有的完成后操作都將被執(zhí)行(例如記錄錯(cuò)誤信息、或者恢復(fù)數(shù)據(jù)),并且銷毀過(guò)程實(shí)例。
活動(dòng)是不能被中斷的,例如工作流執(zhí)行服務(wù)器一旦開(kāi)始了一個(gè)活動(dòng),就不能掛起或者終止這個(gè)活動(dòng)。這就意味著,只有在所有運(yùn)行中的活動(dòng)結(jié)束后,并且過(guò)程返回到運(yùn)行狀態(tài),才能對(duì)過(guò)程執(zhí)行掛起、重啟、終止等命令。另外,可能需要把幾個(gè)活動(dòng)放在一起作為“原子單元”,這些原子單元要執(zhí)行就全部被執(zhí)行完,如果中途出現(xiàn)異常則返回到開(kāi)始點(diǎn),重新執(zhí)行。可中斷活動(dòng)的處理辦法和原子活動(dòng)單元的重新啟動(dòng)能力,需要進(jìn)一步的考慮,這超出了WFMC的初期工作范圍。
忽略那些額外的復(fù)雜事物,活動(dòng)實(shí)例的基本狀態(tài)和轉(zhuǎn)移如下圖:
一個(gè)活動(dòng)的基本狀態(tài)有:
初始化—過(guò)程實(shí)例中的活動(dòng)已經(jīng)被創(chuàng)建,但是還沒(méi)有激活(例如,活動(dòng)的進(jìn)入條件沒(méi)有滿足),并且沒(méi)有任務(wù)需要處理。
激活 —?jiǎng)?chuàng)建好的任務(wù),分配這個(gè)活動(dòng)來(lái)處理。
掛起—活動(dòng)實(shí)例被靜止,并直到活動(dòng)返回到初始化狀態(tài),才能為其分配任務(wù)。
結(jié)束 —活動(dòng)實(shí)例執(zhí)行完成。
當(dāng)然,一個(gè)產(chǎn)品也可以實(shí)現(xiàn)一些其他的狀態(tài)類型,或者使用不同基本狀態(tài)和轉(zhuǎn)移來(lái)代表上圖中的狀態(tài)和轉(zhuǎn)移。參考模型沒(méi)有指定工作流系統(tǒng)的內(nèi)部行為,但是狀態(tài)
轉(zhuǎn)移闡明了,API命令集的影響范圍的基本觀點(diǎn)。工作流應(yīng)用編程接口與數(shù)據(jù)交換(Workflow Application programming Interface & Interchange)
WAPI可以被看作是一套由工作流執(zhí)行服務(wù)器支持的API調(diào)用和數(shù)據(jù)交換集合,這個(gè)集合在在工作流執(zhí)行服務(wù)器的邊界處,負(fù)責(zé)與其他資源交互。盡管結(jié)構(gòu)中涉及到了WAPI中的5個(gè)接口,但是每一個(gè)接口中的許多功能都是公共的(即,同時(shí)被2個(gè)或者多個(gè)接口共同擁有)。
WAPI的主要功能由API調(diào)用組成。同時(shí)在WFMC也定義了接口間的,數(shù)據(jù)轉(zhuǎn)換格式,例如過(guò)程定義。工作流控制,工作流相關(guān)數(shù)據(jù)和工作流應(yīng)用數(shù)據(jù)
工作流執(zhí)行服務(wù)器維護(hù)內(nèi)部控制數(shù)據(jù),來(lái)確定過(guò)程實(shí)例或活動(dòng)實(shí)例的狀態(tài),并支持其他內(nèi)部狀態(tài)信息。這種內(nèi)部控制數(shù)據(jù)不能被訪問(wèn),也不能進(jìn)行轉(zhuǎn)換。但是有些信息內(nèi)容是要對(duì)外提供的,來(lái)響應(yīng)某些特殊操作(例如,查詢過(guò)程狀態(tài)等)。同種工作流執(zhí)行服務(wù)器可能在工作流機(jī)間交換這些信息,通過(guò)使用具體的內(nèi)部對(duì)話。
工作流控制數(shù)據(jù)—由工作流管理系統(tǒng)和(或)工作流機(jī)管理的內(nèi)部數(shù)據(jù)。
工作流管理系統(tǒng)使用工作流相關(guān)數(shù)據(jù)來(lái)判斷轉(zhuǎn)移條件是否滿足,并選擇下一個(gè)要執(zhí)行的活動(dòng)。這些數(shù)據(jù)能被工作流應(yīng)用程序訪問(wèn),這些數(shù)據(jù)也需要通過(guò)工作流執(zhí)行軟件在活動(dòng)間傳遞。當(dāng)在同種環(huán)境下進(jìn)行操作時(shí),如果過(guò)程的執(zhí)行要在2個(gè)或者多個(gè)工作流中進(jìn)行,那么這些數(shù)據(jù)就要在工作流機(jī)間進(jìn)行傳遞;這個(gè)過(guò)程可能需要名稱映射
或者數(shù)據(jù)轉(zhuǎn)化。
工作流相關(guān)數(shù)據(jù)—工作流管理系統(tǒng)用來(lái)判斷過(guò)程中狀態(tài)轉(zhuǎn)移是否可以執(zhí)行的數(shù)據(jù)。過(guò)程實(shí)例中的每個(gè)活動(dòng)中可能都需要進(jìn)行數(shù)據(jù)操作。因此,工作流模型必須能夠在所有的處理活動(dòng)間的“情形數(shù)據(jù)”交換。在一些環(huán)境中,可能需要情形數(shù)據(jù)在不同的工具數(shù)據(jù)格式間進(jìn)行轉(zhuǎn)換,例如,把文檔從一種格式轉(zhuǎn)成另外一種格式。(有的系統(tǒng)中,數(shù)據(jù)轉(zhuǎn)換是工作流執(zhí)行服務(wù)器來(lái)完成的;有的系統(tǒng)中直接把數(shù)據(jù)轉(zhuǎn)換定義成過(guò)程中的一個(gè)活動(dòng)來(lái)執(zhí)行)
工作流應(yīng)用程序數(shù)據(jù)—應(yīng)用程序的具體數(shù)據(jù),并且不能被工作流管理系統(tǒng)訪問(wèn)。
工作流應(yīng)用程序數(shù)據(jù)不能被工作流執(zhí)行軟件所使用,只與應(yīng)用程序或者用戶任務(wù)的執(zhí)行相關(guān)。就像工作流相關(guān)數(shù)據(jù)一樣,在同種執(zhí)行服務(wù)器中應(yīng)用程序數(shù)據(jù)會(huì)在工
作流機(jī)間進(jìn)行傳遞,來(lái)保證活動(dòng)的正常執(zhí)行。
應(yīng)用程序與其需要用到的工作流相關(guān)或應(yīng)用程序數(shù)據(jù)間的關(guān)系,會(huì)在工作流定義中說(shuō)明。在一些情況下,可能是隱含關(guān)系(例如,在一些系統(tǒng)中情形數(shù)據(jù)會(huì)作為活動(dòng)導(dǎo)航的一部分,傳遞到下一個(gè)活動(dòng)中),然而在其他情況下(例如訪問(wèn)共享對(duì)象存儲(chǔ)),就需要明確定義對(duì)象的名字和應(yīng)用程序的訪問(wèn)路徑。在參考模型中,把前一種情況
稱為“直接數(shù)據(jù)交換”,后一種稱為“間接數(shù)據(jù)交換”。數(shù)據(jù)交換(Data Interchange)
工作流相關(guān)數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的交換,都需要訪問(wèn)WAPI,來(lái)支持在3個(gè)運(yùn)行時(shí)期功能中的協(xié)同工作:
? 任務(wù)表處理器(Interface 2)
? 應(yīng)用程序調(diào)用(Interface 3)
? 工作流機(jī)交換(Interface 4)
本節(jié)講述數(shù)據(jù)交換的基本原理;提出了API命令集,包括從工作流機(jī)中接收/返回工作流相關(guān)數(shù)據(jù)的具體調(diào)用;并為直接數(shù)據(jù)交換和間接數(shù)據(jù)交換定義了,與上述
API命令集不同的命令集。
由Email驅(qū)動(dòng)的工作流系統(tǒng)是一種典型的應(yīng)用程序數(shù)據(jù)的直接交換,這樣的系統(tǒng)中,應(yīng)用程序數(shù)據(jù)物理地在活動(dòng)間進(jìn)行傳遞。這種情況下,不需要明確定義活動(dòng)與應(yīng)用程序數(shù)據(jù)間的關(guān)系;應(yīng)用程序數(shù)據(jù)作為標(biāo)準(zhǔn)工作流活動(dòng)導(dǎo)航的一部分進(jìn)行傳遞,并且在應(yīng)用程序調(diào)用時(shí)在本地直接與程序相關(guān)。需要在活動(dòng)間提供數(shù)據(jù)格式轉(zhuǎn)換時(shí),應(yīng)用程序需要定義與之相關(guān)的數(shù)據(jù)類型,可以作為一個(gè)屬性來(lái)定義(這個(gè)屬性信息可能存放在軟件執(zhí)行環(huán)境中,或者能被整個(gè)工作流執(zhí)行服務(wù)器訪問(wèn),例如地址目錄)。這樣,使用同種工作流應(yīng)用程序構(gòu)造的系統(tǒng),就能夠根據(jù)每個(gè)應(yīng)用程序所定義的數(shù)據(jù)類型進(jìn)行數(shù)據(jù)轉(zhuǎn)換。需要采用一些協(xié)議來(lái)傳遞和保存數(shù)據(jù)類型信息,例如使用 X.400 對(duì)象標(biāo)識(shí)符,或者Internet mail MIME機(jī)制。
一些類型的工作流系統(tǒng)(例如,使用共享文檔存儲(chǔ)實(shí)現(xiàn)的),在活動(dòng)間不能從物理上傳遞應(yīng)用程序數(shù)據(jù)。在這些系統(tǒng)中,應(yīng)用程序要使用適當(dāng)?shù)脑L問(wèn)路徑才能進(jìn)行數(shù)據(jù)訪問(wèn)。這樣,必須要有統(tǒng)一的訪問(wèn)路徑命名方案,必須是有效的訪問(wèn)權(quán)限,并且由激活的過(guò)程實(shí)例來(lái)控制訪問(wèn)權(quán)限。在這種情況下,如果需要,在建模時(shí),數(shù)據(jù)格式轉(zhuǎn)換
也可以作為一個(gè)活動(dòng)。
同種系統(tǒng)中可能使用私有的對(duì)象命名協(xié)定和訪問(wèn)權(quán)限,但是異種系統(tǒng)需要一個(gè)公共的方案。在異種系統(tǒng)中,在過(guò)程定義時(shí)必須包含對(duì)應(yīng)用程序數(shù)據(jù)對(duì)象存儲(chǔ)的訪問(wèn)
路徑,或者在活動(dòng)間的導(dǎo)航必須包含訪問(wèn)路徑的傳遞。
同種工作流產(chǎn)品進(jìn)行協(xié)調(diào)工作,其必須采用相同的應(yīng)用程序數(shù)據(jù)交換方法,或者通過(guò)一個(gè)網(wǎng)關(guān)機(jī)制進(jìn)行協(xié)作,網(wǎng)關(guān)機(jī)制通過(guò)適當(dāng)?shù)膮f(xié)議,可以在兩種不同的數(shù)據(jù)交換方法間進(jìn)行映射,也可以處理對(duì)象命名與數(shù)據(jù)類型轉(zhuǎn)換的不同。以后還需要對(duì)這部分進(jìn)行細(xì)化,但有可能制定一個(gè)交換標(biāo)準(zhǔn),來(lái)包含上述的兩種情況。
工作流應(yīng)用程序或相關(guān)數(shù)據(jù)交換的方法,都是通過(guò)3個(gè)接口來(lái)處理的;下邊列出了這3個(gè)接口:
客戶端應(yīng)用程序接口—工作流相關(guān)數(shù)據(jù)可以包含在任務(wù)中。工作流相關(guān)數(shù)據(jù)也可以通過(guò)共享的對(duì)象存儲(chǔ)形式來(lái)間接傳遞。
應(yīng)用程序調(diào)用接口—依靠應(yīng)用程序調(diào)用接口進(jìn)行數(shù)據(jù)轉(zhuǎn)換,可能需要在調(diào)用服務(wù)中把數(shù)據(jù)包含在具體應(yīng)用程序協(xié)議中。激活的工作流應(yīng)用程序可以使用,讀/寫(xiě)工作
流相關(guān)數(shù)據(jù)的API,或者用這些API來(lái)構(gòu)造通用應(yīng)用程序代理。
工作流機(jī)協(xié)作接口—與客戶端應(yīng)用程序接口相似,盡管在不同的系統(tǒng)中支持不同的應(yīng)用程序數(shù)據(jù)交換方法,但是網(wǎng)關(guān)功能的使用,需要在兩種方法間進(jìn)行映射,也
要處理名稱問(wèn)題。
3.3工作流客戶應(yīng)用:
1工作流客戶端應(yīng)用程序(Workflow Client Applications)
任務(wù)表處理器是在需要調(diào)用人類資源的活動(dòng)時(shí)用來(lái)與終端用戶進(jìn)行交互的軟件。任務(wù)表處理器可以作為工作流產(chǎn)品的一部分提供給用戶,也可以由用戶自己開(kāi)發(fā)。在其他情況中,工作流可能要與普通的辦公系統(tǒng)進(jìn)行集成,例如Email,來(lái)為終端用戶提供一個(gè)統(tǒng)一的任務(wù)管理系統(tǒng)。這就要求在工作流執(zhí)行服務(wù)器與工作流客戶端應(yīng)用程序
間有一個(gè)非常靈活的通信機(jī)制,來(lái)構(gòu)建各種可能遇到的運(yùn)行系統(tǒng)。在工作流模型中,通過(guò)客戶端應(yīng)用程序與工作流機(jī)間的定義良好的接口進(jìn)行交互。在這個(gè)接口中包含任務(wù)表—由工作流機(jī)分配給用戶的任務(wù)序列。最簡(jiǎn)單的情況是,工作流機(jī)訪問(wèn)任務(wù)表,來(lái)把任務(wù)分配給用戶;任務(wù)表處理器訪問(wèn)任務(wù)表,向任務(wù)表中添加任務(wù)項(xiàng)。有許多不同的產(chǎn)品來(lái)實(shí)現(xiàn)任務(wù)表的交互。
任務(wù)表中任務(wù)項(xiàng)的激活(例如,啟動(dòng)應(yīng)用程序,連接工作流相關(guān)數(shù)據(jù)),可能是由工作流客戶端應(yīng)用程序或者終端用戶控制的。在工作流客戶端應(yīng)用程序與工作流執(zhí)行服務(wù)器間定義了一系列的方法,用來(lái)向任務(wù)表中添加任務(wù)項(xiàng)、從任務(wù)表中刪除完成的活動(dòng)、激活臨時(shí)掛起的活動(dòng),等。
任務(wù)表處理器也可以調(diào)用應(yīng)用程序,或者直接調(diào)用,或者由終端用戶調(diào)用。通常希望,任務(wù)表處理器的應(yīng)用程序調(diào)用范圍能夠受到運(yùn)行環(huán)境的限制,盡管這樣會(huì)給
模型帶來(lái)通用性的限制,但這種情況是一直存在的。
與任務(wù)表相關(guān)的部分活動(dòng)的數(shù)據(jù),是任務(wù)表處理器用來(lái)調(diào)用應(yīng)用程序所必須的信息。當(dāng)應(yīng)用程序數(shù)據(jù)是強(qiáng)類型時(shí),在任務(wù)表處理器中要存放一個(gè)聯(lián)接,用來(lái)實(shí)現(xiàn)程序的調(diào)用。在其他情況中,在任務(wù)表處理器與工作流機(jī)間要進(jìn)行完全的應(yīng)用程序名稱和地址信息的交換;這時(shí),工作流客戶端應(yīng)用程序也可能實(shí)現(xiàn)一些應(yīng)用程序調(diào)用接口(接
口3)中的功能,來(lái)獲得必要的信息。
任務(wù)表中可能要包含一個(gè)過(guò)程中的幾個(gè)不同實(shí)例的相關(guān)任務(wù),或者包含幾個(gè)不同過(guò)程中的一個(gè)共同活動(dòng)項(xiàng)。一個(gè)任務(wù)表處理器可能要與幾個(gè)不同的工作流機(jī)、幾個(gè)不同的工作流執(zhí)行服務(wù)器進(jìn)行交互。(按照每個(gè)產(chǎn)品的實(shí)現(xiàn),為每個(gè)過(guò)程單獨(dú)維護(hù)一個(gè)物理上分開(kāi)的任務(wù)表,或者任務(wù)表處理器把幾個(gè)不同的任務(wù)表聯(lián)合到一起,呈現(xiàn)給終端
用戶)
因此,客戶端工作流應(yīng)用程序與工作流機(jī)間的接口必須十分靈活,來(lái)滿足下邊的幾方面功能的實(shí)現(xiàn)多樣性:
? 過(guò)程和活動(dòng)表示符
? 資源名和地址
? 數(shù)據(jù)引用和數(shù)據(jù)結(jié)構(gòu)
? 可選擇的通訊機(jī)制 工作流客戶端應(yīng)用程序接口(接口 2)
滿足上述需求的方法,在標(biāo)準(zhǔn)API集后,可以為從工作流應(yīng)用程序到工作流機(jī)和任務(wù)表的訪問(wèn)提供一致的形式,而不管產(chǎn)品的實(shí)現(xiàn)特性。
API與其參數(shù)可以映射到幾個(gè)不同的通信機(jī)制上,來(lái)適應(yīng)各種不同的工作流實(shí)現(xiàn)模型。
WFMC在其文檔中,分開(kāi)發(fā)布API規(guī)范;下邊是對(duì)客戶端應(yīng)用程序API使用的一個(gè)概述,分成幾個(gè)不同的功能。提供了對(duì)單獨(dú)或者多個(gè)過(guò)程活動(dòng)實(shí)例的操作命令,就像任務(wù)表一樣。
建立會(huì)話(Session Establishment)
? 連接/斷開(kāi)參與系統(tǒng)間的會(huì)話
工作流定義操作(Workflow Definition Operations)
? 對(duì)工作流過(guò)程定義名稱或者屬性的恢復(fù)/查詢功能
過(guò)程控制功能(Process Control Functions)
? 創(chuàng)建/開(kāi)始/結(jié)束一個(gè)過(guò)程實(shí)例
? 掛起/喚醒一個(gè)過(guò)程實(shí)例
? 在過(guò)程實(shí)例或活動(dòng)實(shí)例中強(qiáng)制一個(gè)狀態(tài)發(fā)生改變
? 查詢過(guò)程實(shí)例或活動(dòng)實(shí)例的屬性
過(guò)程狀態(tài)功能(Process Status Functions)
? 打開(kāi)/關(guān)閉過(guò)程實(shí)例或活動(dòng)實(shí)例的查詢,設(shè)置過(guò)濾標(biāo)準(zhǔn)
? 獲取過(guò)程實(shí)例或活動(dòng)實(shí)例的詳細(xì)信息
? 獲取具體過(guò)程或活動(dòng)的詳細(xì)信息
任務(wù)表/任務(wù)項(xiàng)處理功能(Worklist/Workitem Handling Functions)
? 打開(kāi)/關(guān)閉任務(wù)表查詢,設(shè)置過(guò)濾標(biāo)準(zhǔn)
? 獲取任務(wù)表中的項(xiàng)目
? 通知選擇/重分配/結(jié)束一個(gè)任務(wù)項(xiàng)
? 查詢?nèi)蝿?wù)項(xiàng)屬性
過(guò)程管理功能(Process Supervisory Functions)
? 改變過(guò)程定義或者它的實(shí)例的運(yùn)行狀態(tài)
? 改變某種類型的所有過(guò)程實(shí)例或活動(dòng)實(shí)例的狀態(tài)
? 為某種類型的所有過(guò)程實(shí)例或活動(dòng)實(shí)例的屬性賦值
? 終止所有過(guò)程實(shí)例
數(shù)據(jù)處理功能(Data Handling Functions)
? 恢復(fù)/返回工作流相關(guān)或應(yīng)用程序數(shù)據(jù)
應(yīng)用程序調(diào)用(Application Invocation)
? 上邊對(duì)功能的概括,為支持任務(wù)表處理器對(duì)應(yīng)用程序調(diào)用提供了基礎(chǔ)。應(yīng)用程序調(diào)用功能的一些命令是與客戶端應(yīng)用程序環(huán)境相關(guān)的。
? 有些產(chǎn)品可以只實(shí)現(xiàn)全部WAPI的一部分;以后會(huì)給出進(jìn)一步的考慮,定義一致性級(jí)別,來(lái)滿足市場(chǎng)中不同的產(chǎn)品間的,不同的協(xié)作需要。
3.4被調(diào)應(yīng)用程序:
1應(yīng)用程序調(diào)用(Invoked Applications)
所有的WFM產(chǎn)品都沒(méi)有足夠的邏輯單元,知道如何調(diào)用所有的應(yīng)用程序,這些應(yīng)用程序存在異種的產(chǎn)品環(huán)境中。這就需要,能夠處理在所有平臺(tái)下和網(wǎng)絡(luò)環(huán)境中進(jìn)行調(diào)用的邏輯,并需要能使用公共格式和編碼進(jìn)行應(yīng)用數(shù)據(jù)或相關(guān)數(shù)據(jù)傳遞的方法。
然而,許多工作流系統(tǒng)能夠使用了更多受限制的應(yīng)用程序,特別是那些采用強(qiáng)制數(shù)據(jù)類型和直接與應(yīng)用程序相連的系統(tǒng)。在其他情況中,應(yīng)用程序?qū)Σ僮鞯恼{(diào)用,可能是通過(guò)標(biāo)準(zhǔn)的交換機(jī)制來(lái)實(shí)現(xiàn)的,例如OSI TP協(xié)議或者X.400。一些實(shí)現(xiàn)使用了“應(yīng)用程序代理(Application Agent)”,把這些在在標(biāo)準(zhǔn)接口之后的各種方法包含在工作流執(zhí)行服務(wù)器中。也有可能開(kāi)發(fā)“Workflow enabled”應(yīng)用工具,這種工具使用標(biāo)準(zhǔn)的API集來(lái)與工作流執(zhí)行服務(wù)器進(jìn)行通信,來(lái)接收應(yīng)用程序數(shù)據(jù)、信號(hào)和響應(yīng)活動(dòng)事件等。這些API可以被應(yīng)用工具直接調(diào)用;也可以被應(yīng)用程序代理過(guò)過(guò)程調(diào)用,作為與其他應(yīng)用程序(不包含任何工作流技術(shù)的程序)交互的前端。應(yīng)用程序調(diào)用接口(接口 3)
下邊是接口3的結(jié)構(gòu),“工作流”類型的應(yīng)用程序或應(yīng)用程序代理,可以直接使用這個(gè)結(jié)構(gòu)。
在簡(jiǎn)單的情況中,工作流機(jī)在本地處理應(yīng)用程序調(diào)用,使用過(guò)程定義中的信息來(lái)確定,活動(dòng)的性質(zhì)、將要調(diào)用的應(yīng)用程序的類型和所需的數(shù)據(jù)。被調(diào)用的應(yīng)用程序可能存儲(chǔ)在工作流機(jī)中,或者與工作流機(jī)一同存儲(chǔ)在相同的平臺(tái)下,或者存放在一個(gè)獨(dú)立的網(wǎng)絡(luò)訪問(wèn)的平臺(tái)中;過(guò)程定義中有足夠的應(yīng)用程序類型和尋址信息(工作流機(jī)的特殊需求),來(lái)實(shí)現(xiàn)應(yīng)用程序調(diào)用。在這種情況下,應(yīng)用程序命名與尋址的協(xié)定是處于工作流機(jī)與過(guò)程定義之間的。
應(yīng)用程序調(diào)用API的詳細(xì)語(yǔ)法、語(yǔ)義作為WFMC規(guī)范的一部分給出。操作覆蓋了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是異步的。API的操作可以是單線程的,也可以是多線程的,后者使用活動(dòng)ID來(lái)區(qū)分線程。下邊是應(yīng)用程序調(diào)用可以使用的一些命令概括:
創(chuàng)建會(huì)話(Session Establishment)
? 連接/斷開(kāi)應(yīng)用程序會(huì)話
活動(dòng)管理功能(Activity Management Functions)
? 開(kāi)始活動(dòng)
? 掛起/恢復(fù)/放棄活動(dòng)
? 活動(dòng)完成通知
? 信號(hào)事件
? 查詢活動(dòng)屬性
數(shù)據(jù)處理功能(Data Handling Functions)
? 提供工作流相關(guān)數(shù)據(jù)
? 提供應(yīng)用程序數(shù)據(jù)或數(shù)據(jù)地址
更復(fù)雜的情況,異種工作流機(jī)間的協(xié)同工作,可能需要在工作流機(jī)間傳遞應(yīng)用程序調(diào)用信息,或者作為運(yùn)行時(shí)期數(shù)據(jù)交換的一部分,或者通過(guò)在過(guò)程定義階段后導(dǎo)
入過(guò)程定義來(lái)實(shí)現(xiàn)。
3.5其他工作流執(zhí)行服務(wù):
WFMC的一個(gè)主要目標(biāo)是,為不同開(kāi)發(fā)商的工作流系統(tǒng)產(chǎn)品,相互間能夠進(jìn)行無(wú)逢傳遞任務(wù)項(xiàng),定義標(biāo)準(zhǔn)。
工作流產(chǎn)品的特性變化多樣。在WFMC的協(xié)同工作標(biāo)準(zhǔn)中,沒(méi)有強(qiáng)迫開(kāi)發(fā)商必須提供一個(gè)只面向用戶需求的產(chǎn)品或者只考慮協(xié)同工作。
WFMC把焦點(diǎn)聚集到,開(kāi)發(fā)多種不同的協(xié)同工作框架,這些框架可以操作一系列標(biāo)準(zhǔn)的協(xié)調(diào)工作,從簡(jiǎn)單的任務(wù)傳遞到整個(gè)工作流系統(tǒng)的協(xié)同工作(包括過(guò)程定義轉(zhuǎn)換、工作流相關(guān)數(shù)據(jù)交換、通用的界面等)。簡(jiǎn)單的協(xié)同工作,WFMC的協(xié)同工作定義將在最初就能支持;而復(fù)雜的協(xié)同工作,還需要進(jìn)一步的研究。
盡管可以開(kāi)發(fā)一個(gè)非常復(fù)雜的協(xié)同工作框架,由許多個(gè)工作流機(jī)構(gòu)成個(gè)執(zhí)行服務(wù)器,但是這種框架不會(huì)在近期實(shí)現(xiàn),因?yàn)檫@需要所有的工作流機(jī)都可以解釋一個(gè)公共的過(guò)程定義和共享公共的工作流控制數(shù)據(jù)集,事實(shí)上是維護(hù)異種工作流機(jī)間的一個(gè)共享過(guò)程視圖?,F(xiàn)階段更現(xiàn)實(shí)的目標(biāo)是,能夠在運(yùn)行時(shí)期傳遞過(guò)程的某些部分,來(lái)支持不
同的執(zhí)行服務(wù)器運(yùn)行。
WFMC定義了4個(gè)協(xié)同工作模型:鏈鎖式,子過(guò)程嵌套,P2P(Peer-to-Peer),相似同步,包含多種協(xié)同工作能力級(jí)別
3.6管理和監(jiān)視工具:
WFMC規(guī)范的最后關(guān)注的是為管理和監(jiān)視功能開(kāi)發(fā)公共的接口標(biāo)準(zhǔn),這樣一個(gè)開(kāi)發(fā)商的產(chǎn)品就可以用來(lái)管理其他工作流機(jī)的運(yùn)行。通過(guò)公共的接口,幾個(gè)不同的工
作流執(zhí)行服務(wù)器可以共享,管理和監(jiān)視功能。
盡管,過(guò)程狀態(tài)命令在接口定義中已經(jīng)描述了,但一致認(rèn)為,在某些行業(yè)中需要,進(jìn)行全部狀態(tài)監(jiān)視和提取信息的功能。WFMC提出的接口,是要讓用戶能夠得到工作流運(yùn)行狀態(tài)的完整視圖,無(wú)論是什么樣的工作流系統(tǒng);同時(shí),也希望能提供一套全面的功能集,進(jìn)行系統(tǒng)管理,包括安全性、控制和權(quán)限。
接口中包含WAPI集中的一些具體命令,來(lái)操作管理和監(jiān)視功能。另外,進(jìn)一步的討論,期望能夠確定在什么范圍內(nèi),這個(gè)接口可以使用現(xiàn)有的協(xié)議(如CMIP、SNMP),來(lái)設(shè)置、恢復(fù)管理狀態(tài)和統(tǒng)計(jì)信息(定義在開(kāi)放MIB中——Management Information Base)
“工作流” 已經(jīng)成為了一個(gè)事實(shí)存在的概念和名詞,可是到了2007年依然找不到?jīng)]有能夠明確的定義,在互連網(wǎng)上,我們隨便在GOOGLE或百度上搜索,找到關(guān)于工作流的內(nèi)容及定義可以說(shuō)是百家爭(zhēng)鳴,是標(biāo)準(zhǔn)、是引擎、是技術(shù)、解決方案、是思想、是架構(gòu)。。到底是什么?
工作流到底是什么呢,對(duì)于從事做計(jì)算機(jī)軟件設(shè)計(jì)的人而言,它是一項(xiàng)技術(shù)、是我們?yōu)槲覀兊目蛻籼峁┙鉀Q方案框架的一部分;對(duì)于從事企業(yè)信息化管理的人而言,它是一種思想,是我們降低用戶的IT運(yùn)維成本的一種方法;對(duì)于從事軟件開(kāi)發(fā)的人而言,它是一個(gè)架構(gòu),是我們?nèi)绾卫贸墒旆€(wěn)定的接口和組件低成本的開(kāi)發(fā)出適應(yīng)用戶流程變化的應(yīng)用程序??偠灾?,工作流通過(guò)技術(shù)的手段,融入管理思想、為管理提供“人、事、物、流程、時(shí)間、條件”等多維管理能力,幫助用戶實(shí)現(xiàn)管理目標(biāo)。
既然今天談的是“工作流”技術(shù),那文章的重點(diǎn)就是占在技術(shù)的角度來(lái)討論工作流,我們可以從以下幾個(gè)方面來(lái)探討工作流。
1、為什么要使用工作流技術(shù)
對(duì)于這個(gè)問(wèn)題我們可以從軟件企業(yè)的解決方案策略、用戶運(yùn)維的成本上及企業(yè)信息化規(guī)劃等幾個(gè)角度來(lái)考慮這個(gè)問(wèn)題。
首先從解決方案提供者的角度來(lái)說(shuō),我們的CIO/CTO面臨的一個(gè)很大的壓力是在于我們?yōu)橛脩籼峁┑慕鉀Q方案滯后于我們的用戶的商業(yè)策略,我們用戶總是在變化中發(fā)展,商業(yè)策略面臨著市場(chǎng)、競(jìng)爭(zhēng)對(duì)手的壓力而改變,而我們提供的解決方案卻不能夠快速適應(yīng)這樣的變化。工作流技術(shù)使這樣的一種解決方案成為可能,同時(shí)工作流技術(shù)也為用戶企業(yè)實(shí)現(xiàn)企業(yè)戰(zhàn)略執(zhí)行提供了實(shí)現(xiàn)的平臺(tái)。
從IT運(yùn)維的角度來(lái)說(shuō),目前很多IT公司面臨了一種CTO(總體擁有成本)成本比例的變化趨勢(shì)。因?yàn)榇蟛糠諭T企業(yè)或IT部門(mén)的IT基礎(chǔ)架構(gòu)的現(xiàn)狀,使我們用戶運(yùn)行維護(hù)的成本在逐步的升高,研發(fā)新能力的成本在逐步壓縮,但我們的IT投資始終會(huì)變緩,特別是IT運(yùn)行維護(hù)的成本在總體擁有成本中的比例。意味著IT企業(yè)和IT部門(mén)利益的空間將越來(lái)越小,其實(shí)我們身邊的很多案例里就有很多IT企業(yè)被某些項(xiàng)目拖累致倒閉的現(xiàn)象。工作流技術(shù)可以脫離開(kāi)發(fā)環(huán)境而設(shè)計(jì)業(yè)務(wù)流程的特性讓企業(yè)IT運(yùn)行維護(hù)成本大大的降低,從而提高了IT企業(yè)和IT部門(mén)的利益空間。
從企業(yè)信息規(guī)劃的角度來(lái)說(shuō),可以回顧前些年的ERP、進(jìn)銷存、CRM等系統(tǒng),大部分是管事的,系統(tǒng)主要是記錄數(shù)據(jù)及其關(guān)聯(lián)關(guān)系等,是靜態(tài)為主的,但隨著社會(huì)的發(fā)展與競(jìng)爭(zhēng)格局的變化,企業(yè)的策略越來(lái)越需要能隨需而動(dòng),生產(chǎn)管理活動(dòng)也始終是“人”參與的活動(dòng),很多時(shí)候人需要激勵(lì)、參與、滿足、約束、被管理等等才能很好達(dá)到管理目標(biāo)。因此新一代管理系統(tǒng)中協(xié)同性、靈活性、擴(kuò)展性需求相當(dāng)重要,工作流是提供協(xié)同性、靈活性、擴(kuò)展性的最佳工具。
2、工作流用在哪里
毫五疑問(wèn),工作流技術(shù)是軟件技術(shù),用在軟件設(shè)計(jì)領(lǐng)域,工作流分為業(yè)務(wù)型工作流和狀態(tài)型工作流,業(yè)務(wù)型工作流大部分是要用在管理軟件設(shè)計(jì)領(lǐng)域,為管理軟件提供靈活性、擴(kuò)展性、協(xié)同性等特質(zhì)。幫助企業(yè)實(shí)現(xiàn)戰(zhàn)略管理目標(biāo)。
常用的工作流應(yīng)用場(chǎng)景:
企業(yè)辦公自動(dòng)化系統(tǒng)
IT服務(wù)管理系統(tǒng)
客戶服務(wù)管理系統(tǒng)
物流攬收調(diào)度系統(tǒng)
設(shè)備運(yùn)維管理系統(tǒng)
質(zhì)量考核監(jiān)督系統(tǒng)
采購(gòu)系統(tǒng)。。
3、如何使用工作流及哪些人使用
很多時(shí)候工作流是一個(gè)看不見(jiàn)摸不著的東西,存在于我們的業(yè)務(wù)管理系統(tǒng)軟件中,至于如何使用、哪些人使用可以從幾個(gè)方面說(shuō)明。
工作流引擎是系統(tǒng)功能,是軟件本身去使用的,工作流架構(gòu)是包含工作流引擎使用、接口調(diào)用、業(yè)務(wù)系統(tǒng)應(yīng)用框架的,是開(kāi)發(fā)人員使用的,開(kāi)發(fā)人員在工作流架構(gòu)上設(shè)計(jì)開(kāi)發(fā)包含工作流技術(shù)的不同業(yè)務(wù)領(lǐng)域的軟件系統(tǒng)。
工作流平臺(tái)一般是包含流程設(shè)計(jì)工具的,由企業(yè)流程管理用戶去使用,通過(guò)工作流平臺(tái)提供的流程管理工具將企業(yè)的戰(zhàn)略和制度轉(zhuǎn)化為執(zhí)行語(yǔ)言。
軟件系統(tǒng)普通用戶使用的則僅僅是包含企業(yè)戰(zhàn)略執(zhí)行語(yǔ)言的業(yè)務(wù)管理系統(tǒng)。
4、工作流技術(shù)的選型
關(guān)于工作流技術(shù)的選型,對(duì)于從事IT工作的人員來(lái)說(shuō)是一個(gè)需要非常慎重選擇,在這里做些簡(jiǎn)單的闡述,工作流技術(shù)分為兩種。一種是業(yè)務(wù)流程型的,比如我們的一些事件處理、服務(wù)流程、物流攬收調(diào)度、合同審批、設(shè)計(jì)審核等,需要工作流引擎根據(jù)各種表單的內(nèi)容來(lái)人機(jī)交互來(lái)自動(dòng)管理這個(gè)過(guò)程;另一種是狀態(tài)機(jī)型的,根據(jù)一件事情的狀態(tài)變化而自動(dòng)進(jìn)行處理,如工業(yè)控制,電路控制管理等。常用于一些工業(yè)自動(dòng)化控制系統(tǒng)等。
我們經(jīng)常聽(tīng)到有人說(shuō)工作流引擎可以很快的就配置出一個(gè)業(yè)務(wù)系統(tǒng)出來(lái),自定義表單,自定義流程,自定義報(bào)表等等,很快就給用戶提供一個(gè)完整的業(yè)務(wù)系統(tǒng),其實(shí)這樣的想法是非常理想的,我們?cè)陂_(kāi)發(fā)我們的業(yè)務(wù)系統(tǒng)的時(shí)候我們會(huì)發(fā)現(xiàn)我們的業(yè)務(wù)系統(tǒng)不僅僅是功能的實(shí)現(xiàn),它將面臨著各個(gè)方面的需求,包括性能,并發(fā)處理能力、易用性、一致性及個(gè)性化等等,當(dāng)工作流引擎只能滿足60%的需求時(shí),我們的團(tuán)隊(duì)將為另外的40%需求付出多少成本。因此在工作流的選型上很重要的一點(diǎn)就是它對(duì)于二次開(kāi)發(fā)的支持,及接口的友好特性,同時(shí)它能支持我們?cè)诠ぷ髁骰A(chǔ)上設(shè)計(jì)思路上的延續(xù)性。
因此工作流技術(shù)的選型不但要考慮工作流引擎本身功能的完整性和穩(wěn)定性,工作流架構(gòu)的擴(kuò)展性、易用性及適應(yīng)能力,還需要考慮工作流涉及開(kāi)發(fā)人員、企業(yè)管理實(shí)施人員、企業(yè)用戶的習(xí)慣和易用性等。純粹的工作流的產(chǎn)品意義并不大,關(guān)鍵是否能很好的幫助企業(yè)實(shí)現(xiàn)管理目標(biāo)。
5、工作流技術(shù)的應(yīng)用
E8.Net工作流平臺(tái)融入了新一代管理軟件關(guān)注的重點(diǎn)思想,所有功能模塊應(yīng)用將權(quán)限體系、工作流引擎體系、表示邏輯體系、管理控制邏輯體系、擴(kuò)展及個(gè)性化接口體系充分結(jié)合,從架構(gòu)的設(shè)計(jì)上優(yōu)化企業(yè)個(gè)性化業(yè)務(wù)系統(tǒng)實(shí)施成本,并通過(guò)流程管理工具,為企業(yè)實(shí)施個(gè)性化的企業(yè)流程,通過(guò)記錄、監(jiān)督、跟蹤、回訪、分析企業(yè)日常事務(wù),持續(xù)改善企業(yè)管理流程,E8.Net工作流平臺(tái)開(kāi)源的開(kāi)發(fā)架構(gòu)設(shè)計(jì)過(guò)程中充分分析了管理行為中人的特性,基于E8開(kāi)發(fā)的企業(yè)流程應(yīng)用系統(tǒng)提供了事中監(jiān)督、事后回訪、全程跟蹤的體系架構(gòu),E8工作流引擎功能設(shè)計(jì)中也充分考慮了流程和環(huán)節(jié)模型特性、環(huán)節(jié)行為人群體特性和中國(guó)特色,流轉(zhuǎn)過(guò)程中基于權(quán)限體系提供了人為因素中“主動(dòng)/被動(dòng)”異常的解決思路,解決快速實(shí)施企業(yè)業(yè)務(wù)流程需求的同時(shí),又提供了人性“非理想”狀態(tài)下的異常解決方案和防范控制解決方案。
工作流技術(shù)在協(xié)同辦公中的實(shí)現(xiàn)
http://004km.cn 2008年10月28日 17:04 比特網(wǎng)ChinaByte
一、協(xié)同辦公(OA)系統(tǒng)簡(jiǎn)介
協(xié)同辦公(OA)系統(tǒng)是一套兼具企業(yè)信息門(mén)戶、知識(shí)管理、工作流管理、人力資源管理、客戶與合作伙伴管理、項(xiàng)目管理、財(cái)務(wù)管理、資產(chǎn)管理功能的協(xié)同商務(wù)平臺(tái),協(xié)同辦公(OA)系統(tǒng)是一個(gè)數(shù)字化的企業(yè)應(yīng)用環(huán)境,真正讓公司所有的信息都在一個(gè)平臺(tái)上管理,解決信息孤島問(wèn)題。協(xié)同辦公系統(tǒng)本身具有的網(wǎng)狀結(jié)構(gòu),為企業(yè)打通所有的信息節(jié)點(diǎn),讓企業(yè)管理者輕松穿梭在客戶、員工、文檔等所有的信息節(jié)點(diǎn)上,因?yàn)閰f(xié)同辦公系統(tǒng)為您提供了一張信息網(wǎng),只要您找到這張信息網(wǎng)中的某個(gè)節(jié)點(diǎn),您就可以輕松的以這個(gè)節(jié)點(diǎn)為中心把企業(yè)的整個(gè)信息網(wǎng)都提取出來(lái)。
同時(shí),協(xié)同辦公(OA)系統(tǒng)可以與后臺(tái)的ERP軟件集成在一起,將所有利益相關(guān)者、企業(yè)部門(mén)、不同應(yīng)用系統(tǒng)的信息整合到統(tǒng)一的渠道,并提供統(tǒng)一的界面給用戶操作和提取信息,從而實(shí)現(xiàn)業(yè)務(wù)處理和信息獲取與共享的一體化,達(dá)到內(nèi)部協(xié)同和外部協(xié)同,為每一個(gè)用戶提供一個(gè)完全的個(gè)性化門(mén)戶,用戶在這個(gè)個(gè)性化的門(mén)戶中管理日常的所有事務(wù)。
二、工作流管理簡(jiǎn)介
由于工作流預(yù)先定義的特性,已設(shè)定的請(qǐng)求可以很容易的遵守相應(yīng)的規(guī)則和實(shí)際操作情況。企業(yè)可以確信所有的請(qǐng)求都是根據(jù)規(guī)則和手續(xù)來(lái)輸入和批準(zhǔn)的,從而保證企業(yè)運(yùn)作的規(guī)范化和透明化。上海泛微軟件公司的協(xié)同辦公(OA)系統(tǒng)中實(shí)現(xiàn)的工作流e-Workflow管理可以對(duì)內(nèi)部以及外部業(yè)務(wù)處理采取電子化管理方式管理,工作流管理是提高組織效率的有效工具。
e-Workflow提供強(qiáng)大的自定義功能,支持企業(yè)復(fù)雜的工作流設(shè)置。企業(yè)可對(duì)工作流的組成因素包括流程完成需要的階段、每個(gè)階段的負(fù)責(zé)人、流轉(zhuǎn)條件,直至相對(duì)底層的表單和字段進(jìn)行自定義,使得工作流的定義完全與企業(yè)的政策和實(shí)際運(yùn)營(yíng)相符合,而不必進(jìn)行復(fù)雜的二次開(kāi)發(fā)。
e-Workflow同時(shí)也提供了可定制的瀏覽和報(bào)告的功能,用戶可以對(duì)工作流的關(guān)鍵信息進(jìn)行任意的定義以獲得特定的報(bào)表。e-Workflow的特性可以使用戶獲得非常靈活和豐富的統(tǒng)計(jì)報(bào)告以對(duì)相關(guān)的決策作出支持。
三、工作流管理實(shí)現(xiàn)基本功能
1定義任意形式的工作流程
e-Workflow強(qiáng)大的自定義功能可以滿足企業(yè)對(duì)復(fù)雜工作流程的定義,包括文檔流程和表單流程e-Workflow 與 e-HRM結(jié)合對(duì)于人員在組織結(jié)構(gòu)中的地位和角色將是工作流設(shè)計(jì)的基礎(chǔ)。
2工作流執(zhí)行
可設(shè)定的對(duì)工作流的執(zhí)行包括提交、批準(zhǔn)、退回、拒絕、代理、重新打開(kāi)、歸檔等,e-Workflow會(huì)根據(jù)路由的判定條件和當(dāng)前節(jié)點(diǎn)的執(zhí)行操作設(shè)置工作流的下一目標(biāo)節(jié)點(diǎn)。
固定流程和自由流程的結(jié)合
原則上是固定流程,應(yīng)該一步步走下去,但是在某個(gè)節(jié)點(diǎn),加入一個(gè)自由流程審批人可以選定下一步的審批人,然后再按照預(yù)定的流程走下去。
如:申請(qǐng)者-部門(mén)經(jīng)理-出納-財(cái)務(wù)經(jīng)理,對(duì)于大一點(diǎn)的公司,有多個(gè)出納,哪個(gè)出納在崗,就讓哪個(gè)出納審,那么就可以把出納那步設(shè)成自由流程,當(dāng)部門(mén)經(jīng)理審批完后,會(huì)自動(dòng)列出所有的出納,部門(mén)經(jīng)理選擇其中的一個(gè)出納然后提交。
4表單數(shù)據(jù)自動(dòng)生成
表單的有些數(shù)據(jù),不希望由人工輸入獲得,e-Workflow可以根據(jù)被計(jì)算字段、原始數(shù)據(jù)和計(jì)算方法自動(dòng)得出目標(biāo)字段數(shù)據(jù),并可以此作為下一路由選擇的判斷條件。
5跟蹤和回溯
e-Workflow保留工作流流轉(zhuǎn)過(guò)程中的所有信息以供查詢。對(duì)于文檔型的審批,可以保持痕跡。這樣審批人能夠一目了然知道原稿和審批稿的區(qū)別。監(jiān)控和管理
對(duì)于某個(gè)模板產(chǎn)生的單據(jù),可以設(shè)定監(jiān)督人和管理人,這樣既使他沒(méi)有審批權(quán),也可以看到該單據(jù),同時(shí)發(fā)送催辦信息。當(dāng)某個(gè)單據(jù)因?yàn)槟撤N原因需要臨時(shí)更改流程時(shí),監(jiān)督和管理人可以修改流程,以避免單據(jù)的積壓提高工作效率
7自動(dòng)提醒
對(duì)于請(qǐng)求的不同狀況,例如新的請(qǐng)求到達(dá)、待處理請(qǐng)求、超時(shí)未處理請(qǐng)求、客戶聯(lián)系計(jì)劃、請(qǐng)求遞交被處理狀況等,系統(tǒng)都設(shè)定了多種提醒功能以確保請(qǐng)求的處理不致延誤。
8流程自動(dòng)激活
e-Workflow的一個(gè)強(qiáng)大之處就是在于它可以讓系統(tǒng)在運(yùn)作的過(guò)程中自動(dòng)觸發(fā)請(qǐng)求,并且還可以根據(jù)前一個(gè)請(qǐng)求的實(shí)際狀況對(duì)下一個(gè)觸發(fā)的請(qǐng)求進(jìn)行智能選擇。
9自動(dòng)更新數(shù)據(jù)庫(kù)
e-Workflow在信息流轉(zhuǎn)的過(guò)程中,會(huì)自動(dòng)更新系統(tǒng)原有的相關(guān)數(shù)據(jù)庫(kù),這是 e-Workflow 另一個(gè)重要的特性體現(xiàn),通過(guò)數(shù)據(jù)自動(dòng)更新,避免了二次手工錄入帶來(lái)的工作效率低下和失誤的情況,真正實(shí)現(xiàn)企業(yè)管理和運(yùn)營(yíng)的電子化。
10分支選擇流
根據(jù)上一步的選擇,選擇不同的分支進(jìn)行流程執(zhí)行。如:如果上一步是總經(jīng)理審批的,會(huì)選擇一個(gè)分支進(jìn)行流轉(zhuǎn)。如上一步是副總審批的選擇另外一個(gè)分支進(jìn)行流轉(zhuǎn)。
11條件流轉(zhuǎn)
以請(qǐng)款單為例:金額小于3000元,審批流程是:普通員工-部門(mén)經(jīng)理。如果金額大于3000元的審批流程是:普通員工-部門(mén)經(jīng)理-總經(jīng)理,那么在流程定義的時(shí)候,需要根據(jù)單據(jù)的填寫(xiě)值進(jìn)行判斷,系統(tǒng)自動(dòng)選擇流程。
12傳閱、歸檔等的并發(fā)流
如有一個(gè)流程:申請(qǐng)者-副總經(jīng)理的一張單子,申請(qǐng)者需要提交副總審批的一張單子,不需要部門(mén)經(jīng)理審批,但是需要讓部門(mén)經(jīng)理知曉,稱為傳閱的并發(fā)流。同理有歸檔或者其它的并發(fā)流。這種并發(fā)流的特點(diǎn)是一個(gè)流程的執(zhí)行過(guò)程中,會(huì)產(chǎn)生另外的的流程,互不影響。
13流程門(mén)戶定義
通過(guò)與企業(yè)信息門(mén)戶的結(jié)合,e-Workflow實(shí)現(xiàn)流程定義的門(mén)戶化,根據(jù)不同的信息門(mén)戶設(shè)定不同的流程。
四、小結(jié)
工作流技術(shù)的出現(xiàn)和迅速發(fā)展為企業(yè)先進(jìn)制造戰(zhàn)略的實(shí)施提供了重要的技術(shù)支持。本文提出了分布式工作流建模工具的設(shè)計(jì)框架,以 SOA設(shè)計(jì)模式,通過(guò)三層結(jié)構(gòu)的方式很好的實(shí)現(xiàn)了工作流建模工具、邏輯、數(shù)據(jù)、視圖的分離,使得系統(tǒng)在可擴(kuò)展性、可靠性與實(shí)用性方面都大大提高。以此為原型開(kāi)發(fā)的泛微e-Workflow工作流管理系統(tǒng)很好的配合了工作流引擎的設(shè)計(jì)。在實(shí)際中的初步應(yīng)用表明該系統(tǒng)通過(guò)分析企業(yè)不同類的經(jīng)營(yíng)過(guò)程,采用有向圖的方法對(duì)現(xiàn)實(shí)的企業(yè)活動(dòng)進(jìn)行形式化描述,并嚴(yán)格定義組成有向圖的各類元素的行為特征,從而明確建立企業(yè)經(jīng)營(yíng)過(guò)程到工作流模型的映射機(jī)制.使其與企業(yè)現(xiàn)有應(yīng)用結(jié)合形成一個(gè)完整的過(guò)程體系。責(zé)任編輯:胡艷麗 工作流管理技術(shù)介紹
2009-11-25 作者:葛志春 來(lái)源:希賽網(wǎng)
摘 要:本文主要對(duì)工作流技術(shù)的起源,工作流的概念,研究的技術(shù)的內(nèi)容及工作流管理系統(tǒng)作了深入的介紹;并對(duì)工作流技術(shù)在國(guó)內(nèi)外的應(yīng)用現(xiàn)狀及不足作了深入的分析。
關(guān)鍵詞:工作流、表單
1、工作流技術(shù)應(yīng)用背景
傳統(tǒng)的計(jì)算機(jī)管理信息系統(tǒng)的主要功能有三個(gè):即信息處理、事務(wù)處理與決策支持。信息傳遞和信息處理構(gòu)成了企業(yè)和行政管理部門(mén)的業(yè)務(wù)工作內(nèi)容之一,也是計(jì)算機(jī)信息系統(tǒng)的主要功能之一,它是企業(yè)和行政管理部門(mén)進(jìn)行事務(wù)處理和決策支持的基礎(chǔ)。
當(dāng)PC機(jī)沒(méi)有作為信息處理工具而出現(xiàn)的時(shí)候,紙張是進(jìn)行日常業(yè)務(wù)活動(dòng)不可取代的載體。這種傳統(tǒng)的紙張為載體的信息傳遞與處理方式的效率很低,需要花費(fèi)相當(dāng)?shù)娜肆?、物力?lái)完成信息的處理、組織、存儲(chǔ)以及查詢檢索,同時(shí)這種方式降低了對(duì)客戶需求的響應(yīng)速度,給企業(yè)和行政管理部門(mén)的生產(chǎn)經(jīng)營(yíng)都帶來(lái)了及不利的影響。在計(jì)算機(jī)得到了廣泛普及、計(jì)算機(jī)應(yīng)用水平日益提高的情況下,企業(yè)與行政管理單位的工作人員希望能夠以一種無(wú)紙化的、計(jì)算機(jī)使能的工作環(huán)境來(lái)開(kāi)展日常業(yè)務(wù)工作。一些企業(yè)和行政管理部門(mén)因此建立了相應(yīng)的文件、表單傳遞系統(tǒng)(Forms-routing applications)用來(lái)實(shí)現(xiàn)日常表單處理的電子化與自動(dòng)化。這種簡(jiǎn)單的文件、電子表單系統(tǒng)可以看作是工作流應(yīng)用的雛形。
企業(yè)的經(jīng)營(yíng)過(guò)程是由一系列相關(guān)的任務(wù)組成的;這些任務(wù)按照企業(yè)的管理規(guī)章與業(yè)務(wù)流程串行或并行的執(zhí)行,最終完成企業(yè)的經(jīng)營(yíng)目標(biāo)。自從進(jìn)入工業(yè)化時(shí)代以來(lái),有關(guān)過(guò)程的組織管理與流程的優(yōu)化工作就一直在進(jìn)行,它是企業(yè)管理的主要研究?jī)?nèi)容之一。只不過(guò)在沒(méi)有引入計(jì)算機(jī)信息系統(tǒng)的支持以前,這些工作是由人工來(lái)完成的。隨著市場(chǎng)經(jīng)濟(jì)的發(fā)展,市場(chǎng)競(jìng)爭(zhēng)的日益激烈,企業(yè)要求其業(yè)務(wù)過(guò)程能夠進(jìn)行快速重組;業(yè)務(wù)過(guò)程的不斷變化也相應(yīng)要求信息系統(tǒng)能夠快速重組。這樣,單靠人工對(duì)企業(yè)過(guò)程進(jìn)行重組和傳統(tǒng)的面向功能的信息化計(jì)算機(jī)系統(tǒng)已經(jīng)不能適應(yīng)現(xiàn)代企業(yè)的發(fā)展。因此,企業(yè)希望有一種能夠?qū)崿F(xiàn)企業(yè)快速業(yè)務(wù)流程重組和業(yè)務(wù)過(guò)程自動(dòng)化的軟件系統(tǒng)。在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫(kù)技術(shù)迅速發(fā)展、多機(jī)協(xié)同工作技術(shù)日臻成熟的基礎(chǔ)上于20世紀(jì)80年代中期開(kāi)始提出了工作流的概念。工作流技術(shù)的提出與發(fā)展為企業(yè)更好的實(shí)現(xiàn)這些經(jīng)營(yíng)目標(biāo)提供了先進(jìn)的手段。
隨著經(jīng)營(yíng)業(yè)務(wù)的展開(kāi)企業(yè)的物理位置逐漸分散、部門(mén)間的協(xié)作日益頻繁;決策過(guò)程的分散性也日益明顯,對(duì)日常業(yè)務(wù)活動(dòng)詳細(xì)信息的需求也日益提高。因此,企業(yè)又要求信息系統(tǒng)必須具有分布性、異構(gòu)性、自治性。在這種大規(guī)模的分布式應(yīng)用環(huán)境下高效地運(yùn)轉(zhuǎn)相關(guān)的任務(wù),并且對(duì)執(zhí)行的任務(wù)進(jìn)行密切監(jiān)控已成為一種發(fā)展趨勢(shì)。在這種技術(shù)背景下,工作流管理系統(tǒng)也有最初的創(chuàng)建無(wú)紙化辦公環(huán)境,轉(zhuǎn)而成為同化企業(yè)復(fù)雜信息環(huán)境、實(shí)現(xiàn)業(yè)務(wù)流程自動(dòng)化的必要工具。這樣的一個(gè)轉(zhuǎn)變,把工作流技術(shù)帶入了一個(gè)嶄新的發(fā)展階段,使得人們從更深的層次、更廣的領(lǐng)域上對(duì)工作流展開(kāi)了研究。
1993年工作流技術(shù)的標(biāo)準(zhǔn)化組織工作流管理聯(lián)盟(Workflow Manangement Coalition 簡(jiǎn)稱:WfMC).的成立標(biāo)志著工作流技術(shù)在計(jì)算機(jī)應(yīng)用領(lǐng)域之中被明確的劃分出了自己的一席之地,相應(yīng)的概念與術(shù)語(yǔ)也得到了人們的承認(rèn)。在全球范圍內(nèi),對(duì)工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開(kāi)發(fā)了進(jìn)入了更為繁榮的階段。
2、工作流定義
工作流是從英文單詞Workflow翻譯而來(lái)的。Work表示工作或任務(wù);Flow則表示流動(dòng)、流程或者流量。Flow反映了一種變化及變化的過(guò)程,本身意義比較抽象,但是當(dāng)它與某一個(gè)具體過(guò)程相聯(lián)系時(shí)就有了具體的含義,如電流、水流、氣流。在經(jīng)營(yíng)管理與生產(chǎn)組織中Flow也有重要的意義,如表示物料傳輸過(guò)程的物料流、表示資金流動(dòng)的資金流、反映信息處理和傳遞過(guò)程的信息流,同樣還有價(jià)值流、決策流、控制流等概念。依此,用活動(dòng)及活動(dòng)之間變化的過(guò)程表示的業(yè)務(wù)流程就是工作流。
十幾年來(lái),不同的研究者和產(chǎn)品供應(yīng)商從不同的角度給出了工作流的定義,但到目前為止,對(duì)于工作流仍沒(méi)有統(tǒng)一的定義。下面列舉了一些有代表性的定義,可以使我們對(duì)工作流的一些基本特征有一定的理解。
WfMC的定義:工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,根據(jù)一系列過(guò)程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。
Forrester Report的定義:日常的業(yè)務(wù)處理或協(xié)同工作能按預(yù)先定義好的規(guī)則和過(guò)程進(jìn)行流動(dòng),并且這一流動(dòng)過(guò)程能被跟蹤和監(jiān)控。
Giga Group的定義:工作流是經(jīng)營(yíng)過(guò)程中可運(yùn)轉(zhuǎn)的部分,包括任務(wù)的順序以及由誰(shuí)來(lái)執(zhí)行它,支持任務(wù)的信息流、評(píng)價(jià)與控制任務(wù)的跟蹤、報(bào)告機(jī)制。
IBM Almaden Research Center的定義:工作流是經(jīng)營(yíng)過(guò)程中的一種計(jì)算機(jī)化的表示模型,定義了完成整個(gè)過(guò)程所需用的各種參數(shù)。這些參數(shù)包括對(duì)過(guò)程中每一個(gè)單獨(dú)步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰(shuí)負(fù)責(zé)以及每個(gè)活動(dòng)所需要的應(yīng)用程序。
Amit Sheth 的定義:工作流是涉及到多任務(wù)協(xié)調(diào)執(zhí)行的活動(dòng),這些任務(wù)分別由不同的處理實(shí)體完成。一項(xiàng)任務(wù)定義了需要做的某些工作,它可以以各種形式來(lái)進(jìn)行定義,包括在文件或電子郵件中的文本描述、一張表格、一條信息以及一個(gè)計(jì)算機(jī)程序。用來(lái)執(zhí)行任務(wù)的處理實(shí)體可以是人,也可以是計(jì)算機(jī)系統(tǒng)(如:郵遞員、一個(gè)應(yīng)用程序、一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng))。
以上這些定義,雖然表述方式略有不同,但是基本上都說(shuō)明了這樣一個(gè)問(wèn)題,即工作流是業(yè)務(wù)過(guò)程的一個(gè)計(jì)算機(jī)實(shí)現(xiàn),而工作流管理系統(tǒng)則是這一實(shí)現(xiàn)的軟件環(huán)境。使用工作流作為業(yè)務(wù)過(guò)程的實(shí)現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映業(yè)務(wù)過(guò)程的如下幾個(gè)問(wèn)題:即業(yè)務(wù)過(guò)程是什么(有哪些活動(dòng)、任務(wù)組成,也就是結(jié)構(gòu)上的定義)、怎么做(活動(dòng)間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義)、有誰(shuí)來(lái)做(人或計(jì)算機(jī)程序,也就是組織角色的定義)、做的怎樣(通過(guò)工作流管理系統(tǒng)對(duì)執(zhí)行過(guò)程進(jìn)行監(jiān)控)。因此,可以說(shuō)工作流是一種反映業(yè)務(wù)流程的計(jì)算機(jī)化的模型,它是為了在先進(jìn)計(jì)算機(jī)環(huán)境支持下實(shí)現(xiàn)經(jīng)營(yíng)過(guò)程集成與經(jīng)營(yíng)過(guò)程自動(dòng)化而建立的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)系統(tǒng)。
3、工作流技術(shù)研究的主要內(nèi)容
工作流技術(shù),在初期主要由工作流產(chǎn)品供應(yīng)商推動(dòng)其發(fā)展。隨著工作流產(chǎn)品在實(shí)際應(yīng)用中不斷取得良好的效果而得到了人們?nèi)找娴闹匾?,并且到了迅速發(fā)展。相對(duì)于工作流產(chǎn)品的繁榮,工作流相關(guān)理論研究則顯得滯后。在過(guò)去很長(zhǎng)一段時(shí)間里,有關(guān)工作流技術(shù)方面的研究主要有商品化的工作流產(chǎn)品供應(yīng)商所領(lǐng)導(dǎo)。本著把工作流產(chǎn)品推向市場(chǎng)的目的,這些供應(yīng)商大多把研究的注意力放在工作流管理產(chǎn)品的開(kāi)發(fā)實(shí)施方面。目前在工作流設(shè)計(jì)方法學(xué),工作流概念模型等方面還沒(méi)有形成一套比較成熟的理論和方法。在工作流理論與實(shí)施技術(shù)方面,研究的主要內(nèi)容包括:
工作流管理系統(tǒng)體系結(jié)構(gòu);
工作流模型與工作流定義語(yǔ)言;
工作流的事務(wù)特性;
研究如何實(shí)現(xiàn)高級(jí)事務(wù)處理技術(shù)與工作流管理技術(shù)的結(jié)合,用定義良好的模型語(yǔ)義與恢復(fù)機(jī)制來(lái)提高工作流系統(tǒng)的正確性與可靠性,從而能夠更好的支持復(fù)雜的業(yè)務(wù)過(guò)程;
工作流實(shí)現(xiàn)技術(shù):包括面向?qū)ο蠹夹g(shù)、異構(gòu)分布式計(jì)算技術(shù)、圖形化用戶界面、消息通信、數(shù)據(jù)庫(kù)、WEB等在內(nèi)的與工作流系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有關(guān)的各項(xiàng)技術(shù)及方法;
工作流的仿真與分析方法;
基于工作流的應(yīng)用集成與互操作技術(shù);
研究異構(gòu)應(yīng)用系統(tǒng)的集成以及不同工作流系統(tǒng)之間的互操作問(wèn)題;
工作流與經(jīng)營(yíng)過(guò)程的重組:研究如何通過(guò)工作流系統(tǒng)的實(shí)施支持快速的實(shí)現(xiàn)經(jīng)營(yíng)過(guò)程重組;
工作流技術(shù)的其他應(yīng)用:研究如何將工作流技術(shù)在不同的領(lǐng)域進(jìn)行運(yùn)用,包括在CIMS中的應(yīng)用。
上述主要研究課題可以歸納為三個(gè)方面(如圖1):第一方面是工作流的理論基礎(chǔ),包括工作流管理系統(tǒng)的體系、模型與定義語(yǔ)言(工作流的建模方法、工作流模型的形式化表示、工作流定義語(yǔ)言)等的研究。這一部分是工作目前相對(duì)來(lái)說(shuō)比較薄弱,還有許多問(wèn)題需要進(jìn)一步研究。第二方面是工作流的實(shí)現(xiàn)技術(shù),包括工作流的事務(wù)特性、各種先進(jìn)軟件技術(shù)的應(yīng)用、工作流仿真。這方面研究工作的目標(biāo)是提高工作流管理系統(tǒng)的性能,尤其是提高工作流管理系統(tǒng)可靠性及其在處理大規(guī)模復(fù)雜的且具有并行業(yè)務(wù)的流程方面的能力。第三方面是工作流技術(shù)的應(yīng)用,包括工作流實(shí)施技術(shù)在不同應(yīng)用領(lǐng)域的應(yīng)用(如在企業(yè)經(jīng)營(yíng)過(guò)程重組、并行過(guò)程、敏捷制造)方法、應(yīng)用軟件集成等。這幾方面研究的目標(biāo)是發(fā)揮工作流管理系統(tǒng)的優(yōu)勢(shì),為解決具體應(yīng)用領(lǐng)域內(nèi)的問(wèn)題提供有向?qū)崿F(xiàn)手段。
圖1:工作流技術(shù)研究?jī)?nèi)容
4、研究工作流的意義
工作流技術(shù)的應(yīng)用將給組織單位帶來(lái)巨大的效益。首先,采用工作流管理將使組織單位改變傳統(tǒng)的按照功能來(lái)配置人員的組織結(jié)構(gòu),變成按照要實(shí)現(xiàn)的主要業(yè)務(wù)流程來(lái)配置組織結(jié)構(gòu),這樣可以大大縮短主要業(yè)務(wù)過(guò)程的處理時(shí)間,提高對(duì)市場(chǎng)的響應(yīng)能力。其次,組織結(jié)構(gòu)的改變將大大減少在組織內(nèi)部不必要的的物料、信息的傳遞時(shí)間。當(dāng)然,整個(gè)組織結(jié)構(gòu)的調(diào)整首先需要調(diào)整傳統(tǒng)的以部門(mén)為單位的做法,變成以項(xiàng)目來(lái)組織生產(chǎn)和人員的工作方法,如:一個(gè)人可能同時(shí)從屬于多個(gè)項(xiàng)目。應(yīng)用工作流管理系統(tǒng)主要可以取得如下好處:
1)提高管理的規(guī)范化程度;
2)更好地與上下游單位形成快速響應(yīng)市場(chǎng)的供應(yīng)鏈網(wǎng)絡(luò);
3)降低業(yè)務(wù)過(guò)程的整個(gè)處理時(shí)間,如在辦公自動(dòng)化環(huán)境中,通過(guò)更好的規(guī)劃工作流程,并行執(zhí)行相互獨(dú)立的活動(dòng),減少文檔的傳遞時(shí)間;
4)降低管理成本,如避免不必要的重復(fù)的工作,提高工作人員的工作效率;
5)改進(jìn)工作質(zhì)量,如自動(dòng)完成某個(gè)任務(wù)所需要的相關(guān)信息。在客戶服務(wù)中,能夠快速方便的訪問(wèn)所有相關(guān)數(shù)據(jù)和工作流程,從而大大提高客戶服務(wù)質(zhì)量;
6)在工作人員之間更好的均衡負(fù)荷,如在工作人員缺勤的情況下,自動(dòng)柔性分配替代人員;
7)通過(guò)在工作流模型中加入可預(yù)計(jì)的故障的處理策略來(lái)提高系統(tǒng)的柔性;
8)通過(guò)對(duì)已經(jīng)完成的工作流實(shí)例的分析,找出存在的不足,進(jìn)而不斷改進(jìn)工作流程;
9)使工作內(nèi)容更加豐富,并且提高工作人員的業(yè)務(wù)能力,減少工作人員進(jìn)行單調(diào)乏味并且十分耗時(shí)的文檔查找工作。
采用工作流管理系統(tǒng)可以在最大程度上集成組織的現(xiàn)有信息資源,實(shí)現(xiàn)資源的充分利用。由于工作流管理系統(tǒng)具有較好的柔性和開(kāi)發(fā)性,因此,可以保證信息系統(tǒng)能夠順利的擴(kuò)展以滿足不斷變化的市場(chǎng)環(huán)境。另外,工作流管理系統(tǒng)在工作流模型的基礎(chǔ)上進(jìn)行業(yè)務(wù)過(guò)程進(jìn)行,這就意味著信息系統(tǒng)已經(jīng)從過(guò)去沒(méi)有一個(gè)具體的可量化指標(biāo)的管理信息系統(tǒng),發(fā)展到了一個(gè)建立在工作流模型上(并且是可以利用BPR或者其他仿真工具進(jìn)行優(yōu)化后的模型),按照預(yù)先定義好的規(guī)則進(jìn)行執(zhí)行,并且對(duì)于執(zhí)行的結(jié)果隨時(shí)進(jìn)行監(jiān)控和評(píng)價(jià)的規(guī)范化階段。這種由過(guò)程建?!的P头治觥颠^(guò)程優(yōu)化—〉執(zhí)行結(jié)果—〉統(tǒng)計(jì)分析—〉改進(jìn)業(yè)務(wù)過(guò)程—〉優(yōu)化運(yùn)作的實(shí)施方法為成功地實(shí)施信息系統(tǒng)奠定了堅(jiān)實(shí)的基礎(chǔ)。
5、工作流管理系統(tǒng)
工作流技術(shù)是當(dāng)今一項(xiàng)飛速發(fā)展的技術(shù),它最基本的特性就是它能夠結(jié)合人工和機(jī)器的行為,特別是能夠與應(yīng)用程序和工具進(jìn)行交互,從而完成業(yè)務(wù)過(guò)程的自動(dòng)化處理。
工作流是業(yè)務(wù)的自動(dòng)化處理過(guò)程,在這個(gè)過(guò)程中,根據(jù)預(yù)定義的規(guī)則將文檔、信息在過(guò)程參與者中傳遞,最終完成業(yè)務(wù)的處理。工作流管理系統(tǒng)(WFMS)是通過(guò)管理一序列工作行為以及與活動(dòng)步驟、相關(guān)人員、資源設(shè)備來(lái)提供業(yè)務(wù)處理程序上的自動(dòng)控制,它是通過(guò)計(jì)算機(jī)軟件來(lái)定義、管理和執(zhí)行工作流,計(jì)算機(jī)的執(zhí)行順序是由工作流邏輯的計(jì)算機(jī)描述來(lái)驅(qū)動(dòng)的。
工作流管理系統(tǒng)主要具備以下三個(gè)功能特征,如圖2:
工作流定義功能,主要是對(duì)業(yè)務(wù)處理過(guò)程的計(jì)算機(jī)定義,提供了一種或多種分析、建模、系統(tǒng)定義技術(shù),將一個(gè)現(xiàn)實(shí)世界的業(yè)務(wù)處理過(guò)程轉(zhuǎn)換成計(jì)算機(jī)可處理的定義;最終的定義叫作過(guò)程模型、過(guò)程模版或過(guò)程定義,可以表現(xiàn)為文本、圖形或自然語(yǔ)言符號(hào)。
運(yùn)行控制功能,對(duì)過(guò)程的定義進(jìn)行解釋,創(chuàng)建并控制過(guò)程的運(yùn)行實(shí)例,調(diào)度過(guò)程的各種行為步驟,調(diào)用適當(dāng)?shù)娜斯ず虸T應(yīng)用程序資源;工作流管理系統(tǒng)的核心部件就是工作流管理控制軟件(工作流引擎)。
運(yùn)行交互接口,提供與人員或IT應(yīng)用程序工具進(jìn)行交互接口來(lái)處理各種活動(dòng)步驟,交互接口對(duì)于活動(dòng)間的控制傳遞是必須的,如確定過(guò)程的狀態(tài),調(diào)用應(yīng)用程序工具,傳遞應(yīng)用程序數(shù)據(jù)等。
圖2WFMS的三個(gè)特征
6、工作流管理系統(tǒng)的分類
根據(jù)所實(shí)現(xiàn)的業(yè)務(wù)過(guò)程,工作流管理系統(tǒng)可分為四類:
1)管理型工作流(administrative workflow):在這類工作流中活動(dòng)可以預(yù)定義并且有一套簡(jiǎn)單的任務(wù)協(xié)調(diào)規(guī)則,例如,大學(xué)里的課程選修,完成論文后的學(xué)位申請(qǐng)等。
2)設(shè)定型工作流(ad hoc workflow):與管理型工作流相似,但一般用來(lái)處理異?;虬l(fā)生機(jī)會(huì)比較小的情況,有時(shí)甚至是只出現(xiàn)一次的情況,這與參與的用戶有關(guān)。
3)協(xié)作型工作流(collaborative workflow):參與者和協(xié)作的次數(shù)較多。在一個(gè)步驟上可能反復(fù)發(fā)生幾次直到得到某種結(jié)果,甚至可能返回到前一階段。
4)生產(chǎn)型工作流(production workflow):實(shí)現(xiàn)重要的業(yè)務(wù)過(guò)程的工作流,特別是與業(yè)務(wù)組織的功能直接相關(guān)的工作流。與管理型工作流相比,生產(chǎn)型工作流一般應(yīng)用在大規(guī)模、復(fù)雜的和異構(gòu)的環(huán)境下,整個(gè)過(guò)程會(huì)涉及許多人員和不同的組織。
根據(jù)底層實(shí)現(xiàn)技術(shù),可將工作流產(chǎn)品分為三類:
1)以通訊為中心:以電子郵件為底層的通訊機(jī)制。這種類型的工作流管理系統(tǒng)適合于協(xié)作型工作流和不確定型工作流,而不適于生產(chǎn)型工作流。
2)以文檔為中心:基于文檔路由,它同外界應(yīng)用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實(shí)現(xiàn)。
3)以過(guò)程為中心:這種工作流系統(tǒng)對(duì)應(yīng)生產(chǎn)型工作流。它們一般建立在數(shù)據(jù)庫(kù)之上,有自己專用的通信機(jī)制并且提供了同外部進(jìn)行交互的接口。
根據(jù)不同工作流系統(tǒng)所采用的任務(wù)項(xiàng)傳遞機(jī)制的不同,市場(chǎng)上的工作流產(chǎn)品又可以劃分為四類:
1)基于文件的工作流系統(tǒng):以共享文件的方式來(lái)完成任務(wù)項(xiàng)傳遞。這種類型產(chǎn)品開(kāi)發(fā)得最早、發(fā)展最成熟、其產(chǎn)品品種較多。代表產(chǎn)品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。
2)基于消息的工作流系統(tǒng):通過(guò)用戶的電子郵件系統(tǒng)來(lái)傳遞文檔信息。這種類型的產(chǎn)品一般都提供與一種或多種電子郵件系統(tǒng)的集成接口。代表產(chǎn)品有Novell與FileNet合作開(kāi)發(fā)的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。
3)基于Web的工作流系統(tǒng):通過(guò)WWW來(lái)實(shí)現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚(在95年以后),但是發(fā)展迅速,其市場(chǎng)前景十分看好。許多供應(yīng)商紛紛改進(jìn)原有產(chǎn)品或開(kāi)發(fā)新產(chǎn)品以增加對(duì)Web的支持。代表產(chǎn)品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。
4)群件與套件系統(tǒng):雖然這一類產(chǎn)品與上面介紹的三種產(chǎn)品在任務(wù)傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨(dú)劃分成一類,因?yàn)檫@一類產(chǎn)品都需要依賴于自己系統(tǒng)的應(yīng)用基礎(chǔ)結(jié)構(gòu),包括消息傳遞、目錄服務(wù)、安全管理、數(shù)據(jù)庫(kù)與文檔管理服務(wù)等,它們本身就構(gòu)成了一個(gè)完整的應(yīng)用開(kāi)發(fā)環(huán)境。代表產(chǎn)品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office與Exchange、Novell公司的GroupWise。
7、工作流管理系統(tǒng)的實(shí)施
工作流管理系統(tǒng)不同于ERP和普通的企業(yè)管理信息系統(tǒng),ERP與普通的企業(yè)管理信息系統(tǒng)是事務(wù)處理系統(tǒng),其主要目的是滿足企業(yè)業(yè)務(wù)操作功能,提高企業(yè)事務(wù)處理的效率和水平。從企業(yè)整體的業(yè)務(wù)流程和企業(yè)經(jīng)營(yíng)目標(biāo)上看,事務(wù)處理系統(tǒng)一般局限于解決某個(gè)或者某些領(lǐng)域的問(wèn)題;事務(wù)處理系統(tǒng)的另外一個(gè)局限性是它一般局限于解決組織內(nèi)部的具體操作問(wèn)題,面向組織內(nèi)部功能,而不是面向市場(chǎng)和面向客戶的系統(tǒng)。工作流管理系統(tǒng)的著眼點(diǎn)是面向市場(chǎng)、面向客戶,其目標(biāo)是在整個(gè)企業(yè)的業(yè)務(wù)層提高企業(yè)的業(yè)務(wù)處理水平、強(qiáng)化企業(yè)的市場(chǎng)意識(shí)、提高對(duì)市場(chǎng)的應(yīng)變能力。
由于工作流管理系統(tǒng)與普通事務(wù)處理系統(tǒng)存在顯著的差別,工作流管理系統(tǒng)在實(shí)施方法上也不同于普通的事務(wù)處理系統(tǒng)。要實(shí)施工作流管理系統(tǒng)首先要在戰(zhàn)略層次上對(duì)經(jīng)營(yíng)目標(biāo)進(jìn)行分析,確定戰(zhàn)略目標(biāo)和組織要求。工作流管理系統(tǒng)實(shí)施的層次結(jié)構(gòu),如圖3。
圖3 WFMS實(shí)施的層次結(jié)構(gòu)
在完成了戰(zhàn)略目標(biāo)分析和工作流實(shí)施戰(zhàn)略后,工作流管理系統(tǒng)才能夠進(jìn)入真正的實(shí)施階段。工作流管理系統(tǒng)在實(shí)際系統(tǒng)中的應(yīng)用一般分為3個(gè)階段,如圖4,即模型建立階段、模型實(shí)例化階段和模型行階段。模型建立階段通過(guò)利用工作流建模工具完成經(jīng)營(yíng)過(guò)程模型的建立,將實(shí)際經(jīng)營(yíng)過(guò)程轉(zhuǎn)化為計(jì)算機(jī)可處理的工作流模型。模型的實(shí)例化階段完成為每個(gè)過(guò)程設(shè)定運(yùn)行所需的參數(shù),并分配每個(gè)活動(dòng)執(zhí)行所需要的資源(包括資源、人員、應(yīng)用)。模型執(zhí)行階段完成經(jīng)營(yíng)過(guò)程的執(zhí)行,在這個(gè)過(guò)程中重要的任務(wù)是完成人機(jī)交互和應(yīng)用的執(zhí)行,并對(duì)過(guò)程與活動(dòng)的執(zhí)行情況進(jìn)行監(jiān)控與跟蹤。
圖4 WFMS 實(shí)施的三個(gè)步驟
8、國(guó)內(nèi)外應(yīng)用現(xiàn)狀與不足
8.1 應(yīng)用現(xiàn)狀
目前工作流技術(shù)的研究正日益受到人們的重視,許多大學(xué)和研究機(jī)構(gòu)都開(kāi)展了很多研究項(xiàng)目,取得了重多的研究成果,對(duì)工作流技術(shù)的發(fā)展做出了貢獻(xiàn)。
由于工作流應(yīng)用環(huán)境大多是在復(fù)雜的分布異構(gòu)環(huán)境中,如企業(yè)內(nèi)部網(wǎng)或因特網(wǎng),因此應(yīng)用最新的分布對(duì)象處理技術(shù)和Web技術(shù),實(shí)現(xiàn)工作流管理成為當(dāng)前研究的重點(diǎn)。有影響的工作流原型系統(tǒng)有:
1)美國(guó)佐治亞大學(xué)研制的Meteor系統(tǒng):該系統(tǒng)是一個(gè)支持多范型的工作流管理系統(tǒng),主要用于處理醫(yī)療保健應(yīng)用。多范型是指該系統(tǒng)能夠支持分布異構(gòu)環(huán)境下的企業(yè)內(nèi)和企業(yè)間的各種工作流。這些工作流可以是數(shù)據(jù)庫(kù)管理系統(tǒng)和分布式事務(wù)處理系統(tǒng)中的事務(wù),也可以是EDI等特殊應(yīng)用。Meteor系統(tǒng)可以在Web或CORBA環(huán)境下運(yùn)行。
2)美國(guó)普度大學(xué)開(kāi)發(fā)的CORBAflow系統(tǒng):該系統(tǒng)提出了基于CORBA的體系結(jié)構(gòu),支持跨平臺(tái)的異構(gòu)分布系統(tǒng)集成,支持彈性ACID性質(zhì);擴(kuò)展了IDL語(yǔ)言以定義事務(wù)性工作流中的補(bǔ)償事務(wù)。
3)土耳其中東大學(xué)開(kāi)發(fā)的METUFlow系統(tǒng):該系統(tǒng)提出了一種基于CORBA環(huán)境的工作流服務(wù),包括基于ACTA擴(kuò)展事務(wù)模型的工作流模型、塊結(jié)構(gòu)化定義語(yǔ)言、工作流調(diào)度管理和并發(fā)控制機(jī)制等。
工作流的許多概念來(lái)自于辦公自動(dòng)化、文檔管理、計(jì)算機(jī)支持協(xié)同工作(CSCW)等領(lǐng)域。至今約有300個(gè)稱為工作流工具的商品化軟件,但只有數(shù)十個(gè)是真正的WFMS軟件。一些著名的WFMS產(chǎn)品有:
1)IBM公司的FlowMark系統(tǒng)[9]該系統(tǒng)由對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)ObjectStore支持。主要組件包括服務(wù)器、建立客戶器、運(yùn)行客戶器和程序執(zhí)行客戶器。服務(wù)器負(fù)責(zé)與數(shù)據(jù)庫(kù)交互及協(xié)調(diào)工作流執(zhí)行;建立客戶器提供用于設(shè)計(jì)工作流的圖形接口;運(yùn)行客戶器提供工作表方式的用戶接口;程序執(zhí)行客戶器提供API調(diào)用方式的應(yīng)用接口。
2)Action公司的ActionWorkflow系統(tǒng)該系統(tǒng)由微軟的SQL服務(wù)器或Lotus Notes支持,包含三個(gè)基本組件:①管理系統(tǒng)內(nèi)核用于集成和管理工作流事務(wù);②分析器提供設(shè)計(jì)工作流的專門(mén)工具;③應(yīng)用建立器用于將工作流定義轉(zhuǎn)化成可執(zhí)行的過(guò)程。此外,還提供輔助工具,如報(bào)表器用于查詢工作流的進(jìn)展?fàn)顟B(tài)。
3)Sigma圖象系統(tǒng)公司的OmniDesk系統(tǒng)它使用提供ODBC接口的數(shù)據(jù)庫(kù)。其中,路徑管理器用于工作流管理和負(fù)載平衡;路徑建立器用于定義路徑邏輯;表格建立器用于創(chuàng)建工作流接口。雖然OmniDesk系統(tǒng)主要是為圖象文檔管理設(shè)計(jì)的,但是也可以管理其他類型的工作流。
4)Wang公司的OPEN/workflow系統(tǒng)該系統(tǒng)建立在自含的數(shù)據(jù)庫(kù)引擎之上。系統(tǒng)分為數(shù)據(jù)庫(kù)服務(wù)、圖形過(guò)程建立器、集成工具箱、報(bào)表工具。數(shù)據(jù)庫(kù)服務(wù)提供基本的完整性、安全性、并發(fā)控制、恢復(fù)和管理功能;圖形過(guò)程建立器用于定義過(guò)程;集成工具箱提供應(yīng)用之間交互需要的API調(diào)用和通信服務(wù);報(bào)表工具如查詢建立器和報(bào)表建立器用于訪問(wèn)有關(guān)過(guò)程執(zhí)行的信息。
8.2 工作流應(yīng)用技術(shù)的不足
實(shí)際上,大多數(shù)產(chǎn)品的開(kāi)發(fā)由于沒(méi)有清楚地理解用戶的需求,而不能滿足用戶的迫切需要。許多工作流系統(tǒng)主要是解決共享和協(xié)作(某些問(wèn)題仍未很好解決,如異構(gòu)平臺(tái)環(huán)境、多媒體數(shù)據(jù)),而像性能、可伸縮性、可靠性對(duì)于復(fù)雜應(yīng)用系統(tǒng)來(lái)說(shuō)至關(guān)重要的問(wèn)題,現(xiàn)有工作流軟件并沒(méi)有考慮。主要原因是,這些系統(tǒng)的建立不是基于在線事務(wù)處理(OLTP)技術(shù)和數(shù)據(jù)庫(kù)技術(shù),只是使用數(shù)據(jù)庫(kù)做底層存儲(chǔ),因而在這些領(lǐng)域缺乏技術(shù)成熟性和系統(tǒng)健壯性。
另外,由于已有的絕大多數(shù)WFMS產(chǎn)品和原型系統(tǒng)的設(shè)計(jì)是面向普通的辦公室應(yīng)用,因此存在以下不足:
1)工作流模型只能描述如辦公自動(dòng)化中電子郵件或文檔等簡(jiǎn)單的工作流,而不能描述工程設(shè)計(jì)等復(fù)雜過(guò)程處理。
2)經(jīng)營(yíng)業(yè)務(wù)流程往往是復(fù)雜的異構(gòu)環(huán)境,現(xiàn)有產(chǎn)品不能提供很好的互操作性。例如,在異構(gòu)環(huán)境中,IBM的FlowMark不提供API接口以支持一個(gè)工作流的輸出,作為下一個(gè)工作流的輸入。
3)一個(gè)工作流可能涉及到多個(gè)單位和車(chē)間,或多個(gè)工廠和企業(yè),例如,在虛擬制造應(yīng)用中,可能包含成百上千個(gè)用戶,覆蓋廣域網(wǎng)絡(luò)中的數(shù)十個(gè)場(chǎng)地,上百臺(tái)計(jì)算機(jī)系統(tǒng)。大多數(shù)現(xiàn)有工作流軟件只是設(shè)計(jì)為一種協(xié)作工具,適用于小群體之間業(yè)務(wù)的工作流,在體系結(jié)構(gòu)上存在缺陷,缺乏可伸縮性。
4)現(xiàn)代組織應(yīng)用要求系統(tǒng)具備非常高的可用性和健壯性?,F(xiàn)有工作流軟件只適合于小團(tuán)體和輕負(fù)載,缺乏有效的后備機(jī)制,不具備強(qiáng)的故障恢復(fù)能力。
為了進(jìn)一步研究開(kāi)發(fā)支持應(yīng)用集成的CIMS工作流管理技術(shù),我們認(rèn)為,需要解決以下關(guān)鍵技術(shù):
1)面向CIMS的工作流建模技術(shù)包括工作流模型和定義語(yǔ)言。如何采用彈性事務(wù)模型、分層事務(wù)模型和工程數(shù)據(jù)模型相結(jié)合的方法,設(shè)計(jì)出一種適合于CIMS工程應(yīng)用的工作流模型。
2)基于CIMS信息集成平臺(tái)的工作流管理系統(tǒng)體系結(jié)構(gòu)CORBA軟件總線提供了良好的平臺(tái)透明性和分布透明性,以及分布對(duì)象操作能力,如何充分利用CORBA軟件總線和信息集成平臺(tái),實(shí)現(xiàn)一個(gè)高效的工作流管理系統(tǒng)。 3)面向分布對(duì)象的工作流管理和執(zhí)行技術(shù)CORBA軟件總線系統(tǒng)提供了對(duì)象引用、啟動(dòng)和聯(lián)編機(jī)制。工作流管理與執(zhí)行機(jī)制需在此基礎(chǔ)上完成作為對(duì)象任務(wù)的創(chuàng)建、調(diào)度、執(zhí)行、提交或取消,保證工作流的正確性和可靠性。還需要考慮在CORBA軟件總線上增加新的公共服務(wù),如持久性對(duì)象倉(cāng)儲(chǔ)服務(wù)、故障恢復(fù)服務(wù)等。
4)面向CIMS目標(biāo)產(chǎn)品的集成技術(shù)工作流管理系統(tǒng)是一種中間件技術(shù),適合于任何計(jì)算機(jī)分布處理系統(tǒng),在CIMS應(yīng)用集成涉及的有關(guān)系統(tǒng)中,如PDM、MRPII等,都需要這方面的集成技術(shù)。
參考文獻(xiàn)
[1] 林惠萍、范玉順、吳澄,“支持企業(yè)經(jīng)營(yíng)過(guò)程重組的工作流仿真技術(shù)研究”,http://www.simflow.net
[2] 范玉順,《工作流管理技術(shù)基礎(chǔ)》,清華大學(xué)出版社,2001.4
[3] 陶冶、范玉順、羅海濱,“分布式工作流系統(tǒng)的可靠性研究”,http://www.simflow.net
[4] 羅海濱、范玉順、吳澄,“工作流技術(shù)綜述”,http://www.simflow.net
[5] 范玉順、吳澄,“基于工作流的CIMS應(yīng)用集成支持系統(tǒng)研究”,http://www.simflow.net
[6] 劉佚名、范玉順,“基于工作流的企業(yè)過(guò)程的建模和仿真技術(shù)研究”,http://www.simflow.net
[7] 范玉順、吳澄,“基于協(xié)調(diào)理論的工作流建模方法”,http://www.simflow.net
[8] 陶冶、范玉順、羅海濱,“提高分布式工作流管理系統(tǒng)的可擴(kuò)展性”,http://www.simflow.net
[9] 鮑震寧、范玉順,“企業(yè)組織模型結(jié)構(gòu)和建模方法研究”,http://www.simflow.net
[10] 羅海濱、范玉順、吳澄,“一種面向企業(yè)用戶的工作流模型”,http://www.simflow.net