業務規則管理(business rules management,簡稱brm)
在乙個企業實體中同樣存在著各種各樣的規則,像管理制度、業務手冊、工藝流程、操作規範、收費標
準、**策略等都是規則,甚至一些沒有形成文字的慣例,也是企業規則的一部分。因為是與業務相關,所以又稱它
們為業務規則。
業務規則分散在企業的各個角落,就算企業的決策者也很難說清楚自己的企業內部到底有多少業務規則在使用。
大部分的業務規則存在於業務人員的大腦中,或是為數不多的工作手冊、操作規範等非結構化的文件上。作為描述企
業最重要特徵的業務邏輯沒有被有效地管理和使用,導致好的經驗無法積累,差的經驗無法總結。即使企業使用了計
算機系統,業務處理邏輯也總是被看成乙個個過程寫進了程式**中,當某些需求和業務規則發生變化時,必須修改
原有**,修改和維護的成本都相當高。
業務規則管理(business rules management,簡稱brm)技術的出現徹底改變了以過程形式處理業務邏輯的方
式,它將業務規則的實現從具體的程式**中抽取出來,以結構化的業務規則資料來表示企業的業務行為,使得業務
規則與企業的資料資訊一樣成為企業的重要資產。與此同時,軟體開發的習慣也開始因brm 而改變。業務規則像資料
一樣獨立於程式之外,業務人員可以使用行業術語而不是專業程式語言來編寫規則,從而使企業的業務系統真正面向
業務人員。
資料庫把程式與程式所處理的資料進行了分離,它的出現使得資料不依賴於程式而獨立存在,軟體系統的公升級無
需對資料庫系統進行改動,並產生了關係資料模型、資料庫操作語言、資料庫查詢語言等新概念,以及資料庫系統分
析員、資料庫開發人員、資料庫系統管理員等新角色。
與資料庫的出現相對應,把業務邏輯從程式**中分離出來也將對軟體的開發方式、軟體的體系結構甚至軟體開
發的組織結構都產生深遠的影響。
業務規則管理將業務邏輯當做結構化的物件進行處理,使複雜的業務邏輯變成一條條簡單的業務規則,而將業務
規則之間的複雜邏輯關係交給規則引擎去處理,因此產生了業務規則引擎、業務規則庫、業務規則開發方法學、業務
規則管理系統等新概念,以及業務規則系統分析員、業務規則開發人員業務規則系統管理員等新角色。
業務規則管理系統的引入,使應用系統結構及其維護方式發生了巨大的改變:基於業務規則方法將大大縮短系統
的開發時間;更加適應系統業務邏輯的變化;開發者可以直接使用業務規則的技術而無需了解過多的實現細節;大大
減少了程式設計的工作量,減少了程式設計錯誤,使開發者更加關注系統本身的業務需求;基於業務規則的開發方法還模糊了
系統需求分析、設計和程式設計的界限;業務規則庫介於使用者介面和資料庫之間,系統具有更好的靈活性;基於業務規則
的系統開發比定製開發更能節省費用,同時能滿足使用者的個性化需求。
不少軟體開發商已經開始利用業務規則管理技術來開發商用軟體,它們不僅能夠為使用者搭建規則庫,讓使用者隨意
新增自己的業務規則,而且會在一些針對行業的應用中,將自己的行業經驗以業務規則的形式加進去,為使用者提供最
佳實踐經驗。
分層和復用是當今軟體開發的兩大技術方向。分層技術解決了系統的複雜性問題,降低了系統內的耦合性;復用
技術解決了開發的效率和可靠性。業務規則管理技術恰恰與這兩大技術的特點相吻合,綜合體現了分層和復用所帶來
的好處,並且很好地融合了資料庫技術和物件導向技術的優勢。
業務規則最基本的組成成份是用於表示它的語言,業務術語是人們用於定義事物的工具,例如術語表。乙個組織
的本質和執行結構可以用相關的術語來描述,如「客戶下乙個訂單」。類似「資料不可以更新」這樣的規則則能夠限
定和控制企業的某些行為。此外,利用業務規則可以從一種知識推導出另一種知識。
業務規則的屬性包括名稱、狀態(被提議的、有效的、被核准的、存檔的)、有效日期和終止日期、業務規則描
述、表示式、觸發事件等。其主要形式有決策表、決策樹、規則語言和指令碼。
● 決策表: 以**的形式表示業務規則,每一行表示一條規則,列表示條件或動作,當所有條件滿足時,執行
動作。●
決策樹:將一組業務規則以樹型結構來表示,每乙個分支表示一條決策路徑,葉子節點表示結果或動作。
● 規則語言:使用類似自然語言的句法描述規則。目前有很多種規則語言,每種語言適合解決其特定領域的問
題,可以提供較好的效能,但比圖形化的表示難於維護。
● 指令碼(模板):用於描述過程性的業務邏輯,是決策表、決策樹、規則語言的基礎。如:
if...then ...else...
。業務規則的應用特性如下:
● 業務規則的非「固化性
」固化在程式**中的策略和規則必然是僵硬的。客戶的多型性和市場的多變性決定了業務規則和策略的變化必然
很頻繁,如果規則的每次改變都要求對系統程式進行「傷筋動骨」式的修改,那麼系統的維護和公升級必然代價昂貴,
甚至難以維持。
● 業務規則的「邏輯性
」業務規則具有邏輯性,每條約束行為的業務規則至少包含兩個部分:條件部分和執行部分;規則的條件涉及到對
業務資料作用的判定,規則的執行涉及到對業務資料的處理。所以規則不是簡單的業務資料。
● 業務規則的「非過程性
」每條規則只能定義對一種現象的判斷和操作,複雜的業務邏輯應該由多條規則協同處理。規則的「非過程性」帶
來的好處是:每條規則的制定變得非常單純,可以「就事論事」,將複雜的過程處理平攤成乙個個有條件的執行單
元,實現了從簡單到複雜的知識積累過程。
● 業務規則的「事件觸發性
」業務規則會根據相應的條件被觸發執行,觸發規則執行的「事件」就是業務資料本身。比如一套信用分析的規則
集合,一旦客戶信用記錄資訊進入系統處理,這組規則將會被啟用,並啟動相應的分析過程。
● 業務規則的「非技術性
」業務規則是屬於業務人員的,業務人員應該使用行業語言而不是專業技術語言(如程式語言、資料庫語言、指令碼
語言等)編寫規則。
業務規則引擎管理
什麼是規則引擎 規則引擎是一種巢狀在應用程式中的元件,它實現了將業務規則從應用程式 中分離出來。規則引擎使用特定的語法編寫業務規則,規則引擎可以接受資料輸入 解釋業務規則 並根據業務規則做出相應的決策。業務規則的管理 規則管理的首要和基本原則也就是建立規則資料庫。業務規則應該被記錄下來,當業務規則比...
jxTMS 業務規則
jxtms的核心理念之一就是 好的系統是定義出來的。當然筆者不是反對程式設計,而是程式設計太過於專業化,同時具有動態性,這兩者的結合就導致以程式設計為主要實現的系統和業務人員絕緣了。而業務系統能否發揮出充分的作用,其主要取決於系統能否貼合業務 貼合使用者的需求。顯然,過於技術化的系統是由開發人員所主...
銀行卡業務規則
通常為磁條 ic晶元的復合卡。小額支付賬戶的有效期和借記賬戶或貸記賬戶的有效期相同。開戶時,如果開通了借記賬戶,則借記賬戶餘額為客戶開戶存款金額,小額支付賬戶餘額為零。既有借 貸記賬戶,又有小額支付賬戶時,借貸記賬戶優先順序高於小額支付賬戶,在既支援借 貸記應用又支援小額支付應用的金融ic卡受理終端...