VisualRules規則引擎開發教程


 

 

 

 

 

 

 

 

 

 

 

學習前的準備

 

獲取VisualRules安裝程序

 

VisualRules是一個基於規則引擎實現的可視化定製業務邏輯的商業規則管理系統,同時又具有快速開發java軟件項目的功能,是由杭州旗正信息技術有限公司(以下簡稱:旗正信息,英文稱FlagLeader2003年研究開發的國內目前唯一業務規則管理系統產品。

 

獲取方式

 

1:登錄旗正信息的官方網站(http://www.flagleader.com),並註冊爲用戶,下載指定版本的VisualRules規則引擎產品的安裝程序,還可以下載各種資料文檔(推薦方式

 

2:通過旗正信息網站首頁公開告知的聯繫方式

 

<!--[if !supportLists]-->(一)  <!--[endif]-->0571-56771736:通過電話聯繫我們索取指定版本的安裝程序。

 

<!--[if !supportLists]-->(二)  <!--[endif]-->[email protected]:通過郵箱聯繫我們索取指定版本的安裝程序。

 

<!--[if !supportLists]-->(三)   <!--[endif]-->646160598496106920:通過QQ聯繫我們索取指定版本的安裝程序。

 

搭建開發環境

 

軟件學習的第一步就是搭建這個軟件的開發環境,VisualRules也不例外。本小節的內

 

容就是介紹如何搭建一個VisualRules的開發、運行、團隊協同環境。

 

      安裝VisualRules

 

         假設您已經通過上面的3種方式獲得了VisualRules安裝程序,那麼我們找到獲得的VisualRules安裝程序:

 ,雙擊該文件,出現以下界面

 

 



 

然後按照步驟選擇下一步,中間過程不多說。

 

直到出現以下界面,表示安裝結束,單擊完成即可結束VisualRules規則引擎的安裝



 

 

 

到這裏就表示VisualRules的開發環境就搭建好了,下面我們就用這個環境來編寫配置規則,觀察運行的效果和熟悉規則配置的過程

 

編寫第一個規則

 

通過經典的HelloWorld這個例子我們配置第一個規則示例

 

1:首先我們創建規則工程:

 

 

 

 

 

點擊文件,選擇新建規則工程,然後會出現以下界面

 

 

 

我們把工程命名爲:第一個規則示例,存放路徑表示把工程存放在本地硬盤的那個目錄中,這個按照個人的喜好。

 

 

 

2:工程創建完成後,我們需要添加一個規則包

 

 

 

我們給規則包命名爲:HelloWorld,如下圖所示:

 

 

 

規則包命名完成後,我們再添加一個規則,規則名爲:輸出HelloWorld

 

 

 

 

 

僅添加了規則集還是不夠的,我們還需要有能夠操作的對象。

 

 

 

 

 

 

 

對象添加完成以後,就可以開始配置規則了

 

 

 

 

 

規則的編譯與運行

 

規則編寫完成後,我們需要編譯它,才能執行

 

 

 

 如圖中1位置所示:選中需要編譯的規則包,點擊如圖所示的圖標即可對配置好的規則進行編譯。

 

編譯完成後,我們就可以執行規則了

 

 

 

如圖所示:選中HelloWorld這個規則包,然後點擊1位置的測試,在輸入信息(3位置)這個地方輸入:中國,然後點擊(2位置)的按鈕,得到執行結果(4位置):您好,中國,這裏我們還可以提供另一種測試方法來查看規則運行結果,用web界面的方式來展示:

 

         在規則包(HelloWorld)上點擊右鍵,然後在彈出的菜單中選擇:添加JSP頁面,頁面會根據規則包的名稱自動生成對應的JSP頁面名稱,我們還需要把規則包對象庫中的操作對象添加到JSP頁面中去

 

 

 

如圖所示:在JSP頁面上點右鍵,然後選擇:添加字段嚮導,出現以下界面

 

 

 

選中需要添加的字段,點確定即可

 

啓動Tomcat服務

 

VisualRules安裝時會自動安裝Tomcat

 

這裏需要對Tomcat的服務做一個說明,如果在安裝時選中了註冊Tomcat服務,那麼在windows服務中應該可以看到Tomcat的服務名稱:Apache Tomcat rules,如下圖所示:

 

 

 

啓動該服務即可,如果在安裝VisualRules時沒有註冊該服務,那麼我們需要再手動註冊Tomcat服務,具體方法如下:

 

1Win7VistaWin8,等系統

 

         第一步:

 

打開開始菜單,然後在搜索框中輸入:cmd,然後在上方出現的搜索結果中的“cmd.exe”上點右鍵,在彈出的菜單中選擇:以管理員身份運行,出現以下所示界面

 

 

 

按照途中所示:我們進入到VisualRules的安裝目錄,圖中我的安裝目錄爲D盤根目錄,然後再進入安裝目錄。

 

在安裝目錄下我們敲入:registTomcat.bat,然後回車,等待文件執行完成,即可完成Tomcat的服務註冊,這個時候我們再打開windows的服務,應該就可以找到:Apache Tomcat rules這個服務了,並啓動該服務

 

 

 

在保證Tomcat服務成功啓動的情況下,我們打開瀏覽器,並在地址欄輸入:http://localhost:8880/HelloWorld.jsp,回車之後可以看到如下所示的顯示界面

 

 

 

頁面中存在下列元素:

 

輸入信息

 

輸出信息

 

提交

 

重置

 

 

 

我們在輸入信息處填入:中國,然後點擊提交,會得到以下圖片所示的結果

 

 

 

 

 

輸出信息:您好,中國

 

 

 

規則

 

學習VisualRules 規則語法的目的是爲了在應用當中幫助我們解決實際的問題,所以學會並靈活的在規則當中使用就顯的尤爲重要。本章的內容包括規則的基本的約束部分語法講解(LHS)、規則動作執行部分語法講解及規則的各種屬性介紹。

 

 

 

規則文件

 

VisualRules當中,規則分爲規則文件和執行文件:

 

1:規則文件是我們通過規則編輯器編寫的針對業務人員的一個可見的透明業務邏輯描述,是一個.rpk結尾的文件。所以可以通過規則編輯器(還可通過web規則編輯器)對其進行打開、查看和編輯。規則是放在規則文件當中的,一個規則文件可以存放多個規則,除此之外,在規則文件當中還可以存放用戶自定義的函數、數據對象及自定義查詢等相關在規則當中可能會用到的一些對象。

 

2:執行文件是我們提供給外部調用或者獨立執行的規則編譯後的文件,它是一個.rsc結尾的文件。

 

一個標準的規則文件它包含以下內容。

 

         1objectvariable

 

2method

 

3rules

 

對於一個規則文件而言,首先必須要有對象或者變量,因爲規則是依附於變量而存在的,其次是針對規則的操作方法,最後是完整的規則。

 

 

 

規則語言

 

規則是在規則文件當中編寫,所以要編寫一個規則首先需要先創建一個存放規則的規則包。一個規則包可以存放若干個規則,每一個規則通過規則名稱來進行區分。

 

以下圖中所示說明了一個標準規則包的結構。

 

 

 

1:規則包名稱

 

2:規則包下面的規則,它包含了規則和規則集

 

3:對象庫

 

以下爲一個簡單的標準規則的結構

 

 

 

從上圖可以看出一個規則2個部分:

 

1:條件部分

 

2:結果部分

 

 

 

條件部分

 

在一個規則當中,如果和那麼之間內容就是規則條件,它可以包含0~ N個條件,如果條件部分爲空的話,那麼該規則永遠爲真,結果部分就會被無條件執行。

 

    條件部分由一個或多個條件組成,多個條件之間可以使用andor來連接,還可以使用小括號來調整顯示位置

 

 

 

結果部分    

 

在一個規則中(一個可用的規則),它可以沒有條件,但是必須要有結果,就是必須告訴規則要做什麼。

 

 

 

規則編寫

 

上面我們提到了一個基本的規則它需要有,對象,方法和規則,下面我們來編寫一個規則

 

1變量

 

        

 

         如圖所示,我們在對象庫中添加了2個變量,變量1和變量2

 

 

 

2方法

 

         在這裏,對方法做一個說明,方法是在需要用到的時候再添加,如果是簡單的規則可能用不到方法,那麼就不用添加,如果是複雜規則需要用到方法,我們用以下方式來添加

 

 

 

 

 

鼠標選中規則包的對象庫,然後點如圖所示的外部調用選項卡,再點紅色圈圈所示的按鈕,在彈出的對話框中選擇自己需要用到的方法即可。

 

 

 

3規則

 

 

 

 

 

如上圖所示:規則的邏輯爲:規則條件是變量1的長度等於2,規則的結果就是給變量2賦值等於0

 

 

 

規則測試

 

規則測試可用2中方式來進行

 

1:在規則編輯器中進行單元測試

 

2:用外部程序來調用規則進行測試

 

 

 

規則編輯器中進行單元測試

 

規則編寫完成後,我們需要對規則進行測試,如下圖所示

 

 

 

 

 

我們選中當前需要測試的規則包,然後點“測試”這個選項卡,在變量的初始輸入值(1位置)輸入:中國,然後點擊(3位置)的綠色運行按鈕,規則執行完成後,我們可以看到變量2的實際結果值(2位置)的結果爲:0

 

 

 

 

 

外部程序來調用規則進行測試

 

採用Java類調用規則測試

 

首先在eclipsejava工程中,點擊屬性設置其路徑。在其屬性窗口的Java Build Path中設置Libraries,通過Add External JARs…加入VisualRules安裝目錄的lib下的engine.jarjakarta.jar,在通過Add External Class Folder…加入VisualRules安裝目錄下的rules目錄。如下所示:

 

添加Java測試類

 

         java工程中添加一個java類,名爲TestHello.java,其內容編輯如下:

 

import com.flagleader.engine.RuleEngine;

 

import com.flagleader.engine.RuleEngineFactory;

 

public class Test {

 

         public static void main(String[] args) {

 

                   try {

 

                            RuleEngine engine = RuleEngineFactory.newInstance().getRuleEngine();

 

                            engine.put("temp1", "中國");

 

                            engine.excute("test");// engine.excute("test.rsc"); testtest.rsc爲它在導入的rules下的路徑

 

                            System.out.println(engine.getString("temp2"));

 

                   } catch (Exception e) {

 

                            e.printStackTrace() ;

 

                   }

 

         }

 

}

 

 

 

點擊執行後,可以看到如下的執行結果

 

 

 

 

 

我們可以看到,Java類執行完成後,在控制檯打印出了0,這就是Java類調用規則後得到的temp2的結果

 

 

 

規則管理

 

規則在編輯器或者通過外部程序調用測試通過後,需要對規則進行的統一的管理,這裏我們提供規則管理平臺

 

規則上傳

 

規則配置完成後,需要上傳到規則服務器進行統一管理,方便對規則進行其他的操作,如,檢出,發佈,查看等

 

規則上傳的操作如下圖所示

 

 

 

我們首先登錄到規則服務器,點擊規則編輯器的上方菜單,選擇工具菜單,然後再選擇登錄規則服務器選項,出現以下界面

 

 

 

填入從規則管理平臺管理員處分配的用戶名和密碼,並在規則服務地址處填入規則服務器的地址,點擊確定即可登錄到規則管理平臺

 

 

 

登錄到服務器以後,我們在需要上傳的規則包上點右鍵,選擇“規則服務器,然後再選擇保存當前版本,如下圖所示

 

 

 

 

 

上傳完成後,我們打開規則管理平臺,在瀏覽器地址欄敲入以下地址:http://localhost:8880,回車後會出現以下界面

 

中我們輸入從規則管理平臺管理員出分配的用戶名和密碼,點擊登錄即可登錄到規則管理平臺,然後打開左邊的規則管理,展開的菜單中的規則查看就可以看到剛剛我們上傳上去的規則工程和規則包

 

 

 

 

 

如下圖所示:從紅色圈圈標明的區域我們可以看到剛剛上傳的規則包:test和所屬的規則工程:第一個規則示例

 

 

 

規則部署

 

VisualRules規則引擎產品體系中,規則編寫完成後,部署是相當容易的,我們只需要把編譯後的規則文件(.rsc)放到VisualRules安裝目錄下的rules文件夾中就可以了,然後我們根據實際需要開啓指定的規則執行方式即可

 

         規則執行方式分爲兩種

 

         1:通過規則執行器定時執行

 

         2:通過外部程序和接口調用執行

 

 

 

規則執行器

 

         進入VisualRules安裝目錄,找到RuleExecuter.exe的文件,這就是我們的規則執行器

 

         RuleServerApp.exe是我們規則服務,這個規則服務也可通過windows服務的形式開啓,RuleServerApp.exewindows服務同時開啓其中任何一個就可以打開規則服務供外部程序來調用

 

 

 

 

 

 

 

打開RuleExecuter.exe可以看到如下所示的界面

 

 

 

 

 

如上圖所示:頂部按鈕依次爲:啓動按鈕,停止按鈕,添加執行規則按鈕,編輯按鈕,刪除按鈕,刷新按鈕以及平臺說明信息

 

 

 

如果需要添加執行規則,我們點擊圖中紅色圓圈表明的添加按鈕,然後在彈出的界面中選擇需要執行的規則文件就可以了,這個規則文件(.rsc)一定要存放在安裝目錄的rules中才可以,添加完成以後,默認是未啓動的狀態,我們需選中要執行的規則,然後點擊啓動就可以啓動規則執行

 

 

 

規則服務

 

         規則服務上面講到了,可分爲兩種方式

 

         1:打開RuleServerApp.exe,如下圖所示

 

        

 

2:啓動windows服務

 

 

 

 

 

 

 

windows服務中找到服務名爲:Rule Engine Server的服務,然後點擊圖中紅色圓圈所示的按鈕就可以啓動規則服務,端口爲:1508

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

結束

 

本文總體講述了VisualRules規則引擎產品如何安裝,配置規則,測試規則,協同管理規則,部署規則,規則執行,規則服務等

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                         Author:駱軍

 

                                                                                                                        

 

                                                                                                                         Tel13738197559

 

                                                                                                                         郵箱:[email protected]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章