[發明專利]一種基于規則引擎的服務動態組合方法和系統無效
| 申請號: | 201110091936.6 | 申請日: | 2011-04-13 |
| 公開(公告)號: | CN102130965A | 公開(公告)日: | 2011-07-20 |
| 發明(設計)人: | 鄧芳;徐艷婷;修佳鵬;陸中遠;薇娜;董燕秋;王晶 | 申請(專利權)人: | 北京郵電大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/24;G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100876*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 規則 引擎 服務 動態 組合 方法 系統 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種基于規則引擎的服務動態組合方法和系統。
背景技術
BPEL作為服務組合的重要手段,是一種業務流程的建模和描述語言。BPEL通過WSDL來聲明提供的服務接口以及依賴的服務接口和數據接口,并通過BPEL的基本活動和流程活動來指定了服務的調用順序,Web服務以順序、選擇、循環、并發等方式來進行。然而在實際應用的時候有兩個問題經常困擾著BPEL的開發和維護人員,即服務組合的伸縮性和柔性的問題。
一方面,BPEL在面對大規模的Web服務組合的時候相當繁瑣,缺乏良好的伸縮性。在銀行、電信、旅游等應用中往往存在著大量的Web服務,一個服務往往存在著若干備用服務以提高流程的可靠性。大量類似的服務在進行組合的時候問題往往難于管理,其XML文件也十分龐大。雖然可以采取分層定義的方法來降低子流程的規模,然而并沒有從總體上減少需要聲明和維護的服務數量。
另一方面,BPEL在面臨業務規則修改的時候經常還是不夠靈活,缺乏柔性。大多數業務流程包含多個業務決策點。在這些業務決策點處需要根據業務的規則分別對不同的決策結果加以不同的方式處理?,F有的實踐方案通常是將規則嵌入到BPEL流程或者Java代碼里。這將導致一些重要的業務規則往往分散在流程及代碼的各個角落,缺乏有效的組織和管理。這加重了修改和維護的負擔。當某些業務規則需要依據靈活的銷售方案,不確定的市場政策等因素進行頻繁的變更時IT往往力不從心?,F代企業常常以實時商業為目標,不斷追求迅速決策帶來的“兩秒優勢”,IT的緩慢帶來了嚴重的損失。
本發明采用規則引擎將業務流程與業務規則分離的方法來解決這兩方面的問題,通過規則引擎動態管理規則的規則和具體服務的選擇,通過BPEL管理服務運作的整體流程。
發明內容
本發明提供一種基于規則引擎的服務動態組合方法和系統,通過規則引擎將業務流程與業務規則分離的方法,實現動態地組合服務。
本發明提供一種基于規則引擎的服務動態組合方法,包括:
攔截web服務調用請求信息和服務響應的返回信息;
為攔截的服務調用請求信息分配唯一的標識號,并將該請求信息插入到規則引擎中,對于攔截到的服務響應信息,將其響應信息插入到規則引擎中;
規則引擎根據業務規則和規則執行需要的上下文數據,推理出該服務的服務處理策略,上下文數據包括但不限于事實、模板、規則、查詢、函數;
根據規則引擎推理出的服務替換方案和服務信息中心提供的服務轉換映射信息,對服務調用信息進行替換處理和服務的重定向。服務轉換映射信息包括但不限于需替換服務與目標替換服務間的操作名稱、命名空間和前綴、消息變量名及消息變量值的映射信息。其中,操作名稱、命名空間和前綴直接進行一對一的替換。對于變量的替換,本發明采用變量替換表達式(Varible?Replace?Expression,VRE)進行標識,從而實現任何服務消息間的替換。
所述方法還包括:業務規則存儲在規則引擎的規則庫中,被攔截到的服務請求信息以事實的形式被插入到規則引擎的事實庫中;
新插入的事實或規則觸發推理引擎匹配事實,執行規則;
規則引擎根據規則執行需要的上下文數據推理出當前攔截到的服務請求應該和哪個服務進行服務替換,以滿足相應的業務流程;
在服務組合流程運行過程中,業務規則可以動態的添加到規則庫中,事實可以動態的添加到規則引擎的事實庫中,從而實現服務的動態組合。
所述方法還包括:規則庫中的規則決定于具體業務規則,業務規則以腳本的方式寫入規則引擎中,隨著業務規則的改變可以動態修改規則庫中的規則,而不需要重新部署。
所述方法還包括:如果規則引擎推理結果是不需要進行服務替換,則立即返回該服務調用;
如果規則引擎推理后得到的是服務替換方案,即規則引擎推理出當前服務應該與哪個服務進行替換;
根據該替換方案和服務信息中心存儲的替換服務間的映射關系信息,對攔截到的服務調用消息進行替換處理后發出替換服務的請求調用,之后替換服務將會響應該服務請求,對攔截到的服務響應消息進行替換處理后將替換后的服務消息返回到其調用方。
所述方法還包括:通過變量替換表達式VRE來標識,通過VRE可以實現任何服務消息間的變量替換。對攔截到的服務消息進行替換處理后,服務調用將變為替換后的服務請求調用消息,替換服務將響應該服務請求。
在VRE中,定義了四種符號:string,.,$,#。這四個符號的運算優先級別是一次遞增的關系,其中:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京郵電大學,未經北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110091936.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種油茶果采摘機
- 下一篇:移動通訊設備實時遠程控制系統及控制方法





