新四季網

一種將ejb接入企業服務總線的方法

2023-07-20 09:27:11

專利名稱:一種將ejb接入企業服務總線的方法
技術領域:
本發明涉及企業服務總線領域,主要是一種將EJB接入企業服務總線的方法。
背景技術:
企業服務總線作為應用系統的連接中樞,是構築SOA(Service Oriented Architecture, 面向服務架構)為基礎的企業信息系統的必要元素。企業服務總線的定義可以簡單的理解為 由中間件技術實現並支持SOA的一組基礎架構,支持異構環境中的服務、消息以及基於事件 的交互,並且具有適當的服務級別和可管理性。通過企業服務總線實現應用系統的快速接入, 並通過更高級的事件、流程處理能力,能夠很好的將企業信息系統與實際業務協調起來,在 保證原有投資的條件下,實現更加靈活和敏捷的企業信息系統改造。
JBI是針對ESB的一種規範及API,提供了規範化消息服務、組件框架和管理模型,用以部 署路由引擎、規則引擎、以及信息轉換等集成服務.也就是說JBI是關於ESB的一種具體描述, 同時JBI也是一種基於SOA的EAI,它是一種面向服務的用來解決企業應用集成的方案.它的 主要目的是為了不同異構的系統能夠通過統一的消息規範和統一的消息總線來相互通訊.它 之所以採用面向服務的體系結構,是因為這樣可以降低異構系統的耦合度。其中規範化消息服 務中的一些概念在下文提到,包括服務消費者和提供商,規範化消息。在下文中,調用EJB 的組件作為服務消費者,而引擎則充當了服務提供者。終點(Endpoint)表示一種特殊的地址, 能夠通過某種特殊的協議訪問,代表服務的地址。服務的提供者和消費者組件他們之間的交 互是通過消息路由(NMR),提供商通過endpoint將服務激活,並提供有關服務定義的原數據。 當出現服務請求時,隨R根據消費者所需服務的地址信息選擇一種方式來確定一個服務提供 商,並將消息轉發給最終確定的對象。在服務調用完成後,麗R再將相應的消息返回給消費 者。下面消費者組件調用EJB的Soap消息就是放到標準消息(NM)的內容中的。
另一方面,J2EE是第一個為業界所廣為接受的完整的企業應用框架,而EJB在其中扮演 重要角色,廣泛的得到了業界的支持,已經成為應用伺服器的標準技術.從企業應用多層結 構的角度,EJB是商業邏輯層的構件技術,於JAVA BEANS不同,他提供了事務處理的能力,自從三層結構提出,中間層,也就是商業邏輯層,是處理事務的核心,由於從數據存儲層分 離,他就取代了存儲進程的大部分地位。從分布式計算的角度,EJB像CORBA —樣,提供了 分布式技術的基礎.提供了對象之間的通訊手段。在J2EE框架的支持下,運行在EJB容器中 的EJB,完全符合企業應用關於分布、移植、安全和交易的要求。
通過企業服務總線實現應用系統的快速接入,使EJB接入企業服務總線變得迫切,而今 的EJB的接入企業服務總線的方法一般是通過服務端將EJB部署為Web Service的相應客戶 端調用,例如應用伺服器上是通過AXIS將EJB發布成Web Service的。Axis提供了對Web Service的基本支持,主要包括對SOAP的支持,WSDL的解析,WSDL文件到Java類的映射, SOAP信息到Java方法的轉換和映射,Web Service的部署和發布,用戶自定義類的序列化和 反序列化等等,這些對實現EJB Web Service提供了底層支持。Axis具有高度的可配置性和 可擴展性,有利於應用伺服器對它的集成。所有的Web Service都是使用同一個servlet接 收信息。這個servlet根據URL中的參數確定調用的是哪一個Web Service,然後對調用做 必要的檢查和處理後交給Axis處理,再將由Axis包裝好的返回消息發送給客戶端。通常的 訪問EJB Web Service的方法是利用AXIS的客戶端接口來構造SOAP消息,然後通過HTTP協 議傳輸此消息到指定的埠。在AXIS服務端,有監聽程序監聽此埠,然後接收到SOAP請 求,對此SOAP消息做相應處理生成消息內容,最後激活AXIS的處理框架,AXIS處理框架的 任務是按照部署配置的Handler依次對消息內容進行處理,並最終調用到指定的EJB。因為 ESB容器和應用伺服器是在同一 JVM下的,對於這種通過HTTP協議傳輸消息然後訪問Web服 務的方式效率並不高。因此,需要尋求一種快速,簡便的方式,而這正是本發明所要解決的 問題。

發明內容
本發明要解決上述技術所存在的缺陷,提供一種將EJB接入企業服務總線的方法,使jbi 內部組件簡單高效地調用部署成Web service的EJB。
本發明解決其技術問題所採用的技術方案這種將EJB接入企業服務總線的方法,步驟 如下EJB Web Servcie模塊通過集成Axis實現EJB對Web Service的支持,使用Stateless Session Bean作為Web Service的端點,而在ESB內部環境中,jbi endpoint是作為一個 組件也就是服務的地址,通過消息路由到指定jbi端點就能訪問相應的組件。那麼如果在引 擎內部建立jbi端點和EJB部署成Web Service的端點的一對一的聯繫,訪問.jbi端點的信
息就可以映射到具體的部署的EJB Web Service 了。同時,在引擎內部保持jbi端點信息和 EJB Web Service的端點的同步,當有新的EJB Web Service部署成功後,則在ESB環境中 為引擎激活相應的jbi端點,代表了這種服務的存在。當EJB Web Service被反部署後,則 在ESB環境中為引擎反激活相應的jbi端點,代表註銷了這種服務,從而保持了同步。
jbi環境內部通信的消息內容是Source形式,可以是xml格式的soap消息內容。消費者 組件調用Web Service,以標準消息的形式(內容為soap消息),通過指定所要調用的Web Service端點路由到j2ee引擎,因為引擎已做了隱式的對應。
j2ee引擎把根據訪問消息直接構造axis的處理引擎ServerEngine能夠處理的消息內容 交由axis的處理引擎來處理,此處理引擎根據要調用的Web Service初始化相應的handler 進行相應的EJB調用,並將調用結果以soap消息封裝在消息內容的回覆消息裡,然後j2ee 引擎把調用的結果返回給jbi消費者組件。至此為止,jbi內部組件成功地調用部署成Web Service的EJB,在應用伺服器端成功地避開了 Svelte接收,從而繞開了 http。
本發明有益的效果是
1. jbi組件能夠通過本引擎方便快速地調用部署在應用伺服器上並發布成Web Service
的EJB。
2. 成功地繞開http協議,比傳統的Web服務客戶端的訪問性能提高了三倍。
3. 引擎能夠進行服務的隱式的對應,並能夠對服務進行方便高效的管理。


圖l為總的流程圖2為保持應用伺服器上的EJB Web Service和J2EE引擎上的服務的同步示意圖3為消費者組件調用EJB,指定EJB Web Service的地址,路由so鄰消息到引擎的示意
圖4為引擎構造axis引擎能處理的消息,調用後並將消息返回的示意圖。
具體實施例方式
下面結合附圖和實施例對本發明作進一步介紹
子流程1:保持應用伺服器上的EJB Web Service和J2EE引擎上的服務的同步 如圖2所示,當J2EE引擎啟動的時候,如果已有EJB發布成Web Service,那麼在AxisService (AXIS的服務引擎)中保存著一張EJB Web Service列表,包含一個鍵值對,包含 服務ID和EJB Web Service地址。在J2EE引擎啟動初始化的過程中建立和JTang應用服務 器的連接,啟動同步的輪詢線程,保持應用伺服器上的EJB Web Service列表和J2EE引擎上 的服務列表的同步,線程掃描一遍J2EE引擎上的服務列表,如果發現當前引擎的服務列表中 的服務ID和EJB Web Service列表中的ID有不同,則進行相應的增減。即當有新的EJB部 署並被AXIS發布成Web Service,則相應在引擎激活一個jbi端點(代表服務的地址),端 點由兩部分組成引擎的QName和EJB Web Service的地址。同樣,當EJB被反部署後,則 在引擎上將相應的jbi端點鈍化,以此達到同步。在這同步的過程中,建立引擎服務和EJB 的隱式對應。
子流程2:消費者組件指定要調用EJB Web Service的地址,so邵消息將被路由到引擎 如圖3所示,當一個jbi消費者組件調用EJB,可以根據引擎的QName和EJB Web Service 的地址從jbi環境中得到jbi端點(已被引擎激活),構造標準jbi消息(消息內容是soap 消息),指定jbi端點路由消息。ESB提供的消息路由機制能夠使消息路由到消息指定的jbi 端點所對應的那個組件,在這裡也就是J2EE引擎。當引擎接收到標準jbi消息後,獲取so即 消息,然後根據消息交換中的jbi端點獲取EJB Web Service的地址,得到引擎處理器對象 後構造MessageContext (消息內容),該消息內容為Axis引擎處理器能夠處理的對象。 MessageContext是一個包含三個重要部分的結構請求消息、響應消息和一系列的屬性。 調用Axis的途徑有兩種
A、 作為月艮務器端,TransportListener創建MessageContext並調用Axis Processing Framework。
B、 作為客戶端,應用程式代碼(通常是通過客戶端Axis模塊半自動地)創建 MessageContext並調用Axis Processing Framework。
無論是哪一種方式,Axis Processing Framework的工作都是簡單地通過一系列預先配置的 Handlers來傳遞結果MessageContext, MessageContext包含所有相關的請求和響應信息。 在這裡我們選擇的是B的方式。
子流程3:引擎接到jbi消息後,構造axis引擎能夠處理的消息內容,調用axis引 擎提供的接口進行處理如圖4所示J2EE引擎獲取Axis引擎處理器對象,調用其中的invoke (MessageContext) 方法,該處理框架根據MessageContext中的EJB Web Service的地址初始化相應的handler, 各handler依次對MessageContext進行處理,並最終調到相應的EJB Web Service,並將調 用的結果作為MessageContext的回覆內容。J2EE引擎根據回復內容重新封裝成jbi標準消 息路由給消費者組件,這樣就標誌著一次成功調用的結束。
上述實施例用來解釋說明本發明,而不是對本發明進行限制,在本發明的精神和權利要 求的保護範圍內,對本發明作出的任何修改和改變,都落入本發明的保護範圍。
權利要求
1、一種將EJB接入企業服務總線的方法,其特徵在於步驟如下在引擎內部建立jbi端點和EJB部署成Web Service的端點的一對一的聯繫,將訪問jbi端點的信息映射到具體的部署的EJB Web Service;在引擎內部保持jbi端點信息和EJB Web Service的端點的同步,當有新的EJB Web Service部署成功後,則在ESB環境中為引擎激活相應的jbi端點,代表了這種服務的存在;當EJB Web Service被反部署後,則在ESB環境中為引擎反激活相應的jbi端點,代表註銷了這種服務。
2、 根據權利要求1所述的將EJB接入企業服務總線的方法,其特徵在於jbi環境內部 通信的消息內容是Source形式,採用xml格式的so即消息內容,消費者組件調用Web Service,以標準消息的形式,通過指定所要調用的Web Service端點路由到j2ee引擎。
3、 根據權利要求2所述的將EJB接入企業服務總線的方法,其特徵在於j2ee引擎把 根據訪問消息直接構造axis的處理引擎ServerEngine能夠處理的消息內容交由axis的處 理引擎來處理,此處理引擎根據要調用的Web Service初始化相應的handler進行相應的EJB 調用,並將調用結果以so即消息封裝在消息內容的回覆消息裡,然後j2ee引擎把調用的結 果返回給jbi消費者組件。
全文摘要
本發明涉及一種將EJB接入企業服務總線的方法,步驟如下在引擎內部建立jbi端點和EJB部署成Web Service的端點的一對一的聯繫,訪問jbi端點的信息就可以映射到具體的部署的EJB Web Service了。同時,在引擎內部保持jbi端點信息和EJB Web Service的端點的同步,當有新的EJB Web Service部署成功後,則在ESB環境中為引擎激活相應的jbi端點,代表了這種服務的存在。當EJB Web Service被反部署後,則在ESB環境中為引擎反激活相應的jbi端點,代表註銷了這種服務,從而保持了同步。本發明有益的效果是jbi組件能夠通過本引擎方便快速地調用部署在應用伺服器上並發布成Web Service的EJB。成功地繞開http協議,比傳統的Web服務客戶端的訪問性能提高了三倍。引擎能夠進行服務的隱式的對應,並能夠對服務進行方便高效的管理。
文檔編號H04L29/08GK101339520SQ20071015670
公開日2009年1月7日 申請日期2007年12月4日 優先權日2007年12月4日
發明者健 吳, 吳朝暉, 尹建偉, 瑩 李, 健 蔣, 鄧水光, 路 金, 陳韓偉 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀