可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置和業(yè)務(wù)規(guī)則插件擴(kuò)展方法
【專利摘要】本發(fā)明提供了一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,包括:業(yè)務(wù)規(guī)則注冊模塊,用于注冊業(yè)務(wù)規(guī)則;業(yè)務(wù)邏輯設(shè)置模塊,用于對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置;業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,用于當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按所述業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。本發(fā)明還提供了一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的業(yè)務(wù)規(guī)則插件基礎(chǔ)上,對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行增加、替換、刪除以及重組執(zhí)行順序。建立由細(xì)粒度業(yè)務(wù)規(guī)則組成的面向所有業(yè)務(wù)操作規(guī)則插件擴(kuò)展系統(tǒng)可以提供通用、統(tǒng)一的擴(kuò)展思路,并且減少業(yè)務(wù)規(guī)則的重復(fù)。
【專利說明】可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置和業(yè)務(wù)規(guī)則插件擴(kuò)展方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體地,涉及一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置和一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法。
【背景技術(shù)】
[0002]在現(xiàn)行的軟件系統(tǒng)中,用戶的個性化需求越來越多,這就對軟件系統(tǒng)提出了高可擴(kuò)展性、高動態(tài)性的難題。
[0003]為了滿足可擴(kuò)展性的要求,我們將后臺的業(yè)務(wù)按照功能邏輯的劃分為一個個相對獨(dú)立的業(yè)務(wù)規(guī)則插件。一個個粒度更細(xì)的業(yè)務(wù)插件可以允許給客戶對于后臺業(yè)務(wù)進(jìn)行重組,從而滿足客戶不斷變化的需求。
[0004]目前常采用提供擴(kuò)展點(diǎn)的方式來滿足擴(kuò)展需求,例如,在專利(申請)號為201010603045.X的專利(申請)文件中,提供了業(yè)務(wù)規(guī)則的管理方法和裝置;在專利(申請)號為201010163167.1的專利(申請)文件中,提供了一種加載插件的方法和裝置。但是,對于此種方式,有以下幾點(diǎn)不足:
[0005]⑴此種擴(kuò)展方式一般僅僅允許我們對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行擴(kuò)展,而不能對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行替換、刪除以及重組;⑵業(yè)務(wù)設(shè)計(jì)節(jié)點(diǎn)往往不能準(zhǔn)確預(yù)知客戶的需求變更,所以選擇合適的擴(kuò)展點(diǎn)往往比較難;⑶只有業(yè)務(wù)在設(shè)計(jì)時(shí)提供的擴(kuò)展點(diǎn)才能在以后的實(shí)際使用過程中進(jìn)行擴(kuò)展。
[0006]因此,需要一種新的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展技術(shù),可以在現(xiàn)有的業(yè)務(wù)規(guī)則插件基礎(chǔ)上,對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行增加、替換、刪除以及重組執(zhí)行順序,建立由粒度更細(xì)的業(yè)務(wù)規(guī)則組成的面向所有業(yè)務(wù)操作規(guī)則插件擴(kuò)展系統(tǒng),可以提供通用、統(tǒng)一的擴(kuò)展思路,并且減少業(yè)務(wù)規(guī)則的重復(fù)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明正是基于上述問題,提出了一種新的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展技術(shù),可以在現(xiàn)有的業(yè)務(wù)規(guī)則插件基礎(chǔ)上,對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行增加、替換、刪除以及重組執(zhí)行順序,建立由粒度更細(xì)的業(yè)務(wù)規(guī)則組成的面向所有業(yè)務(wù)操作規(guī)則插件擴(kuò)展系統(tǒng),可以提供通用、統(tǒng)一的擴(kuò)展思路,并且減少業(yè)務(wù)規(guī)則的重復(fù)。
[0008]有鑒于此,本發(fā)明提出了一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,包括:業(yè)務(wù)規(guī)則注冊模塊,用于注冊業(yè)務(wù)規(guī)則;業(yè)務(wù)邏輯設(shè)置模塊,用于對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置;業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,用于當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按所述業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,在執(zhí)行業(yè)務(wù)規(guī)則插件前,已經(jīng)對業(yè)務(wù)規(guī)則插件對應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行了統(tǒng)一的注冊和邏輯設(shè)置,可以提高業(yè)務(wù)規(guī)則插件的可復(fù)用性,減少業(yè)務(wù)規(guī)則的重復(fù)注冊和邏輯設(shè)置,提高處理效率。
[0009]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)規(guī)則注冊模塊注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的注冊數(shù)據(jù)。
[0010]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)邏輯設(shè)置模塊對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
[0011]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,具體包括:業(yè)務(wù)操作關(guān)聯(lián)模塊,用于根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作;業(yè)務(wù)規(guī)則插件列表讀取模塊,用于根據(jù)所述業(yè)務(wù)操作關(guān)聯(lián)模塊找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表;業(yè)務(wù)規(guī)則插件排序模塊,用于根據(jù)所述業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序;業(yè)務(wù)規(guī)則插件執(zhí)行模塊,用于根據(jù)所述業(yè)務(wù)規(guī)則插件排序模塊對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,可以根據(jù)用戶的操作,將管理業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn)與業(yè)務(wù)規(guī)則插件列表對應(yīng)排序,并按該排序執(zhí)行相應(yīng)的業(yè)務(wù)規(guī)則插件,給實(shí)施及客戶帶來了業(yè)務(wù)設(shè)計(jì)的自由度,同時(shí)也方便了開發(fā)人員快速的完成業(yè)務(wù)需求,并且可以大大提供開發(fā)的效率以及質(zhì)量。
[0012]在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,具體還包括:業(yè)務(wù)規(guī)則插件列表判斷模塊,用于判斷所述業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向新業(yè)務(wù)規(guī)則插件加載模塊;否則,則轉(zhuǎn)向所述業(yè)務(wù)規(guī)則插件排序模塊;新業(yè)務(wù)規(guī)則插件加載模塊,用于將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向所述業(yè)務(wù)規(guī)則插件排序模塊;以及,所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊還用于:當(dāng)所述業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。在該技術(shù)方案中,當(dāng)業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),對新的業(yè)務(wù)規(guī)則插件進(jìn)行及時(shí)加載,使得客戶設(shè)計(jì)業(yè)務(wù)系統(tǒng)時(shí),可以方便的收集一些公共的業(yè)務(wù)規(guī)則,減少了業(yè)務(wù)規(guī)則的重復(fù)。
[0013]根據(jù)本發(fā)明的又一個方面,還提出了一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,包括:步驟202:注冊業(yè)務(wù)規(guī)則;步驟204:對業(yè)務(wù)操作包含的所述步驟202注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置;步驟206:當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按所述步驟204設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,在執(zhí)行業(yè)務(wù)規(guī)則插件前,已經(jīng)對業(yè)務(wù)規(guī)則插件對應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行了統(tǒng)一的注冊和邏輯設(shè)置,可以提高業(yè)務(wù)規(guī)則插件的可復(fù)用性,減少業(yè)務(wù)規(guī)則的重復(fù)注冊和邏輯設(shè)置,提高處理效率。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述步驟202注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的
注冊數(shù)據(jù)。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述步驟204對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟302:根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作;步驟304:根據(jù)所述步驟302找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表;步驟310:根據(jù)所述步驟304讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序;步驟312:根據(jù)所述步驟310對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,可以根據(jù)用戶的操作,將管理業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn)與業(yè)務(wù)規(guī)則插件列表對應(yīng)排序,并按該排序執(zhí)行相應(yīng)的業(yè)務(wù)規(guī)則插件,給實(shí)施及客戶帶來了業(yè)務(wù)設(shè)計(jì)的自由度,同時(shí)也方便了開發(fā)人員快速的完成業(yè)務(wù)需求,并且可以大大提供開發(fā)的效率以及質(zhì)量。
[0017]在上述技術(shù)方案中,優(yōu)選地,在步驟304與步驟310之間,所述步驟206,具體還包括:步驟306:判斷所述步驟304讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向步驟308 ;否則,則轉(zhuǎn)向所述步驟310 ;步驟308:將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向所述步驟310 ;以及,所述步驟206還包括:當(dāng)所述步驟204設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。在該技術(shù)方案中,當(dāng)業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),對新的業(yè)務(wù)規(guī)則插件進(jìn)行及時(shí)加載,使得客戶設(shè)計(jì)業(yè)務(wù)系統(tǒng)時(shí),可以方便的收集一些公共的業(yè)務(wù)規(guī)則,減少了業(yè)務(wù)規(guī)則的重復(fù)。
[0018]通過以上技術(shù)方案,可以在現(xiàn)有的業(yè)務(wù)規(guī)則插件基礎(chǔ)上,對已經(jīng)形成的業(yè)務(wù)操作進(jìn)行增加、替換、刪除以及重組執(zhí)行順序,建立由粒度更細(xì)的業(yè)務(wù)規(guī)則組成的面向所有業(yè)務(wù)操作規(guī)則插件擴(kuò)展系統(tǒng),可以提供通用、統(tǒng)一的擴(kuò)展思路,并且減少業(yè)務(wù)規(guī)則的重復(fù)。
【專利附圖】
【附圖說明】
[0019]圖1示出了根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置的框圖;
[0020]圖2示出了根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法的流程(即基于業(yè)務(wù)規(guī)則的插件擴(kuò)展工作流程)圖;
[0021]圖3示出了根據(jù)本發(fā)明的實(shí)施例的業(yè)務(wù)規(guī)則加載及執(zhí)行方法的流程圖。
【具體實(shí)施方式】
[0022]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0023]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
[0024]圖1示出了根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置的框圖。
[0025]如圖1所示,根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置100,包括:業(yè)務(wù)規(guī)則注冊模塊102,用于注冊業(yè)務(wù)規(guī)則;業(yè)務(wù)邏輯設(shè)置模塊104,用于對業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置;業(yè)務(wù)規(guī)則加載及執(zhí)行模塊106,用于當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,在執(zhí)行業(yè)務(wù)規(guī)則插件前,已經(jīng)對業(yè)務(wù)規(guī)則插件對應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行了統(tǒng)一的注冊和邏輯設(shè)置,可以提高業(yè)務(wù)規(guī)則插件的可復(fù)用性,減少業(yè)務(wù)規(guī)則的重復(fù)注冊和邏輯設(shè)置,提高處理效率。
[0026]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)規(guī)則注冊模塊102注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的注冊數(shù)據(jù)。
[0027]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)邏輯設(shè)置模塊104對業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
[0028]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)規(guī)則加載及執(zhí)行模塊106,具體包括:業(yè)務(wù)操作關(guān)聯(lián)模塊,用于根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作;業(yè)務(wù)規(guī)則插件列表讀取模塊,用于根據(jù)業(yè)務(wù)操作關(guān)聯(lián)模塊找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表;業(yè)務(wù)規(guī)則插件排序模塊,用于根據(jù)業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序;業(yè)務(wù)規(guī)則插件執(zhí)行模塊,用于根據(jù)業(yè)務(wù)規(guī)則插件排序模塊對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,可以根據(jù)用戶的操作,將管理業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn)與業(yè)務(wù)規(guī)則插件列表對應(yīng)排序,并按該排序執(zhí)行相應(yīng)的業(yè)務(wù)規(guī)則插件,給實(shí)施及客戶帶來了業(yè)務(wù)設(shè)計(jì)的自由度,同時(shí)也方便了開發(fā)人員快速的完成業(yè)務(wù)需求,并且可以大大提供開發(fā)的效率以及質(zhì)量。
[0029]在上述技術(shù)方案中,優(yōu)選地,業(yè)務(wù)規(guī)則加載及執(zhí)行模塊106,具體還包括:業(yè)務(wù)規(guī)則插件列表判斷模塊,用于判斷業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向新業(yè)務(wù)規(guī)則插件加載模塊;否則,則轉(zhuǎn)向業(yè)務(wù)規(guī)則插件排序模塊;新業(yè)務(wù)規(guī)則插件加載模塊,用于將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向業(yè)務(wù)規(guī)則插件排序模塊;以及,業(yè)務(wù)規(guī)則加載及執(zhí)行模塊106還用于:當(dāng)業(yè)務(wù)邏輯設(shè)置模塊104設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。在該技術(shù)方案中,當(dāng)業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),對新的業(yè)務(wù)規(guī)則插件進(jìn)行及時(shí)加載,使得客戶設(shè)計(jì)業(yè)務(wù)系統(tǒng)時(shí),可以方便的收集一些公共的業(yè)務(wù)規(guī)則,減少了業(yè)務(wù)規(guī)則的重復(fù)。
[0030]圖2示出了根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法的流程圖。
[0031]如圖2所示,根據(jù)本發(fā)明的實(shí)施例的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,包括:步驟202:注冊業(yè)務(wù)規(guī)則;步驟204:對業(yè)務(wù)操作包含的步驟202注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置;步驟206:當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按步驟204設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,在執(zhí)行業(yè)務(wù)規(guī)則插件前,已經(jīng)對業(yè)務(wù)規(guī)則插件對應(yīng)的業(yè)務(wù)規(guī)則進(jìn)行了統(tǒng)一的注冊和邏輯設(shè)置,可以提高業(yè)務(wù)規(guī)則插件的可復(fù)用性,減少業(yè)務(wù)規(guī)則的重復(fù)注冊和邏輯設(shè)置,提高處理效率。
[0032]在上述技術(shù)方案中,優(yōu)選地,步驟202注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的注冊數(shù)據(jù)。
[0033]在上述技術(shù)方案中,優(yōu)選地,步驟204對業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
[0034]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟206,具體包括:步驟302:根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作;步驟304:根據(jù)步驟302找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表;步驟310:根據(jù)步驟304讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序;步驟312:根據(jù)步驟310對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。在該技術(shù)方案中,可以根據(jù)用戶的操作,將管理業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn)與業(yè)務(wù)規(guī)則插件列表對應(yīng)排序,并按該排序執(zhí)行相應(yīng)的業(yè)務(wù)規(guī)則插件,給實(shí)施及客戶帶來了業(yè)務(wù)設(shè)計(jì)的自由度,同時(shí)也方便了開發(fā)人員快速的完成業(yè)務(wù)需求,并且可以大大提供開發(fā)的效率以及質(zhì)量。
[0035]在上述技術(shù)方案中,優(yōu)選地,在步驟304與步驟310之間,步驟206,具體還包括:步驟306:判斷步驟304讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向步驟308 ;否則,則轉(zhuǎn)向步驟310 ;步驟308:將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向步驟310 ;以及,步驟206還包括:當(dāng)步驟204設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。在該技術(shù)方案中,當(dāng)業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),對新的業(yè)務(wù)規(guī)則插件進(jìn)行及時(shí)加載,使得客戶設(shè)計(jì)業(yè)務(wù)系統(tǒng)時(shí),可以方便的收集一些公共的業(yè)務(wù)規(guī)貝U,減少了業(yè)務(wù)規(guī)則的重復(fù)。
[0036]在本發(fā)明的技術(shù)方案中,業(yè)務(wù)規(guī)則是指:業(yè)務(wù)操作中相對獨(dú)立功能,它是業(yè)務(wù)操作的組成部分。例如,一個數(shù)據(jù)的修改保存業(yè)務(wù)操作包含了一下業(yè)務(wù)規(guī)則:⑴并發(fā)控制的業(yè)務(wù)規(guī)則,⑵數(shù)據(jù)默認(rèn)值的業(yè)務(wù)規(guī)則,⑶數(shù)據(jù)單據(jù)號的業(yè)務(wù)規(guī)則,⑷數(shù)據(jù)完整性的業(yè)務(wù)規(guī)則,(5)數(shù)據(jù)持久化的業(yè)務(wù)規(guī)則,(6)組織返回?cái)?shù)據(jù)的業(yè)務(wù)規(guī)則。
[0037]例如,本發(fā)明技術(shù)方案的工作流程可以包含如下三個組成部分:
[0038]⑴業(yè)務(wù)規(guī)則注冊 [0039]業(yè)務(wù)規(guī)則主要分為兩大類型,一類為通用規(guī)則,另一類為專用規(guī)則。業(yè)務(wù)規(guī)則注冊時(shí),需要記錄業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器等數(shù)據(jù)。業(yè)務(wù)規(guī)則插件id是業(yè)務(wù)規(guī)則插件標(biāo)識,用來唯一確定業(yè)務(wù)規(guī)則插件。業(yè)務(wù)操作擴(kuò)展點(diǎn)是后臺業(yè)務(wù)操作的標(biāo)識,通用的業(yè)務(wù)規(guī)則插件擴(kuò)展點(diǎn)為Common。業(yè)務(wù)規(guī)則插件類加載器為對應(yīng)的規(guī)則實(shí)現(xiàn)類。
[0040]表1中是兩個業(yè)務(wù)插件,IDl是一條通用業(yè)務(wù)規(guī)則,主要處理并發(fā)控制。ID2是一個專用的業(yè)務(wù)規(guī)則插件,用來完成數(shù)量會寫的業(yè)務(wù)。
[0041]表1:業(yè)備規(guī)則灃冊
[0042]
【權(quán)利要求】
1.一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,其特征在于,包括: 業(yè)務(wù)規(guī)則注冊模塊,用于注冊業(yè)務(wù)規(guī)則; 業(yè)務(wù)邏輯設(shè)置模塊,用于對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置; 業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,用于當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按所述業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。
2.根據(jù)權(quán)利要求1所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,其特征在于,所述業(yè)務(wù)規(guī)則注冊模塊注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的注冊數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,其特征在于,所述業(yè)務(wù)邏輯設(shè)置模塊對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,其特征在于,所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,具體包括: 業(yè)務(wù)操作關(guān)聯(lián)模塊,用于根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作; 業(yè)務(wù)規(guī)則插件列表讀取模塊,用于根據(jù)所述業(yè)務(wù)操作關(guān)聯(lián)模塊找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表; 業(yè)務(wù)規(guī)則插件排序模塊,用于根據(jù)所述業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序; 業(yè)務(wù)規(guī)則插件執(zhí)行模塊,用于根據(jù)所述業(yè)務(wù)規(guī)則插件排序模塊對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。
5.根據(jù)權(quán)利要求4所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展裝置,其特征在于,所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊,具體還包括: 業(yè)務(wù)規(guī)則插件列表判斷模塊,用于判斷所述業(yè)務(wù)規(guī)則插件列表讀取模塊讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向新業(yè)務(wù)規(guī)則插件加載模塊;否貝U,則轉(zhuǎn)向所述業(yè)務(wù)規(guī)則插件排序模塊; 新業(yè)務(wù)規(guī)則插件加載模塊,用于將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向所述業(yè)務(wù)規(guī)則插件排序模塊;以及, 所述業(yè)務(wù)規(guī)則加載及執(zhí)行模塊還用于:當(dāng)所述業(yè)務(wù)邏輯設(shè)置模塊設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。
6.一種可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,其特征在于,包括: 步驟202:注冊業(yè)務(wù)規(guī)則; 步驟204:對業(yè)務(wù)操作包含的所述步驟202注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置; 步驟206:當(dāng)用戶在交互界面觸發(fā)一個業(yè)務(wù)操作時(shí),按所述步驟204設(shè)置的業(yè)務(wù)規(guī)則執(zhí)行業(yè)務(wù)規(guī)則插件。
7.根據(jù)權(quán)利要求6所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,其特征在于,所述步驟202注冊業(yè)務(wù)規(guī)則的操作,具體包括:記錄包含業(yè)務(wù)規(guī)則插件id、業(yè)務(wù)操作擴(kuò)展點(diǎn)、業(yè)務(wù)規(guī)則插件描述信息、業(yè)務(wù)規(guī)則插件類加載器的注冊數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,其特征在于,所述步驟204對業(yè)務(wù)操作包含的所述業(yè)務(wù)規(guī)則注冊模塊注冊的業(yè)務(wù)規(guī)則進(jìn)行設(shè)置的操作,具體包括:主要定義業(yè)務(wù)操作包含的業(yè)務(wù)規(guī)則插件以及插件的執(zhí)行順序。
9.根據(jù)權(quán)利要求6-7中任一項(xiàng)所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,其特征在于,所述步驟206,具體包括: 步驟302:根據(jù)用戶的操作,找到關(guān)聯(lián)的業(yè)務(wù)操作; 步驟304:根據(jù)所述步驟302找到的關(guān)聯(lián)業(yè)務(wù)操作對應(yīng)的擴(kuò)展點(diǎn),讀取業(yè)務(wù)規(guī)則插件列表; 步驟310:根據(jù)所述步驟304讀取的業(yè)務(wù)規(guī)則插件列表,對業(yè)務(wù)規(guī)則插件按運(yùn)行順序排序; 步驟312:根據(jù)所述步驟310對業(yè)務(wù)規(guī)則插件運(yùn)行順序的排序,遍歷并執(zhí)行業(yè)務(wù)規(guī)則插件。
10.根據(jù)權(quán)利要求9所述的可配置的業(yè)務(wù)規(guī)則插件擴(kuò)展方法,其特征在于,在步驟304與步驟310之間,所述步驟206,具體還包括: 步驟306:判斷所述步驟304讀取的業(yè)務(wù)規(guī)則插件列表是否發(fā)生變化或者為第一次加載,若是,則轉(zhuǎn)向步驟308 ;否則,則轉(zhuǎn)向所述步驟310 ; 步驟308:將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中后,轉(zhuǎn)向所述步驟310 ;以及, 所述步驟206還包括:當(dāng)所述步驟204設(shè)置的業(yè)務(wù)邏輯對應(yīng)的業(yè)務(wù)規(guī)則插件列表發(fā)生變化或者為第一次加載時(shí),將新的業(yè)務(wù)規(guī)則插件加載至java虛擬機(jī)中。
【文檔編號】G06Q10/06GK103617508SQ201310683546
【公開日】2014年3月5日 申請日期:2013年12月12日 優(yōu)先權(quán)日:2013年12月12日
【發(fā)明者】王偉 申請人:用友軟件股份有限公司