周彬?yàn)t 中航工業(yè)航空動力機(jī)械研究所 湖南株洲 412002
?
關(guān)于工作流引擎投遞規(guī)則的探究
周彬?yàn)t 中航工業(yè)航空動力機(jī)械研究所 湖南株洲 412002
【文章摘要】
工作流引擎是工作流系統(tǒng)的核心,一個強(qiáng)大的工作流引擎不但對業(yè)務(wù)系統(tǒng)的運(yùn)行,提供高效穩(wěn)定的平臺支撐,而且對軟件開發(fā)效率的提高,代碼利用率、移植性、靈活性、健壯性等的增強(qiáng),具有重要的作用,而節(jié)點(diǎn)的投遞規(guī)則在工作流引擎中扮演著重要角色,它設(shè)計(jì)的好壞直接決定了該款工作流引擎的性能強(qiáng)大。本論文結(jié)合項(xiàng)目實(shí)際,提出幾種重要的工作流引擎投遞規(guī)則,工作流引擎具備這幾種投遞規(guī)則計(jì)算,可以顯著縮短工作流系統(tǒng)的開發(fā)周期。
【關(guān)鍵詞】
工作流;工作流引擎;投遞規(guī)則
眾所周知,各級政府機(jī)關(guān)都存在著很多的業(yè)務(wù)流程,例如公文的處理、各種審批、請示、匯報等,這些都是流程化的工作,特別是政府審批。政府審批過程是基于國家或部門法律、法規(guī)、規(guī)則等制定的政務(wù)處理流程,在未使用工作流之前,由于人為對工作程序的刪減、添加等,使得過程控制難度很大,如超越職權(quán)的審批(越過了必須的審核步驟)、人為的刁難(增加審核步驟)、無限期的拖延等。
工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。通過在企業(yè)管理中引入工作流技術(shù),監(jiān)控、審計(jì)和管理業(yè)務(wù)流程的有序執(zhí)行,可以有效地約束和控制企業(yè)審批過程,避免人為因素的干擾,減少推諉扯皮現(xiàn)象的發(fā)生,大大提高企業(yè)管理效率;同時,基于工作流技術(shù),通過對企業(yè)審批業(yè)務(wù)的統(tǒng)一管理,可以有效整合企業(yè)辦公資源,消除信息孤島的產(chǎn)生,提高企業(yè)管理的決策支持能力。
工作流管理系統(tǒng)是一個軟件系統(tǒng),工作流引擎是工作流管理系統(tǒng)的核心部件,它完成工作流的定義和管理,控制業(yè)務(wù)過程中各種任務(wù)發(fā)生的先后次序,調(diào)度相關(guān)的人力或信息資源,按照預(yù)定的邏輯次序推進(jìn)工作流實(shí)例的執(zhí)行,實(shí)現(xiàn)業(yè)務(wù)過程的自動化執(zhí)行,為企業(yè)業(yè)務(wù)運(yùn)行提供軟件支撐環(huán)境。工作流管理系統(tǒng)的主要功能是通過計(jì)算機(jī)技術(shù)的支持去定義、執(zhí)行和管理工作流,協(xié)調(diào)工作流執(zhí)行過程工作之間以及群體成員之間的信息交互。工作流管理系統(tǒng)將業(yè)務(wù)流程中工作如何組織協(xié)調(diào)在一起的規(guī)則抽象出來,從而分離了具體工作的邏輯和流程組織的邏輯。實(shí)現(xiàn)對業(yè)務(wù)過程的抽象建模、業(yè)務(wù)過程仿真分析、業(yè)務(wù)過程優(yōu)化、業(yè)務(wù)過程管理與集成,從而最終實(shí)現(xiàn)業(yè)務(wù)過程的流程自動化管理。
工作流引擎投遞規(guī)則,指下一步工作人員的接受人范圍處理的規(guī)則。也就是流程從一個節(jié)點(diǎn)跳轉(zhuǎn)到下一個節(jié)點(diǎn)的處理人計(jì)算規(guī)則。下面具體介紹幾種重要的投遞規(guī)則:
2.1按執(zhí)行人所在組織查找崗位計(jì)算
節(jié)點(diǎn)配置按崗位計(jì)算,并設(shè)置完成崗位,工作流引擎會自動按照設(shè)置的執(zhí)行人的部門范圍計(jì)算當(dāng)前崗位的執(zhí)行人,如果該執(zhí)行人部門下沒有這個工作崗位人員,工作流引擎會把當(dāng)前執(zhí)行人的部門級次提高一個級別,然后按崗位依次計(jì)算。
該投遞規(guī)則就是崗位的權(quán)限與部門權(quán)限的交叉形成的被投遞的人員集合。崗位表示能做什么事情,部門表示能做那里的事情,崗位和部門表示一個執(zhí)行人能做那里的那些事情。使用按崗位投遞規(guī)則,只限于前后相連的節(jié)點(diǎn)。
2.2按節(jié)點(diǎn)綁定的部門計(jì)算
節(jié)點(diǎn)配置按部門計(jì)算,并設(shè)置完成部門,工作流引擎會自動按照設(shè)置的部門計(jì)算當(dāng)前執(zhí)行人。如果設(shè)置了按部門計(jì)算,那么流程會將待辦發(fā)送給該部門下所有用戶作為執(zhí)行人。
2.3按指定的人員計(jì)算
節(jié)點(diǎn)配置成指定人員投遞規(guī)則,并設(shè)置指定的人員,那么流程引擎自動查找設(shè)置的人員作為節(jié)點(diǎn)執(zhí)行人。該投遞規(guī)則寫死的方法使用于某個業(yè)務(wù)辦理人比較固定的場景,如果人員發(fā)生調(diào)動,就要重新設(shè)置人員。
2.4按指定節(jié)點(diǎn)處理人計(jì)算
該投遞規(guī)則的應(yīng)用場景比較普遍,一個節(jié)點(diǎn)要求執(zhí)行人同它之前某一個節(jié)點(diǎn)執(zhí)行人一致。設(shè)置方式只須獲取之前節(jié)點(diǎn)的節(jié)點(diǎn)編號,當(dāng)流程跳轉(zhuǎn)到該節(jié)點(diǎn),流程引擎根據(jù)指定的節(jié)點(diǎn)編號查找之前節(jié)點(diǎn)執(zhí)行人。
2.5按指定節(jié)點(diǎn)人員崗位計(jì)算
該投遞規(guī)則適用于某個節(jié)點(diǎn)要實(shí)現(xiàn)其上一個節(jié)點(diǎn)之前的某個節(jié)點(diǎn)同崗位執(zhí)行人的場景。兩節(jié)點(diǎn)之間并無直接關(guān)系。
2.6按發(fā)送人選擇計(jì)算
對于無法確認(rèn),經(jīng)常變動或沒有規(guī)則可循的訪問節(jié)點(diǎn),只有采用發(fā)送人自動選擇的方式。該投遞規(guī)則對于那種業(yè)務(wù)復(fù)雜,無法確認(rèn)執(zhí)行人的流程,是一種最直接、最重要的解決方案。使用了該種投遞規(guī)則,必須在接收人選擇器里對接收人進(jìn)行范圍過濾,同時要求用戶必須熟悉業(yè)務(wù),一旦選擇錯誤的人員,整個流程將按照違背正確業(yè)務(wù)的流程在運(yùn)轉(zhuǎn),流程引擎也不會報錯,流程仍然能夠運(yùn)行辦結(jié)。
2.7按EL表達(dá)式計(jì)算
對于這樣一類使用場景,業(yè)務(wù)需要申請人在填寫表單時確定后面某一節(jié)點(diǎn)執(zhí)行人,讓流程按照申請人指定的執(zhí)行人執(zhí)行,這就需要EL表達(dá)式投遞規(guī)則。首先在申請人填寫表單時候,填寫好后面某一節(jié)點(diǎn)執(zhí)行人;其次在后臺編寫代碼創(chuàng)建變量名,獲取表單中的執(zhí)行人;最后在指定的后面某個節(jié)點(diǎn)上的參數(shù)配置里選擇EL表達(dá)式,并將后臺編寫的變量名作為其參數(shù)。當(dāng)流程運(yùn)轉(zhuǎn)到指定節(jié)點(diǎn),流程引擎自動識別EL表達(dá)式中變量名作為當(dāng)前節(jié)點(diǎn)執(zhí)行人,達(dá)到業(yè)務(wù)提前由申請人指定,流經(jīng)該節(jié)點(diǎn)無需發(fā)送人選擇的目的。
2.8按SQL計(jì)算
該投遞規(guī)則是幾個流程投遞規(guī)則里面最靈活的一種,通過寫SQL語句來實(shí)現(xiàn)計(jì)算執(zhí)行人的目的。這需要設(shè)計(jì)人員特別熟悉數(shù)據(jù)庫表結(jié)構(gòu),能熟練的使用SQL語句。
2.9與開始節(jié)點(diǎn)處理人相同計(jì)算
當(dāng)前節(jié)點(diǎn)處理人與開始節(jié)點(diǎn)一致情況下,設(shè)置了該節(jié)點(diǎn)訪問方式,流程引擎會自動按開始節(jié)點(diǎn)同一個人處理。
2.10按綁定的崗位和部門交集計(jì)算
設(shè)置該投遞規(guī)則,必須配置該節(jié)點(diǎn)的崗位和部門,流程引擎會自動計(jì)算該部門下具有該崗位的人員,作為該節(jié)點(diǎn)執(zhí)行人。
2.11僅按綁定的崗位計(jì)算
按照節(jié)點(diǎn)上綁定的崗位來計(jì)算接收人,這里去掉了部門維度的過濾,執(zhí)行人通過綁定的崗位計(jì)算。
伴隨著信息化的高速發(fā)展,越來越多企業(yè)利用電子審批流程來替代傳統(tǒng)的紙質(zhì)審批,達(dá)到提升企業(yè)管理水平的目的,一款具有高效計(jì)算節(jié)點(diǎn)投遞規(guī)則的工作流引擎,無不是給企業(yè)帶來福音的選擇。
【參考文獻(xiàn)】
[1]蔡昭權(quán),盧慶武,鄭宗暉.基于元數(shù)據(jù)的快速開發(fā)平臺設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2009, 35(9):60-62.
[2]Ullman J D, Widom J. A First Course in Database Systems[M].[S.l.]:Prentice Hall,1998.