1. 程式人生 > >Java規則引擎:開源Drools專案

Java規則引擎:開源Drools專案


Lost in Translation
       雖然IT團隊反應迅速,但他們通常帶來"電話效應"――IT給商業計劃的執行帶來的阻力和它帶來的利益一樣多。不幸的是,在開發團隊完全理解商業決策規則並實現之前,規則已經改變了。在軟體進入市場前,它已經過時了,需要進行重構以滿足新的業務需求。如果你是一個開發人員,你會知道我在說什麼。再也沒有比在需求變動的情況下構造軟體讓開發人員更沮喪的事情了。作為軟體開發人員,你必須比業務人員更瞭解業務,有時還要了解更多。
       試想一下你是一位商業決策者。假如公司的成功依賴於你對於市場趨勢敏銳的洞察力,它常常幫助你領先於競爭者利用變化的市場環境獲利。每天你都會得到更多更好的市場資訊,但並不要緊。完成新產品開發可能需要6-9個月,在此期間,對於市場大膽和敏銳的洞察和資訊優勢可能已經浪費了。而且,當產品釋出時,有這樣幾種可能:產品沒有什麼吸引人的特性,預算超支,過了產品的最佳釋出期限,或三者兼而有之。
       情況可能還會更糟,在完成產品開發時,市場環境和規劃產品開發時相比,已經發生了根本變化。現在你必須要遵守新的規則,你已經喪失了你的邊際優勢,而且設計軟體的五人中的三人已經離開了公司。你必須給接手的新人重新講解複雜的業務。如果事情不順利,你可能發現自己要對付一個缺少文件,並且你完全不瞭解的遺留應用。
       你的戰略在哪出現了問題?你在哪裡應該可以做到更好?最近的輕量級軟體過程,如極限程式設計,敏捷軟體開發等都在強調自動單元測試和軟體功能優先順序的重要性。除此之外,還有其他的原則,你的開發團隊可能也很熟悉,這些原則可以幫助他們對需求的變動作出迅速反應並縮短專案的開發週期。這些原則的大多數,如系統分解,多年前就已經出現,並得到了Java平臺的支援(如JMX等),還有如面向物件和角色建模,已經內建在Java語言中。
       但Java仍然是一門相當年輕的語言,而且Java平臺遠遠還沒有完備。當前在Java社群,一個引人注目的新技術是,分離商業決策者的商業決策邏輯和應用開發者的技術決策,並把這些商業決策放在中心資料庫,讓它們能在執行時(即商務時間)可以動態地管理和修改。這是一個你值得考慮的策略。
       為什麼你的開發團隊不得不象商業經理人一樣,在程式碼中包含複雜微妙的商業決策邏輯呢?你怎樣才能向他們解釋決策推理的微妙之處呢?你這樣做是否謹慎呢?可能不是。象bottom line一樣,某些東西在解釋的過程中丟失了。為什麼要冒這樣的風險,讓應用程式碼或測試程式碼錯誤地表達你的商業決策邏輯呢?如果這樣做的話,你怎樣檢查它們的正確性呢――難道你自己想學習如何程式設計和編寫測試程式碼,或者你的客戶會為你測試軟體?你一方面要應付市場,一方面要應付軟體程式碼,這實在太困難了。
       如果能將這些商業決策規則集中地放在一個地方,以一種你可以理解的格式定義,讓你可以直接管理,而不是散落在程式碼的各個角落,那該有多好。如果你能把商業決策規則獨立於你的軟體程式碼,讓開發團隊作出技術決策,你將會獲得更多好處。你的專案開發週期會更短,軟體對於變動的需求更靈活。

相關推薦

Java規則引擎開源Drools專案

Lost in Translation       雖然IT團隊反應迅速,但他們通常帶來"電話效應"――IT給商業計劃的執行帶來的阻力和它帶來的利益一樣多。不幸的是,在開發團隊完全理解商業決策規則並實現之前,規則已經改變了。在軟體進入市場前,它已經過時了,需要進行重構以滿足新的業務需求。如果你是一個開發人員,

[Drools]JAVA規則引擎

Drools是一個基於java的規則引擎,開源的,可以將複雜多變的規則從硬編碼中解放出來,以規則指令碼的形式存放在檔案中,使得規則的變更不需要修正程式碼重啟機器就可以立即在線上環境生效。 1、Drools語法 開始語法之前首先要了解一下drools的基本工作過程,通常而言

[Drools]JAVA規則引擎 -- Drools

Rete演算法是Charles Forgy在1979年的論文中首次提出的,針對基於規則知識表現的模式匹配演算法。目前來說,大部分規則引擎還是基於rete演算法作為核心,但都有所改進,比如drool,jess等等,下面介紹rete演算法的概念,一些術語,以及使用規則引擎需要注意的問題。 先來看看如下的表示式:

JAVA規則引擎 -- Drools

Drools是一個基於java的規則引擎,開源的,可以將複雜多變的規則從硬編碼中解放出來,以規則指令碼的形式存放在檔案中,使得規則的變更不需要修正程式碼重啟機器就可以立即在線上環境生效。 1、Drools語法 開始語法之前首先要了解一下drools的基本工作過程,通常

java規則引擎】drools6.5.0版本中kmodule.xml解析

excel表格 兩個 狀態 excel表 自定義 roo 暫時 指定 一次 kmodule.xml文件存放在src/main/resources/META-INF/文件夾下。 1 <?xml version="1.0" encoding="UTF-8"?>

java 規則引擎資料匯集

blog 匹配 研究 target html ttf 模式匹配 baidu dbn 1. ibm的developworks中較早的一篇關於規則引擎的文章 https://www.ibm.com/developerworks/cn/java/j-java-rules/ 2

Java規則引擎 Easy Rules

1.  Easy Rules 概述 Easy Rules是一個Java規則引擎,靈感來自一篇名為《Should I use a Rules Engine?》的文章  規則引擎就是提供一種可選的計算模型。與通常的命令式模型(由帶有條件和迴圈的命令依次組成)不同,規則引擎基於生產規則系統。這

開源業務規則引擎JBoss Drools

編寫 是什麽 代碼 分離 什麽 開源 根據 -s 解釋 Drools 是什麽? 規則引擎由推理引擎發展而來,是一種嵌入在應用程序中的組件,實現了將業務決策從應用程序代碼中分離出來,並使用預定義的語義模塊編寫業務決策。接受數據輸入,解釋業務規則,並根據業務規則做出業務決策。

小明歷險記規則引擎Drools教程詳解

小明是一家網際網路公司的軟體工程師,他們公司為了吸引新使用者經常會搞活動,小明常常為了做活動加班加點很煩躁,這不今天呀又來了一個活動需求,我們大家一起幫他看看。 小明的煩惱 活動規則是根據使用者購買訂單的金額給使用者送相應的積分,購買的越多送的積分越多,使用者可以使用積分來兌換相應的商品,我

規則引擎Drools規則引擎

原文連結:http://www.it165.net/pro/html/201503/36286.html Drools是一個開源的規則引擎,經過多年的發展,也提供如下商業BRMS具備的功能元件: 基於Eclipse的整合開發環境, 獨立集中的規則儲存庫 基於WE

開源規則引擎Drools、URule簡介

最近要開始做一個風控專案,大概看了下有很多指標,於是決定調研一下開源業務規則引擎。首先我們要明白什麼是規則引擎。規則引擎是一種巢狀在應用程式中的元件,實現將業務規則從應用程式程式碼中分離出來。規則引擎使用特定的語法編寫業務規則。引入規則引擎後端帶來的好處:(1)實現業務邏輯與

悠然亂彈開源中國GIT中Java分類下TOP10專案的活動情況分析

TOP 10 ThinkGem / JeeSite 專案GIT情況統計 從上面看到,總共參與的貢獻者有15個人,10個以上提交者有3個,最近1個月一個提交也沒有。預設分支檔案總數有5490。 從這裡可以看出,專案規模比較大。總共的提交數是243個,說明整體活動情況還不錯,但是現在的活動性在下降

JAVADrools規則引擎

在系統建設階段,有些功能是通過drools規則引擎來實現的,通過規則引擎,我們可以實現很多可以動態變更及函式過濾的功能,但是我們在處理字串處理的時候,不可避免的會遇到特殊字元的處理,所以我們針對特殊字元需要進行該轉義的轉義。主要的幾個字元如下:switch (sign)

講解開源專案讓你成為靈魂畫手的 JS 引擎Zdog

本文作者:HelloGitHub-kalifun HelloGitHub 的《講解開源專案》系列,專案地址:https://github.com/HelloGitHub-Team/Article 今天給大家推薦一個使用 JavaScript 語言編寫的開源 Web 3D 模型專案 —— Zdog。 一

規則引擎 - drools 使用講解(簡單版) - Java

drools規則引擎 專案連結 現狀: 運維同學(各種同學)通過後臺管理介面直接配置相關規則,這裡是通過輸入框、下拉框等完成輸入的,非常簡單; 規則配置完畢後,前端請求後端,此時服務端根據引數(即規則)生成drl規則檔案; 使用者側有相關請求到達時,服務端載入規則檔案(可能是多個,一般一個廣告、活動對應一個

Spring Boot+Drools規則引擎整合

ood pid message star 定義 比較 java sch 4.0 目的 官方的Drools範例大都是基於純Java項目或Maven項目,而基於Spring Boot項目的很少。 本文介紹如何在Spring Boot項目上加上Drools規則引擎。 POM

開源大數據引擎Greenplum 數據庫架構分析

libpq ash 排序 sql命令 出現 計劃 mil 月份 監控 Greenplum 數據庫是最先進的分布式開源數據庫技術,主要用來處理大規模的數據分析任務,包含數據倉庫、商務智能(OLAP)和數據挖掘等。自2015年10月正式開源以來。受到國內外業內人士的

jboss規則引擎KIE Drools 6.3.0 Final 教程(3)

easy add get 8.0 .get csdn 一個 專家 try 在前2部教程中。介紹了怎樣在本地執行.drools文件以及使用stateless的方法訪問遠程repository上的規則。 KIE Drools還提供了一種叫有狀態-stateful的訪問方式。

drools規則引擎中易混淆語法分析_循環觸發導致死循環分析

int calculate efault drools put 階段 ons not quest 整理了下最近在項目中使用drools出現的問題,幸好都在開發與測試階段解決了,未波及到prod。 首先看這樣兩條規則 /** * 規則1_set默認利率 */

關於 Java虛擬機內存處理與執行引擎

reflect const method runt 類方法 數據驗證 lib 定義 作用 一.Java技術體系簡介: Java技術體系包括以下幾個組成部分: java程序設計語言 各種硬件平臺上的java虛擬機 Class文件格式 Ja