国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
企業(yè)平臺中的業(yè)務規(guī)則引擎(轉載與dev2dev)
dev2dev 首頁 > 資源中心 > 技術文章
企業(yè)平臺中的業(yè)務規(guī)則引擎

時間:2005-07-19
作者:
瀏覽次數(shù): 4032
本文關鍵字:業(yè)務規(guī)則Portal 平臺
文章工具
 推薦給朋友
 打印文章
  業(yè)務策略并不是靜態(tài)的,它們經常變更,且其關聯(lián)的業(yè)務流程也會隨之變更。正是由于這些變更,故而有必要在實現(xiàn)和修改業(yè)務流程時保持靈活性,從而在激烈的競爭中贏得一席之地。業(yè)務規(guī)則引擎 可以實現(xiàn)所需的這種靈活性。
  本文將準工業(yè)標準ILOG Jrules與BEA WebLogic Platform 8.1內的基于XML的規(guī)則引擎進行了比較。文章還討論了在將規(guī)則引擎集成到J2EE平臺過程中Java Specification Request (JSR) 94所扮演的角色。因為業(yè)務規(guī)則在重要的真正業(yè)務流程中具有很高的復雜性,所以對諸如銷售代表這樣的非IT人員來說,擁有一個工具環(huán)境且能保證其有適當?shù)目捎眯允欠浅V匾?。本文使用了一個基于銀行的真正業(yè)務流程的應用程序作為原型進行討論。

動機
  更新業(yè)務流程的平均周期已經從1980年的84個月縮短到了現(xiàn)在的6個月,而且IT解決方案交付周期也從30個月縮短到了3個月(參見圖1)。在銀行業(yè)也是這樣。其中的核心元素包括銀行業(yè)的工業(yè)化、消費者需求的更改、競爭的日趨激烈以及政府調控的影響。另外,銀行的業(yè)務環(huán)境和操作流程也在不斷變化。但是,當試圖使受影響的軟件系統(tǒng)適應這些改變時,出現(xiàn)了很大的延遲。從技術的觀點來看,有高度適應性和靈活性是很有必要的。但是因為銀行擁有高度異構的系統(tǒng)拓撲,其系統(tǒng)和接口(包含單片主機系統(tǒng))的數(shù)量非??捎^,所以要實現(xiàn)這一點很難。

 


圖1. 1980年以來業(yè)務流程周期和IT解決方案交付周期的發(fā)展

  面向服務的架構(SOA)能提供調整業(yè)務流程和技術實現(xiàn)過程中所需的靈活性。此處對帶有封裝的功能的服務進行了定義,這些服務通過標準化的接口和協(xié)議(如SOAP、WSDL、UDDI或J2EE連接器架構)訪問各種系統(tǒng)(可能包括現(xiàn)存的系統(tǒng))的功能。通過將服務封送或“編排”進可執(zhí)行的業(yè)務流程中,SOA可參考業(yè)務用戶的觀點對技術觀點進行調整。目前,業(yè)務流程建模是基于所謂的“工作流管理系統(tǒng)”完成的。在建模過程中,會將業(yè)務流程映射為描述語言(已標準化或正在標準化)。利用這一點,無需“硬編碼”即可對業(yè)務流程進行調整,從而在運行時即時滿足各種新要求。在《BIT》雜志的“銀行業(yè)與信息技術”(2004年第2卷第3期)中,討論了此架構在銀行中與各種工作流符號(如eEPK、UML活動圖、BPEL、XPDL以及JPD)結合的一個實現(xiàn)。
  為了提高業(yè)務流程實現(xiàn)的抽象層次和靈活性,業(yè)務規(guī)則引擎可以部署在SOA框架內。這些規(guī)則引擎將業(yè)務流程內的決策從用編程語言完成的實際實現(xiàn)隔離開來。

業(yè)務規(guī)則與企業(yè)平臺
  在分析例子之前,有必要了解一下“業(yè)務規(guī)則”這個術語的含義以及此領域已有的標準。

業(yè)務規(guī)則
  對于銀行而言,管理機構、競爭對手、客戶和整個市場情況不斷帶來各種變更,必須將這些變更作為業(yè)務規(guī)則。業(yè)務規(guī)則專家組 (BRG) 規(guī)定了業(yè)務規(guī)則的兩個定義。第一個定義與業(yè)務觀點相關,而第二個定義與IT相關:

  • “從業(yè)務的角度看,業(yè)務規(guī)則是一種原則,包含在特定活動或范圍內關于指導、操作、實踐或過程的行為規(guī)范。”
  • “從信息系統(tǒng)的角度看,業(yè)務規(guī)則是一個定義或限制業(yè)務某些方面的聲明。業(yè)務規(guī)則旨在用于斷言業(yè)務結構,或者控制或影響業(yè)務行為。”

  運行時,規(guī)則引擎 必須對這些業(yè)務規(guī)則進行解釋??梢詫⒁?guī)則引擎理解為一種高性能的專用解釋程序,其中包含if-then命令,可根據(jù)預先定義的規(guī)則對轉換的值和對象進行分析,然后返回修改后的值和對象,或直接執(zhí)行操作。因此,大多數(shù)規(guī)則引擎使用“Rete” 算法,并支持演繹和歸納。
  為了彌合業(yè)務觀點和IT觀點間的差距,就產生了對業(yè)務規(guī)則管理系統(tǒng)(BRMS)的需求。在BRMS中,會將公司使用的策略和過程進行結合,以管理業(yè)務規(guī)則的整個生命周期。因此,受影響的部門和非IT人員必須能夠實時地修改IT基礎架構,以適應一般條件和策略。

企業(yè)平臺
  企業(yè)平臺(EP)可以看作SOA集成開發(fā)與運行時環(huán)境,這個環(huán)境涵蓋了全公司范圍的IT基礎架構。此類平臺的功能分布在三個層次:門戶層、集成層和應用程序服務器層。
  門戶層實現(xiàn)所有相關的信息和應用程序“單點訪問”,保證真正單點實現(xiàn)客戶、業(yè)務合作伙伴及員工訪問。門戶和有關資源的訪問權由用戶角色決定,以方便內容管理和實現(xiàn)個性化。
  集成層提供所有需要的服務,用于連接應用程序、業(yè)務流程和業(yè)務合作伙伴,以及在各種應用程序間進行數(shù)據(jù)集成和數(shù)據(jù)轉換。
  應用程序服務器層是企業(yè)平臺的基礎。應用程序服務器必須滿足與(全局)事務的實現(xiàn)、管理和協(xié)調有關的所有要求,并提供高性能、高可用性和可伸縮性。

標準
  廣泛使用異構計算機系統(tǒng),則意味著要采用標準,以達到必要的互操作水平。通常將互操作性理解為通信和協(xié)作的能力,可允許一個系統(tǒng)內的應用程序訪問另一個系統(tǒng)內的數(shù)據(jù)或程序。使用標準的另一個目的是定義通用接口,以支持對互操作進行編程。
  Java Specification Request (JSR) 94描述了軟件工程師如何通過API將規(guī)則引擎集成到應用程序中,以及規(guī)則引擎供應商必須如何實現(xiàn)此類API。
  不過,JSR 94沒有提供描述業(yè)務規(guī)則的定義。JSR 94的目標是在不確定規(guī)則引擎供應商的情況下幫助把規(guī)則引擎集成到Java 應用程序中。JSR 94沒有為任何類型的業(yè)務規(guī)則(如,基于XML的、基于統(tǒng)一數(shù)據(jù)的或基于對象模型的)指定描述語言。

規(guī)則集的實驗性實現(xiàn)
  現(xiàn)在把我們的注意力轉向規(guī)則集的一個實驗。我們將首先研究實驗本身,然后再分析其在WebLogic Portal 8.1和ILOG Jrules中的實現(xiàn)。

場景
  我們的實驗解決兩個問題。首先是采用“push 概念”的方式進行面向事件的客戶處理,即根據(jù)其在EP門戶內的需求主動處理客戶。在面向事件的客戶處理的上下文中,會利用基于用戶給定的事件的業(yè)務規(guī)則,向已登錄的用戶顯示個性化的內容。此類規(guī)則與以下所示類似:
  如果用戶具有影響信用額度的“change of house”事件,而此事件尚未發(fā)生,則將向年滿18歲或18歲以上的用戶顯示一個信用額度啟事。
  該規(guī)則轉換為ECAA符號(Event, Condition, Action, Alternative Action)如下所示:

ON Change of house
IF Customer credit-worthy AND
above 18 AND not yet addressed
DO Show credit advertisement
ELSE ---

  其次,是在集成層內將規(guī)則引擎(各個業(yè)務規(guī)則)集成到業(yè)務流程的建模和運行庫中。這是基于在線貸款業(yè)務流程實現(xiàn)的,此流程中具有自動信用確定功能和后臺辦公流程(在此處通過規(guī)則引擎進行決策)。
  我們的目標是在WebLogic Platform 8.1和ILOG JRules中實現(xiàn)所有這些問題。

利用BEA WebLogic 8.1 Service Pack 3進行實現(xiàn)
  門戶規(guī)則服務屬于Weblogic Portal 8.1,用于在門戶應用程序中實現(xiàn)個性化。它的實現(xiàn)需要借助不同組件:
user segments、campaigns、content selectors以及Java Server Pages (JSP)內的個性化標簽。
  WebLogic Workshop 8.1具有合適的用戶界面,利用此界面,可以在很高的抽象層次上更改這些組件。更重要的是,2004年發(fā)布的Service Pack 3能提供對附加組件的API訪問,可直接訪問基礎規(guī)則引擎。這就是規(guī)則控件和“RulesManager” Enterprise JavaBean (EJB)。
  WebLogic Portal 8.1規(guī)則包含稱為規(guī)則集的XML文檔。規(guī)則集的基本設置如下所示:

<ruleset><rule><condition>Left Hand Side expression: Event (ON) and Condition (IF)</condition><action>Right Hand Side expression: Action (DO)</action></rule></ruleset>

所有的規(guī)則都以ruleset元素內的rule元素的形式出現(xiàn)。此處映射左邊(LHS)表達式,即Event (ON) and Condition (IF)。單獨的元素是condition,在此元素內可以將條件與邏輯運算符鏈接。如果LHS為true,則將執(zhí)行RHS(位于action元素內)的Action (DO)。也可以在工作內存中對轉換過的對象進行操作,或在其中創(chuàng)建新對象。不過,可能對象的列表(類型映射)僅限于小部分的類型。
  可以從WebLogic Platform 8.1的所有主要組件訪問規(guī)則引擎,特別是集成層和門戶層。
  由于規(guī)則引擎的對象類型數(shù)據(jù)有限,故而不可能實現(xiàn)在線貸款流程。因此必須將ILOG的規(guī)則引擎作為插件安裝。

利用ILOG JRules 4.6進行實現(xiàn)
  ILOG JRules 4.6是一套完整的BRMS,可以將其視為目前業(yè)務規(guī)則領域的行業(yè)標準。圖2演示了如何將BRMS集成到Java 2 Enterprise Edition (J2EE)架構中。


圖2. ILOG Jrules應用示例

  圖2摘自ILOG JRules 4.6白皮書。在JRules 4.6中可以使用全部應用程序對象模型,包括所有XML架構。Java和XML對象被組合為一個業(yè)務對象模型 (BOM)。利用BOM,可以將對象及其方法轉換為自然語言的短語。因此,例如將對象Customer分配給短語“the customer”,將方法getAge分配給“the age of”。則抽象為自然語言的示例規(guī)則如下所示:

If the age of the customer is greater than 18 And ... Then ...

  

其中,粗體部分顯示的是Rule Builder的既定元素,下劃線部分顯示的是BOM中的翻譯,而斜體部分顯示的是Rule Builder內的用戶輸入。
  也可以采用規(guī)則集的方式組織這些規(guī)則。對象(Java 和 XML)加載到內存中后,就可以根據(jù)這些規(guī)則集進行運行。然后規(guī)則可以操縱或創(chuàng)建任何的對象。規(guī)則集和BOM保存在規(guī)則庫中。因此,規(guī)則管理程序和管理員可以根據(jù)其角色對規(guī)則進行訪問、更新和部署,從而涵蓋業(yè)務規(guī)則的整個生命周期(創(chuàng)建、部署、更新、刪除)。

比較
  WebLogic Portal 8.1提供了業(yè)務規(guī)則功能,但到目前為止,此功能只是用于WebLogic Platform 8.1內的活動管理和用戶分段。Service Pack 3 通過提供API增強了規(guī)則引擎的功能。不過,其使用仍然僅限于進行個性化。ILOG JRules 4.6具有無限制的規(guī)則引擎,是一套完整的BRMS。
  實現(xiàn)的結果表明WebLogic Portal 8.1的規(guī)則功能適用于較為簡單的個性化和活動管理任務。創(chuàng)建和更新活動和用戶分段已集成到WebLogic Workshop 8.1 IDE中,能在高抽象層次執(zhí)行這些任務,且只能由具有適當權限的人員執(zhí)行此類任務。不過,只能在WebLogic Platform 8.1環(huán)境中部署規(guī)則引擎,不能在任何其他供應商的平臺上使用。
  對于更復雜的個性化規(guī)則(通過結合AND和OR語句),可以使用規(guī)則服務定義XML格式的規(guī)則集。不過,必須在本機XML中創(chuàng)建和編輯規(guī)則。XML編輯器還不足以涵蓋相應的抽象層次,而且,相對于Java代碼映射而言,具有多于三個條件的規(guī)則和包含兩個以上規(guī)則的規(guī)則集都更加復雜化,更加容易混淆。
  ILOG JRules 4.6本身就是一個靈活的BRMS,涵蓋了業(yè)務規(guī)則的整個生命周期。ILOG JRules 4.6內的規(guī)則引擎是J2EE應用程序,可以部署到任何J2EE項目。另外,ILOG能輕松集成到IDE環(huán)境中,可以利用Java控件調用規(guī)則引擎。對于較大規(guī)模的項目來說,集成和使用ILOG JRules 4.6一類的規(guī)則管理系統(tǒng)是可能的,也是值得這樣做的。最后,結果表明,對于面向事件的客戶處理和銀行業(yè)務流程工業(yè)化二者的實現(xiàn)而言,ILOG JRules 4.6這樣的BRMS是絕對必不可少的。

結束語
  如其他行業(yè)早期一樣,銀行正面臨將推動該行業(yè)進一步發(fā)展的結構變更。在這種情況下,銀行業(yè)關心的主要問題是業(yè)務的劃分、全球跨行業(yè)務往來,技術集成以及持續(xù)的數(shù)字化進程。
  為了應對即將來臨的變更,業(yè)務流程(從技術觀點出發(fā))必須不斷靈活且迅速地處理好新的挑戰(zhàn)。解決此問題的可能方法之一就是使用EP和EAI。為了讓相關部門獲得更強的業(yè)務處理能力,必須進一步將業(yè)務邏輯從IT和實現(xiàn)端分離。利用業(yè)務規(guī)則和BRMS可以做到這一點。ILOG等BRMS可以輕松與BEA WebLogic Platform和WebLogic Workshop IDE實現(xiàn)集成。對于想在銀行業(yè)以贏家身份出現(xiàn)的企業(yè)而言,將這些工具結合在一起使用可以獲得明顯的競爭優(yōu)勢。

參考資料

  Daniel Jobst在德國的雷根斯堡大學ibi研究中心工作,該中心專門致力于研究銀行業(yè)IT與技術革新。其研究的主要領域是企業(yè)平臺、集成方案和業(yè)務規(guī)則管理系統(tǒng)。除了進行研究工作外,Daniel還為數(shù)家銀行提供集成和規(guī)則項目咨詢。
  Rainer von Ammon自2002年起在上奧地利州應用科學技術大學擔任軟件工程教授,專門研究電子商務基礎架構和分布式系統(tǒng)。他還擔任德國雷根斯堡大學銀行情報學院研究中心的主任。
  Benjamin Gebauer在德國的雷根斯堡大學ibi研究中心工作,該中心專門致力于研究銀行業(yè)IT與技術革新。其研究的主要領域是企業(yè)平臺、集成方案和業(yè)務規(guī)則管理系統(tǒng)。除了進行研究工作外,Benjamin還為數(shù)家銀行提供集成和規(guī)則項目咨詢。

原文出處
http://dev2dev.bea.com/pub/a/2005/04/business_rules_engines.html

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
常見規(guī)則引擎技術
【綜述】ILOG?JRules規(guī)則引擎
使用WEBLOGIC PORTAL規(guī)則引擎在WEBLOGIC INTEGRATION流程中實現(xiàn)動態(tài)業(yè)務邏輯,第一部分
為什么采用BPM
WebLogic Integration BPM 快速體驗(簡介)
29款 業(yè)務規(guī)則引擎開源軟件
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服