在2013紅帽峰會上,紅帽提出了紅帽生態(tài)系統(tǒng)的理念。作為中間件平臺,JBoss的生態(tài)系統(tǒng)格外吸引人的目光, JBoss企業(yè)SOA平臺無疑成為了一顆璀璨明星,而最新JBoss 企業(yè)版 BRMS平臺與JBoss企業(yè)SOA平臺的整合更是一大亮點(diǎn)。全新的JBoss 企業(yè)版 BRMS平臺可以幫助企業(yè)全自動化控制關(guān)鍵任務(wù)程序、策略并且實(shí)時(shí)檢測、響應(yīng)業(yè)務(wù)事件,獲得自動的、實(shí)時(shí)的、基于規(guī)則的決策優(yōu)化運(yùn)營。
JBoss 企業(yè)級 BRMS 平臺的概念
JBoss 企業(yè)版 BRMS 是一個(gè)商業(yè)規(guī)則管理系統(tǒng)(Business Rules Management System)。一方面,JBoss 企業(yè)版 BRMS 可以作為獨(dú)立的基于 JBoss Rules服務(wù)器端的解決方案,用于管理、存儲、編輯和部署規(guī)則和其他 JBoss Rules 資產(chǎn)。另一方面,JBoss 企業(yè)版 BRMS平臺也提供了和 JBoss Developer Studio 等 Eclipse 集成開發(fā)環(huán)境集成的基于 web 的用戶界面。
JBoss 企業(yè)級 BRMS 平臺允許為同的用戶分配不同的角色,從而控制開發(fā)資產(chǎn)和功能。這些角色包括:商業(yè)分析員、規(guī)則專家、開發(fā)人員、規(guī)則管理員等。
JBoss 企業(yè)級 BRMS 平臺的架構(gòu)
JBoss 企業(yè)版 BRMS 平臺本身作為WAR 形式部署在應(yīng)用服務(wù)器內(nèi)部,如圖所示。可以看到,JBoss 企業(yè)級 BRMS 平臺的核心是業(yè)務(wù)規(guī)則引擎——Drools(也即JBoss Rules ),其特點(diǎn)是實(shí)現(xiàn)解析速度快,效率高,學(xué)習(xí)成本低。
按照模塊劃分,Drools主要分為drools-core, drools compiler和drools-repository。其中drools-core是核心引擎,包含了RETE引擎和LEAPS 引擎兩種;drools compiler包含編譯器/構(gòu)建器組件,用于獲取規(guī)則資源,以及構(gòu)建可執(zhí)行規(guī)則庫;drools-repository的目標(biāo)是將資產(chǎn)的版本和數(shù)據(jù)一起存儲在JCR庫里。所謂JCR和Jackrabbit指的是一個(gè)開源內(nèi)容存儲庫,提供了如版本控制、全文檢索,訪問控制,內(nèi)容分類、內(nèi)容事件監(jiān)視等內(nèi)容服務(wù)。
JBoss 企業(yè)級 BRMS 平臺的使用
這里,我們將假設(shè) BRMS 平臺和庫已經(jīng)完成了正確地安裝和配置。然后,我們可以通過Web瀏覽器查看JBoss 企業(yè)級 BRMS 平臺的主要界面,如下:
左側(cè)的導(dǎo)航面板提供對 BRMS Web UI 的主要區(qū)域的訪問。這些區(qū)域包括:
Info:初始頁面,內(nèi)含資源的鏈接。
Rules:類別和商業(yè)用戶視圖。
Package:配置和管理知識軟件包。
Deployment:管理部署快照。
Admin:管理性功能(歸類、狀態(tài)、導(dǎo)入和導(dǎo)出)。
這里我們可以通過Create New -> Asset創(chuàng)建資產(chǎn)。所謂資產(chǎn)(Asset)是可以以某個(gè)版本存儲在庫里的任何東西。它包括規(guī)則、決策表、模型、測試和 DSL。
而資產(chǎn)則可以通過By Category按照類別視圖歸類。同一個(gè)資產(chǎn)可以歸屬于不同的類別,這取決于業(yè)務(wù)需要。當(dāng)然,使用者可以隨時(shí)創(chuàng)建、編輯、刪除各種類別。
同樣,資產(chǎn)也可以通過By Status按照狀態(tài)歸類。所不同的是,不像類別,資產(chǎn)在某個(gè)時(shí)刻只有一個(gè)狀態(tài)。
JBoss 企業(yè)版 BRMS提供了Inbox功能,實(shí)現(xiàn)了對用戶最近操作的快速訪問以及對用戶過去曾編輯的變動通知。
接下來,我們創(chuàng)建資產(chǎn)編輯器Guided Editor并編輯商業(yè)規(guī)則語言(BRL)規(guī)則。
當(dāng)編輯規(guī)則時(shí),資產(chǎn)編輯器也稱為 ”Guided Editor“。Guided Editor 用于編輯商業(yè)規(guī)則語言(BRL)格式的規(guī)則。假如以下使用場景:如果一個(gè) 21 歲以下的申請者有貸款申請的擔(dān)保人,銀行可能決定批準(zhǔn)它的貸款申請。
在 Guided Editor里模型化,需要修改擔(dān)保人的條件約束。
當(dāng)然,根據(jù)業(yè)務(wù)的需要,可以指定各種規(guī)則。對于通用的規(guī)則,JBoss 企業(yè)版 BRMS還提供了規(guī)則模版,從而簡化規(guī)則的創(chuàng)建速度。
除了Guided Editor之外,規(guī)則屬性、元數(shù)據(jù)、條件和行為都能以Guided 決策表格式定義,從而有助于大量相關(guān)規(guī)則的快速輸入。Guided 決策表上面的部分允許定義表的列來代表規(guī)則屬性、元數(shù)、條件和行為;下面的部分包含實(shí)際的表,而每一行都定義單獨(dú)的規(guī)則。其中,定義為使用等號 == 或等號 != 操作符的 literal 值的條件列可以利用一個(gè)特殊決策表的單元格值 ——otherwise。
除了Guided Editor、決策表之外,用戶 還可以采用DSL指定規(guī)則:
在完成規(guī)則編輯后,使用者可以點(diǎn)擊“Package”功能,打開軟件包并進(jìn)行構(gòu)建。待構(gòu)建過程成功完成,就可以下載二進(jìn)制軟件包文件并將其部署到運(yùn)行系統(tǒng)里。當(dāng)然,也可選擇固定時(shí)刻的軟件包部署,即快照部署,其對應(yīng)的訪問URL為:http:///jboss-brms/org.drools.guvnor.Guvnor/packages//。
總之,紅帽生態(tài)系統(tǒng)的核心是整合。JBoss 企業(yè)版 BRMS平臺的目標(biāo)就是要為業(yè)務(wù)流程,業(yè)務(wù)事件,與業(yè)務(wù)決策管理提供強(qiáng)大的整合能力。