




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
企業(yè)服務(wù)的協(xié)議轉(zhuǎn)換研習(xí)
系統(tǒng)概述
1系統(tǒng)概述
企業(yè)效勞總線的核心是由消息監(jiān)聽(tīng)器、適配器、協(xié)議轉(zhuǎn)換器、消息路由器和效勞調(diào)度器五局部組成.協(xié)議轉(zhuǎn)換作為企業(yè)效勞總線的核心功能之一,可以為注冊(cè)到企業(yè)效勞總線上的效勞供應(yīng)者和效勞懇求者供應(yīng)牢靠的交互效勞.ESB系統(tǒng)總體框架圖如圖1所示.企業(yè)效勞總線的主要功能包括如下局部:1.消息監(jiān)聽(tīng)功能:監(jiān)聽(tīng)基于不同協(xié)議的消息.2.效勞懇求者與效勞供應(yīng)者之間的應(yīng)用協(xié)議的轉(zhuǎn)換:假如效勞懇求消息基于的協(xié)議與效勞供應(yīng)者所注冊(cè)的協(xié)議不同或者效勞供應(yīng)者所供應(yīng)的效勞消息是效勞懇求者無(wú)法解析,則需要對(duì)該協(xié)議進(jìn)展轉(zhuǎn)換.3.效勞之間的消息轉(zhuǎn)發(fā)(路由):把懇求消息轉(zhuǎn)發(fā)到目標(biāo)的效勞地址.4.效勞定位:查找效勞的目標(biāo)地址.5.效勞安全:對(duì)懇求消息進(jìn)展認(rèn)證授權(quán).在企業(yè)效勞總線中,協(xié)議轉(zhuǎn)換器主要功能就是假如懇求消息基于的協(xié)議與效勞者所采納的協(xié)議不同,則需要對(duì)該協(xié)議進(jìn)展轉(zhuǎn)換.
2協(xié)議轉(zhuǎn)換器的需求分析
各個(gè)系統(tǒng)在需要與其他系統(tǒng)交互的時(shí)候,要通過(guò)調(diào)用ESB來(lái)訪問(wèn)目標(biāo)系統(tǒng)供應(yīng)的效勞接口獵取數(shù)據(jù),完成業(yè)務(wù)操作.各應(yīng)用系統(tǒng)作為效勞消費(fèi)方在調(diào)用ESB的時(shí)候,需要明確每個(gè)參數(shù)代表的含義,根據(jù)參數(shù)書(shū)寫(xiě)格式要求來(lái)發(fā)送參數(shù),然后ESB會(huì)自動(dòng)調(diào)用消費(fèi)方效勞.但連接到ESB上的效勞懇求者和效勞供應(yīng)者可能采納不同的應(yīng)用協(xié)議,針對(duì)不同的應(yīng)用協(xié)議,ESB的監(jiān)聽(tīng)器接收到的懇求消息有不同的協(xié)議格式.假如ESB能夠支持現(xiàn)有的各種通信協(xié)議,那么對(duì)消息的處理就完全不考慮傳輸細(xì)節(jié),而直接通過(guò)消息懇求和獵取效勞.假如沒(méi)有將一種協(xié)議轉(zhuǎn)換為另一種協(xié)議的工具,則效勞懇求者很難與給定的效勞供應(yīng)者進(jìn)展通信.與此需求相關(guān)的需求是使用者的數(shù)據(jù)格式可能與效勞供應(yīng)者使用的數(shù)據(jù)格式不同.因此,需要一種能夠供應(yīng)此轉(zhuǎn)換的工具.
關(guān)鍵技術(shù)
1根本定義
SOAP即簡(jiǎn)潔對(duì)象訪問(wèn)協(xié)議,是一個(gè)輕量級(jí)的、簡(jiǎn)潔的、基于XML進(jìn)展信息交換的通信協(xié)議.它可以和現(xiàn)存的很多因特網(wǎng)協(xié)議進(jìn)展結(jié)合使用,包括HTTP,SMTP.JMS是實(shí)現(xiàn)JAVA領(lǐng)域遠(yuǎn)程通信的一種手段和方法,是個(gè)遠(yuǎn)程通信協(xié)議,在其他的語(yǔ)言體系中也存在著類似JMS的東西,可以統(tǒng)一的將這類機(jī)制稱為消息機(jī)制.XML(ExtensibleMarkupLanguage)即可擴(kuò)展標(biāo)記語(yǔ)言,它是萬(wàn)維網(wǎng)協(xié)會(huì)的XML工作小組所定義的可擴(kuò)展標(biāo)記語(yǔ)言,是一組規(guī)章與準(zhǔn)則的集合.XML作為通用的、自解釋的數(shù)據(jù)交換格式,已成為大多數(shù)應(yīng)用程序所采納,XML技術(shù)可以有效地解決不同協(xié)議下的數(shù)據(jù)之間的共享與交互.
XML現(xiàn)在已經(jīng)成為一種通用的數(shù)據(jù)交換格式,它的平臺(tái)無(wú)關(guān)性,語(yǔ)言無(wú)關(guān)性,系統(tǒng)無(wú)關(guān)性,給數(shù)據(jù)集成與交互帶來(lái)了極大的便利.XML是從標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)中簡(jiǎn)化修改出來(lái)的.XML將SGML的敏捷性和強(qiáng)大功能與已經(jīng)被廣泛采納的HTML結(jié)合起來(lái),簡(jiǎn)化了計(jì)算機(jī)對(duì)文檔和數(shù)據(jù)交換的處理,使得現(xiàn)有的協(xié)議和軟件更為協(xié)調(diào),從而簡(jiǎn)化了數(shù)據(jù)的處理和傳輸.使用XML標(biāo)記語(yǔ)言可以做到數(shù)據(jù)或數(shù)據(jù)構(gòu)造在任何編程語(yǔ)言環(huán)境下的共享.XML最大的優(yōu)勢(shì)在于它能對(duì)各種編程語(yǔ)言編寫(xiě)的數(shù)據(jù)進(jìn)展治理,使得在任何平臺(tái)下都能通過(guò)解析器來(lái)讀取XML數(shù)據(jù).XML標(biāo)記語(yǔ)言的語(yǔ)法特別簡(jiǎn)潔,可以通過(guò)解析器在任何機(jī)器上解讀.并可以在各種計(jì)算機(jī)平臺(tái)上使用.漸漸成為一種數(shù)據(jù)交換的語(yǔ)言.
2協(xié)議轉(zhuǎn)換思想
ESB支持廣泛使用的協(xié)議(HTTP,JMS,SOAP等等).目前,我們?cè)O(shè)計(jì)的ESB系統(tǒng)支持的協(xié)議有:HTTP、SOAP和JMS協(xié)議,以后還將對(duì)其進(jìn)展擴(kuò)展.協(xié)議轉(zhuǎn)換模型用于當(dāng)效勞的懇求者與效勞供應(yīng)者基于不同協(xié)議時(shí)的消息轉(zhuǎn)換.消息監(jiān)聽(tīng)局部監(jiān)聽(tīng)到消息后,對(duì)其進(jìn)展適配,然后將其傳遞給協(xié)議轉(zhuǎn)換局部,協(xié)議轉(zhuǎn)換器主要負(fù)責(zé)將采納不同協(xié)議的消息轉(zhuǎn)換成內(nèi)部標(biāo)準(zhǔn)消息,經(jīng)由消息路由器路由后將其封裝成目標(biāo)方要求的協(xié)議形式的消息傳遞到目標(biāo)方.在進(jìn)展協(xié)議轉(zhuǎn)換時(shí),標(biāo)準(zhǔn)消息的內(nèi)容主要由以下幾局部組成:用戶名、角色類型、IP地址、端口號(hào)、消息的狀態(tài)、消息的尋址信息和業(yè)務(wù)數(shù)據(jù).
網(wǎng)絡(luò)上傳輸?shù)南⒌膬?nèi)容經(jīng)常分為消息頭和消息體,如應(yīng)用層的HTTP、SOAP、JMS消息.業(yè)務(wù)相關(guān)內(nèi)容存入消息體中,消息頭中包含與業(yè)務(wù)無(wú)關(guān)的治理信息,比方消息的優(yōu)先級(jí)、序列號(hào)、地址信息等.因此,對(duì)消息進(jìn)展解析時(shí),可以對(duì)其消息頭和消息體分別進(jìn)展解析.譬如SOAP消息都使用XML形式編碼.處理接收到的SOAP消息應(yīng)當(dāng)有兩個(gè)步驟,首先,識(shí)別應(yīng)用程序需要的SOAP消息的頭局部;其次,識(shí)別應(yīng)用程序需要的SOAP消息體局部;最終,檢驗(yàn)該SOAP消息是否滿意要求,即消息的目的地址、參數(shù)信息等是否和目標(biāo)地址名稱、參數(shù)等相對(duì)應(yīng).
協(xié)議轉(zhuǎn)換模型設(shè)計(jì)與實(shí)現(xiàn)
1并行XML解析
XML在不同的語(yǔ)言里解析方式通常都是一樣的.根本的解析方式有兩種:SAX和DOM.利用SAX解析XML文檔,牽涉到兩個(gè)局部:解析器和大事處理器.解析器負(fù)責(zé)讀取XML文檔,并向大事處理器發(fā)生大事,如元素開(kāi)頭和元素完畢大事;而大事處理器則負(fù)責(zé)對(duì)大事做出響應(yīng),對(duì)傳遞的XML數(shù)據(jù)進(jìn)展處理.DOM是基于XML文檔樹(shù)構(gòu)造的解析,DOM在分析XML文檔時(shí),將組成XML文檔的各個(gè)局部映射為一個(gè)對(duì)象,在內(nèi)存中,這些節(jié)點(diǎn)形成一棵文檔樹(shù),整棵樹(shù)是一個(gè)節(jié)點(diǎn),樹(shù)中的每一個(gè)節(jié)點(diǎn)也是一棵樹(shù),通過(guò)訪問(wèn)樹(shù)中的節(jié)點(diǎn)來(lái)存取XML文檔的內(nèi)容.為了提高系統(tǒng)的效率,在這個(gè)協(xié)議解析器中,我們將采納一種并行的XML解析方式.并行XML解析可以充分利用多核計(jì)算機(jī)的優(yōu)勢(shì)來(lái)提高系統(tǒng)的性能.詳細(xì)實(shí)現(xiàn)方式為:首先對(duì)XML文件進(jìn)展預(yù)解析,依據(jù)預(yù)解析的結(jié)果將XML文件劃分為多個(gè)小的XML文件,并將這些XML文件安排到不同的線程上,從而這些劃分后的XML文件就可以并行地進(jìn)展解析.
2協(xié)議轉(zhuǎn)換模型
在不同系統(tǒng)或不同系統(tǒng)的組成局部之間傳輸數(shù)據(jù)時(shí),必需考慮接口參數(shù)差異問(wèn)題.不同格式的數(shù)據(jù)是難以在系統(tǒng)內(nèi)部或者系統(tǒng)間傳輸?shù)?因此協(xié)議轉(zhuǎn)換器要解決這種異構(gòu)的問(wèn)題.鑒于業(yè)務(wù)相關(guān)內(nèi)容通常存入消息體中,消息頭中包含與業(yè)務(wù)無(wú)關(guān)的治理信息,協(xié)議轉(zhuǎn)換器以分層方式進(jìn)展轉(zhuǎn)換,主要包括2個(gè)局部:消息頭轉(zhuǎn)換和消息體的轉(zhuǎn)換.在進(jìn)展協(xié)議轉(zhuǎn)換時(shí),要對(duì)ESB系統(tǒng)支持的各個(gè)協(xié)議建立模型,每當(dāng)需要某種協(xié)議解析時(shí),都要讀取對(duì)應(yīng)的協(xié)議模型信息.協(xié)議轉(zhuǎn)換可能會(huì)消失解析失敗的狀況,這就要求將失敗信息記錄到日志文件中,便利系統(tǒng)查閱并進(jìn)展處理.
為進(jìn)展協(xié)議轉(zhuǎn)換,消息或效勞必需要先進(jìn)展適配,在初次連接或者其協(xié)議發(fā)生變化時(shí),要填寫(xiě)其協(xié)議的格式,在此設(shè)計(jì)一個(gè)表格存儲(chǔ)在注冊(cè)庫(kù)中.這一表格包括字段序號(hào)(SQ),消息名稱,消息序號(hào),消息類型,字段名稱,起始位,長(zhǎng)度,字段類型,字段描述.其中,消息類型是指消息所使用的協(xié)議.協(xié)議轉(zhuǎn)換示意圖如圖2所示。協(xié)議轉(zhuǎn)換器要把收到的不同協(xié)議格式的消息轉(zhuǎn)換為內(nèi)部統(tǒng)一的消息格式即XML的格式,以便利內(nèi)部消息路由器對(duì)消息的路由;消息路由器對(duì)消息路由后,由系統(tǒng)內(nèi)向效勞供應(yīng)方或者效勞懇求方發(fā)送數(shù)據(jù)時(shí),協(xié)議轉(zhuǎn)換器實(shí)現(xiàn)讀取XML文件,根據(jù)數(shù)據(jù)庫(kù)中對(duì)應(yīng)的注冊(cè)的協(xié)議的要求,形成指定的消息類型,并發(fā)送到目的地.而這里的轉(zhuǎn)換是需要效勞懇求方和效勞供應(yīng)方提前注冊(cè)他們支持的協(xié)議的具體信息,我們將這些信息分別都保存在不同的表格里,并存入注冊(cè)庫(kù).
因此,協(xié)議轉(zhuǎn)換器有兩個(gè)功能要實(shí)現(xiàn).一個(gè)是將接收到的消息轉(zhuǎn)換為內(nèi)部數(shù)據(jù)格式即XML文件.另一個(gè)功能是將內(nèi)部表示的XML文件轉(zhuǎn)換為注冊(cè)庫(kù)中查找到的目標(biāo)協(xié)議格式,在這一過(guò)程中,需要使用并行XML解析方式對(duì)XML文件進(jìn)展解析,從而能夠快速地實(shí)現(xiàn)協(xié)議轉(zhuǎn)換.在這個(gè)轉(zhuǎn)換的過(guò)程中,ESB系統(tǒng)首先要建立所支持的JMS、HTTP和SOAP協(xié)議的模型,從而為協(xié)議轉(zhuǎn)換供應(yīng)相關(guān)的信息.協(xié)議轉(zhuǎn)換器過(guò)程圖如圖3所示,在這里以JMS和SOAP協(xié)議轉(zhuǎn)換為例.若獵取到對(duì)方的JMS或者SOAP消息,則在存入數(shù)據(jù)庫(kù)的同時(shí),要首先依據(jù)之前注冊(cè)的JMS或者SOAP模型將JMS或者SOAP消息轉(zhuǎn)換為XML的格式,統(tǒng)一消息格式,便利系統(tǒng)對(duì)數(shù)據(jù)的處理.當(dāng)傳輸數(shù)據(jù)時(shí),若傳輸?shù)氖瞧渌问降南?則其消息格式為消息描述指定的格式,協(xié)議轉(zhuǎn)換器就利用消息描述表中對(duì)消息的內(nèi)容的描述進(jìn)展轉(zhuǎn)換,將XML格式的消息轉(zhuǎn)換為JMS或者SOAP消息.實(shí)質(zhì)上,在協(xié)議轉(zhuǎn)換器中,消息的轉(zhuǎn)換包括兩個(gè)層次上的協(xié)議轉(zhuǎn)換:效勞懇求方的數(shù)據(jù)到系統(tǒng)內(nèi)部的協(xié)議轉(zhuǎn)換,系統(tǒng)內(nèi)部的消息到效勞供應(yīng)方的協(xié)議轉(zhuǎn)換;效勞供應(yīng)方的消息到系統(tǒng)內(nèi)部的協(xié)議轉(zhuǎn)換,以及系統(tǒng)內(nèi)部的消息到效勞供應(yīng)方的協(xié)議轉(zhuǎn)換.
3協(xié)議轉(zhuǎn)換器的可擴(kuò)展性
設(shè)計(jì)模式使人們可以更加簡(jiǎn)潔便利地復(fù)用勝利的設(shè)計(jì)和體系構(gòu)造.為了實(shí)現(xiàn)協(xié)議轉(zhuǎn)換器的可擴(kuò)展性,協(xié)議轉(zhuǎn)換器的實(shí)現(xiàn)中應(yīng)用了工廠模式和適配器模式.協(xié)議轉(zhuǎn)換器的類圖如圖4所示:在協(xié)議轉(zhuǎn)換器的實(shí)現(xiàn)中,AbstractTransformer是全部協(xié)議轉(zhuǎn)換的一個(gè)基類,并且是一個(gè)抽象類,實(shí)現(xiàn)了接口Transformer和Amnotatedobject.其它的轉(zhuǎn)換類都實(shí)現(xiàn)了AbstractTransformer.
結(jié)語(yǔ)
企業(yè)效勞總線可以有效地解決國(guó)家水體污染掌握與治理科技重大專項(xiàng)中獨(dú)立的、異構(gòu)的、封閉的系統(tǒng)的集成問(wèn)題.協(xié)議轉(zhuǎn)換器為企業(yè)效勞總線集成兩個(gè)或者多個(gè)需要相互通信應(yīng)用程序供應(yīng)了便利快捷的方式.協(xié)議轉(zhuǎn)換器主要負(fù)責(zé)將不同協(xié)議的消息轉(zhuǎn)換成內(nèi)部標(biāo)準(zhǔn)的XML消息,并將內(nèi)部標(biāo)準(zhǔn)的XML消息轉(zhuǎn)換為消息描述表指定的某種協(xié)議的消息.協(xié)議轉(zhuǎn)換器使得ESB支持集成現(xiàn)有系統(tǒng)而無(wú)論其底層采納何種技術(shù),如JMS、SOAP、HTTP以及其他技術(shù).通過(guò)協(xié)議轉(zhuǎn)換,便利地實(shí)現(xiàn)了不同協(xié)議應(yīng)用之間的互聯(lián)互通,降低了由于頻繁修改現(xiàn)有系統(tǒng)的通信協(xié)議而帶來(lái)的穩(wěn)定性風(fēng)險(xiǎn).協(xié)議轉(zhuǎn)換器是ESB系統(tǒng)中的重要部件,設(shè)計(jì)一個(gè)良好的協(xié)議轉(zhuǎn)換器對(duì)ESB系統(tǒng)來(lái)說(shuō)是特別重要的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車客戶訂單管理制度
- 翻砂車間設(shè)備管理制度
- 水暖安裝公司管理制度
- 漕運(yùn)碼頭庫(kù)存管理制度
- 建筑公司造價(jià)部管理制度
- 水務(wù)公司統(tǒng)計(jì)管理制度
- 文物修繕項(xiàng)目管理制度
- 煤礦設(shè)備配件管理制度
- 店面終端日常管理制度
- 批記錄審核管理制度
- 2025年中考第一次模擬考試(陜西卷)(參考答案及評(píng)分標(biāo)準(zhǔn))
- 《保安員培訓(xùn)手冊(cè)》
- 農(nóng)業(yè)執(zhí)法考試試題及答案
- 安檢服務(wù)課件
- 股權(quán)轉(zhuǎn)讓解除協(xié)議書(shū)
- 《2025 急性心梗診療指南》解讀課件
- 山東省濟(jì)寧市任城區(qū)2023年中考一模化學(xué)試題(含答案)
- 2024年湖南省三支一扶考試真題
- 《相控陣?yán)走_(dá)技術(shù)與應(yīng)用》課件
- 快遞店合作協(xié)議合同協(xié)議
- 2025CSCO非小細(xì)胞肺癌診療指南解讀
評(píng)論
0/150
提交評(píng)論