便捷的業務規則桌面工具

CloudSpace發表於2010-08-19
朱 慶揚, 軟體工程師, IBM

簡介: WebSphere ILOG Rule Solutions for Office(RSO) 是 WebSphere ILOG BRMS 產品的一個桌面工具,用於編輯管理業務規則。本文將對 RSO 做一個簡要介紹。

引言

隨著現代商業策略越來越複雜 , 龐大 , 以及可能出現的策略快速變更的需求 , 商業規則管理系統 (BRMS) 也就應運而生。 在商業規則管理系統中 , 商業策略以業務規則的形式來表述 , 可以被商業使用者閱讀理解並編輯管理 , 可以直接放到規則引擎中去執行。 而 IBM 的 WebSphere ILOG BRMS 產品就是一款非常優秀的 BRMS 軟體。它以類似自然語言的形式來描述業務規則,併為商業使用者提供了多種容易上手的管理業務規則的方式。 WebSphere ILOG Rule Solutions for Office(RSO) 就是其中之一。本文將對 RSO 做一個簡要介紹

IBM WebSphere ILOG Rule Solutions for Office(RSO)是 WebSphere ILOG Business Rule Management System 的一個重要元件,它使非技術背景的商業使用者可以用熟悉的桌面工具 -Microsoft Office 來編輯和管理業務規則。

Microsoft Office 是一款使用的相當廣泛的辦公軟體。而 WebSphere ILOG Rule Solutions for Office (RSO) 就是構建在 MS Office2007 基礎上的一組外掛 ( 包括 Word 外掛和 Excel 外掛 ),提供了對編寫業務規則的支援。在 WebSphere ILOG BRMS 中 , 業務規則可以儲存為一種名為 RuleDoc 的文件。通過 RSO, 使用者們就可以使用熟悉的 Word 以及 Excel 工具開啟 RuleDoc, 編輯管理自己的業務規則了。

RSO 適用於習慣用 office 來編輯儲存業務邏輯的商業使用者和暫時沒有網路環境或希望進行離線工作的使用者,有著操作簡便,容易上手的優點。根據平臺不同,RuleDoc 可以從以 web 為介面的 Rule Team Server 和以 Visual Studio 為基礎的 Rule Studio for .NET 上生成和同步回去。但不管用哪種平臺,實際操作都相當方便而靈活。

目前 RuleDoc 支援 WebSphere ILOG BRMS 中兩種業務規則表現形式 :

  • 文字性質的業務規則 (business rule):用與自然語言相似的形式,以 if-then 的方式來表述業務邏輯
  • 以表格形式存在的業務規則-決策表 (decision table):用於表述大量的相似業務規則

包含 business rule 的 RuleDoc 以 MS Word 文件的形式儲存。 RSO 的 Word 外掛提供了包括編寫、審查、格式、檢視、內容和定製六組內容的工具欄。(如圖 1)


圖 1. RSO 在 Word 中的工具欄
圖 1. RSO 在 Word 中的工具欄

業務規則示例:

在貸款驗證中,會有類似的商業邏輯:對已經驗證過的貸款請求,根據其風險等級再進行一次審批。

這樣的商業邏輯可以很容易的用類似於自然語言的 if-else 形式來表達:

if 
  'the loan report' is approved and
  the loan grade in 'the loan report' is one of { "A" , "B" , "C" } 
then 
   in 'the loan report',
   accept the loan with the message "Congratulations! Your loan has been approved" ;
else 
   in 'the loan report',
   refuse the loan with the message "We are sorry. Your loan has not been approved" ;
; 

在 RSO 中編寫這樣一條規則,使用者需要做的是選擇文件的空白處(比如文件底部),在規則工具欄點選插入規則(Insert Rule),修改規則名以及在規則內容區域(Rule Body)輸入類似以上 if-else 語句的業務規則。與一般編寫 word 文件不同的是,在輸入業務規則的時候使用者只能使用事先定義的詞彙,以便於和其他 BRMS 元件互動以及在規則引擎中的執行。

不用擔心詞彙的使用,RSO 的 Word 外掛提供了用於內容提示的下拉選單以幫助使用者使用事先定義的詞彙,使用者還是可以方便的像平時編輯 word 文件一樣對業務規則進行處理。RSO 還提供了詞彙檢視(Vocabulary Pane)用來查詢事先定義好的詞彙。

對於已輸入的規則,RSO 提供了語法檢測功能。下圖是一條在 word 中進行編輯的業務規則,規則名是 approval, 分類在包 eligibility 中,具體內容如上文所述,對已審批的貸款根據其風險等級重新評估。劃紅線處是 RSO 檢測到的沒有定義的詞彙。通過下拉選單,使用者可以找到事先定義的內容作為提示替換錯誤部分。


圖 2. 在 RSO 中編輯的業務規則
圖 2. 在 RSO 中編輯的業務規則

RSO 提供了其他便利的功能。使用者可以在規則文件檢視中根據規則名定位規則;可以修改業務規則的屬性;可以把已有業務規則設為模板用於建立新規則;還可以設定和應用規則的格式。

規則流(ruleflow)以直觀的的形式記錄業務規則的執行流程。同一個規則專案的規則流和 business rule 可以儲存在相同的 RuleDoc 上。在 RuleDoc 中 ruleflow 是以一整張圖片的形式儲存的,所以在被 Word 開啟後,ruleflow 本身是不能被編輯的 A 本文以 BRMS 7.0 為基礎。事實上在 BRMS 的最新版本 7.1 中 , RSO 已經提供了對規則流的編輯功能,這樣使用者可以只使用 RSO 就完成編寫規則的所有基本工作,使用起來更方便靈活。不過使用者還能夠對 ruleflow 的屬性進行修改。


圖 3. RSO 中的規則流
圖 3. RSO 中的規則流

包含決策表(decision table)的 RuleDoc 以 MS Excel 文件的形式儲存。與 MS Word 外掛類似 , RSO 的 Excel 外掛也提供了包括建立、編寫、審查、檢視以及定製五組內容的工具欄用於決策表的增 , 刪 , 改 , 查。在 Excel 中一個 sheet 就代表一個決策表。一個單元格不只是顯示的內容,還隱含著規則語句,所以 RSO 的 Excel 外掛提供了獨立的插入複製等選項用於對錶格 , 行列的操作。

在決策表中,不同的列代表著不同的條件或是相應的行動,而每一行就相當於一條業務規則。使用規則規則宣告,每選中一行決策表的有效內容,RSO 就會顯示規則的文字表示形式,以供參考

圖 4 是一個決策表的例項,擁有兩個條件列和兩個行動列。兩個條件列分別定義了等級和貸款金額,兩個行動列則定義了是否需要保險以及保險比率。條件列和行動列組合起來形成了一批相近的規則。


圖 4. RSO 中的決策表
圖 4. RSO 中的決策表

 

RSO 與 WebSphere ILOG BRMS 其他元件的互動

WebSphere ILOG BRMS 根據平臺可以分為 JRules 和 Rules for .Net。 相應的 RSO 也可以生成於以下兩種平臺的元件 :

  • ILOG Rule Team Server
  • ILOG Rule Studio for .NET

ILOG Rule Team Server (RTS) 是 WebSphere ILOG BRMS 提供的一個 web 平臺工具,針對 java 和 .NET 有不同的版本。商業專家們通過它就可以使用瀏覽器進行團隊協作 , 在網頁上完成業務規則的編寫 , 修改 , 檢查 , 組織。而 RSO 則是專家們離線工作的好助手。不管是使用 RTS 還是使用 RSO,通過 RTS 與 RSO 之間的互動 , 規則都會存到一個相同的資料庫中,這樣專家們各自的工作就整合到了一起。

RSO 與 RTS 的工作互動流程如圖 5:

  • 用瀏覽器登陸 RTS 頁面,選擇需要釋出的規則專案,設定 RuleDoc 的釋出位置 , 生成條件,RuleDoc 的結構等,最後生成 RuleDoc
  • 使用 RSO 在 Word 和 Excel 上對 RuleDoc 進行修改。
  • 登陸 RTS,確認 RuleDoc 位置,選擇從 RuleDoc 上更新規則
  • 如果出現這樣的情況:業務規則所在的專案在 RTS 與 RSO 上同樣被編輯過,那麼在更新 RuleDoc 的時候,RTS 就會提醒使用者:RTS 上已修改的規則會被替換,需要使用者檢查所有規則以避免衝突。RTS 介面也提供更新的選項,直接覆蓋 RTS 連線的規則庫中的相關規則,讓使用者靈活使用。不過在實際應用中還是推薦使用 RSO 的使用者重新從 RTS 上生成一遍 RuleDoc,確認沒有衝突後,把自己的修改內容複製到新生成的 RuleDoc,或是根據新的內容重新修改,之後再更新到 RTS 上。


圖 5. RSO 與 RTS 互動示例
圖 5. RSO 與 RTS 互動示例

RuleDoc 也可以由 ILOG Rule Studio .Net 生成。與 RTS 不同,ILOG Rule Studio for .Net 是隻屬於 .Net 的開發環境,它以一組附件的形式完整的整合到 Microsoft Visual Studio 上,使得以 Visual Studio 為開發平臺的程式設計師們能方便的使用同一種環境開發商業規則應用程式和與之整合的 .Net 專案。使用者在 Visual Studio 上完成詞彙定義等工作後,可以通過 Rule Studio 提供的嚮導自動生成 RuleDoc。之後使用者就可以用 RSO 這樣的輕量級工具來方便的管理業務規則了。.Net 平臺的使用者在完成工作後可以選擇把做過的修改同步到 ILOG Rule Studio for .Net 上去

RSO 就是這樣一款以方便商業使用者為目的而開發的工具。它以使用者熟悉的辦公軟體 MS office 為基礎,使使用者能以相對較快的速度掌握工具的使用,把更多精力放在業務規則本身;同時 RSO 又提供了相當全面的功能,使使用者能輕鬆完成規則的編寫;而 ILOG BRMS 其它元件與 RSO 便捷的互動又使得 RuleDoc 容易獲取,也容易彙總。

原文連結:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1008_zhuqy_rso/1008_zhuqy_rso.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-671395/,如需轉載,請註明出處,否則將追究法律責任。

相關文章