歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠(chéng)信通企業(yè)
全國(guó)咨詢(xún)熱線(xiàn):40000-63966
興邦電子,中國(guó)水控機(jī)第一品牌

聯(lián)系興邦電子

全國(guó)咨詢(xún)熱線(xiàn):40000-63966

售后:0371-55132951/55132952

工廠(chǎng):河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

基于BRMS的“旅游一卡通”計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)

文章出處:http://www.xianjuhong.com 作者:張燕玲 潘正運(yùn) 王莉   人氣: 發(fā)表時(shí)間:2012年01月23日

[文章內(nèi)容簡(jiǎn)介]:對(duì)業(yè)務(wù)規(guī)則管理系統(tǒng)技術(shù)進(jìn)行了介紹,并從“旅游一卡通”計(jì)費(fèi)系統(tǒng)這個(gè)需要大量業(yè)務(wù)規(guī)則的應(yīng)用領(lǐng)域出發(fā),對(duì)業(yè)務(wù)規(guī)則管理系統(tǒng)技術(shù)的應(yīng)用進(jìn)行了研究與設(shè)計(jì)。提出了一個(gè)適合該系統(tǒng)的業(yè)務(wù)對(duì)象模型,并對(duì)如何根據(jù)業(yè)務(wù)對(duì)象模型,提取目前以參數(shù)化和程序形式“固化”在計(jì)費(fèi)系統(tǒng)的業(yè)務(wù)規(guī)則進(jìn)行了論述。

  隨著科技不斷進(jìn)步和信息化時(shí)代的到來(lái),旅游行業(yè)的管理也在不斷地進(jìn)行信息化的革命。單個(gè)獨(dú)立的應(yīng)用系統(tǒng)已經(jīng)不能滿(mǎn)足旅游系統(tǒng)綜合管理的需求,而對(duì)“旅游一卡通”系統(tǒng)的開(kāi)發(fā)將有效地整合卡應(yīng)用系統(tǒng)的信息資源,使游客在河南旅游時(shí)可以通過(guò)簡(jiǎn)單的一張卡實(shí)現(xiàn)所有消費(fèi)。但是由于“旅游一卡通”系統(tǒng)涉及到吃、住、行、游、購(gòu)、娛6大要素,旅游行業(yè)間的競(jìng)爭(zhēng)也越來(lái)越激烈,各個(gè)運(yùn)營(yíng)商要不斷地推出新的服務(wù),有針對(duì)性地向用戶(hù)提供各種新的計(jì)費(fèi)規(guī)則,及時(shí)回應(yīng)競(jìng)爭(zhēng)對(duì)手的策略變換。所有這些需求使得“旅游一卡通”系統(tǒng)的業(yè)務(wù)規(guī)則復(fù)雜多變,能否對(duì)其實(shí)行有效的管理就極大地依賴(lài)于“旅游一卡通”計(jì)費(fèi)系統(tǒng)的有效支持。

  在許多傳統(tǒng)的計(jì)費(fèi)系統(tǒng)中,由于業(yè)務(wù)規(guī)則以程序代碼的方式“固化”在系統(tǒng)中,缺乏真正的靈活性,使運(yùn)營(yíng)商要推出新的服務(wù)或推出新的優(yōu)惠計(jì)劃時(shí),必須通過(guò)IT人員編寫(xiě)代碼的方式來(lái)修改規(guī)則,然后經(jīng)過(guò)繁復(fù)測(cè)試才能部署實(shí)施。這導(dǎo)致業(yè)務(wù)策略的變動(dòng)周期非常的漫長(zhǎng)。同時(shí),由于業(yè)務(wù)規(guī)則是面向技術(shù)人員的程序代碼,使業(yè)務(wù)策略無(wú)法被業(yè)務(wù)人員真正的掌握和管理。而本文提出的一種基于業(yè)務(wù)規(guī)則管理系統(tǒng)的計(jì)費(fèi)系統(tǒng)可以使業(yè)務(wù)規(guī)則與程序代碼分離,使得對(duì)業(yè)務(wù)規(guī)則能夠進(jìn)行有效地管理和靈活的運(yùn)用。

  1 業(yè)務(wù)規(guī)則管理系統(tǒng)

  1.1 業(yè)務(wù)規(guī)則管理系統(tǒng)概述

  業(yè)務(wù)規(guī)則管理技術(shù)是伴隨著面向?qū)ο蠹夹g(shù)、軟件構(gòu)件技術(shù)、人工智能、數(shù)據(jù)庫(kù)、XML(數(shù)據(jù)庫(kù)的表示)等相關(guān)技術(shù)的發(fā)展而出現(xiàn)的,具有規(guī)則管理、規(guī)則部署、規(guī)則分析、規(guī)則定制和設(shè)計(jì)功能。業(yè)務(wù)規(guī)則管理系統(tǒng)是一組工具集,包括:

  (1)規(guī)則引擎(Rules Engine):規(guī)則引擎是執(zhí)行業(yè)務(wù)規(guī)則的軟件組件,它嵌入在程序中,是業(yè)務(wù)規(guī)則管理系統(tǒng)的核心元素。規(guī)則引擎的類(lèi)型有:簡(jiǎn)單型,數(shù)據(jù)中心型和面向事務(wù)型。

  (2)規(guī)則庫(kù)(Rules Repository):規(guī)則庫(kù)用于存儲(chǔ)規(guī)則和規(guī)則元數(shù)據(jù)(Meta Data)以及與規(guī)則有關(guān)的屬性。它提供一組工具用于存儲(chǔ)、分類(lèi)、查詢(xún)、版本控制、權(quán)限控制、測(cè)試、提交等,規(guī)則的狀態(tài)和有效性可以跟蹤。

  (3)規(guī)則語(yǔ)言框架(Rules Language Framework):規(guī)則語(yǔ)言一般分為兩類(lèi):“面向程序技術(shù)”的規(guī)則語(yǔ)言,使用者是技術(shù)人員;“面向業(yè)務(wù)”的規(guī)則語(yǔ)言,使用者是業(yè)務(wù)人員。規(guī)則語(yǔ)言框架是為定制“面向業(yè)務(wù)”的規(guī)則語(yǔ)言提供支持。

  (4)規(guī)則集成開(kāi)發(fā)環(huán)境(Rules IDE):一般規(guī)則集成開(kāi)發(fā)環(huán)境只有規(guī)則編輯器,而高級(jí)的規(guī)則集成開(kāi)發(fā)環(huán)境可以實(shí)現(xiàn)對(duì)規(guī)則和規(guī)則庫(kù)的管理:如規(guī)則的創(chuàng)建、分類(lèi)、檢索、修改、版本控制、權(quán)限管理。

  BRMS的模塊結(jié)構(gòu)如圖1所示。 


  1.2 BRMS的基本原理

  BRMS的基本原理是用一個(gè)或多個(gè)規(guī)則引擎替換“固化”在計(jì)費(fèi)程序不同位置的業(yè)務(wù)規(guī)則(邏輯)的程序代碼。被替換的業(yè)務(wù)規(guī)則(邏輯)存儲(chǔ)在程序之外的規(guī)則庫(kù)中;規(guī)則庫(kù)中的規(guī)則可以通過(guò)圖形化規(guī)則管理工具實(shí)現(xiàn)定制、修改和部署,如圖2所示。 


  1.3 基于BRMS的系統(tǒng)開(kāi)發(fā)

  基于BRMS的系統(tǒng)開(kāi)發(fā)可以劃分為3個(gè)階段:

  (1)設(shè)計(jì)階段:這個(gè)階段與傳統(tǒng)的系統(tǒng)開(kāi)發(fā)不同點(diǎn)在于,除了技術(shù)架構(gòu)(包括規(guī)則引擎的位置安排)和基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)之外,最主要是完成業(yè)務(wù)對(duì)象模型(BOM)的設(shè)計(jì),為業(yè)務(wù)規(guī)則的開(kāi)發(fā)提供必要的“詞匯”;定義規(guī)則的組織結(jié)構(gòu);設(shè)計(jì)業(yè)務(wù)規(guī)則的模板。

  (2)開(kāi)發(fā)階段:這個(gè)階段包括業(yè)務(wù)規(guī)則開(kāi)發(fā)和系統(tǒng)程序的開(kāi)發(fā)。

  (3)部署階段:這個(gè)階段主要是業(yè)務(wù)規(guī)則服務(wù)的部署。業(yè)務(wù)規(guī)則服務(wù)(Rule Service)分布在系統(tǒng)的不同位置上,每個(gè)提供規(guī)則服務(wù)的模塊都嵌入了規(guī)則引擎,不同的規(guī)則服務(wù)可能使用不同的規(guī)則集。在這階段中,部署人員需要通過(guò)系統(tǒng)提供的方法或規(guī)則管理工具把不同的規(guī)則集部署到系統(tǒng)的對(duì)應(yīng)位置上,使規(guī)則引擎可以訪(fǎng)問(wèn)到它們需要的規(guī)則集。

  2“旅游一卡通”計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)

  “旅游一卡通”計(jì)費(fèi)系統(tǒng)是利用BRMS技術(shù)對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)的,這樣可以使業(yè)務(wù)規(guī)則在系統(tǒng)外被定制,運(yùn)營(yíng)商無(wú)須開(kāi)發(fā)人員介入,就可以讓他們的業(yè)務(wù)人員創(chuàng)建和修改規(guī)則。

  在旅游計(jì)費(fèi)系統(tǒng)中,業(yè)務(wù)規(guī)則時(shí)刻扮演著非常重要的角色。它能很好地把繁雜的計(jì)費(fèi)規(guī)則,如優(yōu)惠、折扣規(guī)則等提取到系統(tǒng)之外進(jìn)行管理,同時(shí)配合高性能的規(guī)則引擎和友好的規(guī)則用戶(hù)界面,使得業(yè)務(wù)人員能夠迅速地根據(jù)市場(chǎng)的變化而改變它們的促銷(xiāo)策略。

  2.1 系統(tǒng)總體結(jié)構(gòu)

  本系統(tǒng)在ILOG JRules上進(jìn)行總體設(shè)計(jì),選用J2EE為系統(tǒng)開(kāi)發(fā)部署平臺(tái),如圖3所示。JRules是由ILOG公司開(kāi)發(fā)的一套業(yè)務(wù)規(guī)則管理系統(tǒng)的通用軟件,它可以為系統(tǒng)的開(kāi)發(fā)提供圖形化的界面,具有完備的功能;J2EE平臺(tái)為設(shè)計(jì)、開(kāi)發(fā)和部署業(yè)務(wù)規(guī)則應(yīng)用程序提供了一種基于組件的方法。整個(gè)系統(tǒng)分為前臺(tái)Web客戶(hù)端顯示模塊和后臺(tái)處理模塊兩個(gè)部分。Web客戶(hù)端有兩種界面:

  (1)針對(duì)業(yè)務(wù)定制人員的Web Rule Builder編譯器。業(yè)務(wù)人員通過(guò)在規(guī)則編輯器中編寫(xiě)規(guī)則,然后將編輯的內(nèi)容提交到后臺(tái)計(jì)費(fèi)規(guī)則管理模塊中,由計(jì)費(fèi)規(guī)則管理模塊對(duì)計(jì)費(fèi)規(guī)則庫(kù)進(jìn)行更新;另一方面,計(jì)費(fèi)規(guī)則管理模塊可以通過(guò)遠(yuǎn)程調(diào)用接口調(diào)用規(guī)則服務(wù)組件,將更新的規(guī)則直接作用于應(yīng)用程序,以便于前臺(tái)規(guī)則使用人員使用新的規(guī)則對(duì)客戶(hù)進(jìn)行計(jì)費(fèi)處理。

  (2)面向規(guī)則使用人員的Web App Portal。規(guī)則使用人員通過(guò)應(yīng)用程序接口于計(jì)費(fèi)規(guī)則會(huì)話(huà)Bean進(jìn)行交互,同時(shí)激活規(guī)則服務(wù)組件對(duì)規(guī)則庫(kù)進(jìn)行操作,取出符合需求的計(jì)費(fèi)規(guī)則返回給應(yīng)用程序接口,前臺(tái)計(jì)費(fèi)業(yè)務(wù)人員根據(jù)相應(yīng)的計(jì)費(fèi)規(guī)則從客戶(hù)的“旅游一卡通”IC卡中扣除相應(yīng)的金額。

  圖3 BRMS旅游計(jì)費(fèi)系統(tǒng)的總體結(jié)構(gòu) 


第1頁(yè)第2頁(yè)
  
  2.2 系統(tǒng)業(yè)務(wù)對(duì)象模型BOM(Business Object Model)的建立

  業(yè)務(wù)規(guī)則模型的設(shè)計(jì)是基于規(guī)則系統(tǒng)的非常關(guān)鍵的步驟,它直接關(guān)系到整個(gè)系統(tǒng)是否能夠真正靈活地運(yùn)轉(zhuǎn)起來(lái)。業(yè)務(wù)模型是由一組類(lèi)(Class)構(gòu)成,每個(gè)類(lèi)包含屬性(Property)和一些方法(Method)。類(lèi)的屬性、類(lèi)與類(lèi)的關(guān)系將會(huì)出現(xiàn)在業(yè)務(wù)規(guī)則的條件部分(Condition),類(lèi)中的屬性值與導(dǎo)入到引擎中的許多規(guī)則的條件進(jìn)行匹配,如果某些對(duì)象(或?qū)ο笾g的關(guān)系)滿(mǎn)足某個(gè)規(guī)則的條件的定義,那么引擎將觸發(fā)規(guī)則的執(zhí)行部分。

  2.2.1 業(yè)務(wù)對(duì)象的分析

  “旅游一卡通”系統(tǒng)是一個(gè)復(fù)雜的消費(fèi)系統(tǒng),它不僅涉及消費(fèi)者,而且整個(gè)旅游行業(yè)的所有企業(yè),包括酒店、餐飲、旅行社、景區(qū)景點(diǎn)等都是組成這個(gè)系統(tǒng)的關(guān)鍵要素。建立完善的旅游計(jì)費(fèi)系統(tǒng)就必須抽象出這些獨(dú)立業(yè)務(wù)對(duì)象的共性,建立統(tǒng)一的、具有共同特征的業(yè)務(wù)對(duì)象實(shí)體。在本系統(tǒng)的設(shè)計(jì)中,抽象出了以下業(yè)務(wù)對(duì)象:

  (1)客戶(hù)(Customer)對(duì)象:這里的Customer對(duì)象是特指利用“旅游一卡通”進(jìn)行消費(fèi)的游客,是消費(fèi)的主體。Consume對(duì)象在消費(fèi)過(guò)程中可以享受相應(yīng)的免費(fèi)資源、折扣和優(yōu)惠措施。在系統(tǒng)中該對(duì)象具有一定的類(lèi)型屬性,根據(jù)不同的企業(yè)所定義的屬性值是不同的。

  (2)企業(yè)(Enterprise)對(duì)象:Enterprise對(duì)象是指組成“旅游一卡通”系統(tǒng)的旅游部門(mén),包括酒店、旅行社、景區(qū)景 點(diǎn)等。

  (3)消費(fèi)項(xiàng)目(Consume)對(duì)象:由于各個(gè)行業(yè)部門(mén)不同所以其中包含的消費(fèi)項(xiàng)目也是大相徑庭的,所以將消費(fèi)項(xiàng)目(Consume)單獨(dú)抽象為一個(gè)業(yè)務(wù)對(duì)象,使之與Enterprise對(duì)象相關(guān)聯(lián)。

  (4)折扣方案(Discount)對(duì)象:折扣是計(jì)費(fèi)系統(tǒng)中比較復(fù)雜的一項(xiàng)業(yè)務(wù)規(guī)則,它主要的特點(diǎn)就是經(jīng)常變動(dòng)。對(duì)于不同的客戶(hù)采取的折扣也是不同的。并且單位采取折扣的時(shí)間是有限制的,所以該對(duì)象具有時(shí)效性和有效性。

  (5)優(yōu)惠方案(Privilege)對(duì)象:優(yōu)惠是計(jì)費(fèi)系統(tǒng)的另一個(gè)重要組成部分,它同樣具有時(shí)效性和有效性。

  2.2.2 業(yè)務(wù)對(duì)象模型的建立

  各個(gè)業(yè)務(wù)對(duì)象之間存在著復(fù)雜的關(guān)聯(lián)。客戶(hù)這個(gè)業(yè)務(wù)對(duì)象是整個(gè)系統(tǒng)的消費(fèi)主體,其消費(fèi)行為通過(guò)“旅游一卡通”直接與所有系統(tǒng)中的企業(yè)對(duì)象實(shí)體相聯(lián)系??蛻?hù)在系統(tǒng)中消費(fèi)時(shí)可能和多個(gè)企業(yè)對(duì)象相聯(lián)系,所以抽象其業(yè)務(wù)對(duì)象屬性CustomerEnterprise[]與消費(fèi)企業(yè)對(duì)象進(jìn)行關(guān)聯(lián)。

  企業(yè)這個(gè)業(yè)務(wù)對(duì)象實(shí)體是整個(gè)計(jì)費(fèi)系統(tǒng)得關(guān)鍵所在。因?yàn)橄到y(tǒng)中的企業(yè)是完全獨(dú)立的個(gè)體,在實(shí)施計(jì)費(fèi)策略時(shí)是大不相同的,而且對(duì)于單個(gè)CustomerEnterprise對(duì)象內(nèi)部不同消費(fèi)項(xiàng)目的計(jì)費(fèi)策略也不完全相同。每個(gè)CustomerEnterprise包括若干消費(fèi)項(xiàng)目Consume,通過(guò)屬性Consume[]與消費(fèi)項(xiàng)目實(shí)體相關(guān)聯(lián);企業(yè)可能對(duì)所有的消費(fèi)項(xiàng)目,也可能針對(duì)某消費(fèi)項(xiàng)目實(shí)施折扣、優(yōu)惠等方案,所以不單單是企業(yè)而且消費(fèi)項(xiàng)目都與折扣、優(yōu)惠和免費(fèi)對(duì)象實(shí)體相關(guān)。它們通過(guò)屬性FreeItem[]與免費(fèi)資源對(duì)象的關(guān)聯(lián),通過(guò)DiscountPlan[]對(duì)象屬性與折扣方案對(duì)象關(guān)聯(lián),通過(guò)PrivilegePlan[]與優(yōu)惠方案對(duì)象關(guān)聯(lián)。

  根據(jù)以上分析抽象系統(tǒng)的業(yè)務(wù)對(duì)象模型如圖4所示(略)。

  2.3 規(guī)則引擎的嵌入和使用

  業(yè)務(wù)規(guī)則引擎的嵌入和使用步驟??梢园凑障旅娴幕静襟E實(shí)現(xiàn)規(guī)則引擎的嵌入和使用(采用ILOG JRules的API):

  (1)創(chuàng)建一個(gè)規(guī)則引擎對(duì)象(這是ILOG JRules)提供的對(duì)象。
  // Create an ILOG rule engine
  IlrContext myEngine = new IlrContext();

  (2)從規(guī)則庫(kù)中取得與計(jì)費(fèi)相關(guān)的規(guī)則包,并加載到規(guī)則引擎中。(注意:這里折扣規(guī)則包存儲(chǔ)在名字是“Discount-rules”的文件中,優(yōu)惠規(guī)則包存儲(chǔ)在“Privilege-rules”如果規(guī)則包保存在數(shù)據(jù)  庫(kù)中,需要使用其它的API)
  //get the IlrRuleset associated with myContext
  IlrRuleset myRuleset=myContext.getRuleset();
  //Add rules to myRuleset
  myRuleset.parseFileName(“Consume-rules”);
  myRuleset.parseFileName(“Discount-rules”);
  myRuleset.parseFileName(“Privilege-rules”);
  myRuleset.parseFileName(“FreeItem-rules”);

  (3)使用引擎的API,向規(guī)則引擎導(dǎo)入客戶(hù)對(duì)象(Customer),企業(yè)對(duì)象(Enterprise),該客戶(hù)的消費(fèi)方案(Plan),該客戶(hù)的優(yōu)惠方案(Privilege),折扣方案(Discount)和該客戶(hù)相關(guān)的有效免費(fèi)資源(FreeItem)。引擎將對(duì)導(dǎo)入的所有對(duì)象的屬性值與當(dāng)前加載的規(guī)則包中的優(yōu)惠規(guī)則進(jìn)行匹配比對(duì),把匹配的規(guī)則放在一個(gè)規(guī)則執(zhí)行隊(duì)列中。
  myEngine.insert(Customer);//提交客戶(hù)信息
  myEnterprise.insert(Enterprise);//提交企業(yè)信息
  for (int ii=0;ii<…; ii++
  { //提交與企業(yè)相關(guān)的消費(fèi)項(xiàng)目信息
  myEngine.insert(Consume[ii]);
  }
  for (int ii=0;ii<…; ii++
  { //提交該客戶(hù)相關(guān)的免費(fèi)資源信息
  myEngine.insert(freeItem[ii]);
  }
  for (int ii=0; ii<……; ii++) {//提交該客戶(hù)相關(guān)優(yōu)惠方案信息
  myEngine.insert(Privilege [ii]);
  }
  for (int ii=0; ii<……; ii++) {//提交該客戶(hù)相關(guān)折扣方案信息
  myEngine.insert(Discount[ii]);
  }

  (4)使用引擎的API,通知引擎執(zhí)行規(guī)則執(zhí)行隊(duì)列中的規(guī)則實(shí)例,即觸發(fā)規(guī)則執(zhí)行部分的方法。在引擎逐個(gè)執(zhí)行規(guī)則的過(guò)程中,會(huì)出現(xiàn)這樣一些可能操作:一些對(duì)象的屬性值將會(huì)被修改(如免費(fèi)資源的可用量會(huì)減少);有些新的對(duì)象被創(chuàng)建,如新的免費(fèi)資源被生成等。引擎會(huì)在每個(gè)規(guī)則被執(zhí)行之后會(huì)自動(dòng)作這樣的檢驗(yàn):當(dāng)前狀態(tài)下,“規(guī)則執(zhí)行隊(duì)列”中等待執(zhí)行的規(guī)則是否還滿(mǎn)足條件,剔除不滿(mǎn)足條件的等待執(zhí)行的規(guī)則;同時(shí)檢查規(guī)則包中原來(lái)沒(méi)有在“執(zhí)行隊(duì)列”的規(guī)則是否符合當(dāng)前狀態(tài)的規(guī)則,如果有則把它們加入到“執(zhí)行序表(Agenda)”中。引擎最終會(huì)清空“執(zhí)行隊(duì)列”。
  // execute the rules on the agenda
  myEngine.fireAllRules();
  使用引擎的API把引擎中的對(duì)象取出并導(dǎo)出(如回存數(shù)據(jù)庫(kù)等)
  // retrieve updates objects from engine
  myEngine.getObjects();
  // output code…
  …
  // empty engines for next time use
  myEngine.removeObjects(); //從引擎中撤除所有對(duì)象,為下一//個(gè)優(yōu)惠處理作準(zhǔn)備。
 
  3 結(jié)束語(yǔ) 

  本文對(duì)BRMS系統(tǒng)在“旅游一卡通”計(jì)費(fèi)系統(tǒng)中的應(yīng)用與開(kāi)發(fā)進(jìn)行了研究。本系統(tǒng)的設(shè)計(jì)大大簡(jiǎn)化了對(duì)“旅游一卡通”計(jì)費(fèi)系統(tǒng)業(yè)務(wù)規(guī)則的開(kāi)發(fā)與管理,該系統(tǒng)是目前比較符合實(shí)際的較為理想的“旅游一卡通”計(jì)費(fèi)系統(tǒng)。它的應(yīng)用必將極大地提高旅游市場(chǎng)計(jì)費(fèi)業(yè)務(wù)規(guī)則的管理效率,具有廣闊的市場(chǎng)前景。

第1頁(yè)第2頁(yè)

本文關(guān)鍵詞:旅游一卡通,管理,計(jì)費(fèi)系統(tǒng)
回到頂部