力軟快速開發(fā)框架工作流引擎

1、前言

創(chuàng)新互聯(lián)建站堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)建站是成都老牌網(wǎng)站營銷服務(wù)商,為您提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、H5響應(yīng)式網(wǎng)站、網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)微信小程序服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。

  提到工作流很多人都會(huì)想到OA,AO就是典型的工作流應(yīng)用,但是工作流并不僅僅局限于OA,工作流應(yīng)用該算是基礎(chǔ)框架軟件,主要用于流程的重組和優(yōu)化,它有廣闊的應(yīng)用領(lǐng)域。在C#下我們自己研發(fā)工作流引擎等,在.net下卻幾乎找不到令人滿意的工作流引擎可用,當(dāng)然不是說.net下沒有開源的只是有些國產(chǎn)開源的但看了代碼后就一點(diǎn)興趣都沒有,且不說代碼質(zhì)量如何,還引入了一大堆東西,想在項(xiàng)目中應(yīng)用也是非常困難。鑒于此我還是決定自己開發(fā)一款.net工作流引擎。

2、工作流引擎設(shè)計(jì)

   工作流引擎主要解決復(fù)雜業(yè)務(wù)流程靈活定制和方便更改的問題。引擎的作用相當(dāng)于一個(gè)業(yè)務(wù)流程管理器,它以一個(gè)軟件組件(或者構(gòu)件)的形式運(yùn)行在使用它的業(yè)務(wù)應(yīng)用中。在OA系統(tǒng)中使用工作流引攀技術(shù),可以實(shí)現(xiàn)業(yè)務(wù)流程與應(yīng)用程序的分離。OA系統(tǒng)通過工作流引擎集中管理業(yè)務(wù)流程包含的所有過程,引擎為業(yè)務(wù)流程提供執(zhí)行環(huán)境,并馭動(dòng)業(yè)務(wù)流程中各個(gè)過程的自動(dòng)運(yùn)行。所有的業(yè)務(wù)流程都在引擎的管理、監(jiān)控卜運(yùn)行。當(dāng)業(yè)務(wù)流程變更時(shí)用戶不必修改應(yīng)用程序,只修改業(yè)務(wù)流程模型就可以解決流程變更的問題,從而實(shí)現(xiàn)了業(yè)務(wù)流程的靈活定制。

2.1 引擎設(shè)計(jì)思路

  工作流引擎的設(shè)計(jì)是從夠用、靈活和低成木的設(shè)計(jì)原則出發(fā),不追求工作流引擎的功能的完備和復(fù)雜,只實(shí)現(xiàn)其中必不可少的功能和特征?;谏鲜鲈O(shè)計(jì)原則,引擎的設(shè)計(jì)主要從以下幾個(gè)方面考慮:

  (1)引擎支持順序、分支、并發(fā)、循環(huán)、同步、異步流程的流轉(zhuǎn);在分支上可以定義條件,實(shí)現(xiàn)按條件自動(dòng)流轉(zhuǎn),條件轉(zhuǎn)移之間還可設(shè)置邏輯關(guān)系;在并發(fā)流轉(zhuǎn)中,多個(gè)活動(dòng)節(jié)點(diǎn)可以同時(shí)激活。

  (2)用戶之間相互協(xié)作,交換數(shù)據(jù),從而提高工作流引擎處理業(yè)務(wù)流程的靈活性和適用范圍。

(3)如果引擎狀態(tài)異常,可對(duì)引擎進(jìn)行重新啟動(dòng),如果重新啟動(dòng)幾次后仍然異常,發(fā)信號(hào)給備份服務(wù)器啟動(dòng)引擎,加載原有引擎工作狀態(tài),保證關(guān)鍵業(yè)務(wù)不被中斷。

 2.2 引擎功能設(shè)計(jì)

  工作流引擎作為OA系統(tǒng)的核心部件,其主要功能包含:解釋流程定義的業(yè)務(wù)模型;創(chuàng)建、解釋、執(zhí)行和控制流程實(shí)例,管理其運(yùn)行過程;根據(jù)流程定義和工作流相關(guān)數(shù)據(jù)為流程實(shí)例的運(yùn)行進(jìn)行導(dǎo)航;根據(jù)任務(wù)之間的關(guān)聯(lián)和任務(wù)的執(zhí)行條件,決定并行或串行執(zhí)行后續(xù)任務(wù);確定任務(wù)項(xiàng)目,實(shí)現(xiàn)用戶意圖,提供接口,支持用戶交互;與外部資源交互,維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù);監(jiān)控流程實(shí)例的運(yùn)行情況,對(duì)異常的流程進(jìn)行處理。

力軟快速開發(fā)框架工作流引擎

力軟快速開發(fā)框架工作流引擎

工作流引擎內(nèi)部功能結(jié)構(gòu)如圖1所示。引擎是流程處理的調(diào)度中心和資源分配中心。采用XML語言把實(shí)際業(yè)務(wù)流程描述成計(jì)算機(jī)可識(shí)別的工作流程,XML文檔的內(nèi)容包含預(yù)先定義好的任務(wù),以及任務(wù)執(zhí)行順序,執(zhí)行規(guī)則,執(zhí)行角色等信息。控制中心負(fù)責(zé)接受用戶發(fā)送的任務(wù)請求,根據(jù)任務(wù)類型、任務(wù)優(yōu)先級(jí)調(diào)用相應(yīng)的處理模塊完成與本次任務(wù)相關(guān)的操作并將結(jié)果返回;流程解釋器負(fù)責(zé)完成流程文件的解析,然后把解析出來的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中;任務(wù)管理負(fù)責(zé)與流程參與者交互,通過任務(wù)管理對(duì)任務(wù)表進(jìn)行管理、控制、維護(hù):任務(wù)指派負(fù)責(zé)根據(jù)任務(wù)的類型確定執(zhí)行此任務(wù)的群體;流轉(zhuǎn)控制負(fù)責(zé)讀取流程實(shí)例轉(zhuǎn)換的條件,確定流程實(shí)例的狀態(tài);路由選扦負(fù)責(zé)辨別流程實(shí)例的狀態(tài),選擇下一個(gè)執(zhí)行的任務(wù);異常處理負(fù)責(zé)監(jiān)控系統(tǒng)內(nèi)流程實(shí)例的運(yùn)行情況,通過人工和白動(dòng)處理相結(jié)合的方式,使工作流重新恢復(fù)到正常流程或預(yù)期狀態(tài)。

力軟快速開發(fā)框架工作流引擎

力軟工作流引擎結(jié)合眾多行業(yè)客戶經(jīng)驗(yàn),采用可視化開發(fā)模式,可有效提高企業(yè)開發(fā)效率,節(jié)省企業(yè)成本。作為一款敏捷開發(fā)框架,流程引擎只是基礎(chǔ),更多實(shí)用功能請移步體驗(yàn)。

官方網(wǎng)址: www.learun.cn

免費(fèi)體驗(yàn)網(wǎng)址: http://www.learun.cn/Home/VerificationForm

分享題目:力軟快速開發(fā)框架工作流引擎
文章路徑:http://muchs.cn/article6/jcggig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、商城網(wǎng)站品牌網(wǎng)站制作、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)