專利名稱:用于業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種支持業(yè)務(wù)密集領(lǐng)域的業(yè)務(wù)過程管理方法,尤其是一種融合宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯來描述業(yè)務(wù)過程,并且通過映射規(guī)則分別映射到企業(yè)內(nèi)部和企業(yè)之間業(yè)務(wù)過程執(zhí)行語言的方法,以及支持該方法的實現(xiàn)系統(tǒng),屬于信息系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
在業(yè)務(wù)密集型領(lǐng)域中,如金融、保險、證券等領(lǐng)域,業(yè)務(wù)邏輯具有復(fù)雜性和動態(tài)性特點,而如何在成本和質(zhì)量指標(biāo)的約束下快速構(gòu)建滿足用戶個性化需求的應(yīng)用系統(tǒng),并且適應(yīng)用戶的動態(tài)變化,是支持該類型領(lǐng)域的應(yīng)用系統(tǒng)所面臨的挑戰(zhàn)。由于業(yè)務(wù)過程管理系統(tǒng)提供了業(yè)務(wù)過程模型驅(qū)動的領(lǐng)域應(yīng)用系統(tǒng)執(zhí)行方式,可以滿足用戶的不同需求并且適應(yīng)系統(tǒng)運行中用戶需求的動態(tài)變化,因而得到了廣泛的應(yīng)用。
目前,支持業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理系統(tǒng)可以分為兩類,一類是從工作流管理技術(shù)發(fā)展而來的業(yè)務(wù)過程管理系統(tǒng),其業(yè)務(wù)過程模型表現(xiàn)為將業(yè)務(wù)邏輯分解為多項活動,通過活動之間的控制一來和數(shù)據(jù)一來關(guān)系來表達具體的業(yè)務(wù)邏輯,并且通過工作流引擎驅(qū)動執(zhí)行業(yè)務(wù)過程模型,從而實現(xiàn)業(yè)務(wù)過程的自動執(zhí)行;另一類是從業(yè)務(wù)規(guī)則管理系統(tǒng)發(fā)展而來的業(yè)務(wù)過程管理系統(tǒng),其業(yè)務(wù)過程模型表現(xiàn)為通過產(chǎn)生式規(guī)則來表達具體的業(yè)務(wù)邏輯,并且通過業(yè)務(wù)規(guī)則引擎來推理得到業(yè)務(wù)過程的自動執(zhí)行。上述兩類系統(tǒng)各有不同的側(cè)重點,第一類系統(tǒng)可以方便地反映業(yè)務(wù)邏輯中結(jié)構(gòu)的動態(tài)性,即業(yè)務(wù)邏輯中任務(wù)數(shù)目或執(zhí)行順序的變化,第二類系統(tǒng)便于反映業(yè)務(wù)邏輯中功能的動態(tài)性,即業(yè)務(wù)邏輯中認(rèn)為的具體操作方式的變化,從而支持系統(tǒng)執(zhí)行中業(yè)務(wù)邏輯的動態(tài)變化。由于業(yè)務(wù)密集型領(lǐng)域中業(yè)務(wù)邏輯的復(fù)雜性和動態(tài)性,因此,如何能夠構(gòu)建一個統(tǒng)一的業(yè)務(wù)過程管理系統(tǒng),同時體現(xiàn)上述兩類應(yīng)用系統(tǒng)的特點,成為支持業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理系統(tǒng)的關(guān)鍵。
業(yè)務(wù)過程管理系統(tǒng)通過業(yè)務(wù)過程模型驅(qū)動來執(zhí)行,因而在模型層提供統(tǒng)一的業(yè)務(wù)過程模型成為構(gòu)建業(yè)務(wù)過程管理系統(tǒng)的起點。一般來說,業(yè)務(wù)過程式企業(yè)或組織內(nèi)部與外部活動的集合,通過活動之間結(jié)構(gòu)化的邏輯偏序和依賴關(guān)系實現(xiàn)預(yù)定的目標(biāo)。為了適應(yīng)業(yè)務(wù)密集型領(lǐng)域中業(yè)務(wù)邏輯的復(fù)雜性和動態(tài)性,業(yè)務(wù)過程模型應(yīng)該具有下述特點一是可以從微觀層面描述領(lǐng)域知識或領(lǐng)域邏輯的內(nèi)容,如政策和法規(guī)約束等,即領(lǐng)域應(yīng)用是做什么的;二是可以從宏觀層面描述領(lǐng)域應(yīng)用中各個實體之間的關(guān)系,如前驅(qū)和后繼依賴等,即領(lǐng)域應(yīng)用是如何做的。同時,業(yè)務(wù)過程管理系統(tǒng)還需要提供支持上述業(yè)務(wù)過程模型的業(yè)務(wù)過程引擎。在現(xiàn)有技術(shù)中,我們尚未發(fā)現(xiàn)有任何面向業(yè)務(wù)密集型領(lǐng)域應(yīng)用的、融合宏觀業(yè)務(wù)實體和微觀業(yè)務(wù)邏輯的統(tǒng)一業(yè)務(wù)過程管理方法和支持系統(tǒng)。
發(fā)明內(nèi)容
針對上述問題,本發(fā)明的目的在于提供一種用于業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理方法,該方法的核心在于利用一種融合宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯的業(yè)務(wù)過程建模方法,為面向業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理提供統(tǒng)一、靈活的管理方法,該方法包括以下步驟第一步、根據(jù)領(lǐng)域應(yīng)用中各部分功能結(jié)構(gòu)關(guān)系定義業(yè)務(wù)過程模型的基本元素集,所述的基本元素集包括A、活動集,或業(yè)務(wù)實體元素集,其反映了領(lǐng)域應(yīng)用中的基本實體對象;B、規(guī)則集,或業(yè)務(wù)邏輯集,其是業(yè)務(wù)過程模型的業(yè)務(wù)邏輯元素,反映了業(yè)務(wù)實體或業(yè)務(wù)實體間的業(yè)務(wù)邏輯;C、活動之間的結(jié)構(gòu)關(guān)系集,描述了領(lǐng)域應(yīng)用中相鄰活動之間結(jié)構(gòu)上的控制一來,D、事件集,定義了活動集和規(guī)則集、規(guī)則集和活動間結(jié)構(gòu)關(guān)系集相互聯(lián)結(jié)的方式;該步驟由業(yè)務(wù)過程模型編輯器執(zhí)行;第二步、根據(jù)約定的映射規(guī)則,將所定義的業(yè)務(wù)過程模型中元素映射至可執(zhí)行業(yè)務(wù)過程語言;進一步地,所述的步驟一中包含四個與所述的四個集合相對應(yīng)的動作1)定義活動集中的各項活動并構(gòu)建活動集活動分為兩類,一類是粗粒度的遞階型活動,其可以細(xì)分為一個完整的或部分子業(yè)務(wù)過程;二是細(xì)粒度的原子活動,其不可以再進行細(xì)分,同時,原子活動中包括虛活動,其不執(zhí)行任何操作,只用于構(gòu)造復(fù)雜的活動之間的結(jié)構(gòu)關(guān)系。
活動集中元素的構(gòu)建遵循從頂?shù)较?、逐步?xì)化的原則,即,首先識別領(lǐng)域應(yīng)用中的頂層活動集,該集合中活動一般為遞階型,不包括虛活動;接著對頂層活動集中遞階型活動進行分解,直至其所有子活動都為原子活動為止,由此得到聚合程度不同的多層次活動集。
2)構(gòu)建活動之間的結(jié)構(gòu)關(guān)系集結(jié)構(gòu)關(guān)系包括與分支/匯聚、或分支/匯聚、異或分支/匯聚、條件分支/匯聚關(guān)系,其中,條件分支/匯聚關(guān)系屬于擴展結(jié)構(gòu)關(guān)系,可以通過增加虛活動來表達復(fù)雜的條件約束。
3)構(gòu)建規(guī)則集中的規(guī)則規(guī)則分為兩類,一是結(jié)構(gòu)規(guī)則,表示相鄰或非相鄰活動之間的約束一來關(guān)系,二是行為規(guī)則,表示活動內(nèi)部或外部資源的約束。
4)構(gòu)建事件集中的各個事件事件包括三種類型,分別是活動、規(guī)則和時間。
進一步,上述動作2)還包括以下步驟①建立各層活動集中活動之間結(jié)構(gòu)上的控制依賴,即確定每一活動的前驅(qū)和后繼活動,建立鄰接和非鄰接活動之間的結(jié)構(gòu)關(guān)系,并可加入虛活動來滿足復(fù)雜的結(jié)構(gòu)約束;②確定遞階型活動的類型,遞階型活動至少包括如下類型{AS,RS,RuleS,ES}、{AS,ES}、{RuleS,ES}、{AS,RS,ES}和{AS,RuleS,ES},其中AS、RS、RuleS和ES分別表示活動集、活動間結(jié)構(gòu)關(guān)系集、規(guī)則集和事件集。
③確定一般型活動的屬性和狀態(tài),一般型活動至少包括屬性標(biāo)識、狀態(tài)、類型、輸入數(shù)據(jù)、輸出數(shù)據(jù)、輸入或輸出數(shù)據(jù)變量的賦值表達式、活動的外部激活應(yīng)用和活動的執(zhí)行者,其中活動類型分為兩個聚類,分別用于表示企業(yè)內(nèi)部和企業(yè)間活動;活動狀態(tài)一般而言包括就緒、運行、取消、終止和完成5項狀態(tài)。
動作3)還可以進一步包括以下步驟①針對活動集中每項活動分析其內(nèi)部行為或外部資源約束,構(gòu)建活動的結(jié)構(gòu)規(guī)則,包括A、定義業(yè)務(wù)過程中的基本實體對象、對象屬性以及業(yè)務(wù)過程資源和外部引用為術(shù)語;B、定義術(shù)語之間的關(guān)系為事實,包括比較、成員、屬性、參與和繼承;C、根據(jù)具體的領(lǐng)域應(yīng)用擴展術(shù)語之間關(guān)系;②對行為規(guī)則進行分類,然后通過基本規(guī)則詞表示行為規(guī)則之間的關(guān)系。行為規(guī)則至少可以分為條件、一致性和權(quán)屬規(guī)則,其中,條件規(guī)則定義給定條件下某種結(jié)果,一致性規(guī)則為永真斷言,權(quán)屬規(guī)則定義某主體是否有某行為的權(quán)利,授權(quán)規(guī)則定義主體有權(quán)(或被允許)進行某行為;所述的基本規(guī)則詞可以包括如“如果-則”、“必須”、“允許”和“禁止”等。
所述第二步驟中的映射規(guī)則可分為兩類,一類是面向集中式計算環(huán)境中業(yè)務(wù)過程執(zhí)行語言的映射規(guī)則,一類是面向分布式計算環(huán)境中業(yè)務(wù)過程執(zhí)行語言的映射規(guī)則。
其中,面向集中式計算環(huán)境中XPDL語言的映射步驟是根據(jù)業(yè)務(wù)過程模型中元素分析XPDL的語義相近元素,對語義相近元素進行映射;若業(yè)務(wù)過程模型中元素在XPDL中不存在相近語義元素,則將其映射到XPDL中基本元素的擴展屬性或進行語義轉(zhuǎn)換;面向分布式計算環(huán)境中BPEL4WS語言的映射步驟是業(yè)務(wù)過程模型中規(guī)則映射為WebService,并且定義message、portType和property等WebService屬性;一般活動映射為BPEL4WS的基本活動或塊活動,復(fù)合活動映射為BPEL4WS的塊活動;事件映射為BPEL4WS的基本活動。
上述兩個步驟描述了本發(fā)明方法的系統(tǒng)建模和映射過程,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,后續(xù)的執(zhí)行過程是顯而易見的,即,映射完成后通過業(yè)務(wù)過程引擎自動執(zhí)行可執(zhí)行業(yè)務(wù)過程語言是本領(lǐng)域的公知常識,其不屬于本發(fā)明內(nèi)容的范疇,因此本說明書就不再對其進行詳細(xì)描述。
本發(fā)明的另一個目的在于提供一種支持上述方法的業(yè)務(wù)過程管理系統(tǒng),該系統(tǒng)以軟件的方式實現(xiàn),可用于支持和實現(xiàn)所述的業(yè)務(wù)過程管理方法。
如圖1所示,該系統(tǒng)包括1)業(yè)務(wù)過程模型編輯器,用于編輯融合宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯的業(yè)務(wù)過程模型;2)業(yè)務(wù)過程映射器,用于將業(yè)務(wù)模型編輯器中輸出的業(yè)務(wù)過程模型映射為標(biāo)準(zhǔn)的可執(zhí)行業(yè)務(wù)過程語言后輸出可執(zhí)行的業(yè)務(wù)模型;3)業(yè)務(wù)過程引擎,用于驅(qū)動可執(zhí)行的業(yè)務(wù)模型,實現(xiàn)業(yè)務(wù)過程管理系統(tǒng)的自動執(zhí)行。
其中,所述的業(yè)務(wù)過程模型編輯器中至少包括兩個模塊,如圖2所示活動實體構(gòu)件模塊,其中至少包括兩類活動元素,一是粗粒度的遞階型活動,其可以細(xì)分為一個完整的或部分子業(yè)務(wù)過程;二是細(xì)粒度的原子活動,不可以再進行細(xì)分,同時,原子活動中包括虛活動,即其不執(zhí)行任何操作,只用于構(gòu)造復(fù)雜的活動之間結(jié)構(gòu)關(guān)系;規(guī)則實體構(gòu)件模塊,其至少包括三類規(guī)則子模塊一是規(guī)則術(shù)語構(gòu)建子模塊,二是規(guī)則事實構(gòu)建子模塊,其中規(guī)則術(shù)語子模塊定義了規(guī)則中的基本元素,規(guī)則事實構(gòu)建子模塊定義了術(shù)語之間的關(guān)系,至少包括比較、成員、屬性、參與和繼承關(guān)系,三是行為規(guī)則構(gòu)建子模塊,至少包括條件、一致性和權(quán)屬規(guī)則,其中條件規(guī)則定義給定條件下某種結(jié)果,一致性規(guī)則為永真斷言,權(quán)屬規(guī)則定義某主體是否有某行為的權(quán)利,授權(quán)規(guī)則定義主體有權(quán)(或被允許)進行某行為。在規(guī)則術(shù)語構(gòu)建子模塊、規(guī)則事實構(gòu)建子模塊和行為規(guī)則構(gòu)建子模塊中,規(guī)則術(shù)語構(gòu)建子模塊是規(guī)則事實構(gòu)建子模塊的基礎(chǔ)模塊,而規(guī)則事實構(gòu)建子模塊則是行為規(guī)則構(gòu)建子模塊的基礎(chǔ)模塊。
在業(yè)務(wù)過程編輯器中,活動的屬性其至少包括事件、規(guī)則空間名稱和規(guī)則名,事件類型至少包括活動執(zhí)行前、執(zhí)行中和執(zhí)行后,規(guī)則空間制訂了規(guī)則的命名方式和規(guī)則所在的位置(URL或其它絕對、相對位置),規(guī)則名定義了可以為單條規(guī)則的名稱或多條規(guī)則組成的集合名稱。
其中,活動實體構(gòu)建模塊中的活動和規(guī)則實體構(gòu)建模塊中的活動實體通過活動的屬性相連接,即活動的事件屬性中設(shè)定規(guī)則的觸發(fā)事件點,活動的規(guī)則空間名稱和規(guī)則名稱屬性中分別設(shè)定規(guī)則空間名和規(guī)則名。
如圖2所示,所述的業(yè)務(wù)過程映射器包括三個模塊語法分析模塊,用于檢查所定義模型的正確性和合理性;元素映射模塊,用于將所定義業(yè)務(wù)過程模型中元素根據(jù)映射規(guī)則映射至可執(zhí)行業(yè)務(wù)過程語言;輸出模塊,用于將映射后的元素輸出為可執(zhí)行業(yè)務(wù)過程語言。
語法分析模塊的輸出數(shù)據(jù)是元素映射模塊的輸入數(shù)據(jù),即只有語法分析模塊分析正確后的模型才能在元素映射模塊中進行元素映射;元素映射模塊的輸出數(shù)據(jù)是輸出模塊的輸入數(shù)據(jù)。
所述的業(yè)務(wù)過程引擎包括三個模塊工作流引擎模塊,用于控制活動之間的數(shù)據(jù)流;規(guī)則引擎模塊,用于對活動內(nèi)部功能邏輯進行推理;和事件觸發(fā)引擎模塊,用作工作流引擎和規(guī)則引擎互操作接口;可執(zhí)行文件載入引擎,用于將可執(zhí)行業(yè)務(wù)文件中的相關(guān)數(shù)據(jù)載入到系統(tǒng)中,是工作流引擎和規(guī)則引擎中獲取數(shù)據(jù)的來源。。
其中,工作流引擎模塊還包括活動隊列管理器、活動資源管理器和事件管理器,其中活動隊列管理器類是根據(jù)活動之間的結(jié)構(gòu)關(guān)系,依次將待執(zhí)行的活動置入隊列;活動資源管理器將待執(zhí)行的活動通知相應(yīng)的資源,從而使活動可以開始執(zhí)行;事件管理器通過設(shè)置活動的事件點,從而使活動可以在每個事件點觸發(fā)相應(yīng)的動作。活動隊列管理器中活動引用活動資源管理器中的資源數(shù)據(jù),從而滿足活動的執(zhí)行條件;同時,事件管理器可以維護活動隊列管理器中活動的事件點,并且在活動的事件點觸發(fā)事件觸發(fā)引擎。
所述的規(guī)則引擎模塊至少包括規(guī)則實例化管理器,用于將術(shù)語和事實載入系統(tǒng)緩存;規(guī)則匹配管理器,用于根據(jù)約定的算法比較規(guī)則和緩存中的數(shù)據(jù),并執(zhí)行沖突檢測;規(guī)則事件管理器,用于響應(yīng)事件觸發(fā)引擎中觸發(fā)的事件,由此觸發(fā)規(guī)則實例化管理器。
規(guī)則匹配管理器是規(guī)則引擎的核心模塊,其引用的數(shù)據(jù)通過規(guī)則實例化管理器載入;規(guī)則事件管理器維護規(guī)則匹配管理器中規(guī)則或規(guī)則集的事件點,從而在每個事件點觸發(fā)事件觸發(fā)引擎。
本發(fā)明的技術(shù)效果在于,將業(yè)務(wù)過程分為宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯兩個部分,并給出了業(yè)務(wù)實體和業(yè)務(wù)邏輯的具體表達,同時給出了面向集中式和分布式計算環(huán)境中業(yè)務(wù)過程執(zhí)行語言的映射規(guī)則,為面向不同計算環(huán)境的業(yè)務(wù)過程描述和分析提供了統(tǒng)一的業(yè)務(wù)過程建模方法,適應(yīng)于領(lǐng)域應(yīng)用支撐平臺中不同領(lǐng)域業(yè)務(wù)過程建模的需要。本發(fā)明提供的融合宏觀業(yè)務(wù)實體和微觀業(yè)務(wù)邏輯的業(yè)務(wù)過程建模方法及其支持系統(tǒng),為業(yè)務(wù)密集型領(lǐng)域應(yīng)用系統(tǒng)提出了新的更為實用和有效的解決方案。
圖1是用于業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理系統(tǒng)的結(jié)構(gòu)示意圖;圖2是圖1中系統(tǒng)的詳細(xì)結(jié)構(gòu)展開示意圖;圖3是將本發(fā)明方法應(yīng)用于具體的軟件外包管理過程的示意圖。
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步的說明,但不構(gòu)成對本發(fā)明的限制。
本發(fā)明首先是提供了一種支持領(lǐng)域應(yīng)用基礎(chǔ)平臺的業(yè)務(wù)過程模型的實現(xiàn)方法,該方法將業(yè)務(wù)過程分為融合宏觀業(yè)務(wù)實體和微觀業(yè)務(wù)邏輯兩部分,通過事件語義兩部分可以進行交互,并且可以分別建立模型面向集中式和分布式業(yè)務(wù)過程可執(zhí)行語言的映射方法。
下面結(jié)合圖2和圖3,以某企業(yè)一個具體的軟件外包過程來說明本發(fā)明的實施步驟。
在一個軟件外包客戶企業(yè)中,軟件外包的一般過程是客戶首先根據(jù)項目的具體情況制定項目計劃,包括定義外包的目的和范圍,外包投入的預(yù)算、時間和所需的資源;其次,確定基線及供應(yīng)商的服務(wù)水平,包括人員規(guī)模、人員技能等;第三,確定外包項目的具體規(guī)程,包括合同條款等;最后,供應(yīng)商執(zhí)行規(guī)定任務(wù),完成外包過程。在上述4個步驟中,在步驟一已經(jīng)完成的情況下,步驟二和三可以并行執(zhí)行,完成后再執(zhí)行步驟四;同時,客戶和供應(yīng)商位于不同的地理區(qū)域中,并且客戶方中項目基線和具體規(guī)程的確定由分布環(huán)境中不同團隊的人員完成,因此整個外包過程處于分布式計算環(huán)境。
在本實施例中,本發(fā)明方法的實現(xiàn)過程如下步驟1、根據(jù)外包中各部分的功能結(jié)構(gòu)關(guān)系定義對業(yè)務(wù)過程的基本元素集一是業(yè)務(wù)實體元素集,也稱之為活動集;二是活動之間結(jié)構(gòu)關(guān)系集;三是業(yè)務(wù)邏輯集,也稱之為規(guī)則集;四是活動或規(guī)則的觸發(fā)事件集。
其中,活動集和活動之間結(jié)構(gòu)關(guān)系集是業(yè)務(wù)過程模型中的宏觀元素,規(guī)則集是業(yè)務(wù)過程模型中的微觀元素,是業(yè)務(wù)過程模型的主體;事件集是業(yè)務(wù)過程模型中宏觀元素和微觀元素之間的連接元素,是業(yè)務(wù)過程模型的從屬體。
在本實施例中,總體上將軟件外包業(yè)務(wù)過程模型分為宏觀業(yè)務(wù)實體、微觀業(yè)務(wù)實體以及事件集三部分。
上述的步驟1具體實施過程為
1)首先識別領(lǐng)域應(yīng)用中的頂層活動集。頂層活動集一般為遞階型活動,不包括虛活動;確定頂層活動后,根據(jù)活動的具體功能需求遞階分解遞階型活動直至原子活動。
在本實施例中,首先確定外包過程的頂層活動為項目計劃、需求分析、規(guī)程設(shè)計和任務(wù)操作。為了便于說明,上述4項活動都認(rèn)為是原子活動,不能再進行遞階,同時也不需要引入新的虛活動。
2)構(gòu)建活動之間的結(jié)構(gòu)關(guān)系集,包括與分支/匯聚、或分支/匯聚、異或分支/匯聚關(guān)系、條件分支/匯聚關(guān)系,具體步驟為①確定相鄰活動和非相鄰活動之間的結(jié)構(gòu)關(guān)系,若活動之間存在復(fù)雜的條件依賴關(guān)系,則引入虛活動;若活動中存在遞階型活動,則確定遞階型活動的類型,包括{AS,RS,RuleS,ES}、{AS,ES}、{RuleS,ES}、{AS,RS,ES}和{AS,RuleS,ES},其中AS、RS、RuleS和ES分別表示活動集、活動間結(jié)構(gòu)關(guān)系集、規(guī)則集和事件集;②確定一般型活動的屬性和狀態(tài)在本實施例中,項目計劃活動執(zhí)行完成后,需求分析和規(guī)程設(shè)計活動并行執(zhí)行,其執(zhí)行完成后任務(wù)操作活動開始執(zhí)行,執(zhí)行完成后流程結(jié)束,同時,活動之間不再存在其它結(jié)構(gòu)上的條件依賴關(guān)系,不需要引入虛活動,因此,流程中活動之間依賴結(jié)構(gòu)為“與分支/匯聚”;另外,確定各個活動的標(biāo)識和狀態(tài)項目計劃、需求分析、規(guī)程設(shè)計和任務(wù)操作的標(biāo)識分別為T1、T2、T3和T4,每個活動只考慮“完成”的狀態(tài);各個活動類型都設(shè)定為Invoke。
3)構(gòu)建過程的規(guī)則集首先,構(gòu)建規(guī)則集中的結(jié)構(gòu)規(guī)則定義結(jié)構(gòu)規(guī)則的術(shù)語,包括基本實體對象、對象屬性以及業(yè)務(wù)過程資源和外部引用;同時,定義結(jié)構(gòu)規(guī)則的事實,包括比較、成員、屬性、參與和繼承;其次,構(gòu)建規(guī)則集中的行為規(guī)則,其至少分為條件、一致性和權(quán)屬規(guī)則,其中條件規(guī)則定義給定條件下某種結(jié)果,一致性規(guī)則為永真斷言,權(quán)屬規(guī)則定義某主體是否有某行為的權(quán)利,授權(quán)規(guī)則定義主體有權(quán)(或被允許)進行某行為;最后,根據(jù)規(guī)則詞構(gòu)建行為規(guī)則,規(guī)則詞至少包括“如果-則”、“必須”、“允許”和“禁止”。
在本實施例中,首先定義結(jié)構(gòu)規(guī)則中的術(shù)語為價格、期限、技能和人員,其次,根據(jù)規(guī)則詞構(gòu)建結(jié)構(gòu)規(guī)則中的事實為價格包括人力費用和設(shè)備費用、期限是外包部分的提交時間、技能指開發(fā)人員的專業(yè)證書、人員包括管理人員和開發(fā)人員;然后,構(gòu)建規(guī)則集中的行為規(guī)則外包價格必須低于15萬美元、如果人員數(shù)少于50,禁止作為賣方、如果期限超出,則需要付違約金、技能證書必須是**類型。
4)事件集構(gòu)建步驟是定義活動、規(guī)則和時間事件的事件標(biāo)識和事件觸發(fā)點,其中活動類型的觸發(fā)點包括起動、執(zhí)行、取消、異常、補償和終止,結(jié)構(gòu)規(guī)則類型的觸發(fā)點包括起動和執(zhí)行,行為規(guī)則類型觸發(fā)點包括起動、執(zhí)行、取消、異常和終止,時間類型的觸發(fā)點包括起動和執(zhí)行。
在本實施例中,定義兩類活動事件活動起動和活動終止,其標(biāo)識和事件觸發(fā)點分別為E1、E2和起動、終止。
步驟2、根據(jù)領(lǐng)域應(yīng)用的不同,將構(gòu)建的過程模型映射到不同的執(zhí)行語言一類是面向集中式計算環(huán)境中XPDL語言,一類是面向分布式計算環(huán)境中BPEL4WS語言,具體過程如下1)面向集中式計算環(huán)境中XPDL語言的映射步驟每類事件至少包括事件標(biāo)識和事件觸發(fā)點,其中活動類型的觸發(fā)點包括起動、執(zhí)行、取消、異常、補償和終止,結(jié)構(gòu)規(guī)則類型的觸發(fā)點包括起動和執(zhí)行,行為規(guī)則類型觸發(fā)點包括起動、執(zhí)行、取消、異常和終止,時間類型的觸發(fā)點包括起動和執(zhí)行。
2)面向分布式計算環(huán)境中BPEL4WS語言的映射步驟業(yè)務(wù)過程模型中規(guī)則映射為WebService,并且定義message、portType和property等WebService屬性;一般活動映射為BPEL4WS的基本活動或塊活動,復(fù)合活動映射為BPEL4WS的塊活動;事件映射為BPEL4WS的基本活動。
在本實施例中,由于軟件外包管理過程中各個活動處于分布式計算環(huán)境中,因此所建立的軟件外包管理過程模型映射到BPEL4WS語言項目計劃、需求分析、規(guī)程設(shè)計和任務(wù)操作活動映射為BPEL4WS中的invoke基本活動,結(jié)構(gòu)規(guī)則和行為規(guī)則映射為WebService。
至此得到了可執(zhí)行的業(yè)務(wù)過程模型,后續(xù)的執(zhí)行步驟就不再詳細(xì)描述。
下面結(jié)合圖3說明支持業(yè)務(wù)過程模型的系統(tǒng)實現(xiàn)。
根據(jù)上述業(yè)務(wù)過程管理方法,本實施例的系統(tǒng)實現(xiàn)為如圖2所示的結(jié)構(gòu),其中所包含的模塊已經(jīng)在發(fā)明內(nèi)容中揭示,以下結(jié)合上述方法實施例中的具體對象對系統(tǒng)各組成模塊之間的關(guān)系進行詳細(xì)說明參照圖2所示,本實施例中的業(yè)務(wù)過程管理系統(tǒng)包括業(yè)務(wù)過程模型編輯器、業(yè)務(wù)過程映射器和業(yè)務(wù)過程引擎。其中,業(yè)務(wù)過程模型編輯器包括活動實體構(gòu)建模塊和規(guī)則實體構(gòu)建模塊,活動實體構(gòu)建模塊用于創(chuàng)建活動之間的結(jié)構(gòu)約束關(guān)系,規(guī)則實體構(gòu)建模塊用于創(chuàng)建活動內(nèi)部的業(yè)務(wù)邏輯。
在本實施例中,活動實體構(gòu)建模塊創(chuàng)建了圖3中軟件外包過程中各個活動之間的結(jié)構(gòu)約束關(guān)系,即表示項目計劃制定完成后,并發(fā)進行規(guī)程設(shè)計和需求分析,完成后進行相關(guān)的任務(wù)操作。
在本實施例中,需求分析活動中的業(yè)務(wù)邏輯需要通過規(guī)則實體構(gòu)建模塊來定義,即首先在規(guī)則構(gòu)建模塊的術(shù)語構(gòu)建子模塊中定義軟件外包過程的相關(guān)術(shù)語為價格、期限、技能和人員,其次在事實構(gòu)建子模塊中定義需求分析活動中的事實為價格包括人力費用和設(shè)備費用、期限是外包部分的提交時間、技能指開發(fā)人員的專業(yè)證書、人員包括管理人員和開發(fā)人員,在行為規(guī)則構(gòu)建模塊中定義行為規(guī)則為外包價格必須低于15萬美元、如果人員數(shù)少于50,禁止作為賣方、如果期限超出,則需要付違約金、技能證書必須是**類型,并且定義該4條行為規(guī)則的名稱為RuleA1,其規(guī)則命名空間名為RuleNS1.。
在本實施例中,為了將需求分析活動與其相關(guān)的規(guī)則進行關(guān)聯(lián),在需求分析活動的屬性中定義規(guī)則的事件觸發(fā)點為活動執(zhí)行前,并且規(guī)則命名空間和規(guī)則名稱屬性分別為RuleNS1和RuleA1。
已經(jīng)建立完成業(yè)務(wù)過程模型后,通過業(yè)務(wù)過程映射器將業(yè)務(wù)過程模型映射至標(biāo)準(zhǔn)的XPDL語言,具體步驟為首先進行業(yè)務(wù)過程模型的語法分析,其次將分析正確后的模型元素映射至XPDL中元素,然后通過輸出模塊將所XPDL文件持久化輸出。
得到XPDL文件后,業(yè)務(wù)過程引擎首先通過XPDL載入管理器將業(yè)務(wù)過程模型的相關(guān)數(shù)據(jù)載入系統(tǒng),然后事件觸發(fā)引擎驅(qū)動工作流引擎執(zhí)行活動,并且事件引擎在活動中的事件屬性點觸發(fā)規(guī)則推理引擎,規(guī)則推理完成后將結(jié)果返回工作流引擎,工作流引擎執(zhí)行直至XPDL模型執(zhí)行完成。
在本實施例中,在業(yè)務(wù)過程引擎中XPDL載入管理器將軟件外包過程載入系統(tǒng)后,事件觸發(fā)引擎觸發(fā)項目計劃活動,由于項目計劃活動未定義規(guī)則觸發(fā)事件點,因此其不觸發(fā)規(guī)則引擎;項目計劃活動執(zhí)行完成后工作流引擎同時觸發(fā)規(guī)程設(shè)計活動和需求分析活動,由于需求分析活動中定義了規(guī)則的事件觸發(fā)點為活動執(zhí)行前,因此在需求分析活動開始執(zhí)行前事件觸發(fā)引擎驅(qū)動規(guī)則引擎子模塊,規(guī)則引擎推理執(zhí)行完成后將結(jié)果返回,工作流引擎得到結(jié)果繼續(xù)執(zhí)行,直到軟件外包過程執(zhí)行完成。上面對本發(fā)明所述的支持業(yè)務(wù)密集領(lǐng)域的業(yè)務(wù)過程管理系統(tǒng)和方法進行了詳細(xì)的說明,但顯然本發(fā)明的具體實現(xiàn)形式并不局限于此。對于本技術(shù)領(lǐng)域的一般技術(shù)人員來說,在不背離本發(fā)明所述方法的精神和權(quán)利要求范圍的情況下對它進行的各種顯而易見的改變都在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種用于業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理方法,包括如下步驟1)根據(jù)領(lǐng)域應(yīng)用中各部分功能結(jié)構(gòu)關(guān)系定義業(yè)務(wù)過程模型的基本元素集,所述的基本元素集包括活動集、規(guī)則集、活動之間的結(jié)構(gòu)關(guān)系集和事件集;2)根據(jù)約定的映射規(guī)則,將所定義的業(yè)務(wù)過程模型中元素映射至可執(zhí)行業(yè)務(wù)過程語言。
2.如權(quán)利要求1所述的方法,其特征在于,所述的步驟1)還包括如下步驟定義活動集中的各項活動并構(gòu)建活動集,所述的活動包括粗粒度的遞階型活動和細(xì)粒度的原子活動;構(gòu)建活動之間的結(jié)構(gòu)關(guān)系集,所述的結(jié)構(gòu)關(guān)系包括與分支/匯聚、或分支/匯聚、異或分支/匯聚、條件分支/匯聚關(guān)系;構(gòu)建規(guī)則集中的規(guī)則,所述的規(guī)則包含結(jié)構(gòu)規(guī)則和行為規(guī)則;構(gòu)建事件集中的各個事件,所述的事件包含活動、規(guī)則和時間三種類型。
3.如權(quán)利要求1所述的方法,其特征在于,所述的映射規(guī)則既可以是面向集中式計算環(huán)境中執(zhí)行語言的映射規(guī)則,還可以是面向分布式計算環(huán)境中執(zhí)行語言的映射規(guī)則。
4.一種用于業(yè)務(wù)密集領(lǐng)域的業(yè)務(wù)過程管理系統(tǒng),其特征在于,包括業(yè)務(wù)過程模型編輯器,用于編輯融合宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯的業(yè)務(wù)過程模型;業(yè)務(wù)過程映射器,用于將業(yè)務(wù)模型編輯器中輸出的業(yè)務(wù)過程模型映射為標(biāo)準(zhǔn)的可執(zhí)行業(yè)務(wù)過程語言;和業(yè)務(wù)過程引擎,用于驅(qū)動可執(zhí)行的業(yè)務(wù)過程語言,實現(xiàn)業(yè)務(wù)過程管理系統(tǒng)的自動執(zhí)行。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)過程模型編輯器中至少包括兩個模塊活動實體構(gòu)建模塊,用于定義活動集中的各項活動之間結(jié)構(gòu)關(guān)系并構(gòu)建活動集;規(guī)則實體構(gòu)建模塊,用于定義活動自身的應(yīng)用邏輯并構(gòu)建規(guī)則集。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述的行為規(guī)則構(gòu)建子模塊至少包括條件、一致性和權(quán)屬規(guī)則,其中,條件規(guī)則定義給定條件下的某種結(jié)果,一致性規(guī)則為永真斷言,權(quán)屬規(guī)則定義某主體是否有某行為的權(quán)利。
7.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)過程映射器包括三個模塊語法分析模塊,用于檢查所定義模型的正確性和合理性;元素映射模塊,用于將所定義業(yè)務(wù)過程模型中元素根據(jù)映射規(guī)則映射至可執(zhí)行業(yè)務(wù)過程語言;和輸出模塊,用于將映射后的元素輸出為可執(zhí)行業(yè)務(wù)過程語言。
8.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)過程引擎包括工作流引擎模塊,用于控制活動之間的數(shù)據(jù)流;規(guī)則引擎模塊,用于對活動內(nèi)部功能邏輯進行推理;和事件觸發(fā)引擎模塊,用作工作流引擎和規(guī)則引擎互操作接口;可執(zhí)行文件載入引擎,用于將可執(zhí)行業(yè)務(wù)文件中的相關(guān)數(shù)據(jù)載入到系統(tǒng)中。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述的工作流引擎模塊還包括活動隊列管理器,用于根據(jù)活動之間的結(jié)構(gòu)關(guān)系,依次將待執(zhí)行的活動置入隊列;活動資源管理器,用于將待執(zhí)行的活動通知相應(yīng)的資源,使活動可以開始執(zhí)行;和事件管理器,用于通過設(shè)置活動的事件點,使活動可以在每個事件點觸發(fā)相應(yīng)的動作。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述的規(guī)則引擎模塊至少包括規(guī)則實例化管理器,用于將術(shù)語和事實載入系統(tǒng)緩存;規(guī)則匹配管理器,用于根據(jù)約定的算法比較規(guī)則和緩存中的數(shù)據(jù),并執(zhí)行沖突檢測;和規(guī)則事件管理器,用于響應(yīng)事件觸發(fā)引擎中觸發(fā)的事件,由此觸發(fā)規(guī)則實例化管理器。
全文摘要
本發(fā)明提供了一種用于業(yè)務(wù)密集型領(lǐng)域的業(yè)務(wù)過程管理方法,包括步驟1)根據(jù)領(lǐng)域應(yīng)用中各部分功能結(jié)構(gòu)關(guān)系定義業(yè)務(wù)過程的基本元素集,所述的基本元素集包括活動集、規(guī)則集、活動之間的結(jié)構(gòu)關(guān)系集和事件集;2)根據(jù)約定的映射規(guī)則,將所定義的業(yè)務(wù)過程模型中元素映射至可執(zhí)行業(yè)務(wù)過程語言。本發(fā)明還提供了與該方法相對應(yīng)的系統(tǒng),包括業(yè)務(wù)過程模型編輯器,用于編輯融合宏觀的業(yè)務(wù)實體和微觀的業(yè)務(wù)邏輯的業(yè)務(wù)過程模型;業(yè)務(wù)過程映射器,用于將業(yè)務(wù)模型編輯器中輸出的業(yè)務(wù)過程模型映射為標(biāo)準(zhǔn)的可執(zhí)行業(yè)務(wù)過程語言;業(yè)務(wù)過程引擎,用于驅(qū)動可執(zhí)行的業(yè)務(wù)過程語言,實現(xiàn)業(yè)務(wù)過程管理系統(tǒng)的自動執(zhí)行。
文檔編號G06Q10/00GK1967572SQ20051008693
公開日2007年5月23日 申請日期2005年11月18日 優(yōu)先權(quán)日2005年11月18日
發(fā)明者杜栓柱, 趙琛, 黎巙, 潘遠(yuǎn)明 申請人:中國科學(xué)院軟件研究所