工作流引擎工作流管理聯(lián)盟(Workflow Management Coalition, WfMC)早已定義了工作流技術(shù)的標(biāo)準(zhǔn)體系,但并未指明具體實(shí)現(xiàn)的方法。工作流引擎在實(shí)現(xiàn)方法上可以基于不同的軟件技術(shù)架構(gòu),引擎本身應(yīng)該是與具體業(yè)務(wù)無(wú)關(guān)的,但又需要考慮各類應(yīng)用領(lǐng)域,工作流引擎設(shè)計(jì)的重點(diǎn)應(yīng)該是有一定差異的,但無(wú)論基于什么架構(gòu),無(wú)論基于哪個(gè)領(lǐng)域,有些原理是相通的。
主要是以下方面一、易用性原理
工作流引擎在多數(shù)應(yīng)用中是由客戶或?qū)嵤┤藛T來(lái)設(shè)計(jì)相關(guān)業(yè)務(wù)流程,因此易用性相當(dāng)重要,有些工作流引擎的設(shè)置器,在設(shè)計(jì)流程時(shí)按照代碼語(yǔ)言的語(yǔ)法,或其它技術(shù)化強(qiáng)的術(shù)語(yǔ)去設(shè)置,讓人不知道如何開(kāi)始,也不太容易明白相關(guān)設(shè)置的具體意義。因此要求圖形化視覺(jué)效果,包括流程設(shè)計(jì)時(shí)的圖形化和流程應(yīng)用時(shí)的圖形化。設(shè)計(jì)時(shí)的圖形化以拖拉的方式就能去設(shè)置流程,應(yīng)用時(shí)圖形化讓用戶非常直觀的感覺(jué)到流程運(yùn)作情況;也要求操作便利,提供鼠標(biāo)單雙擊、鍵盤快捷方式、工具欄、流程導(dǎo)入導(dǎo)出、打印、節(jié)點(diǎn)導(dǎo)航、流程復(fù)制粘貼、流程校驗(yàn)等等功能方便用戶快速設(shè)置流程二、功能完整性原理
工作流引擎必須支持各種流程特性,包括串行流程、并行流程(分流合流)、子流程、條件路徑、條件人員、環(huán)節(jié)信息權(quán)限設(shè)置、普通環(huán)節(jié)、機(jī)構(gòu)環(huán)節(jié)、會(huì)簽環(huán)節(jié)等等,這里就不一一列舉了。既然提供用戶在代碼外定義流程,那么流程定義工具就要求能夠支撐到所有流程特性。三、數(shù)據(jù)完整性原理
工作流本身對(duì)于業(yè)務(wù)系統(tǒng)而言,其作用是隱藏在背后,業(yè)務(wù)系統(tǒng)包括大量的業(yè)務(wù)處理數(shù)據(jù),工作流引擎本身也有數(shù)據(jù)的處理,如何保證業(yè)務(wù)數(shù)據(jù)和流程數(shù)據(jù)的事務(wù)完整性?如何設(shè)計(jì)才能保證業(yè)務(wù)數(shù)據(jù)與流程數(shù)據(jù)的關(guān)聯(lián)完整性?流程是自定義的情況下,業(yè)務(wù)數(shù)據(jù)如何統(tǒng)計(jì)?這些都是設(shè)計(jì)工作流引擎及工作流應(yīng)用框架時(shí)必須解決的。相關(guān)文章:什么是OA工作流? OA工作流詳細(xì)介紹 工作流三個(gè)重要的特征
四、伸縮性原理
設(shè)想一個(gè)企業(yè)應(yīng)用,如果公司只幾十個(gè)人,又在一個(gè)辦公室,工作流應(yīng)用的價(jià)值不是很大,真正有價(jià)值的工作流應(yīng)用是在集團(tuán)公司大量煩瑣的事件處理,如省級(jí)郵政的OA系統(tǒng),15000的用戶量,跨各個(gè)地市的不同流程模式。還有就是大的業(yè)務(wù)處理量,處理環(huán)節(jié)涉及多個(gè)職能部門,流程引擎協(xié)調(diào)和處理這些部門和人員之間的工作等,這些應(yīng)用場(chǎng)景均是大處理量,流程跨越大,而且業(yè)務(wù)流程本身會(huì)有調(diào)整,會(huì)有不同組織結(jié)構(gòu)層次復(fù)用同一流程模式的需求,因此在處理能力上需要有伸縮性,流程設(shè)置上也需要有伸縮性。五、擴(kuò)展性原理
工作流引擎設(shè)置工具能包括各種特殊權(quán)限的支撐,如交接、跳轉(zhuǎn)、自動(dòng)處理、終止流程、自定義時(shí)限等等,企業(yè)在某些特殊情況下應(yīng)用流程時(shí)不一定需要按照流程設(shè)置去運(yùn)作,流程設(shè)置工具能擴(kuò)展特殊權(quán)限的功能去實(shí)現(xiàn)這樣一些特殊要求。 工作流應(yīng)用框架能夠支撐業(yè)務(wù)上的擴(kuò)展,如與財(cái)務(wù)系統(tǒng)集成、ERP集成、消息平臺(tái)的集成、SPS的集成、INFOPATH的集成等。六、接口原理
其實(shí)接口是工作流引擎的關(guān)鍵,也是面向?qū)ο笤O(shè)計(jì)與分析的關(guān)鍵,工作流應(yīng)用筐架只需做“我要做什么”,工作流引擎返回結(jié)果,內(nèi)部“我怎么做”,是不需要攪在一塊的。關(guān)鍵接口包括:?jiǎn)?dòng)、發(fā)送、回收、退回、消息通知、結(jié)束等等,當(dāng)然實(shí)際業(yè)務(wù)需求中的接口需求遠(yuǎn)不止這些。七、可行性原理
現(xiàn)在工作流技術(shù)非常流行,很多朋友希望能開(kāi)發(fā)自己的工作流引擎,如果要自己開(kāi)發(fā),其實(shí)可以先考慮以下幾個(gè)問(wèn)題。1、 經(jīng)濟(jì)的可行性:工作流引擎是需要能幫助客戶創(chuàng)造價(jià)值才有前途的,如果我們自行開(kāi)發(fā)的工作流引擎給客戶帶來(lái)多大價(jià)值,獲得多少回報(bào),對(duì)比付出的成本及浪費(fèi)的機(jī)會(huì)成本,收益如何?有得賺再自己做。
2、 技術(shù)可行性:工作流引擎設(shè)計(jì)并不復(fù)雜,關(guān)鍵是穩(wěn)定、成熟的過(guò)程中,其它技術(shù)都在發(fā)展,工作流引擎需要集成的技術(shù)甚至解決方案的思想也在進(jìn)步,工作流引擎能否與時(shí)俱進(jìn)?盤算一下,如果有把握再自己做。
3、 時(shí)間的可行性:工作流引擎本身對(duì)客戶來(lái)說(shuō)沒(méi)有價(jià)值,但可以降低應(yīng)用開(kāi)發(fā)的成本。具體的企業(yè)應(yīng)用需要工作流引擎時(shí),是否在規(guī)定的工期內(nèi)能夠提供一個(gè)穩(wěn)定可靠的工作流引擎去實(shí)現(xiàn)具體應(yīng)用?計(jì)劃一下,來(lái)得及再自己做。