国产精品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>

      基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架的制作方法

      文檔序號:6335858閱讀:218來源:國知局
      專利名稱:基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機軟件的集成技術(shù)領(lǐng)域,具體涉及一種基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架。
      背景技術(shù)
      集成技術(shù)涉及兩個大的問題。一是支持信息系統(tǒng)資源集成的軟件體系框架,在此框架下開發(fā)的應(yīng)用之間具有很好的集成和互操作能力;二是遺留應(yīng)用集成的適配器技術(shù), 通過適配器實現(xiàn)對不能直接集成的遺留應(yīng)用的集成和遷移。本文主要針對后者進行討論。目前對遺留應(yīng)用采用的集成技術(shù)大致可概括為兩種,一是粗粒度的基于界面的集成,即在統(tǒng)一的GUI下直接啟動遺留系統(tǒng)的運行,二是集成成分之間根據(jù)需要采用臨時性的集成辦法。這兩種方式都存在一定的問題。第一種方式很難實現(xiàn)真正的集成,第二種方式則工作量大,過程難以控制。不同的集成技術(shù)和工具的集成能力差異很大。有的集成只是簡單的形式檢查和調(diào)用各成員應(yīng)用系統(tǒng)的總控界面的開發(fā),有的集成只是針對特定對象的專有的集成,而功能強大的集成工具通常會提供靈活的集成框架、豐富的集成工具支持、圖形化的集成開發(fā)界面、可靠安全的消息路由機制、QoS支持能力、標準規(guī)范的有力支持等能力。本發(fā)明對遺留應(yīng)用的集成方法進行改進,克服粗粒度集成和工作量大的缺點。目前,與本技術(shù)方案最為相關(guān)的已有技術(shù)有1)面向服務(wù)體系結(jié)構(gòu)SOA 它將業(yè)務(wù)邏輯抽象為具有良好外部接口定義的服務(wù), 服務(wù)之間松散耦合,服務(wù)的描述和服務(wù)的使用遵循公認的標準定義和協(xié)議,通過服務(wù)的組合實現(xiàn)業(yè)務(wù)應(yīng)用、業(yè)務(wù)流程或新的服務(wù)。由于其高度開放性和靈活性特點,SOA已成為軟件開發(fā)與集成的主流方法。目前支持SOA理念的主要技術(shù)架構(gòu)有基于SOAP的Web服務(wù)、基于 REST的Web服務(wù)、基于SCA的企業(yè)服務(wù)總線和基于JBI的企業(yè)服務(wù)總線等。2)應(yīng)用適配器技術(shù)目前,在基于CORBA、JBI等實現(xiàn)的主流遺留應(yīng)用集成系統(tǒng)中, 所采用的應(yīng)用適配器技術(shù)主要包括WRAPPER技術(shù)、二進制構(gòu)件適配技術(shù)(BCA)、主動接口技術(shù)等。其中,WRAPPER技術(shù)采用諸如裝飾模式、適配器模式和策略模式等設(shè)計模式,其缺點是對所有用戶都不透明;BCA技術(shù)因為適配被推遲到加載時間,這引起了加載時間內(nèi)的附加操作,嚴重影響了適配效率和性能;主動接口技術(shù)由于采用基于JAVA的回調(diào)機制,需要對于源代碼調(diào)用接口進行重新修改,造成其難以實現(xiàn)松散程度、擴展性不好、重用能力不強等問題。

      發(fā)明內(nèi)容
      為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于開發(fā)一種基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架。該框架能為集成用戶提供一個可擴展、可重用、可信的應(yīng)用集成環(huán)境, 從而實現(xiàn)以消息為中心的遺留系統(tǒng)的重用遷移。為此,本發(fā)明通過以下技術(shù)方案來實現(xiàn)
      一種基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其改進之處在于該集成框架包括消息路由控制器和至少一個管通格,各管通格按照多線程并發(fā)執(zhí)行,所述管通格包括以線性排列或非線性排列相連接的源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件;所述源聯(lián)編構(gòu)件,是消息的生產(chǎn)者,其一方面實現(xiàn)與被集成對象的聯(lián)編,另一方面將被集成對象的接口信息轉(zhuǎn)換為內(nèi)部信息形式,通過消息路由控制器傳將消息傳送至目標聯(lián)編構(gòu)件所述目標聯(lián)編構(gòu)件,負責(zé)將消息變換為被集成對象所要求的接口形式;所述消息路由控制器,作為上述構(gòu)件容器的物化實現(xiàn),負責(zé)提供遺留應(yīng)用集成所需的運行環(huán)境并提供系統(tǒng)服務(wù)功能,控制路由的選擇和消息的傳送。。其中,所述管通格包括源聯(lián)編構(gòu)件、目標編聯(lián)構(gòu)件和至少一個轉(zhuǎn)換構(gòu)件,當(dāng)轉(zhuǎn)換構(gòu)件為一個時,其直接連接在源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件之間;當(dāng)轉(zhuǎn)換構(gòu)件大于一個時,其以線性排列或非線性排列連接在源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件之間;所述轉(zhuǎn)換構(gòu)件,通過消息路由控制器接收來自于源聯(lián)編構(gòu)件發(fā)送的消息,并根據(jù)其自身能力和配置情況對消息進行轉(zhuǎn)換,再通過消息路由控制器傳送至目標聯(lián)編構(gòu)件或下一轉(zhuǎn)換構(gòu)件。其中,所述源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件和目標聯(lián)編構(gòu)件之間采用標準XML形式的消息方式進行通信。其中,所述消息的具體結(jié)構(gòu)為<消息 > = < 消息頭X消息棧><消息頭 > = < 消息IDX適配器名X初始構(gòu)件X主題>〈消息棧>:={〈消息幀>}<消息幀 >:= < 幀創(chuàng)建者X幀標志X數(shù)據(jù)對象向量X元素映像表X異常向量
      >其中,所述消息的具體傳送方法為源聯(lián)編構(gòu)件形成消息頭以及消息棧的初始幀 (棧底幀),每經(jīng)過一個轉(zhuǎn)換構(gòu)件時,轉(zhuǎn)換構(gòu)件讀出消息棧頂?shù)南?,對其進行轉(zhuǎn)換,然后將轉(zhuǎn)換后的數(shù)據(jù)形成新的消息幀壓入棧頂,再將形成的新消息通過消息路由控制器發(fā)送給后續(xù)構(gòu)件處理,該后續(xù)構(gòu)件為轉(zhuǎn)換構(gòu)件或目標聯(lián)編構(gòu)件,消息最后到達目標聯(lián)編構(gòu)件;目標聯(lián)編構(gòu)件讀出消息棧頂消息幀中的數(shù)據(jù)對象向量,交由目標服務(wù)進行必要的處理;如果數(shù)據(jù)對象向量中的數(shù)據(jù)出現(xiàn)異常,則在棧頂消息幀的異常向量中標記;轉(zhuǎn)換構(gòu)件在后續(xù)構(gòu)件處理完消息返回后,彈出(由自己先前壓入的)消息棧頂元素,檢查后續(xù)構(gòu)件執(zhí)行異常情況,再進行必要的異常處理;最后,源聯(lián)編構(gòu)件看到的棧中唯一的元素是自己壓入的消息幀及其執(zhí)行是否異常的情況。其中,該集成框架中引入事務(wù)能力支持、服務(wù)質(zhì)量支持、事件回調(diào)機制、消息路由安全保障措施、出錯異常機制、日志機制、遠程監(jiān)控和圖形化集成支持中的至少一種功能。其中,所述管通格,是將集成工作所需的功能設(shè)計成可重用的集成構(gòu)件,這些集成構(gòu)件根據(jù)集成需要組織成類似“格”的形式。其中,所述集成構(gòu)件用于對該集成框架內(nèi)部使用的數(shù)據(jù)對象進行必要的加工處理以滿足特定的應(yīng)用需求,其主要功能為支持消息的內(nèi)容和結(jié)構(gòu)的轉(zhuǎn)換、基于內(nèi)容和結(jié)構(gòu)的消息丟棄或消息路由、對構(gòu)件例外的捕獲和消息重新路由。
      本發(fā)明所述基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架具有以下優(yōu)點該集成框架為遺留應(yīng)用的集成和適配器開發(fā)提供了統(tǒng)一的方法和技術(shù),具有靈活性強、易于定制、可重用的優(yōu)點,可實現(xiàn)新集成構(gòu)件的快速開發(fā),減少重復(fù)性工作,提高集成開發(fā)效率。該集成框架由源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件和目標聯(lián)編構(gòu)件構(gòu)成(至少由源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件構(gòu)成)所謂的管通格。管通格中轉(zhuǎn)換構(gòu)件可以線性排列,也可以是一般格方式的非線性排列。多個管通格可以按多線程并發(fā)執(zhí)行。這種方式的突出優(yōu)點是,各個集成構(gòu)件的實現(xiàn)可以按功能和能力進行劃分,然后按一定的流程進行組合和定制。該集成框架中可以引入了事務(wù)能力支持、服務(wù)質(zhì)量支持、事件回調(diào)機制、消息路由安全保障措施、出錯異常機制、日志機制、遠程監(jiān)控和圖形化集成支持中的至少一種功能。與SOA技術(shù)架構(gòu)相比,本發(fā)明的集成框架在實現(xiàn)層面能夠提供更加優(yōu)越和完善的技術(shù)體制。面向服務(wù)結(jié)構(gòu)主要關(guān)注更宏觀層面軟件的外部能力描述及服務(wù)之間的交互協(xié)議和使用方式,而本發(fā)明的集成框架更加重視實現(xiàn)層面軟件的組織結(jié)構(gòu)和部署方式。雖然服務(wù)的使用者對于服務(wù)的具體實現(xiàn)方式和采用的實現(xiàn)技術(shù)不必關(guān)心,但本發(fā)明的集成框架由于其優(yōu)越的結(jié)構(gòu)特性,已成實現(xiàn)遺留應(yīng)用遷移的最佳選擇。遺留應(yīng)用的集成需要經(jīng)過接口與協(xié)議綁定、消息傳遞、消息轉(zhuǎn)換、路由控制等一系列處理過程,需要全局事務(wù)處理、異常處理、安全可靠性等方面的支持,因此,應(yīng)用集成往往是一項技術(shù)性強、費用昂貴的復(fù)雜開發(fā)工作。以往商用集成工具軟件和內(nèi)部開發(fā)的集成軟件其體系結(jié)構(gòu)多數(shù)是單體式 (monolithic)結(jié)構(gòu),靈活性差,擴展性不好,重用能力不強。與應(yīng)用適配器技術(shù)(WRAPPER技術(shù)、二進制構(gòu)件適配技術(shù)(BCA)、主動接口技術(shù)等) 相比,本發(fā)明的集成框架通過可擴展重用的標準構(gòu)件族,將適配器通用功能和結(jié)構(gòu)與具體適配器專有功能特性相分離,無需編碼即可實現(xiàn)適配器的動態(tài)配置和平滑適配,通過建立適配器的構(gòu)件化抽象模型及適配器定制開發(fā)方法,降低構(gòu)件適配的耦合度,提高構(gòu)件的重用性和透明性,在保持構(gòu)件良好封裝性和執(zhí)行效率的同時,實現(xiàn)集成系統(tǒng)與應(yīng)用程序之間的松散耦合。


      圖1是本發(fā)明所述集成框架的結(jié)構(gòu)示意圖;圖2是最簡單的管通格;圖3是包含轉(zhuǎn)換構(gòu)件的管通格;圖4是包含轉(zhuǎn)換鏈的管通格;圖5是扇出結(jié)構(gòu)的管通格;圖6是扇入結(jié)構(gòu)的管通格。
      具體實施例方式下面結(jié)合附圖對本發(fā)明所述基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架作進一步詳細的說明?;跇?gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架主要由轉(zhuǎn)換構(gòu)件、源聯(lián)編構(gòu)件、目標聯(lián)編構(gòu)件、消息路由控制器及有關(guān)監(jiān)控和系統(tǒng)服務(wù)構(gòu)件組成。
      消息路由控制器為構(gòu)件容器的物化實現(xiàn),負責(zé)提供遺留應(yīng)用集成所需的運行環(huán)境并提供系統(tǒng)服務(wù)功能,控制路由的選擇和消息的傳送。源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件、目標聯(lián)編構(gòu)件是實現(xiàn)集成功能的三類集成構(gòu)件,它們之間的連接以本項目提出的管通格(P-Iattice) 實現(xiàn)。所謂管通格,就是將集成工作所需的一些功能設(shè)計成可重用的一系列集成構(gòu)件,這些構(gòu)件可根據(jù)集成需要組織成類似“格”的形式。遺留應(yīng)用集成工具內(nèi)部采用標準XML形式的消息方式進行通信。源聯(lián)編構(gòu)件是消息的生產(chǎn)者,它一方面實現(xiàn)與被集成對象的聯(lián)編,另一方面將被集成對象的接口信息轉(zhuǎn)換為管通格的內(nèi)部消息形式,通過消息路由控制器傳送給合適的轉(zhuǎn)換構(gòu)件。轉(zhuǎn)換構(gòu)件根據(jù)其自身能力和配置情況對路由來的消息進行轉(zhuǎn)換,如修改、增強、過濾、校準等,然后通過控制器傳送到下一構(gòu)件(轉(zhuǎn)換構(gòu)件或目標聯(lián)編構(gòu)件)。目標聯(lián)編構(gòu)件負責(zé)將消息變換為被集成對象所要求的接口形式。集成構(gòu)件可以對框架內(nèi)部使用的數(shù)據(jù)對象進行必要的加工處理以滿足特定的應(yīng)用需求,主要可以支持消息的內(nèi)容和結(jié)構(gòu)的轉(zhuǎn)換、基于結(jié)構(gòu)和內(nèi)容的消息丟棄或消息路由、對構(gòu)件例外的捕獲和消息重新路由等功能。管通格中各集成構(gòu)件通過不同的組合可以構(gòu)成各種不同的應(yīng)用模式,以適應(yīng)不同的應(yīng)用需求,下面列舉一些主要的工作模式■模式一,最簡單的管通格—個管通格至少應(yīng)該有一個源聯(lián)編構(gòu)件和一個目標聯(lián)編構(gòu)件。最簡單的管通格由單個的源聯(lián)編構(gòu)件和單個的目標聯(lián)編構(gòu)件連接購成,如圖2所示■模式二,包含轉(zhuǎn)換構(gòu)件的管通格—個管通格中除一個源聯(lián)編構(gòu)件和一個目標聯(lián)編構(gòu)件外還可以包含轉(zhuǎn)換構(gòu)件,轉(zhuǎn)換構(gòu)件可以對消息數(shù)據(jù)提供加工處理功能,如圖3所示?!瞿J饺?,包含轉(zhuǎn)換鏈的管通格轉(zhuǎn)換構(gòu)件也能夠以鏈式方式連接在一起,這種類型的連接為設(shè)計方法提供了高度的模塊性和可配置性,就如同UNIX shell上的命令行的管道一樣。如圖4所示,是一個典型的包含鏈式轉(zhuǎn)換構(gòu)件的管通格?!瞿J剿?,支持扇入/扇出結(jié)構(gòu)的管通格管通格的結(jié)構(gòu)不僅僅局限于線性結(jié)構(gòu),也可以創(chuàng)建“扇入”和“扇出”形式的管通格,其中,扇出結(jié)構(gòu)的管通格如圖5所示,扇入結(jié)構(gòu)的管通格如圖6所示。以圖6所示的扇入結(jié)構(gòu)的管通格為例如果存在遺留應(yīng)用1和遺留應(yīng)用2,源聯(lián)編構(gòu)件將遺留應(yīng)用1的數(shù)據(jù)對象轉(zhuǎn)換成內(nèi)部標準消息,經(jīng)由多級轉(zhuǎn)換構(gòu)件轉(zhuǎn)換成目標聯(lián)編構(gòu)件所需的對象格式,由消息路由控制器(見圖1)發(fā)送源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件、目標聯(lián)編構(gòu)件之間的各種消息進行集成。遺留應(yīng)用可能過多個源聯(lián)編構(gòu)件與其它遺留應(yīng)用集成。現(xiàn)有的適配器技術(shù)通常是將遺留應(yīng)用根據(jù)自己的接口標準對遺留應(yīng)用進行封裝, 編寫必要的接口程序,與之相比,通過管通格對遺留應(yīng)用進行集成減少了編寫程序的過程, 提高了集成效率,同時具有可擴展性。各構(gòu)件之間所傳送的消息為數(shù)據(jù)消息(DO),其內(nèi)封裝了集成所需的各類載荷信息,這些信息是以嵌套的〈名字,值〉集合組織。支持的類型系統(tǒng)定義如下DOType = SDOType|......SDOType = primitiveSDOType {DOAttribute}廣
      primitiveSDOType = BOOLEAN|INT16|SHORT|INT32|INTEGER|INT64|LONGFLOAT|DOUBLE|STRING|OPAQUE|BIGINT|BIG_INTEGERBIGFLOAT BIG_DECIMAL|DATE|DATETIME|TIMEDOVOIDSTAR|JDOMDOCUMENTDOAttribute: = attrName attrTypeattrType = primitiveSDOType|vector of SDOType消息的結(jié)構(gòu)如下<消息 > = < 消息頭X消息棧><消息頭 > = < 消息IDX適配器名X初始構(gòu)件X主題>〈消息棧>:={〈消息幀>}<消息幀 >:= < 幀創(chuàng)建者X幀標志X數(shù)據(jù)對象向量X元素映像表X異常向量
      >消息采用SIB格式,具體結(jié)構(gòu)見下表
      消息ID
      適配器名初始構(gòu)件
      主題
      消息幀消息幀......消息幀
      ---以下是一消息的XML表示形式< ? xml version =' 1.0,encoding=,iso-8859—Γ ><dataobjectmessage version =" 1. 0" >〈metadata type = 〃 NDCD〃 version = " 1.0〃 ><ElementDef Name = DOMessageffrapper—" ><AttributeDef Name = " data" Datatype = " Any" /><AttributeDef Name =" UniqueID" Datatype =" String" /></ElementDef></metadata>〈metadata type = 〃 NDCD〃 version = " 1.0〃 ><ElementDef Name = " Any" ><AttributeDef Name = " Attl 〃 Datatype = " Boolean" /><AttributeDef Name = " Att2〃 Datatype = " Intl6〃 /><AttributeDef Name = " Att3" Datatype = " Int32" /><AttributeDef Name = " Att4〃 Datatype = " Int64〃 /><AttributeDef Name = " Att5〃 Datatype = " Float" /><AttributeDef Name = " Att6〃 Datatype = " Double" />
      <AttributeDef Name = " Att7" Datatype = " String" /><AttributeDef Name = " Att8〃 Datatype = " Date" /><AttributeDef Name = " Att9" Datatype = " DateTime" /><AttributeDef Name = " AttlO 〃 Datatype = " BigInt" /><AttributeDef Name = " Attll" Datatype =" BigFloat" /></ElementDef></metadata><dataobjects type =" basicdo" version =" 1. 0" ><D0Me s sageffrapp er—><Row><data><Any><Row><Attl>l</Attl><Att2>5427</Att2><Att3>14798765</Att3><Att4>1049123456</Att4><Att5>3. 1415E30</Att5><Att6>3. 14159265359E120</Att6><Att7>Hello world</Att7><Att8>1805-10-21</Att8><Att9>1805-10-21Tll:42:12iLondon/Europe</Att9><Attl0>314159265358979323846</Attl0><Attll>3. 14159265358979323846</Attll></Row><Row><Attl>0</Attl><Att2>15427</Att2><Att3>114798765</Att3><Att4>11049123456</Att4><Att5>l. 31415E31</Att5><Att6>l. 314159265359E121</Att6><Att7>Hello worldl</Att7><Att8>1905-10-21</Att8><Att9>1905-10-21Tll:42:12iLondon/Europe</Att9><Attl0>1314159265358979323846</Attl0><Attll>13. 14159265358979323846</Attll></Row><Row>
      <Attl>0</Attl><Att2>25427</Att2><Att3>214798765</Att3><Att4>21049123456</Att4><Att5>2. 31415E31</Att5><Att6>2. 314159265359E121</Att6><Att7>Hello world2</Att7><Att8>2005-10-21</Att8><Att9>2005-10-21Tl1:42:12iLondon/Europe</Att9><Attl0>2314159265358979323846</Attl0><Attll>23. 14159265358979323846</Attll></Row><Row><Attl>0</Attl></Row></Any></data><UniqueID>xts-9734d52d7f6[159. 226. 223. 214]_20060414T06:33:53796_1</ UniqueID></Row></DOMessageffrapper—></dataobjects></dataobjectmessage>本發(fā)明的源編聯(lián)構(gòu)件和目標編聯(lián)構(gòu)件可以采用如下已經(jīng)建立好的類型■ Flat Files支持純文件的讀寫,這對進行系統(tǒng)遷移和測試的工作非常有用?!?Sockets支持對TCP/IP Socket進行讀和寫操作。它使用了簡單的協(xié)議進行握手和事務(wù)協(xié)調(diào)?!?HTTP支持接收和發(fā)送HTTP報文。■ JDBC支持對關(guān)系數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)進行讀寫操作,如Sybase,Orcale, MS SQL Server?!?RMI支持適配器作為RMI服務(wù)的方式提供服務(wù),或發(fā)送消息給RMI服務(wù)。■ JMS支持向JMS的隊列或主題,發(fā)送和接收數(shù)據(jù)。另外,本發(fā)明還提供了用戶定制源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件的接口,用戶可以通過該接口來定制自己的源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件,從而實現(xiàn)從內(nèi)置標準構(gòu)件尚不支持的外系統(tǒng)接收消息或向外系統(tǒng)發(fā)送消息。下面結(jié)合附圖1通過具體例子說明本發(fā)明集成框架的應(yīng)用如圖1所示,該集成框架中包含兩個按照多線程并行執(zhí)行的管通格,框架上部為由源聯(lián)編構(gòu)件1、目標聯(lián)編構(gòu)件1和單一轉(zhuǎn)換構(gòu)件1構(gòu)成的管通格,將該管通格中的源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件建立成上述六種類型中的任意兩種,源聯(lián)編構(gòu)件通過消息路由控制器將消息傳至轉(zhuǎn)換構(gòu)件轉(zhuǎn)換至與目標聯(lián)編構(gòu)件相一致的類型,目標聯(lián)編構(gòu)件與應(yīng)用1的類型一致,通過應(yīng)用1調(diào)用數(shù)據(jù)庫中的數(shù)據(jù)來完成具體的應(yīng)用場景;框架下部為由源聯(lián)編構(gòu)件 2、目標聯(lián)編構(gòu)件2和兩級轉(zhuǎn)換構(gòu)件21、22構(gòu)成的管通格,將該管通格中的源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件建立成上述六種類型中的任意兩種,源聯(lián)編構(gòu)件與應(yīng)用2的具體類型一致,目標聯(lián)編構(gòu)件與應(yīng)用3的具體類型一致,源聯(lián)編構(gòu)件通過消息路由控制器將消息傳至兩級轉(zhuǎn)換構(gòu)件轉(zhuǎn)換至與目標聯(lián)編構(gòu)件相一致的類型,通過應(yīng)用2和應(yīng)用3來完成具體的應(yīng)用場景。 在該集成框架中還包含多個源聯(lián)編構(gòu)件、多個轉(zhuǎn)換構(gòu)件和多個目標聯(lián)編構(gòu)件,可建立多種不同模式的管通格來完成不同的應(yīng)用場景。另外,該框架中還引入事務(wù)能力支持、服務(wù)質(zhì)量支持,出錯異常機制和日志機制來完成多種功能。完成應(yīng)用場景的實例1 基于數(shù)據(jù)庫的遺留應(yīng)用支持在本例中,將演示如何通過管通格實現(xiàn)Oracle數(shù)據(jù)庫的數(shù)據(jù)查詢,并通過消息正規(guī)化將查詢結(jié)果轉(zhuǎn)換為管通格的內(nèi)部數(shù)據(jù)對象。首先,我們在Oracle數(shù)據(jù)庫中配置好待進行查詢的數(shù)據(jù)表;然后,我們開始配置管通格,在配置文件中將指定源聯(lián)編構(gòu)件適配器類型為OracleSQLSource,并配置遠程數(shù)據(jù)庫的JDBC連接信息,如SID、用戶名、密碼、連接符等內(nèi)容,同時將需要執(zhí)行的SQL查詢語句寫入配置文件當(dāng)中,而目標聯(lián)編構(gòu)件適配器類型為構(gòu)件化集成框架終端屏幕輸出,即 FileSink;然后運行管通格,可以看到,SQL查詢語句經(jīng)由管通格執(zhí)行后,成功的讀取出了 Oracle數(shù)據(jù)庫中的相應(yīng)數(shù)據(jù),并將它們順利轉(zhuǎn)換為了管通格的內(nèi)部數(shù)據(jù)對象格式,最終以 XML的方式輸出在屏幕上。完成應(yīng)用場景的實例2 基于JMS的遺留應(yīng)用支持在本用例中,將演示如何通過管通格實現(xiàn)與JMS服務(wù)進行消息通信,從而實現(xiàn)對基于JMS消息服務(wù)的遺留應(yīng)用服務(wù)的集成開發(fā)。首先,我們遠程服務(wù)器上啟動基于WebLogic的JMS消息服務(wù),并在JMS消息服務(wù)器中配置好Queue隊列、Queue工廠等內(nèi)容;然后,在管通格中,通過指定文件模式的源聯(lián)編構(gòu)件適配器,我們讀取文本文件中的數(shù)據(jù),而目標聯(lián)編構(gòu)件適配器類型則被配置為 JMSSink,并配置JMS服務(wù)器Queue隊列相關(guān)信息,如Queue工廠、Queue主題、JNDI連接信息、Weblogic連接信息等內(nèi)容;然后運行管通格,將文件內(nèi)容發(fā)送給JMS消息服務(wù)器中的 Queue隊列,通過查看遠程WebLogic服務(wù)上的JMS消息服務(wù)日志,可以看到,管通格已成功的讀取出文本文件中的數(shù)據(jù),將其轉(zhuǎn)換為了管通格的內(nèi)部數(shù)據(jù)對象格式,并成功的發(fā)送至 JMS消息服務(wù)Queue隊列當(dāng)中。最后應(yīng)當(dāng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明的具體實施方式
      進行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
      權(quán)利要求
      1.一種基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于該集成框架包括消息路由控制器和至少一個管通格,各管通格按照多線程并發(fā)執(zhí)行, 所述管通格包括以線性排列或非線性排列相連接的源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件;所述源聯(lián)編構(gòu)件,是消息的生產(chǎn)者,其一方面實現(xiàn)與被集成對象的聯(lián)編,另一方面將被集成對象的接口信息轉(zhuǎn)換為內(nèi)部信息形式,通過消息路由控制器傳將消息傳送至目標聯(lián)編構(gòu)件;所述目標聯(lián)編構(gòu)件,負責(zé)將消息變換為被集成對象所要求的接口形式; 所述消息路由控制器,作為上述構(gòu)件容器的物化實現(xiàn),負責(zé)提供遺留應(yīng)用集成所需的運行環(huán)境并提供系統(tǒng)服務(wù)功能,控制路由的選擇和消息的傳送。。
      2.如權(quán)利要求1所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于所述管通格包括源聯(lián)編構(gòu)件、目標編聯(lián)構(gòu)件和至少一個轉(zhuǎn)換構(gòu)件,當(dāng)轉(zhuǎn)換構(gòu)件為一個時,其直接連接在源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件之間;當(dāng)轉(zhuǎn)換構(gòu)件大于一個時,其以線性排列或非線性排列連接在源聯(lián)編構(gòu)件和目標聯(lián)編構(gòu)件之間;所述轉(zhuǎn)換構(gòu)件,通過消息路由控制器接收來自于源聯(lián)編構(gòu)件發(fā)送的消息,并根據(jù)其自身能力和配置情況對消息進行轉(zhuǎn)換,再通過消息路由控制器傳送至目標聯(lián)編構(gòu)件或下一轉(zhuǎn)換構(gòu)件。
      3.如權(quán)利要求2所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于所述源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件和目標聯(lián)編構(gòu)件之間采用標準XML形式的消息方式進行通fn °
      4.如權(quán)利要求3所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于,所述消息的具體結(jié)構(gòu)為<消息 >:= < 消息頭 >< 消息棧><消息頭 >:= < 消息IDX適配器名X初始構(gòu)件X主題> 〈消息棧>:={<消息幀>}<消息幀 >:= < 幀創(chuàng)建者X幀標志X數(shù)據(jù)對象向量X元素映像表X異常向量>
      5.如權(quán)利要求4所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于,所述消息的具體傳送方法為源聯(lián)編構(gòu)件形成消息頭以及消息棧的初始幀,每經(jīng)過一個轉(zhuǎn)換構(gòu)件時,轉(zhuǎn)換構(gòu)件讀出消息棧頂?shù)南?,對其進行轉(zhuǎn)換,然后將轉(zhuǎn)換后的數(shù)據(jù)形成新的消息幀壓入棧頂,再將形成的新消息通過消息路由控制器發(fā)送給后續(xù)構(gòu)件處理,該后續(xù)構(gòu)件為轉(zhuǎn)換構(gòu)件或目標聯(lián)編構(gòu)件,消息最后到達目標聯(lián)編構(gòu)件;目標聯(lián)編構(gòu)件讀出消息棧頂消息幀中的數(shù)據(jù)對象向量, 交由目標服務(wù)進行必要的處理;如果數(shù)據(jù)對象向量中的數(shù)據(jù)出現(xiàn)異常,則在棧頂消息幀的異常向量中標記;轉(zhuǎn)換構(gòu)件在后續(xù)構(gòu)件處理完消息返回后,彈出由自己先前壓入的消息棧頂元素,檢查后續(xù)構(gòu)件執(zhí)行異常情況,再進行必要的異常處理;最后,源聯(lián)編構(gòu)件看到的棧中唯一的元素是自己壓入的消息幀及其執(zhí)行是否異常的情況。
      6.如權(quán)利要求1-5任一所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于該集成框架中引入事務(wù)能力支持、服務(wù)質(zhì)量支持、事件回調(diào)機制、消息路由安全保障措施、出錯異常機制、日志機制、遠程監(jiān)控和圖形化集成支持中的至少一種功能。
      7.如權(quán)利要求1-5任一所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于所述管通格,是將集成工作所需的功能設(shè)計成可重用的集成構(gòu)件,這些集成構(gòu)件根據(jù)集成需要組織成類似“格”的形式。
      8.如權(quán)利要求7所述的基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,其特征在于 所述集成構(gòu)件用于對該集成框架內(nèi)部使用的數(shù)據(jù)對象進行必要的加工處理以滿足特定的應(yīng)用需求,其主要功能為支持消息的內(nèi)容和結(jié)構(gòu)的轉(zhuǎn)換、基于內(nèi)容和結(jié)構(gòu)的消息丟棄或消息路由、對構(gòu)件例外的捕獲和消息重新路由。
      全文摘要
      本發(fā)明涉及一種基于構(gòu)件技術(shù)的輕量級可擴展應(yīng)用集成框架,該集成框架包括消息路由控制器和至少一個管通格,各管通格按照多線程并發(fā)執(zhí)行,所述管通格主要由源聯(lián)編構(gòu)件、轉(zhuǎn)換構(gòu)件和目標聯(lián)編構(gòu)件構(gòu)成。該集成框架為遺留應(yīng)用的集成和適配器開發(fā)提供了統(tǒng)一的方法和技術(shù),具有靈活性強、易于定制、可重用的優(yōu)點,可實現(xiàn)新集成構(gòu)件的快速開發(fā),減少重復(fù)性工作,提高集成開發(fā)效率。
      文檔編號G06F9/44GK102467379SQ20101054396
      公開日2012年5月23日 申請日期2010年11月15日 優(yōu)先權(quán)日2010年11月15日
      發(fā)明者包陽, 唐樂樂, 彭甫陽, 房友園, 鄧波, 齊超 申請人:中國人民解放軍63928部隊
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1