两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

工作流的定制化裝置及定制化方法與流程

文檔序號:12672381閱讀:444來源:國知局
工作流的定制化裝置及定制化方法與流程

本發(fā)明涉及工作流技術領域,具體而言,涉及一種工作流的定制化裝置和一種工作流的定制化方法。



背景技術:

工作流(Workflow)是指業(yè)務過程的部分或整體在計算機應用環(huán)境下的自動化。工作流系統(tǒng)便于開發(fā)人員直觀地分析和設計業(yè)務流程,并可以借助工作流引擎將各個不同的應用系統(tǒng)連接在一起。在用戶組織結(jié)構(gòu)和業(yè)務發(fā)生變化時,工作流系統(tǒng)能夠在很少修改甚至不修改原來應用的情況下,僅僅通過修改工作流程的定義就能適應變化的需要。因此,基于工作流技術的工作流系統(tǒng)為辦公自動化、企業(yè)信息平臺和企業(yè)業(yè)務系統(tǒng)的整合帶來了強有力的支持。

目前,相關技術中提出的工作流定制化過程主要還是著重于流程的定制化上,例如實例化流程、流程流轉(zhuǎn)和回滾等等,但是對于對接具體的業(yè)務系統(tǒng),仍舊是定制化地開發(fā),甚少有一個通用的模型將業(yè)務系統(tǒng)的主要行為和邏輯進行描述。

可見,現(xiàn)有的工作流定制化方法都不能很好的滿足現(xiàn)階段的企業(yè)要求,具有一定的局限性。



技術實現(xiàn)要素:

本發(fā)明正是基于上述技術問題至少之一,提出了一種新的工作流的定制化方案,可以將企業(yè)的業(yè)務系統(tǒng)與流程定制化結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級,同時能夠高效、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

有鑒于此,根據(jù)本發(fā)明的第一方面,提出了一種工作流的定制化裝 置,包括:獲取單元,用于獲取用戶設置的用于標識業(yè)務流程走向的流程模板;掛載單元,用于根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板,以得到基于所述業(yè)務系統(tǒng)的工作流;實例化單元,用于對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理,以得到基于所述業(yè)務系統(tǒng)的工作流對象;處理單元,用于運行所述工作流對象。

在該技術方案中,通過獲取用戶設置的流程模板,并根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在流程模板上掛載任務節(jié)點和/或子流程模板,得到基于業(yè)務系統(tǒng)的工作流,進而實例化工作流并運行得到的工作流對象,使得能夠?qū)⑵髽I(yè)的業(yè)務系統(tǒng)與流程定制化很好的結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級;同時,對于工作流的使用者,如任務管理員等,不需要具備專業(yè)的軟件編程知識,只需要專注業(yè)務流程的定義上,便可以高效地、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

在上述技術方案中,優(yōu)選地,所述流程模板包括至少一個流程節(jié)點,所述掛載單元具體用于:將一個所述子流程模板掛載在一個所述流程節(jié)點上;或?qū)⒁粋€或多個所述任務節(jié)點掛載在一個所述流程節(jié)點上,

其中,所述任務節(jié)點包括:執(zhí)行角色、動作和處理對象,所述動作包括通用動作和獨立動作。

在該技術方案中,一個流程節(jié)點上只能掛載至少一個任務節(jié)點或一個子流程模板,即在一個流程節(jié)點上不能既掛載子流程模板,又掛載任務節(jié)點。其中,子流程模板的結(jié)構(gòu)與上述的流程模板的結(jié)構(gòu)相同。其中,通用動作可以動態(tài)指定對象,雖然對象不同,但是業(yè)務邏輯基本相同,如審批表單動作,對象可以是任務審批表單,也可以是采購審批表單,還可以是其它表單;獨立業(yè)務動作具有一定的針對性,不可以任意指定對象,而是將對象直接綁定在業(yè)務邏輯內(nèi),比如固定資產(chǎn)入庫動作,其對象就是固定資產(chǎn)報表,不可能是其它對象。

在上述任一技術方案中,優(yōu)選地,所述實例化單元包括:第一執(zhí)行單元,用于向所述工作流分配流程實例標識,并依次對所述工作流中的每個工作流節(jié)點進行實例化處理;以及

分配單元,用于根據(jù)所述工作流中的每個任務節(jié)點包括的執(zhí)行角色, 為所述每個任務節(jié)點分配執(zhí)行人。

其中,實例化處理即是在面向?qū)ο蟮木幊讨?,用類?chuàng)建對象的過程。

在上述任一技術方案中,優(yōu)選地,所述處理單元包括:第二執(zhí)行單元,用于根據(jù)所述工作流對象的執(zhí)行流程,依次執(zhí)行所述工作流對象中的每一個任務節(jié)點對應的任務;通知單元,用于在流轉(zhuǎn)至所述工作流對象中的任一任務節(jié)點時,向所述任一任務節(jié)點的執(zhí)行人發(fā)送通知消息。

在該技術方案中,由于每個任務節(jié)點均包含執(zhí)行角色,而執(zhí)行角色對應于執(zhí)行人,因此在流轉(zhuǎn)至工作流對象中的任一任務節(jié)點時,需要向任一任務節(jié)點的執(zhí)行人發(fā)送通知消息,以通知其執(zhí)行相應的任務。

在上述任一技術方案中,優(yōu)選地,所述處理單元還包括:流程控制單元,用于在運行至所述工作流對象中的指定任務節(jié)點時,若檢測到所述指定任務節(jié)點對應的任務被拒絕,則將對所述工作流對象的執(zhí)行過程回滾至于所述指定任務節(jié)點所處的當前流程中的預設工作流節(jié)點。

其中,指定任務節(jié)點可以是審批任務節(jié)點。

在上述任一技術方案中,優(yōu)選地,所述處理單元還包括:任務拆分單元,用于在接收到對所述工作流對象中的任一任務節(jié)點對應的任務進行拆分的指令時,對所述任一任務節(jié)點對應的任務進行拆分,并設定拆分后得到的子任務的動作和處理對象。

根據(jù)本發(fā)明的第二方面,還提出了一種工作流的定制化方法,包括:獲取用戶設置的用于標識業(yè)務流程走向的流程模板;根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板,以得到基于所述業(yè)務系統(tǒng)的工作流;對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理,以得到基于所述業(yè)務系統(tǒng)的工作流對象;運行所述工作流對象。

在該技術方案中,通過獲取用戶設置的流程模板,并根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在流程模板上掛載任務節(jié)點和/或子流程模板,得到基于業(yè)務系統(tǒng)的工作流,進而實例化工作流并運行得到的工作流對象,使得能夠?qū)⑵髽I(yè)的業(yè)務系統(tǒng)與流程定制化很好的結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級;同時,對于工作流的使用者,如任務管理員等,不需要具備專業(yè)的軟件編程知識,只需要專注業(yè)務流程的定義上,便可以高效地、 便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

在上述技術方案中,優(yōu)選地,所述流程模板包括至少一個流程節(jié)點;根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板的步驟,具體包括:將一個所述子流程模板掛載在一個所述流程節(jié)點上;或?qū)⒁粋€或多個所述任務節(jié)點掛載在一個所述流程節(jié)點上,

其中,所述任務節(jié)點包括:執(zhí)行角色、動作和處理對象,所述動作包括通用動作和獨立動作。

在該技術方案中,一個流程節(jié)點上只能掛載至少一個任務節(jié)點或一個子流程模板,即在一個流程節(jié)點上不能既掛載子流程模板,又掛載任務節(jié)點。其中,子流程模板的結(jié)構(gòu)與上述的流程模板的結(jié)構(gòu)相同。其中,通用動作可以動態(tài)指定對象,雖然對象不同,但是業(yè)務邏輯基本相同,如審批表單動作,對象可以是任務審批表單,也可以是采購審批表單,還可以是其它表單;獨立業(yè)務動作具有一定的針對性,不可以任意指定對象,而是將對象直接綁定在業(yè)務邏輯內(nèi),比如固定資產(chǎn)入庫動作,其對象就是固定資產(chǎn)報表,不可能是其它對象。

在上述任一技術方案中,優(yōu)選地,對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理的步驟具體包括:向所述工作流分配流程實例標識,并依次對所述工作流中的每個工作流節(jié)點進行實例化處理;以及根據(jù)所述工作流中的每個任務節(jié)點包括的執(zhí)行角色,為所述每個任務節(jié)點分配執(zhí)行人。

其中,實例化處理即是在面向?qū)ο蟮木幊讨?,用類?chuàng)建對象的過程。

在上述任一技術方案中,優(yōu)選地,運行所述工作流對象的步驟具體包括:根據(jù)所述工作流對象的執(zhí)行流程,依次執(zhí)行所述工作流對象中的每一個任務節(jié)點對應的任務,且在流轉(zhuǎn)至所述工作流對象中的任一任務節(jié)點時,向所述任一任務節(jié)點的執(zhí)行人發(fā)送通知消息。

在該技術方案中,由于每個任務節(jié)點均包含執(zhí)行角色,而執(zhí)行角色對應于執(zhí)行人,因此在流轉(zhuǎn)至工作流對象中的任一任務節(jié)點時,需要向任一任務節(jié)點的執(zhí)行人發(fā)送通知消息,以通知其執(zhí)行相應的任務。

在上述任一技術方案中,優(yōu)選地,運行所述工作流對象的步驟具體還包括:在運行至所述工作流對象中的指定任務節(jié)點時,若檢測到所述指定 任務節(jié)點對應的任務被拒絕,則將對所述工作流對象的執(zhí)行過程回滾至于所述指定任務節(jié)點所處的當前流程中的預設工作流節(jié)點;以及

在接收到對所述工作流對象中的任一任務節(jié)點對應的任務進行拆分的指令時,對所述任一任務節(jié)點對應的任務進行拆分,并設定拆分后得到的子任務的動作和處理對象。

其中,指定任務節(jié)點可以是審批任務節(jié)點。

通過以上技術方案,可以將企業(yè)的業(yè)務系統(tǒng)與流程定制化結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級,同時能夠高效、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

附圖說明

圖1示出了根據(jù)本發(fā)明的實施例的工作流的定制化裝置的示意框圖;

圖2示出了根據(jù)本發(fā)明的實施例的工作流的定制化方法的示意流程圖;

圖3示出了根據(jù)本發(fā)明的實施例的定制化流程模板和掛載任務節(jié)點或子流程模板的示意流程圖;

圖4示出了根據(jù)本發(fā)明的實施例的在工作流節(jié)點上掛載子流程或任務節(jié)點的示意圖;

圖5示出了根據(jù)本發(fā)明的一個實施例的工作流的實例化過程的示意流程圖。

具體實施方式

為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。

在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。

圖1示出了根據(jù)本發(fā)明的實施例的工作流的定制化裝置的示意框圖。

如圖1所示,根據(jù)本發(fā)明的實施例的工作流的定制化裝置100,包括:獲取單元102、掛載單元104、實例化單元106和處理單元108。

其中,獲取單元102,用于獲取用戶設置的用于標識業(yè)務流程走向的流程模板;

掛載單元104,用于根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板,以得到基于所述業(yè)務系統(tǒng)的工作流;

實例化單元106,用于對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理,以得到基于所述業(yè)務系統(tǒng)的工作流對象;

處理單元108,用于運行所述工作流對象。

在該技術方案中,通過獲取用戶設置的流程模板,并根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在流程模板上掛載任務節(jié)點和/或子流程模板,得到基于業(yè)務系統(tǒng)的工作流,進而實例化工作流并運行得到的工作流對象,使得能夠?qū)⑵髽I(yè)的業(yè)務系統(tǒng)與流程定制化很好的結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級;同時,對于工作流的使用者,如任務管理員等,不需要具備專業(yè)的軟件編程知識,只需要專注業(yè)務流程的定義上,便可以高效地、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

在上述技術方案中,優(yōu)選地,所述流程模板包括至少一個流程節(jié)點,所述掛載單元104具體用于:將一個所述子流程模板掛載在一個所述流程節(jié)點上;或?qū)⒁粋€或多個所述任務節(jié)點掛載在一個所述流程節(jié)點上,

其中,所述任務節(jié)點包括:執(zhí)行角色、動作和處理對象,所述動作包括通用動作和獨立動作。

在該技術方案中,一個流程節(jié)點上只能掛載至少一個任務節(jié)點或一個子流程模板,即在一個流程節(jié)點上不能既掛載子流程模板,又掛載任務節(jié)點。其中,子流程模板的結(jié)構(gòu)與上述的流程模板的結(jié)構(gòu)相同。其中,通用動作可以動態(tài)指定對象,雖然對象不同,但是業(yè)務邏輯基本相同,如審批表單動作,對象可以是任務審批表單,也可以是采購審批表單,還可以是其它表單;獨立業(yè)務動作具有一定的針對性,不可以任意指定對象,而是將對象直接綁定在業(yè)務邏輯內(nèi),比如固定資產(chǎn)入庫動作,其對象就是固定資產(chǎn)報表,不可能是其它對象。

在上述任一技術方案中,優(yōu)選地,所述實例化單元106包括:第一執(zhí)行單元1062,用于向所述工作流分配流程實例標識,并依次對所述工作流中的每個工作流節(jié)點進行實例化處理;以及

分配單元1064,用于根據(jù)所述工作流中的每個任務節(jié)點包括的執(zhí)行角色,為所述每個任務節(jié)點分配執(zhí)行人。

其中,實例化處理即是在面向?qū)ο蟮木幊讨?,用類?chuàng)建對象的過程。

在上述任一技術方案中,優(yōu)選地,所述處理單元108包括:第二執(zhí)行單元1082,用于根據(jù)所述工作流對象的執(zhí)行流程,依次執(zhí)行所述工作流對象中的每一個任務節(jié)點對應的任務;通知單元1084,用于在流轉(zhuǎn)至所述工作流對象中的任一任務節(jié)點時,向所述任一任務節(jié)點的執(zhí)行人發(fā)送通知消息。

在該技術方案中,由于每個任務節(jié)點均包含執(zhí)行角色,而執(zhí)行角色對應于執(zhí)行人,因此在流轉(zhuǎn)至工作流對象中的任一任務節(jié)點時,需要向任一任務節(jié)點的執(zhí)行人發(fā)送通知消息,以通知其執(zhí)行相應的任務。

在上述任一技術方案中,優(yōu)選地,所述處理單元108還包括:流程控制單元1086,用于在運行至所述工作流對象中的指定任務節(jié)點時,若檢測到所述指定任務節(jié)點對應的任務被拒絕,則將對所述工作流對象的執(zhí)行過程回滾至于所述指定任務節(jié)點所處的當前流程中的預設工作流節(jié)點。

其中,指定任務節(jié)點可以是審批任務節(jié)點。

在上述任一技術方案中,優(yōu)選地,所述處理單元108還包括:任務拆分單元1088,用于在接收到對所述工作流對象中的任一任務節(jié)點對應的任務進行拆分的指令時,對所述任一任務節(jié)點對應的任務進行拆分,并設定拆分后得到的子任務的動作和處理對象。

圖2示出了根據(jù)本發(fā)明的實施例的工作流的定制化方法的示意流程圖。

如圖2所示,根據(jù)本發(fā)明的實施例的工作流的定制化方法,包括:

步驟202,獲取用戶設置的用于標識業(yè)務流程走向的流程模板;

步驟204,根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板,以得到基于所述業(yè)務系統(tǒng)的工作流;

步驟206,對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理,以得到基于所述業(yè)務系統(tǒng)的工作流對象;

步驟208,運行所述工作流對象。

在該技術方案中,通過獲取用戶設置的流程模板,并根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在流程模板上掛載任務節(jié)點和/或子流程模板,得到基于業(yè)務系統(tǒng)的工作流,進而實例化工作流并運行得到的工作流對象,使得能夠?qū)⑵髽I(yè)的業(yè)務系統(tǒng)與流程定制化很好的結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級;同時,對于工作流的使用者,如任務管理員等,不需要具備專業(yè)的軟件編程知識,只需要專注業(yè)務流程的定義上,便可以高效地、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

在上述技術方案中,優(yōu)選地,所述流程模板包括至少一個流程節(jié)點;根據(jù)業(yè)務系統(tǒng)的業(yè)務需求,在所述流程模板中掛載任務節(jié)點和/或子流程模板的步驟,具體包括:將一個所述子流程模板掛載在一個所述流程節(jié)點上;或?qū)⒁粋€或多個所述任務節(jié)點掛載在一個所述流程節(jié)點上,

其中,所述任務節(jié)點包括:執(zhí)行角色、動作和處理對象,所述動作包括通用動作和獨立動作。

在該技術方案中,一個流程節(jié)點上只能掛載至少一個任務節(jié)點或一個子流程模板,即在一個流程節(jié)點上不能既掛載子流程模板,又掛載任務節(jié)點。其中,子流程模板的結(jié)構(gòu)與上述的流程模板的結(jié)構(gòu)相同。其中,通用動作可以動態(tài)指定對象,雖然對象不同,但是業(yè)務邏輯基本相同,如審批表單動作,對象可以是任務審批表單,也可以是采購審批表單,還可以是其它表單;獨立業(yè)務動作具有一定的針對性,不可以任意指定對象,而是將對象直接綁定在業(yè)務邏輯內(nèi),比如固定資產(chǎn)入庫動作,其對象就是固定資產(chǎn)報表,不可能是其它對象。

在上述任一技術方案中,優(yōu)選地,對基于所述業(yè)務系統(tǒng)的工作流進行實例化處理的步驟具體包括:向所述工作流分配流程實例標識,并依次對所述工作流中的每個工作流節(jié)點進行實例化處理;以及根據(jù)所述工作流中的每個任務節(jié)點包括的執(zhí)行角色,為所述每個任務節(jié)點分配執(zhí)行人。

其中,實例化處理即是在面向?qū)ο蟮木幊讨?,用類?chuàng)建對象的過程。

在上述任一技術方案中,優(yōu)選地,運行所述工作流對象的步驟具體包括:根據(jù)所述工作流對象的執(zhí)行流程,依次執(zhí)行所述工作流對象中的每一個任務節(jié)點對應的任務,且在流轉(zhuǎn)至所述工作流對象中的任一任務節(jié)點時,向所述任一任務節(jié)點的執(zhí)行人發(fā)送通知消息。

在該技術方案中,由于每個任務節(jié)點均包含執(zhí)行角色,而執(zhí)行角色對應于執(zhí)行人,因此在流轉(zhuǎn)至工作流對象中的任一任務節(jié)點時,需要向任一任務節(jié)點的執(zhí)行人發(fā)送通知消息,以通知其執(zhí)行相應的任務。

在上述任一技術方案中,優(yōu)選地,運行所述工作流對象的步驟具體還包括:在運行至所述工作流對象中的指定任務節(jié)點時,若檢測到所述指定任務節(jié)點對應的任務被拒絕,則將對所述工作流對象的執(zhí)行過程回滾至于所述指定任務節(jié)點所處的當前流程中的預設工作流節(jié)點;以及

在接收到對所述工作流對象中的任一任務節(jié)點對應的任務進行拆分的指令時,對所述任一任務節(jié)點對應的任務進行拆分,并設定拆分后得到的子任務的動作和處理對象。

其中,指定任務節(jié)點可以是審批任務節(jié)點。

綜上所述,本發(fā)明提出的工作流定制化處理方法主要包括以下步驟:

A、定制化流程模板;

B、為模板中的工作流節(jié)點掛載任務節(jié)點或者子流程模板;

C、實例化工作流;

D、流程流轉(zhuǎn)。

其中,在步驟A中,流程模板是指與業(yè)務無關的工作流模板,其定義了流程的走向。

在步驟B中,任務節(jié)點是指具體跟業(yè)務相關的節(jié)點,其所對應的動作、對象、執(zhí)行角色定義了該節(jié)點的業(yè)務內(nèi)容。

進一步地,步驟B中的動作、對象、執(zhí)行角色是從日常企業(yè)業(yè)務內(nèi)容中總結(jié)出來的、可以描述一個具體業(yè)務行為所需要的三個概念:動作是指業(yè)務所要處理的事宜,對象是指受動作影響的具體事物,執(zhí)行角色則是指執(zhí)行動作的人員類別。

并且,在步驟B中,可以為每一個工作流節(jié)點分配一個或者多個任務 節(jié)點,也可以為其分配一個子流程。二者互斥,不可同時被分配在一個工作流節(jié)點上。其中的子流程模板實際上就是指普通的工作流模板,其描述了一個流程中的一部分相對獨立的流程,工作流是可以逐級嵌套的。

在步驟C中,實例化是指提取某個工作流模版,將其創(chuàng)建為一個具體的工作流對象。

在步驟D中,流程流轉(zhuǎn)包括流程的推進和回滾。

其中,步驟A和步驟B的過程如圖3所示,包括:

步驟302,設計工作流模板。

步驟304,判斷是否添加工作流節(jié)點,若是,則執(zhí)行步驟306;否則,執(zhí)行結(jié)束。

步驟306,定義工作流節(jié)點,若在工作流節(jié)點上添加任務節(jié)點,則執(zhí)行步驟310;若在工作流節(jié)點上添加子流程,則執(zhí)行步驟308。

步驟308,掛載子流程,并返回步驟302。

步驟310,定義任務節(jié)點。

步驟312,掛載單/多任務。

步驟314,設置任務屬性,并返回步驟304。

其中,工作流模版主要包含起止點、工作流節(jié)點、流程鏈接線三個主要的描述對象。工作流的分支流轉(zhuǎn)也可以通過上述三個對象來描述。用戶在定義工作流模版之前,首先要對要實現(xiàn)的業(yè)務流程有一個較為深刻的理解,應當清楚哪些業(yè)務可以用一個子流程來實現(xiàn),哪些業(yè)務可以用任務來實現(xiàn),就叫做工作流模板的設計。

工作流的每一個節(jié)點可以掛載一個子流程或者一個/多個任務節(jié)點,子流程和任務節(jié)點相互互斥,不可以同時掛載在一個工作流節(jié)點上。其中,子流程的定義基本同主流程。任務節(jié)點的實現(xiàn)并非獨立封裝的業(yè)務邏輯,其是由執(zhí)行角色、動作和對象三個屬性共同作用決定的。執(zhí)行角色并非任務的具體執(zhí)行者,只是描述了執(zhí)行者的權限,比如負責人、審核員等;動作則是抽象總結(jié)出的一些業(yè)務常用行為,比如提交、驗證、審核等等;對象則是指動作的操作對象,大部分情況是指各種各樣的表單,有時也會是一些人員或者數(shù)據(jù)。

動作可以分為兩類:通用動作和獨立動作業(yè)務。前者一般可以動態(tài)指定對象,對象不同,但是業(yè)務邏輯基本相同。比如審批表單動作,對象可以是任務審批表單,也可以是采購審批表單,還可以是其他各種各樣的表單。再比如人員分配動作,對象可以是任何人員。而后者是指獨立業(yè)務動作,其封裝了獨立的業(yè)務邏輯,具有一定的針對性,不可以任意指定對象,而是將對象直接綁定在業(yè)務邏輯內(nèi),比如固定資產(chǎn)入庫動作,其對象就是固定資產(chǎn)報表,不可能是其他對象了。但不管哪種動作,都需要有相應的對象配合,只是通用動作更加靈活。

工作流定義完畢,并掛載任務之后,將會被導出為一個模版文件,其描述了工作流節(jié)點關系以及任務節(jié)點內(nèi)容。

由上述可知,在本發(fā)明中的工作流節(jié)點上可以掛載子流程或任務節(jié)點,如圖4所示,一個工作流節(jié)點可以掛載一個子流程402或至少一個任務節(jié)點404。其中,工作流節(jié)點屬性包括:流程節(jié)點ID、節(jié)點描述、掛載類型(即掛載子流程或任務節(jié)點)和掛載對象ID列表。每個任務節(jié)點404包括:節(jié)點ID、執(zhí)行角色、執(zhí)行動作和動作對象(可選)。

工作流在流轉(zhuǎn)之前,必須要先進行實例化,如圖5所示,為根據(jù)本發(fā)明的一個實施例的工作流的實例化過程,包括:

步驟502,實例化流程。

步驟504,判斷遍歷工作流節(jié)點是否結(jié)束,若是,則執(zhí)行步驟510;否則,執(zhí)行步驟506。

步驟506,實例化工作流節(jié)點。

步驟508,判斷是否需要在節(jié)點掛載子流程,若是,則返回執(zhí)行步驟504;否則,返回執(zhí)行步驟502。

步驟510,指定所有任務節(jié)點的實際執(zhí)行人。

具體地,實例化過程便是將模版取出,分配一個ID標識,并將工作流相關的參數(shù)入庫管理的過程。工作流在實例化的過程中,還需要根據(jù)每一個任務節(jié)點的執(zhí)行角色來分配具體的執(zhí)行人。其中,有些任務節(jié)點的執(zhí)行人會依賴于工作流前置節(jié)點的結(jié)果來分配具體執(zhí)行人,因此無法在實例化的過程中指定全部節(jié)點的執(zhí)行人,這也是為什么需要在任務動作中需要 添加指定執(zhí)行人這個動作的原因。這樣,當流程流轉(zhuǎn)起來后,當遇到“指定執(zhí)行人”這個任務節(jié)點后,流程將會停止在此節(jié)點,等待此節(jié)點的執(zhí)行人來分配后續(xù)節(jié)點的具體任務執(zhí)行人。此外,工作流在實例化的過程中,還需要將任務節(jié)點掛載的子流程實例化,子流程會保存一個父流程ID來進行關聯(lián),父流程實例化時,亦可對子流程進行人員指派。

工作流流轉(zhuǎn)起來后,當流轉(zhuǎn)到哪個任務節(jié)點,對應的任務執(zhí)行人就會收到相應的任務通知。當某一個任務執(zhí)行完畢之后,流程會自動繼續(xù)向下流轉(zhuǎn)。這里有幾個特殊處理。

首先,對于審批任務節(jié)點,可以有同意或者拒絕的操作。當任務被拒絕之后,流程會發(fā)生回滾?;貪L是在當前流程之內(nèi),不可以跨流程回滾?;貪L可以跳到任意一個工作流節(jié)點,這個可以在流程模版設計的時候指定,也可以在拒絕操作時指定?;貪L到某一個工作流節(jié)點時,工作流節(jié)點對應的任務節(jié)點將被重啟,之前任務保存的相關數(shù)據(jù)將被維護,便于以后查詢,新產(chǎn)生的數(shù)據(jù)將作為新的一條記錄入庫。

第二,任務節(jié)點的任務是可以在流轉(zhuǎn)時進一步拆分的。拆分是由任務執(zhí)行人來進行,在拆分的同時,還需要為子任務指定動作和對象。任務拆分后,原有任務節(jié)點不受影響,但需等其拆分出的子任務完成后,任務節(jié)點方可繼續(xù)流轉(zhuǎn)。需要說明的是,子任務是不能包含審批動作的;否則,會影響父節(jié)點的任務流轉(zhuǎn)。

第三,當工作流節(jié)點掛載多個任務節(jié)點時,每一個任務完成之后,都會由工作流節(jié)點判斷當前節(jié)點包含的任務是否有未完成的狀態(tài),如果沒有的話,工作流節(jié)點會自動向下一個節(jié)點流轉(zhuǎn)。而當工作流節(jié)點掛載子流程時,當子流程的節(jié)點任務執(zhí)行完畢后,會先判斷是否是子流程的最后一個工作流節(jié)點,如果是的話,會自動流向主流程進入子流程的工作流節(jié)點,并向主流程的下一個工作流節(jié)點流轉(zhuǎn)。

以上結(jié)合附圖詳細說明了本發(fā)明的技術方案,本發(fā)明提出了一種新的工作流的定制化方案,可以將企業(yè)的業(yè)務系統(tǒng)與流程定制化結(jié)合在一起,方便了企業(yè)工作流的快速部署和升級,同時能夠高效、便捷地創(chuàng)建出符合企業(yè)自身特點的業(yè)務流程。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邓州市| 张家界市| 紫阳县| 建始县| 邹城市| 锦屏县| 梨树县| 阳原县| 久治县| 溧水县| 清远市| 营口市| 阳春市| 徐汇区| 陕西省| 宜良县| 青田县| 济源市| 达拉特旗| 大城县| 六安市| 阿克陶县| 陆川县| 靖边县| 临夏市| 扎赉特旗| 汝南县| 霍山县| 伊川县| 涪陵区| 平江县| 岳阳县| 浠水县| 庆城县| 淮阳县| 马公市| 新蔡县| 长垣县| 英德市| 慈溪市| 望江县|