集成模式概述
URule Pro支持四種集成模式,分别是嵌入模式、客戶端服務器(qì)模式以及Rest服務模式以及本地服務模式,實際使用時(shí),根據項目情況四選一即可(kě),當然也可(kě)以選擇其中幾種混用。
嵌入模式就是将URule的Jar文件及相關依賴包嵌入到目标應用當中運行(xíng),這種模式的特點部署起來(lái)簡單、方便,便于通(tōng)過API方式調用規則。
客戶端服務器(qì)模式就是把規則計(jì)算(suàn)分布到各個(gè)客戶端應用當中,規則服務器(qì)隻負責規則的構建、打包與測試,具體(tǐ)的規則計(jì)算(suàn)發生(shēng)在客戶端計(jì)算(suàn)應用當中,規則服務器(qì)通(tōng)過Http協議将知識包推送到各個(gè)計(jì)算(suàn)應用,分布式計(jì)算(suàn)模式适用于單個(gè)服務器(qì)不強,規則計(jì)算(suàn)時(shí)需要的輸入數(shù)據結構複雜的情況。
Rest服務模式也是傳統規則引擎采用的運行(xíng)方式,就是規則服務器(qì)通(tōng)過暴露Rest服務來(lái)接收各種類型規則計(jì)算(suàn)請(qǐng)求,請(qǐng)求把輸入數(shù)據以JSON格式通(tōng)過Http協議傳遞給服務器(qì),在服務器(qì)上(shàng)完成所有(yǒu)的規則計(jì)算(suàn),計(jì)算(suàn)完成後再把輸出數(shù)據以JSON格式通(tōng)過Http協議返回。
最後一種本地服務類似于嵌入模式,所不同的是嵌入到我們客戶端應用中的URule Pro模塊僅僅為(wèi)其規則計(jì)算(suàn)部分(core部分),不含設計(jì)器(qì)部分(console部分)。
将測試好的知識包導出為(wèi)一個(gè).data格式文件,然後把文件放在客戶端應用的一個(gè)指定目錄下(當然也可(kě)以通(tōng)過實現KnowledgePackageFileService接口,将導出的知識包文件存儲在别的地方),這樣客戶端應用在調用知識包時(shí)就直接到這個(gè)指定目錄下查找目标.data文件并加載。
這種模式非常适用于規則運行(xíng)環境封閉,且需要對外部屏蔽規則設計(jì)細節的應用需要;其部署模式簡單、快捷,一旦有(yǒu)新的知識包放入指定目錄中,客戶端應用會(huì)自動檢測并加載新的版本。