一種整合規(guī)則引擎的企業(yè)服務(wù)總線的制作方法
【專利摘要】一種整合規(guī)則引擎的企業(yè)服務(wù)總線,包括服務(wù)總線模塊,服務(wù)總線模塊包括:服務(wù)接入單元,消息容器單元,服務(wù)接出單元,服務(wù)調(diào)解單元,消息路由單元,數(shù)據(jù)轉(zhuǎn)換單元;企業(yè)服務(wù)總線還包括:平臺(tái)管理模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線的相關(guān)配置進(jìn)行管理;企業(yè)服務(wù)總線還包括:規(guī)則服務(wù)模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線進(jìn)行業(yè)務(wù)規(guī)則和業(yè)務(wù)流程能力擴(kuò)展;規(guī)則服務(wù)模塊包括:業(yè)務(wù)規(guī)則單元,策略規(guī)則單元和規(guī)則引擎單元;本發(fā)明進(jìn)行了基于ESB技術(shù)規(guī)范的功能研發(fā)和擴(kuò)展,已是完整概念上的企業(yè)服務(wù)總線。有助于打破其它大型企業(yè)的市場(chǎng)壟斷。
【專利說(shuō)明】一種整合規(guī)則引擎的企業(yè)服務(wù)總線
一、【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,尤其涉及多通信協(xié)議服務(wù)總線和業(yè)務(wù)規(guī)則和業(yè)務(wù)流程處理。
二、【背景技術(shù)】
[0002]ESB (Enterprise Service Bus,企業(yè)服務(wù)總線)為分散服務(wù)提供了交互、組合和治理的基礎(chǔ)架構(gòu),是SOA (Service Oriented Architecture,面向服務(wù)架構(gòu))的核心技術(shù)。
[0003]規(guī)則引擎是用以管理和自動(dòng)實(shí)現(xiàn)業(yè)務(wù)規(guī)則的軟件系統(tǒng),其主要實(shí)現(xiàn)的功能是存儲(chǔ)、分類和管理規(guī)則,驗(yàn)證規(guī)則的一致性,通過(guò)規(guī)則推斷其它規(guī)則、聯(lián)系規(guī)則和執(zhí)行這些規(guī)則的應(yīng)用程序,其中的規(guī)則主要是指企業(yè)內(nèi)部(系統(tǒng)內(nèi)部)業(yè)務(wù)邏輯、企業(yè)與企業(yè)間(系統(tǒng)與系統(tǒng)間)信息交互與處理的業(yè)務(wù)邏輯等。規(guī)則引擎概念的思想是從軟件的應(yīng)用邏輯中分離出業(yè)務(wù)規(guī)則,以實(shí)現(xiàn)各種業(yè)務(wù)的靈活處理。在傳統(tǒng)的ESB下,業(yè)務(wù)邏輯被直接固定在ESB業(yè)務(wù)處理程序代碼中,這使得應(yīng)用程序維護(hù)復(fù)雜并且代價(jià)昂貴,變化的業(yè)務(wù)規(guī)則和業(yè)務(wù)流程總是引起對(duì)應(yīng)用程序的頻繁修改,尤其面臨動(dòng)態(tài)業(yè)務(wù)模型和業(yè)務(wù)流程的挑戰(zhàn)時(shí),傳統(tǒng)ESB模式下開(kāi)發(fā)的應(yīng)用程序往往面臨全面和代價(jià)高昂的修改,甚至設(shè)計(jì)變化。解決這個(gè)問(wèn)題就需要采用新的開(kāi)發(fā)模式,將業(yè)務(wù)邏輯從ESB業(yè)務(wù)處理代碼層剝離。使用規(guī)則引擎恰恰提供了一個(gè)將業(yè)務(wù)處理和業(yè)務(wù)規(guī)則處理分離、共用和統(tǒng)一管理維護(hù)業(yè)務(wù)規(guī)則的系統(tǒng)開(kāi)發(fā)構(gòu)架。
三、
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種融合規(guī)則引擎的企業(yè)服務(wù)總線,推動(dòng)技術(shù)創(chuàng)新。為解決上述技術(shù)問(wèn)題,本發(fā)明提出了通過(guò)平臺(tái)管理模塊和規(guī)則服務(wù)模塊對(duì)傳統(tǒng)服務(wù)總線模塊進(jìn)行擴(kuò)展,實(shí)現(xiàn)一個(gè)實(shí)用、易管理、易擴(kuò)展的新型企業(yè)服務(wù)總線。
[0005]本發(fā)明的技術(shù)方案是:一種整合規(guī)則引擎的企業(yè)服務(wù)總線,上述企業(yè)服務(wù)總線包括服務(wù)總線模塊,包括:
[0006]服務(wù)接入單元,接入單元基于OSGI組件技術(shù)實(shí)現(xiàn)的組態(tài)設(shè)計(jì),把各種不同的接入格式(二進(jìn)制、二進(jìn)制數(shù)組、object、json、xml等)以及各種不同的通信協(xié)議(TCP/IP、UDP、HTTP、Web Service、SOAP、JMS等)封裝成組態(tài)化組件,提供多種接入格式和協(xié)議適配;
[0007]消息容器單元,用于進(jìn)行消息路由、服務(wù)組合、提供二進(jìn)制轉(zhuǎn)object、二進(jìn)制數(shù)組轉(zhuǎn)json、json轉(zhuǎn)xml、xml轉(zhuǎn)json等多種不同格式消息的數(shù)據(jù)映射和數(shù)據(jù)轉(zhuǎn)換;
[0008]服務(wù)接出單元,用于向其它應(yīng)用系統(tǒng)發(fā)送消息以及對(duì)消息格式和協(xié)議進(jìn)行適配,關(guān)鍵技術(shù)和實(shí)現(xiàn)與服務(wù)接入單元相同;
[0009]服務(wù)調(diào)解單元,用于隱藏消息格式和協(xié)議,將業(yè)務(wù)邏輯從消息中獨(dú)立出來(lái),并可以實(shí)現(xiàn)本地獨(dú)立的服務(wù)調(diào)用;
[0010]消息路由單元,用于對(duì)消息進(jìn)行路由、過(guò)濾、合并和重新排序;
[0011]數(shù)據(jù)轉(zhuǎn)換單元,用于對(duì)不同格式和傳輸協(xié)議的數(shù)據(jù)進(jìn)行轉(zhuǎn)換數(shù)據(jù);
[0012]企業(yè)服務(wù)總線還包括:平臺(tái)管理模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線的相關(guān)配置進(jìn)行管理;
[0013]企業(yè)服務(wù)總線還包括:規(guī)則服務(wù)模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線進(jìn)行業(yè)務(wù)規(guī)則和業(yè)務(wù)流程能力擴(kuò)展;
[0014]規(guī)則服務(wù)模塊包括:
[0015]業(yè)務(wù)規(guī)則單元,存放一組準(zhǔn)確凝練的規(guī)則語(yǔ)句,用于描述、約束及控制業(yè)務(wù)的結(jié)構(gòu)、運(yùn)作等,是應(yīng)用程序中的一段業(yè)務(wù)邏輯。是一組封裝好的根據(jù)不同業(yè)務(wù)需求預(yù)先用XML的〈Conditons〉、〈Consequence〉節(jié)點(diǎn)寫(xiě)好的If—Then句式,而里面嵌入java代碼作為一種業(yè)務(wù)邏輯判斷語(yǔ)句和執(zhí)行語(yǔ)句;
[0016]策略規(guī)則單元,存放一組業(yè)務(wù)決策和戰(zhàn)略,是一段具體的業(yè)務(wù)執(zhí)行指令。這是預(yù)先設(shè)定好的控制指令對(duì)象,包括各種符合服務(wù)總線模塊100的格式化消息指令,包括報(bào)警信息指令、短信信息指令、發(fā)布信息指令、設(shè)備控制信息指令等。
[0017]規(guī)則引擎單元,是一種嵌入在應(yīng)用程序中的組件,實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來(lái),并使用預(yù)定義的語(yǔ)義模塊編寫(xiě)業(yè)務(wù)決策。接受數(shù)據(jù)輸入,解釋業(yè)務(wù)規(guī)則,并根據(jù)業(yè)務(wù)規(guī)則做出業(yè)務(wù)決策。本發(fā)明采用了 drools實(shí)現(xiàn)規(guī)則引擎單元,通過(guò)服務(wù)總線模塊100傳遞過(guò)來(lái)的消息的分類會(huì)在drools中調(diào)用不同的存儲(chǔ)在業(yè)務(wù)規(guī)則單元中的規(guī)則語(yǔ)句進(jìn)行邏輯判斷,從而在策略規(guī)則單元中找到符合邏輯判斷結(jié)果的業(yè)務(wù)執(zhí)行指令進(jìn)行最終的業(yè)務(wù)決策——向服務(wù)總線模塊100發(fā)送具體的格式化消息指令,服務(wù)總線模塊100會(huì)依據(jù)不同的格式化消息指令最終通過(guò)服務(wù)接出單元130向指定的目的地(其他應(yīng)用系統(tǒng)或?qū)嶋H的輸出設(shè)備)發(fā)送消息。
[0018]在本發(fā)明中,對(duì)傳統(tǒng)企業(yè)服務(wù)總線(服務(wù)總線模塊)進(jìn)行規(guī)則服務(wù)模塊擴(kuò)展至關(guān)重要的原則是:(I)業(yè)務(wù)規(guī)則單元描述與業(yè)務(wù)相關(guān)的操作規(guī)范、管理章程、規(guī)章制度、行業(yè)標(biāo)準(zhǔn)等;(2)通過(guò)策略規(guī)則單元形式化地描述業(yè)務(wù)規(guī)則相應(yīng)的決策和戰(zhàn)略;(2)通過(guò)規(guī)則引擎單元分離工作流程和業(yè)務(wù)規(guī)則,匹配策略規(guī)則進(jìn)行業(yè)務(wù)執(zhí)行指令下發(fā)。在這個(gè)過(guò)程中,這三個(gè)原則貫穿始終。分離工作流程和業(yè)務(wù)規(guī)則的目的在于將關(guān)鍵的業(yè)務(wù)判斷規(guī)則和業(yè)務(wù)事件響應(yīng)提取出來(lái),置于系統(tǒng)的公共部位(業(yè)務(wù)服務(wù)),供不同的應(yīng)用程序工作流程使用,并且便于維護(hù)和管理。這是本發(fā)明得以順利進(jìn)行的前提。形式化地描述業(yè)務(wù)規(guī)則的目的則是將業(yè)務(wù)規(guī)則以一種能夠被規(guī)則引擎處理的形式描述和表示,使業(yè)務(wù)規(guī)則可被運(yùn)算化,使應(yīng)用程序可以按照即定的策略規(guī)則也就是既定的決策和戰(zhàn)略進(jìn)行相應(yīng)的處理。
[0019]本發(fā)明依托以下三個(gè)步驟通過(guò)規(guī)則服務(wù)模塊對(duì)傳統(tǒng)企業(yè)服務(wù)總線(服務(wù)總線模塊)進(jìn)行擴(kuò)展:
[0020](I)使用決策表提取規(guī)則(業(yè)務(wù)規(guī)則單元中的提取規(guī)則語(yǔ)句)
[0021]在本發(fā)明中首先要解決的問(wèn)題是明確企業(yè)服務(wù)總線(服務(wù)總線模塊)中有哪些規(guī)則以及對(duì)應(yīng)的業(yè)務(wù)判定。商業(yè)事務(wù)中條件元素的集合構(gòu)成規(guī)則,規(guī)則決定判定和反饋,在散亂的企業(yè)業(yè)務(wù)中初步提取規(guī)則和對(duì)應(yīng)的判定可以使用決策表的方法。
[0022]
【權(quán)利要求】
1.一種整合規(guī)則引擎的企業(yè)服務(wù)總線,其特征是包括服務(wù)總線模塊,服務(wù)總線模塊包括: 服務(wù)接入單元,接入單元基于OSGI組件技術(shù)實(shí)現(xiàn)的組態(tài)設(shè)計(jì),把各種不同的接入格式以及各種不同的通信協(xié)議、包括TCP/IP、UDP、HTTP、Web Service、SOAP、JMS封裝成組態(tài)化組件,提供多種接入格式和協(xié)議適配; 消息容器單元,用于進(jìn)行消息路由、服務(wù)組合、提供二進(jìn)制轉(zhuǎn)object、二進(jìn)制數(shù)組轉(zhuǎn)json、json轉(zhuǎn)xml、xml轉(zhuǎn)json等多種不同格式消息的數(shù)據(jù)映射和數(shù)據(jù)轉(zhuǎn)換; 服務(wù)接出單元,用于向其它應(yīng)用系統(tǒng)發(fā)送消息以及對(duì)消息格式和協(xié)議進(jìn)行適配,關(guān)鍵技術(shù)和實(shí)現(xiàn)與服務(wù)接入單元相同; 服務(wù)調(diào)解單元,用于隱藏消息格式和協(xié)議,將業(yè)務(wù)邏輯從消息中獨(dú)立出來(lái),并可以實(shí)現(xiàn)本地獨(dú)立的服務(wù)調(diào)用; 消息路由單元,用于對(duì)消息進(jìn)行路由、過(guò)濾、合并和重新排序; 數(shù)據(jù)轉(zhuǎn)換單元,用于對(duì)不同格式和傳輸協(xié)議的數(shù)據(jù)進(jìn)行轉(zhuǎn)換數(shù)據(jù); 企業(yè)服務(wù)總線還包括:平臺(tái)管理模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線的相關(guān)配置進(jìn)行管理; 企業(yè)服務(wù)總線還包括:規(guī)則服務(wù)模塊,與所述服務(wù)總線模塊相連,用于對(duì)企業(yè)服務(wù)總線進(jìn)行業(yè)務(wù)規(guī)則和業(yè)務(wù)流程能力擴(kuò)展; 規(guī)則服務(wù)模塊包括:· 業(yè)務(wù)規(guī)則單元,存放一組準(zhǔn)確凝練的規(guī)則語(yǔ)句,用于描述、約束及控制業(yè)務(wù)的結(jié)構(gòu)、運(yùn)作等,是應(yīng)用程序中的一段業(yè)務(wù)邏輯;這是一組封裝好的根據(jù)不同業(yè)務(wù)需求預(yù)先用XML的〈Conditons〉、〈Consequence〉節(jié)點(diǎn)寫(xiě)好的If—Then句式,而里面嵌入java代碼作為一種業(yè)務(wù)邏輯判斷語(yǔ)句和執(zhí)行語(yǔ)句; 策略規(guī)則單元,存放一組業(yè)務(wù)決策和戰(zhàn)略,是一段具體的業(yè)務(wù)執(zhí)行指令;這是預(yù)先設(shè)定好的控制指令對(duì)象,包括各種符合服務(wù)總線模塊100的格式化消息指令,包括報(bào)警信息指令、短信信息指令、發(fā)布信息指令、設(shè)備控制信息指令; 規(guī)則引擎單元,是一種嵌入在應(yīng)用程序中的組件,實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來(lái),并使用預(yù)定義的語(yǔ)義模塊編寫(xiě)業(yè)務(wù)決策。接受數(shù)據(jù)輸入,解釋業(yè)務(wù)規(guī)則,并根據(jù)業(yè)務(wù)規(guī)則做出業(yè)務(wù)決策。
2.根據(jù)權(quán)利要求1所述的整合規(guī)則引擎的企業(yè)服務(wù)總線,其特征是以下述三個(gè)步驟通過(guò)規(guī)則服務(wù)模塊對(duì)傳統(tǒng)企業(yè)服務(wù)總線即服務(wù)總線模塊進(jìn)行擴(kuò)展: (O使用決策表提取規(guī)則,即業(yè)務(wù)規(guī)則單元中的提取規(guī)則語(yǔ)句: 明確服務(wù)總線模塊中有哪些規(guī)則以及對(duì)應(yīng)的業(yè)務(wù)判定:商業(yè)事務(wù)中條件元素的集合構(gòu)成規(guī)則,規(guī)則決定判定和反饋,在散亂的企業(yè)業(yè)務(wù)中初步提取規(guī)則和對(duì)應(yīng)的判定可以使用決策表的方法;表1I 規(guī)則 I [Mj~[2
3.根據(jù)權(quán)利要求1所述的整合規(guī)則引擎的企業(yè)服務(wù)總線,其特征是企業(yè)服務(wù)總線即服務(wù)總線模塊進(jìn)行規(guī)則服務(wù)模塊擴(kuò)展:(I)業(yè)務(wù)規(guī)則單元描述與業(yè)務(wù)相關(guān)的操作規(guī)范、管理章程、規(guī)章制度、行業(yè)標(biāo)準(zhǔn);(2)通過(guò)策略規(guī)則單元形式化地描述業(yè)務(wù)規(guī)則相應(yīng)的決策和戰(zhàn)略;(3)通過(guò)規(guī)則引擎單元分離工作流程和業(yè)務(wù)規(guī)則,匹配策略規(guī)則進(jìn)行業(yè)務(wù)執(zhí)行指令下;在這個(gè)過(guò)程中,這三個(gè)原則貫穿始終。
4.根據(jù)權(quán)利要求3所述的整合規(guī)則引擎的企業(yè)服務(wù)總線,其特征是分離工作流程和業(yè)務(wù)規(guī)則的目的在于將關(guān)鍵的業(yè)務(wù)判斷規(guī)則和業(yè)務(wù)事件響應(yīng)提取出來(lái),置于系統(tǒng)的公共部位的業(yè)務(wù)服務(wù),供不同的應(yīng)用程序工作流程使用,并且便于維護(hù)和管理;形式化地描述業(yè)務(wù)規(guī)則的目的則是將業(yè)務(wù)規(guī)則以一種能夠被規(guī)則引擎處理的形式描述和表示,使業(yè)務(wù)規(guī)則可被運(yùn)算化,使應(yīng)用程序按照即定的策略規(guī)則也就是既定的決策和戰(zhàn)略進(jìn)行相應(yīng)的處理。
5.根據(jù)權(quán)利要求1所述的整合規(guī)則引擎的企業(yè)服務(wù)總線,其特征是所述規(guī)則引擎單元采用了 drools實(shí)現(xiàn)規(guī)則引擎單元,通過(guò)服務(wù)總線模塊傳遞過(guò)來(lái)的消息的分類會(huì)在drools中調(diào)用不同的存儲(chǔ)在業(yè)務(wù)規(guī)則單元中的規(guī)則語(yǔ)句進(jìn)行邏輯判斷,從而在策略規(guī)則單元中找到符合邏輯判斷結(jié)果的業(yè)務(wù)執(zhí)行指令進(jìn)行最終的業(yè)務(wù)決策——向服務(wù)總線模塊發(fā)送具體的格式化消息指令,服務(wù)總線模塊會(huì)依據(jù)不同的格式化消息指令最終通過(guò)服務(wù)接出單元向指定的目的地、包括其他應(yīng)·用系統(tǒng)或?qū)嶋H的輸出設(shè)備發(fā)送消息。
【文檔編號(hào)】H04L12/40GK103532808SQ201310525905
【公開(kāi)日】2014年1月22日 申請(qǐng)日期:2013年10月30日 優(yōu)先權(quán)日:2013年10月30日
【發(fā)明者】陶湧 申請(qǐng)人:江蘇萬(wàn)全科技有限公司