程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java規則引擎與其API應用詳解

Java規則引擎與其API應用詳解

編輯:JAVA編程入門知識

  本文對Java規則引擎與其API(JSR-94)及相關實現做了較具體的介紹,對其體系結構和API應用有較詳盡的描述,並指出Java規則引擎,規則語言,JSR-94的相互關系,以及JSR-94的不足之處和展望
  
  本文對Java規則引擎與其API(JSR-94)及相關實現做了較具體的介紹,對其體系結構和API應用有較詳盡的描述,並指出Java規則引擎,規則語言,JSR-94的相互關系,以及JSR-94的不足之處和展望
  
  復雜企業級項目的開發以及其中隨外部條件不斷變化的業務規則(business logic),迫切需要分離商業決策者的商業決策邏輯和應用開發者的技術決策,並把這些商業決策放在中心數據庫或其他統一的地方,讓它們能在運行時(即商務時間)可以動態地治理和修改從而提供軟件系統的柔性和適應性。規則引擎正是應用於上述動態環境中的一種解決方法。
  
  本文第一部分簡要介紹了規則引擎的產生背景和基於規則的專家系統,第二部分介紹了什麼是規則引擎及其架構和算法,第三部分介紹了商業產品和開源項目實現等各種Java規則引擎,第四部分對Java規則引擎API(JSR-94)作了具體介紹,講解了其體系結構,治理API和運行時API及相關安全問題,第五部分則對規則語言及其標准化作了探討,第六部分給出了一個使用Java規則引擎API的簡單示例,第七部分給予小結和展望。
  
  1、 介紹
  
  1.1 規則引擎產生背景
  
  企業治理者對企業級IT系統的開發有著如下的要求:(1)為提高效率,治理流程必須自動化,即使現代商業規則異常復雜(2)市場要求業務規則經常變化,IT系統必須依據業務規則的變化快速、低成本的更新(3)為了快速、低成本的更新,業務人員應能直接治理IT系統中的規則,不需要程序開發人員參與。
  
  而項目開發人員則碰到了以下問題:(1)程序=算法+數據結構,有些復雜的商業規則很難推導出算法和抽象出數據模型(2)軟件工程要求從需求->設計->編碼,然而業務規則經常在需求階段可能還沒有明確,在設計和編碼後還在變化,業務規則往往嵌在系統各處代碼中(3)對程序員來說,系統已經維護、更新困難,更不可能讓業務人員來治理。
  
  基於規則的專家系統的出現給開發人員以解決問題的契機。規則引擎由基於規則的專家系統中的推理引擎發展而來。下面簡要介紹一下基於規則的專家系統。
  
  1.2 基於規則的專家系統(RBES)
  
  專家系統是人工智能的一個分支,它模擬人類的推理方式,使用試探性的方法進行推理,並使用人類能理解的術語解釋和證實它的推理結論。專家系統有很多分類:神經網絡、基於案例推理和基於規則系統等。
  
  RBES包括三部分:Rule Base(knowledge base)、Working Memory(fact base)和Inference Engine(推理引擎)。它們的結構如下所示:
  
  圖1.基於規則的專家系統組成
  Java規則引擎與其API應用詳解
  
  如上圖所示,推理引擎包括三部分:Pattern Matcher、Agenda和Execution Engine。Pattern Matcher何時執行哪個規則;Agenda治理PatternMatcher挑選出來的規則的執行次序;Execution Engine負責執行規則和其他動作。
  
  推理引擎通過決定哪些規則滿足事實或目標,並授予規則優先級,滿足事實或目標的規則被加入議程。存在兩者推理方式:演繹法(Forward-Chaining正向鏈)和歸納法(Backward-Chaining反向鏈)。演繹法從一個初始的事實出發,不斷地應用規則得出結論(或執行指定的動作)。而歸納法則是從假設出發,不斷地尋找符合假設的事實。 QQread.com 推出各大專業服務器評測 Linux服務器的安全性能 SUN服務器 HP服務器 DELL服務器 IBM服務器 聯想服務器 浪潮服務器 曙光服務器 同方服務器 華碩服務器 寶德服務器

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved