最后,一個(gè)集中的業(yè)務(wù)邏輯模塊有助于在整個(gè)企業(yè)范圍內(nèi)的多個(gè)業(yè)務(wù)系統(tǒng)中使用和管理業(yè)務(wù)規(guī)則。還是上面所講的客戶服務(wù)的例子: 市場和銷售部門都需要客戶服務(wù)滿意度的KPI,其中包括客戶共撥打了多少次電話、有多少次得到了及時(shí)處理等數(shù)據(jù)。這里非常重要的一點(diǎn)是,市場部和銷售部必須對客戶服務(wù)過程中的“及時(shí)處理”的含義理解一致。這就是說,市場部和銷售部在為客戶服務(wù)生成報(bào)表時(shí)必須使用同一個(gè)業(yè)務(wù)邏輯。這一點(diǎn)可以通過在企業(yè)中設(shè)一個(gè)集中的業(yè)務(wù)規(guī)則存儲庫來辦到,這樣每個(gè)部門都可以查看、理解和在生成自己的報(bào)表時(shí)使用。
與最后一點(diǎn)有關(guān)的是人們對主數(shù)據(jù)管理(Master Data Management,MDM)的興趣正在增加。現(xiàn)在為了保證各個(gè)部門對數(shù)據(jù)的理解一致,認(rèn)為有必要建立一個(gè)集中的MDM的企業(yè)越來越多。人們已經(jīng)認(rèn)識到主數(shù)據(jù)(Master Data)對于理解不同IT系統(tǒng)中的數(shù)據(jù)有非常重要的作用,而在一個(gè)企業(yè)中對這些數(shù)據(jù)的理解原本應(yīng)該是一致的。由于MDM中含有業(yè)務(wù)邏輯,因此,MDM可以看成是一個(gè)簡單的或者是一種特殊版本的業(yè)務(wù)規(guī)則。
業(yè)務(wù)規(guī)則引擎 那么,一個(gè)獨(dú)立的業(yè)務(wù)邏輯構(gòu)件到底應(yīng)該是什么樣子?總體上說,它應(yīng)該是除了IT人員以外,業(yè)務(wù)人員也應(yīng)該能使用它來定義業(yè)務(wù)規(guī)則、與其他業(yè)務(wù)部門和IT系統(tǒng)共享這些定義。通過設(shè)計(jì),這種構(gòu)件能為IT和業(yè)務(wù)人員提供一個(gè)接口。其實(shí)際含義就是通過報(bào)表或者操作型BI為業(yè)務(wù)人員提供一個(gè)操作的界面,程序代碼由業(yè)務(wù)邏輯構(gòu)件自動生成,盡量避免要程序員進(jìn)行編碼。
專家們通常把這種構(gòu)件稱為“業(yè)務(wù)規(guī)則引擎”(Business Rules Engine)。不幸的是,對這個(gè)詞的兩種不同理解常常導(dǎo)致一些混亂。對一部分人而言,業(yè)務(wù)規(guī)則引擎是一種應(yīng)用軟件,它能捕獲商業(yè)活動或者業(yè)務(wù)流程中的一些重要的知識,并能把這些知識應(yīng)用到實(shí)際業(yè)務(wù)中; 而另一些人把它認(rèn)為是“專家系統(tǒng)”,這個(gè)詞來自于人工智能領(lǐng)域——它使用一組業(yè)務(wù)規(guī)則引擎來分析一個(gè)數(shù)據(jù)集,從中得出某個(gè)(些)論斷。這兩種應(yīng)用都對業(yè)務(wù)規(guī)則引擎進(jìn)行編碼,但是它們使用在兩種不同領(lǐng)域。
讓業(yè)務(wù)人員能管理業(yè)務(wù)規(guī)則引擎或者至少能查看其中被編碼的規(guī)則很重要。因此,業(yè)務(wù)規(guī)則必須以一種容易被業(yè)務(wù)人員理解的形式進(jìn)行封裝。這就是為什么業(yè)務(wù)規(guī)則專家經(jīng)常要求業(yè)務(wù)規(guī)則以自然語言的方式進(jìn)行聲明和表達(dá)的原因。業(yè)務(wù)規(guī)則引擎中一個(gè)普遍關(guān)注的問題是,隨著時(shí)間的流逝,原來用來對業(yè)務(wù)邏輯進(jìn)行編碼的語言不再使用了怎么辦。而規(guī)則的聲明有助于解決這個(gè)問題。
在一個(gè)BI應(yīng)用特別是操作型BI應(yīng)用中,業(yè)務(wù)人員習(xí)慣于把業(yè)務(wù)規(guī)則用一種程序化的方式來表達(dá),讓業(yè)務(wù)人員以上這種方式來描述流程和子流程是非常有好處的,這種描述可以非常簡單地用流程圖的方式來表達(dá)。盡管在許多業(yè)務(wù)流程專家認(rèn)為這恰恰是業(yè)務(wù)流程最不應(yīng)該的方式,但是在一個(gè)操作型的BI中,這卻是業(yè)務(wù)人員表達(dá)完成某些操作的業(yè)務(wù)邏輯的最自然的方式。因?yàn)椴还苁荌T人員還是業(yè)務(wù)人員都可以理解流程圖,而且流程圖可以采用最典型的“if/then”語句來描述。業(yè)務(wù)規(guī)則引擎可以通過這些流程圖生成可執(zhí)行的程序代碼,然后在有請求或者以批處理的方式應(yīng)用到數(shù)據(jù)處理中。
總之,集中管理業(yè)務(wù)規(guī)則讓BI能幫助企業(yè)總結(jié)出業(yè)務(wù)中蘊(yùn)含的知識,同時(shí)讓企業(yè)以一種一致的方式使用這些業(yè)務(wù)邏輯——正是這些業(yè)務(wù)邏輯讓BI越來越聰明。
(c112)