预购商品
书目分类
特别推荐
這是一部由淺入深、從理論到實踐、以實戰方式講解開源規則引擎Drools的原理、模型、使用方式、適用場景和案例實現的著作,得到了國內外眾多知名企業專家的一致好評。 本書的作者都就職于紅帽軟體,長期深耕開源中介軟體技術,具有深厚的產品知識及專案經驗,曾多次參與企業的IT系統建設和業務規則實現,為業務規則系統的建設者和使用者答疑解惑。本書正是對作者多年實戰經驗的總結,對國內外企業的規則系統建設具有很高的參考價值。 全書共14章,按照難易程度,可分為初級、中級和高級三個層次。 初級(第1~4章) 首先,總體介紹Drools的構成、多種使用方式、核心概念;其次,以Hello Drools為例讓讀者切身體驗最簡單規則的編寫過程,通過對示例工程的解讀,讓讀者理解Drools規則語言的基本語法與模式匹配;再次,對Drools規則語言的方方面面進行詳細講解;最後,深入講解Drools規則引擎的核心概念。 中級(第5~11章) 通過詳盡的步驟分別講解Drools基於主機、容器和雲模式的環境搭建,介紹如何基於已搭建的環境進行規則的開發、測試與發佈,並通過實戰讓讀者掌握多種規則編寫方式:嚮導式規則、規則範本、領域專用語言、規則表、規則流。 高級(第12~14章) 有針對性地講解Drools在流模式下的複雜事件處理原理、基於決策模型和標記法的規則編寫及Drools對機器學習的支持和使用,以幫助讀者拓寬思路,將Drools應用到更廣闊的領域。
贊 譽 前 言 第1章 Drools概述 1 1.1 什麼是規則引擎 1 1.2 Drools是什麼 2 1.3 Drools的組件 2 1.4 Drools的使用方式 3 1.4.1 嵌入式 3 1.4.2 遠端調用模式 4 1.4.3 雲提供模式 4 1.5 Drools的核心概念 5 1.5.1 規則語言 5 1.5.2 事實對象 6 1.5.3 決策引擎 7 1.6 社區的Drools與企業級的Decision Manager 7 1.7 本章小結 8 第2章 Drools初體驗 9 2.1 環境準備 9 2.2 hello drools 9 2.3 規則語法解讀 11 2.4 Drools的模式匹配 11 2.5 規則工程解讀 13 2.6 本章小結 15 第3章 Drools規則語言 16 3.1 語法說明 17 3.1.1 包定義 17 3.1.2 依賴導入 17 3.1.3 函數 18 3.1.4 查詢 18 3.1.5 型別宣告 19 3.1.6 全域變數 21 3.1.7 規則屬性 21 3.1.8 規則的條件 22 3.1.9 規則的動作 25 3.1.10 注釋 29 3.1.11 錯誤提示 30 3.2 實戰:斐波那契數列 32 3.2.1 功能說明 32 3.2.2 規則實現 32 3.2.3 工程解讀 33 3.2.4 規則解讀 35 3.3 本章小結 36 第4章 Drools決策引擎 37 4.1 會話 37 4.1.1 無狀態會話 38 4.1.2 有狀態會話 39 4.1.3 會話池 41 4.2 推理與真理 42 4.3 規則執行控制 43 4.3.1 優先順序 44 4.3.2 議程組 45 4.3.3 啟動組 46 4.3.4 運行模式 46 4.3.5 事實傳播模式 47 4.3.6 議程評估過濾??器 48 4.3.7 規則單元 48 4.4 Phreak演算法 51 4.4.1 延遲評估 51 4.4.2 面向集合的傳播 52 4.4.3 網路分段 52 4.5 查詢事實數據 53 4.6 事件偵聽器和日誌 54 4.6.1 事件偵聽器 54 4.6.2 日誌 55 4.7 性能調優項 55 4.8 實戰:費用分攤 57 4.8.1 功能說明 57 4.8.2 規則實現 58 4.8.3 工程解讀 59 4.8.4 規則解讀 61 4.9 本章小結 65 第5章 遠端調用模式 66 5.1 基於主機的Drools環境搭建 66 5.1.1 獲取介質 66 5.1.2 安裝 69 5.2 基於容器的Drools環境搭建 74 5.2.1 環境準備 74 5.2.2 安裝 75 5.3 實戰:將軍排隊 79 5.3.1 功能說明 79 5.3.2 規則實現 79 5.3.3 工程解讀 84 5.3.4 規則解讀 86 5.4 本章小結 88 第6章 雲提供模式 89 6.1 環境準備 89 6.1.1 獲取介質 89 6.1.2 安裝OpenShift Local 90 6.1.3 安裝Business Automation Operator 95 6.1.4 安裝業務中心與決策伺服器 97 6.1.5 驗證安裝 99 6.2 實戰:東西在裡面嗎 101 6.2.1 功能說明 101 6.2.2 規則實現 101 6.2.3 驗證規則 110 6.3 本章小結 113 第7章 規則的測試 114 7.1 測試場景設計器 114 7.1.1 全域參數配置 115 7.1.2 數據對象別名 115 7.1.3 運算式語法 115 7.2 “東西在裡面嗎”實戰的測試 116 7.2.1 創建測試場景 116 7.2.2 定義測試場景數據結構 117 7.2.3 添加用例數據並測試 122 7.3 “將軍排隊”實戰的測試 125 7.3.1 創建測試場景與用例 125 7.3.2 編寫背景數據並測試 126 7.4 本章小結 128 第8章 嚮導式規則 129 8.1 嚮導式規則設計器 129 8.1.1 數據對象 129 8.1.2 設計規則 130 8.2 實戰:商品促銷 131 8.2.1 功能說明 131 8.2.2 規則實現 131 8.2.3 驗證規則 148 8.3 本章小結 155 第9章 嚮導式規則範本與領域專用語言 156 9.1 嚮導式規則範本 156 9.1.1 創建規則範本 156 9.1.2 定義數據表 157 9.2 領域專用語言 158 9.3 實戰:積分換禮品 159 9.3.1 功能說明 159 9.3.2 規則實現 160 9.3.3 驗證規則 167 9.3.4 DSL規則實現 168 9.3.5 驗證DSL規則 171 9.4 本章小結 171 第10章 規則表 172 10.1 嚮導式規則表 172 10.1.1 創建嚮導式規則表 172 10.1.2 導入數據對象類型 174 10.1.3 添加模式匹配事實 175 10.1.4 添加約束 176 10.1.5 添加更新動作 176 10.1.6 添加插入動作 177 10.1.7 選擇展開列 178 10.1.8 添加規則表數據 179 10.2 試算表規則表 179 10.3 實戰:電腦推薦 181 10.3.1 功能說明 181 10.3.2 規則實現 181 10.3.3 驗證規則 193 10.3.4 轉換為試算表規則表 194 10.4 本章小結 198 第11章 規則流 199 11.1 什麼是規則流 199 11.2 Drools中的規則流 199 11.3 實戰:貸款申請 202 11.3.1 功能說明 202 11.3.2 規則流實現 203 11.3.3 驗證規則流 240 11.4 本章小結 245 第12章 複雜事件處理 246 12.1 複雜事件處理中的事件 246 12.2 將事實數據定義為事件 247 12.3 事件相關的元數據注解 247 12.4 事件處理模式 249 12.4.1 雲模式 249 12.4.2 流模式 250 12.4.3 反向匹配 250 12.5 事實屬性更改的評估策略與偵聽 251 12.6 事件的時間運算子 253 12.6.1 before和after 254 12.6.2 coincides 254 12.6.3 during和includes 255 12.6.4 finishes和finished by 256 12.6.5 meets和met by 256 12.6.6 overlaps和overlapped by 257 12.6.7 starts和started by 257 12.7 會話時鐘 258 12.8 事件流和入口點 259 12.9 滑動窗口 260 12.10 事件的記憶體管理 261 12.11 實戰:行情提醒 262 12.11.1 功能說明 262 12.11.2 規則實現 262 12.11.3 工程解讀 263 12.11.4 規則解讀 266 12.12 本章小結 267 第13章 決策模型和標記法 268 13.1 DMN的實現級別 268 13.2 決策需求圖 269 13.3 規則運算式 270 13.3.1 數據類型 270 13.3.2 條件陳述式 271 13.3.3 迴圈語句 271 13.3.4 範圍語句 272 13.3.5 內置函數 272 13.3.6 變數和函數名 283 13.4 盒裝運算式 283 13.4.1 決策表 283 13.4.2 字面運算式 284 13.4.3 上下文 285 13.4.4 關係 285 13.4.5 函數 285 13.4.6 調用 286 13.4.7 列表 286 13.5 實戰:網購圖書 287 13.5.1 功能說明 287 13.5.2 規則實現 287 13.5.3 驗證規則 301 13.6 本章小結 304 第14章 PMML與機器學習 305 14.1 PMML 305 14.2 PMML的實現級別 308 14.3 PMML與機器學習的關係 309 14.4 實戰:申請設備 310 14.4.1 功能說明 310 14.4.2 規則實現 311 14.4.3 驗證規則 322 14.5 本章小結 323
關澤發:紅帽軟件(北京)有限公司資深解決方案架構師,擁有20餘年IT從業經驗,目前專注于雲原生微服務系統架構設計與開發。曾就職于AWS應用現代化團隊、紅帽服務交付團隊、投資銀行開發團隊,熟悉公有雲和私有雲生態,擅長企業業務系統的設計、開發與交付。通過微信公眾號“撞牆秀”分享了許多項目實踐經驗與心得。 陳楚暉:紅帽軟體(北京)有限公司首席架構師、開源技術專家,專注于雲計算、容器技術、開源中間件、規則引擎的推廣。曾就職於甲骨文中間件團隊、銀行業務開發團隊,擁有20餘年中間件及應用開發經驗,以及豐富的金融企業、政府機構、電信運營商等的應用上雲、DevOps、PaaS、系統集成及IT專案管理經驗,熟悉開源軟件的軟體發展、架構設計、系統運維等。
客服公告
热门活动
订阅电子报