一種企業服務總線與外部Web服務的交互方法
2023-07-20 09:48:16 2
專利名稱:一種企業服務總線與外部Web服務的交互方法
技術領域:
本發明涉及一種企業服務總線與外部Web服務的交互方法,使企業服務總 線內部組件可以簡單高效地調用外部Web服務。
背景技術:
企業服務總線作為應用系統的連接中樞,是構築SOA(Service Oriented Architecture,面向服務架構)為基礎的企業信息系統的必要元素。企業服務總線 的定義可以簡單的理解為由中間件技術實現並支持SOA的一組基礎架構,支 持異構環境中的服務、消息以及基於事件的交互,並且具有適當的服務級別和 可管理性。通過企業服務總線實現應用系統的快速接入,並通過更高級的事件、 流程處理能力,能夠很好的將企業信息系統與實際業務協調起來,在保證原有 投資的條件下,實現更加靈活和敏捷的企業信息系統改造。
在網絡飛速發展的今天,每個組織都面臨著同樣一個挑戰在平衡核心能力 和已有應用程式時創建同構的環境。IT需要一個簡單的,與平臺無關的應用程 序間通信方式。在這種需求下產生了 Web服務,它是一類可以從Internet上獲 取的服務的總稱,它使用標準的XML消息接發系統,並且不受任何作業系統 和程式語言的約束。在過去的幾年中,出現了三種作為全球標準的主要技術 SOAP, WSDL和UDDI,它們構成了 Web服務技術的核心。Web服務具有提 高業務適應性、降低IT成本和提高商業智能的優點。
由於各個公司對業務性能,逐漸從簡單的監控轉到事前管理,他們需要看 到有關市場、客戶和競爭對手的實時的信息,這就使得企業服務總線內部資源 與外部Web服務的交互變得極為重要。一般情況下,總線內部組件是通過HTTP層訪問外部Web服務的,調用效率低。
發明內容
為了解決上述問題,本發明提供了一種簡單高效的企業服務總線與外部 Web服務的交互方法。
一種企業服務總線與外部Web服務的交互方法,該方法通過代理組件對企 業服務總線內部通信的消息格式和調用Web服務的消息格式進行相互轉換。
進一步的,所述方法為總線內部消費者先把消息發送至代理組件,再由代 理組件把消息交換轉換成SOAP消息後發送至外部Web服務提供者。
當企業服務總線容器和外部Web服務處於同一虛擬機中時,SOAP消息經由 一個叫J2EE引擎的代理組件直接調用Web服務。
當企業服務總線容器和外部Web服務處於不同虛擬機中時,內部組件先把 請求消息發送至一個叫HTTP的代理組件,再由該組件構造SOAP消息,並經HTTP 層傳送到處於不同虛擬機中的Web服務。
更進一步的,所述代理組件是企業服務總線內部組件的一種,部署在企業服 務總線容器裡,具有端點同步映射機制和消息轉換機制。 下面對本發明做進一步描述
為了解決企業服務總線內部通信的消息格式和調用Web服務的消息格式不 一致的問題,本發明設計了一種代理組件,它的主要功能是對上述兩種消息格 式進行相互轉換。有了代理組件之後,總線內部消費者並不直接調用外部Web 服務,而是先把消息發送至代理組件,再由代理組件把消息交換轉換成SOAP 消息後發送至外部Web服務提供者。
企業服務總線內部組件調用外部Web服務可分為以下兩種情況■當企業服務總線容器和外部Web服務處於同一虛擬機中時,SOAP 消息的傳遞不需要通過HTTP層,而是經由一個叫J2EE引擎的代理 組件直接調用Web服務。通過這種優化策略,可以顯著提高調用外 部Web服務的效率。 ■當企業服務總線容器和外部Web服務處於不同虛擬機中時,內部組 件先把請求消息發送至一個叫HTTP的代理組件,再由該組件構造 SOAP消息,並經HTTP層傳送到處於不同虛擬機中的Web服務。 代理組件是企業服務總線內部組件的一種,部署在企業服務總線容器裡, 它主要是作為外部Web服務的內部代理,使得內部組件調用外部Web服務如 同調用內部服務一樣簡便。 代理組件的功能可描述為-
■端點同步映射機制,啟動同步輪詢線程監視外部Web服務狀況,創 建端點映射表,使得外部Web服務在企業服務總線內部容器有相應 的內部端點代理。
■消息轉換機制,企業服務總線內部通信使用的是標準的消息交換,而 調用Web服務必須發送SOAP消息,因此,代理組件必須能夠支持 兩種消息格式的互相轉換。 本發明的優點在於
1、 當企業服務總線容器和外部Web服務處於同一虛擬機中時,提供一 種繞過HTTP層簡單高效地調用Web服務的方法,根據測試,該方法比 傳統方法性能提高三倍多;
2、 外部Web服務對於內部調用者來說是完全透明的,內部調用者調用外部Web服務如同調用內部服務一樣,這完全符合企業服務總線對於透 明性的要求;
3、提供安全、事務支持。
圖1企業服務總線內部組件與外部Web服務的交換圖(處於同一虛擬機
中)
圖2企業服務總線內部組件與外部Web服務的交換圖(處於不同虛擬機
中)
圖3企業服務總線內部端點與Web服務端點的同步映射圖 圖4消息交換與SOAP消息的轉換圖
具體實施例方式
下面結合附圖和實例對本發明作詳細介紹
圖1描述了企業服務總線內部消費者組件調用處於同一虛擬機的外部Web
服務的過程,步驟如下
1) 當消費者組件要調用處於同一虛擬機的外部Web服務時,構造消息交 換,在消息中設定內部端點,並發送該消息至J2EE引擎。
2) J2EE引擎接收到消息交換之後,在端點映射列表中査找與接收到的內部 端點相對應的Web服務端點,然後根據該Web服務端點和消息交換中 的規範化消息分別構造SOAP消息頭和消息體,並將該SOAP消息直接 發送至處於同一虛擬機的Web服務提供者。
3) Web服務提供者解析接收到的SOAP消息,執行相應的服務,如果有消 息返回或出現Web服務調用異常,回復消息會沿著發送路徑逐層返回至調用者。
圖2描述了企業服務總線內部消費者組件調用處於不同虛擬機的外部Web 服務的過程,步驟如下
1) 當消費者組件要調用處於不同虛擬機的外部Web服務時,消費者組件構 造規範化消息,設定內部端點,並將消息發送至HTTP組件。
2) HTTP組件接收到消息交換之後,在端點映射列表中查找與接收到的內 部端點相對應的Web服務端點,然後根據該Web服務端點和消息交換 中的規範化消息分別構造SOAP消息頭和消息體,並將該消息發送至 Internet 。
3) Internet將SOAP消息轉發至處於不同虛擬機的Web服務提供者,執行 相應的服務,如果有消息返回或出現Web服務調用異常,回復消息會沿 著發送路徑經HTTP層返回至調用者。
圖3描述了企業服務總線內部端點與Web服務端點的同步映射過程,步驟 如下-
1) 當代理組件啟動時,同時啟動同步輪詢線程,掃描Web服務容器上Web 服務列表,註冊與Web服務端點一一對應的總線內部服務。
2) 代理組件啟動後,會開線程監聽Web服務容器上的服務,當有新的Web 服務部署後,註冊相應的總線內部服務端點;同樣地,當原有的Web服 務被鈍化後,註銷與該Web服務對應的內部服務端點,保持端點映射表 中的一致性。
3) 當代理組件停止後,總線容器註銷所有的與外部Web服務相關的內部端 點,使端點映射表為空。圖4描述了消息交換和SOAP消息相互轉換關係
1) 消息交換中的服務端點、提供者ID、消費者ID與SOAP消息頭相對應。 ■服務提供者端點結構為命名空間+服務提供者名稱+服務提供者端點
則相應的SOAP消息頭為
"命名空間\服務提供者名稱\服務提供者端點" </To〉
■服務消費者端點結構為命名空間+服務消費者名稱+服務消費者端點
則相應的SOAP消息頭為-
"命名空間\服務消費者名稱\服務消費者端點"
2) 消息交換中的規範化消息與SOAP消息體相對應。 SOAP消息體結構為
〈Element 1 >元素1內容〈/Element 1 >
元素N內容〈/Element N > </ Body 〉
權利要求
1.一種企業服務總線與外部Web服務的交互方法,其特徵在於該方法通過代理組件對企業服務總線內部通信的消息格式和調用Web服務的消息格式進行相互轉換。
2. 根據權利要求l所述的一種企業服務總線與外部Web服務的交互方法,其特 徵在於所述方法為總線內部消費者先把消息發送至代理組件,再由代理組件 把消息交換轉換成SOAP消息後發送至外部Web服務提供者。
3. 根據權利要求1或2所述的一種企業服務總線與外部Web服務的交互方法, 其特徵在於當企業服務總線容器和外部Web服務處於同一虛擬機中時,SOAP 消息經由一個叫J2EE引擎的代理組件直接調用Web服務。
4. 根據權利要求1或2所述的一種企業服務總線與外部Web服務的交互方法, 其特徵在於當企業服務總線容器和外部Web服務處於不同虛擬機中時,內部 組件先把請求消息發送至一個叫HTTP的代理組件,再由該組件構造SOAP消息, 並經HTTP層傳送到處於不同虛擬機中的Web服務。
5. 根據權利要求1或2所述的一種企業服務總線與外部Web服務的交互方法, 其特徵在於所述代理組件是企業服務總線內部組件的一種,部署在企業服務 總線容器裡,具有端點同步映射機制和消息轉換機制。
全文摘要
本發明涉及一種企業服務總線與外部Web服務的交互方法,使企業服務總線內部組件可以簡單高效地調用外部Web服務。一種企業服務總線與外部Web服務的交互方法,該方法通過代理組件對企業服務總線內部通信的消息格式和調用Web服務的消息格式進行相互轉換。本發明的優點在於當企業服務總線容器和外部Web服務處於同一虛擬機中時,提供一種繞過HTTP層簡單高效地調用Web服務的方法,根據測試,該方法比傳統方法性能提高三倍多;外部Web服務對於內部調用者來說是完全透明的,內部調用者調用外部Web服務如同調用內部服務一樣,這完全符合企業服務總線對於透明性的要求;提供安全、事務支持。
文檔編號H04L29/06GK101621516SQ200910100968
公開日2010年1月6日 申請日期2009年8月10日 優先權日2009年8月10日
發明者健 吳, 吳朝暉, 尹建偉, 朱顯傑, 瑩 李, 鄧水光, 陳韓偉 申請人:浙江大學