国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種將ejb接入企業(yè)服務(wù)總線的方法

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

      發(fā)明內(nèi)容
      本發(fā)明要解決上述技術(shù)所存在的缺陷,提供一種將EJB接入企業(yè)服務(wù)總線的方法,使jbi 內(nèi)部組件簡(jiǎn)單高效地調(diào)用部署成Web service的EJB。
      本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案這種將EJB接入企業(yè)服務(wù)總線的方法,步驟 如下EJB Web Servcie模塊通過(guò)集成Axis實(shí)現(xiàn)EJB對(duì)Web Service的支持,使用Stateless Session Bean作為Web Service的端點(diǎn),而在ESB內(nèi)部環(huán)境中,jbi endpoint是作為一個(gè) 組件也就是服務(wù)的地址,通過(guò)消息路由到指定jbi端點(diǎn)就能訪問(wèn)相應(yīng)的組件。那么如果在引 擎內(nèi)部建立jbi端點(diǎn)和EJB部署成Web Service的端點(diǎn)的一對(duì)一的聯(lián)系,訪問(wèn).jbi端點(diǎn)的信
      息就可以映射到具體的部署的EJB Web Service 了。同時(shí),在引擎內(nèi)部保持jbi端點(diǎn)信息和 EJB Web Service的端點(diǎn)的同步,當(dāng)有新的EJB Web Service部署成功后,則在ESB環(huán)境中 為引擎激活相應(yīng)的jbi端點(diǎn),代表了這種服務(wù)的存在。當(dāng)EJB Web Service被反部署后,則 在ESB環(huán)境中為引擎反激活相應(yīng)的jbi端點(diǎn),代表注銷了這種服務(wù),從而保持了同步。
      jbi環(huán)境內(nèi)部通信的消息內(nèi)容是Source形式,可以是xml格式的soap消息內(nèi)容。消費(fèi)者 組件調(diào)用Web Service,以標(biāo)準(zhǔn)消息的形式(內(nèi)容為soap消息),通過(guò)指定所要調(diào)用的Web Service端點(diǎn)路由到j(luò)2ee引擎,因?yàn)橐嬉炎隽穗[式的對(duì)應(yīng)。
      j2ee引擎把根據(jù)訪問(wèn)消息直接構(gòu)造axis的處理引擎ServerEngine能夠處理的消息內(nèi)容 交由axis的處理引擎來(lái)處理,此處理引擎根據(jù)要調(diào)用的Web Service初始化相應(yīng)的handler 進(jìn)行相應(yīng)的EJB調(diào)用,并將調(diào)用結(jié)果以soap消息封裝在消息內(nèi)容的回復(fù)消息里,然后j2ee 引擎把調(diào)用的結(jié)果返回給jbi消費(fèi)者組件。至此為止,jbi內(nèi)部組件成功地調(diào)用部署成Web Service的EJB,在應(yīng)用服務(wù)器端成功地避開了 Svelte接收,從而繞開了 http。
      本發(fā)明有益的效果是
      1. jbi組件能夠通過(guò)本引擎方便快速地調(diào)用部署在應(yīng)用服務(wù)器上并發(fā)布成Web Service
      的EJB。
      2. 成功地繞開http協(xié)議,比傳統(tǒng)的Web服務(wù)客戶端的訪問(wèn)性能提高了三倍。
      3. 引擎能夠進(jìn)行服務(wù)的隱式的對(duì)應(yīng),并能夠?qū)Ψ?wù)進(jìn)行方便高效的管理。


      圖l為總的流程圖2為保持應(yīng)用服務(wù)器上的EJB Web Service和J2EE引擎上的服務(wù)的同步示意圖3為消費(fèi)者組件調(diào)用EJB,指定EJB Web Service的地址,路由so鄰消息到引擎的示意
      圖4為引擎構(gòu)造axis引擎能處理的消息,調(diào)用后并將消息返回的示意圖。
      具體實(shí)施例方式
      下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步介紹
      子流程1:保持應(yīng)用服務(wù)器上的EJB Web Service和J2EE引擎上的服務(wù)的同步 如圖2所示,當(dāng)J2EE引擎啟動(dòng)的時(shí)候,如果已有EJB發(fā)布成Web Service,那么在AxisService (AXIS的服務(wù)引擎)中保存著一張EJB Web Service列表,包含一個(gè)鍵值對(duì),包含 服務(wù)ID和EJB Web Service地址。在J2EE引擎啟動(dòng)初始化的過(guò)程中建立和JTang應(yīng)用服務(wù) 器的連接,啟動(dòng)同步的輪詢線程,保持應(yīng)用服務(wù)器上的EJB Web Service列表和J2EE引擎上 的服務(wù)列表的同步,線程掃描一遍J2EE引擎上的服務(wù)列表,如果發(fā)現(xiàn)當(dāng)前引擎的服務(wù)列表中 的服務(wù)ID和EJB Web Service列表中的ID有不同,則進(jìn)行相應(yīng)的增減。即當(dāng)有新的EJB部 署并被AXIS發(fā)布成Web Service,則相應(yīng)在引擎激活一個(gè)jbi端點(diǎn)(代表服務(wù)的地址),端 點(diǎn)由兩部分組成引擎的QName和EJB Web Service的地址。同樣,當(dāng)EJB被反部署后,則 在引擎上將相應(yīng)的jbi端點(diǎn)鈍化,以此達(dá)到同步。在這同步的過(guò)程中,建立引擎服務(wù)和EJB 的隱式對(duì)應(yīng)。
      子流程2:消費(fèi)者組件指定要調(diào)用EJB Web Service的地址,so邵消息將被路由到引擎 如圖3所示,當(dāng)一個(gè)jbi消費(fèi)者組件調(diào)用EJB,可以根據(jù)引擎的QName和EJB Web Service 的地址從jbi環(huán)境中得到j(luò)bi端點(diǎn)(已被引擎激活),構(gòu)造標(biāo)準(zhǔn)jbi消息(消息內(nèi)容是soap 消息),指定jbi端點(diǎn)路由消息。ESB提供的消息路由機(jī)制能夠使消息路由到消息指定的jbi 端點(diǎn)所對(duì)應(yīng)的那個(gè)組件,在這里也就是J2EE引擎。當(dāng)引擎接收到標(biāo)準(zhǔn)jbi消息后,獲取so即 消息,然后根據(jù)消息交換中的jbi端點(diǎn)獲取EJB Web Service的地址,得到引擎處理器對(duì)象 后構(gòu)造MessageContext (消息內(nèi)容),該消息內(nèi)容為Axis引擎處理器能夠處理的對(duì)象。 MessageContext是一個(gè)包含三個(gè)重要部分的結(jié)構(gòu)請(qǐng)求消息、響應(yīng)消息和一系列的屬性。 調(diào)用Axis的途徑有兩種
      A、 作為月艮務(wù)器端,TransportListener創(chuàng)建MessageContext并調(diào)用Axis Processing Framework。
      B、 作為客戶端,應(yīng)用程序代碼(通常是通過(guò)客戶端Axis模塊半自動(dòng)地)創(chuàng)建 MessageContext并調(diào)用Axis Processing Framework。
      無(wú)論是哪一種方式,Axis Processing Framework的工作都是簡(jiǎn)單地通過(guò)一系列預(yù)先配置的 Handlers來(lái)傳遞結(jié)果MessageContext, MessageContext包含所有相關(guān)的請(qǐng)求和響應(yīng)信息。 在這里我們選擇的是B的方式。
      子流程3:引擎接到j(luò)bi消息后,構(gòu)造axis引擎能夠處理的消息內(nèi)容,調(diào)用axis引 擎提供的接口進(jìn)行處理如圖4所示J2EE引擎獲取Axis引擎處理器對(duì)象,調(diào)用其中的invoke (MessageContext) 方法,該處理框架根據(jù)MessageContext中的EJB Web Service的地址初始化相應(yīng)的handler, 各handler依次對(duì)MessageContext進(jìn)行處理,并最終調(diào)到相應(yīng)的EJB Web Service,并將調(diào) 用的結(jié)果作為MessageContext的回復(fù)內(nèi)容。J2EE引擎根據(jù)回復(fù)內(nèi)容重新封裝成jbi標(biāo)準(zhǔn)消 息路由給消費(fèi)者組件,這樣就標(biāo)志著一次成功調(diào)用的結(jié)束。
      上述實(shí)施例用來(lái)解釋說(shuō)明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和權(quán)利要 求的保護(hù)范圍內(nèi),對(duì)本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1、一種將EJB接入企業(yè)服務(wù)總線的方法,其特征在于步驟如下在引擎內(nèi)部建立jbi端點(diǎn)和EJB部署成Web Service的端點(diǎn)的一對(duì)一的聯(lián)系,將訪問(wèn)jbi端點(diǎn)的信息映射到具體的部署的EJB Web Service;在引擎內(nèi)部保持jbi端點(diǎn)信息和EJB Web Service的端點(diǎn)的同步,當(dāng)有新的EJB Web Service部署成功后,則在ESB環(huán)境中為引擎激活相應(yīng)的jbi端點(diǎn),代表了這種服務(wù)的存在;當(dāng)EJB Web Service被反部署后,則在ESB環(huán)境中為引擎反激活相應(yīng)的jbi端點(diǎn),代表注銷了這種服務(wù)。
      2、 根據(jù)權(quán)利要求1所述的將EJB接入企業(yè)服務(wù)總線的方法,其特征在于jbi環(huán)境內(nèi)部 通信的消息內(nèi)容是Source形式,采用xml格式的so即消息內(nèi)容,消費(fèi)者組件調(diào)用Web Service,以標(biāo)準(zhǔn)消息的形式,通過(guò)指定所要調(diào)用的Web Service端點(diǎn)路由到j(luò)2ee引擎。
      3、 根據(jù)權(quán)利要求2所述的將EJB接入企業(yè)服務(wù)總線的方法,其特征在于j2ee引擎把 根據(jù)訪問(wèn)消息直接構(gòu)造axis的處理引擎ServerEngine能夠處理的消息內(nèi)容交由axis的處 理引擎來(lái)處理,此處理引擎根據(jù)要調(diào)用的Web Service初始化相應(yīng)的handler進(jìn)行相應(yīng)的EJB 調(diào)用,并將調(diào)用結(jié)果以so即消息封裝在消息內(nèi)容的回復(fù)消息里,然后j2ee引擎把調(diào)用的結(jié) 果返回給jbi消費(fèi)者組件。
      全文摘要
      本發(fā)明涉及一種將EJB接入企業(yè)服務(wù)總線的方法,步驟如下在引擎內(nèi)部建立jbi端點(diǎn)和EJB部署成Web Service的端點(diǎn)的一對(duì)一的聯(lián)系,訪問(wèn)jbi端點(diǎn)的信息就可以映射到具體的部署的EJB Web Service了。同時(shí),在引擎內(nèi)部保持jbi端點(diǎn)信息和EJB Web Service的端點(diǎn)的同步,當(dāng)有新的EJB Web Service部署成功后,則在ESB環(huán)境中為引擎激活相應(yīng)的jbi端點(diǎn),代表了這種服務(wù)的存在。當(dāng)EJB Web Service被反部署后,則在ESB環(huán)境中為引擎反激活相應(yīng)的jbi端點(diǎn),代表注銷了這種服務(wù),從而保持了同步。本發(fā)明有益的效果是jbi組件能夠通過(guò)本引擎方便快速地調(diào)用部署在應(yīng)用服務(wù)器上并發(fā)布成Web Service的EJB。成功地繞開http協(xié)議,比傳統(tǒng)的Web服務(wù)客戶端的訪問(wèn)性能提高了三倍。引擎能夠進(jìn)行服務(wù)的隱式的對(duì)應(yīng),并能夠?qū)Ψ?wù)進(jìn)行方便高效的管理。
      文檔編號(hào)H04L29/08GK101339520SQ20071015670
      公開日2009年1月7日 申請(qǐng)日期2007年12月4日 優(yōu)先權(quán)日2007年12月4日
      發(fā)明者健 吳, 吳朝暉, 尹建偉, 瑩 李, 健 蔣, 鄧水光, 路 金, 陳韓偉 申請(qǐng)人:浙江大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1